Files
rnpay/screens/MessageScreen.tsx
2026-03-16 15:47:51 +08:00

79 lines
2.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import React, { Component } from 'react';
import { View, Text, StyleSheet, FlatList } from 'react-native';
interface Message {
id: string;
title: string;
content: string;
time: string;
}
const MOCK_MESSAGES: Message[] = [
{ id: '1', title: '系统通知', content: '欢迎使用 RNPay绑定钱包开始使用。', time: '10:00' },
{ id: '2', title: '代理连接', content: '代理服务已成功连接到服务器。', time: '10:05' },
{ id: '3', title: '绑定提醒', content: '您有钱包待绑定,请前往首页操作。', time: '10:10' },
];
export default class MessageScreen extends Component {
renderItem = ({ item }: { item: Message }) => (
<View style={styles.item}>
<View style={styles.itemHeader}>
<Text style={styles.itemTitle}>{item.title}</Text>
<Text style={styles.itemTime}>{item.time}</Text>
</View>
<Text style={styles.itemContent}>{item.content}</Text>
</View>
);
render() {
return (
<View style={styles.container}>
<FlatList
data={MOCK_MESSAGES}
keyExtractor={item => item.id}
renderItem={this.renderItem}
contentContainerStyle={styles.list}
ItemSeparatorComponent={() => <View style={styles.separator} />}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#f5f5f5',
},
list: {
padding: 12,
},
item: {
backgroundColor: '#fff',
borderRadius: 8,
padding: 14,
},
itemHeader: {
flexDirection: 'row',
justifyContent: 'space-between',
marginBottom: 6,
},
itemTitle: {
fontSize: 14,
fontWeight: '600',
color: '#333',
},
itemTime: {
fontSize: 12,
color: '#999',
},
itemContent: {
fontSize: 13,
color: '#666',
lineHeight: 20,
},
separator: {
height: 8,
},
});