# xinyou **Repository Path**: chenhuitop/xinyou ## Basic Information - **Project Name**: xinyou - **Description**: React Native - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-06 - **Last Updated**: 2025-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 用户管理系统 (UserCreateApp-Expo) 一个基于 React Native + Expo 开发的现代化用户管理系统,提供完整的用户数据管理、操作日志记录和数据分析功能。 ## 📱 功能特性 ### 核心功能 - **用户管理**: 创建、编辑、删除用户信息 - **用户状态**: 支持用户上线/下线状态管理 - **数据存储**: 使用 SQLite 本地数据库,确保数据安全可靠 - **操作日志**: 完整记录所有操作历史,支持按用户筛选 - **数据导出**: 支持 CSV 和 JSON 格式数据导出 - **数据备份**: 完整的数据备份功能 ### 界面特性 - **现代化设计**: 采用 Material Design 设计语言 - **响应式布局**: 适配不同屏幕尺寸 - **主题系统**: 统一的颜色和样式主题 - **动画效果**: 流畅的交互动画 - **状态栏**: 主题色状态栏设计 ## 🛠 技术栈 - **框架**: React Native + Expo - **数据库**: SQLite (expo-sqlite) - **导航**: React Navigation - **图标**: Expo Vector Icons - **状态管理**: React Hooks - **样式**: StyleSheet + 自定义主题系统 ## 📦 安装和运行 ### 环境要求 - Node.js (推荐 16.x 或更高版本) - npm 或 yarn - Expo CLI - iOS Simulator (macOS) 或 Android Emulator ### 安装步骤 1. **克隆项目** ```bash git clone cd UserCreateApp-Expo ``` 2. **安装依赖** ```bash npm install # 或 yarn install ``` 3. **启动开发服务器** ```bash npx expo start ``` 4. **运行应用** - 扫描二维码在真机上运行 - 按 `i` 在 iOS 模拟器运行 - 按 `a` 在 Android 模拟器运行 ## 📋 使用说明 ### 首页 - **数据概览**: 显示总用户数和总金额 - **快捷操作**: 快速访问创建用户、搜索和数据管理 - **最近活动**: 显示最新的用户注册记录 ### 用户档案 - **用户列表**: 显示所有用户信息 - **搜索功能**: 支持按姓名和手机号搜索 - **状态筛选**: 按在线/离线状态筛选用户 - **用户操作**: - 编辑用户信息 - 上线/下线用户 - 删除用户 - 查看用户操作日志 ### 数据管理 - **数据概览**: 显示用户数量和最后更新时间 - **数据导出**: 支持 CSV 和 JSON 格式 - **数据备份**: 创建完整的数据备份 - **数据清空**: 清空所有用户数据(谨慎操作) ### 操作日志 - **日志查看**: 查看所有操作记录 - **用户筛选**: 查看特定用户的操作历史 - **搜索功能**: 搜索特定操作记录 - **日志清空**: 清空所有操作日志 ## 🗂 项目结构 ``` UserCreateApp-Expo/ ├── App.tsx # 应用入口 ├── src/ │ ├── navigation/ # 导航配置 │ │ ├── MainStackNavigator.tsx │ │ └── TabNavigator.tsx │ ├── screens/ # 页面组件 │ │ ├── HomeScreen.tsx │ │ ├── UserProfileScreen.tsx │ │ ├── UserCreateScreen.tsx │ │ ├── UserEditScreen.tsx │ │ ├── UserOfflineScreen.tsx │ │ ├── DataManagementScreen.tsx │ │ ├── OperationLogScreen.tsx │ │ └── SplashScreen.tsx │ ├── services/ # 服务层 │ │ └── DatabaseService.ts │ ├── styles/ # 样式配置 │ │ └── theme.ts │ └── types/ # 类型定义 ├── assets/ # 静态资源 └── package.json ``` ## 🎨 设计系统 ### 颜色主题 - **主色调**: 紫色 (#7D5FFF) - **辅助色**: 绿色 (#00C48C) - **功能色**: 成功绿、警告橙、错误红、信息紫 ### 字体系统 - **字体大小**: xs(13) → 4xl(40) - **字重**: normal(400) → bold(700) - **行高**: tight(1.2) → relaxed(1.7) ### 间距系统 - **基础单位**: 6px - **间距范围**: xs(6) → 3xl(64) ## 🔧 开发指南 ### 添加新页面 1. 在 `src/screens/` 创建页面组件 2. 在 `src/navigation/` 中添加路由配置 3. 更新类型定义 ### 数据库操作 使用 `DatabaseService` 进行所有数据库操作: ```typescript import { databaseService } from '../services/DatabaseService'; // 获取所有用户 const users = await databaseService.getAllUsers(); // 添加用户 await databaseService.addUser(userData); // 更新用户 await databaseService.updateUser(userData); // 删除用户 await databaseService.deleteUser(userId); ``` ### 样式开发 使用主题系统确保样式一致性: ```typescript import { theme } from '../styles/theme'; const styles = StyleSheet.create({ container: { backgroundColor: theme.colors.background, padding: theme.spacing.lg, }, title: { fontSize: theme.typography.fontSize.lg, color: theme.colors.textPrimary, }, }); ``` ## 📱 构建和发布 ### 开发构建 ```bash npx expo build:development ``` ### 生产构建 ```bash npx expo build:production ``` ### iOS 构建 ```bash eas build --platform ios ``` ### Android 构建 ```bash eas build --platform android ``` ## 🐛 常见问题 ### Q: 数据库初始化失败 A: 检查 expo-sqlite 是否正确安装,确保设备支持 SQLite ### Q: 状态栏颜色不显示 A: 确保在真机上测试,模拟器可能不支持自定义状态栏颜色 ### Q: 数据导出失败 A: 检查设备权限,确保有足够的存储空间 ## 📄 许可证 本项目采用 MIT 许可证。 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📞 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件 --- **注意**: 本应用使用本地 SQLite 数据库存储数据,请定期备份重要数据。