update flow and auth model
This commit is contained in:
95
README.md
95
README.md
@@ -44,8 +44,35 @@ Sentinel is a mobile application that helps users securely manage their digital
|
||||
- **Framework**: React Native (Expo SDK 52)
|
||||
- **Language**: TypeScript
|
||||
- **Navigation**: React Navigation (Bottom Tabs)
|
||||
- **Icons**: @expo/vector-icons (Feather, Ionicons, MaterialCommunityIcons, FontAwesome5)
|
||||
- **Icons**: @expo/vector-icons (Feather, Ionicons, FontAwesome5)
|
||||
- **Styling**: Custom nautical theme with gradients
|
||||
- **State Management**: React Context (AuthContext)
|
||||
- **Storage**: AsyncStorage for auth persistence
|
||||
|
||||
## Configuration
|
||||
|
||||
The application uses a centralized configuration file located at `src/config/index.ts`.
|
||||
|
||||
### Key Configuration Options
|
||||
|
||||
| Option | Description | Default |
|
||||
|--------|-------------|---------|
|
||||
| `NO_BACKEND_MODE` | Use mock data instead of real backend | `false` |
|
||||
| `DEBUG_MODE` | Enable API debug logging | `true` |
|
||||
| `API_BASE_URL` | Backend API server URL | `http://localhost:8000` |
|
||||
| `API_TIMEOUT` | Request timeout (ms) | `30000` |
|
||||
|
||||
### API Endpoints
|
||||
|
||||
All backend API routes are defined in `API_ENDPOINTS`:
|
||||
- **AUTH**: `/login`, `/register`
|
||||
- **ASSETS**: `/assets/get`, `/assets/create`, `/assets/claim`, `/assets/assign`
|
||||
- **AI**: `/ai/proxy`
|
||||
- **ADMIN**: `/admin/declare-guale`
|
||||
|
||||
### Environment Setup
|
||||
|
||||
For development, you may need to modify `API_BASE_URL` in the config file to match your backend server address.
|
||||
|
||||
## Project Structure
|
||||
|
||||
@@ -56,14 +83,27 @@ src/
|
||||
│ ├── BiometricModal.tsx
|
||||
│ ├── Icons.tsx
|
||||
│ └── VaultDoorAnimation.tsx
|
||||
├── config/
|
||||
│ └── index.ts # Centralized configuration
|
||||
├── context/
|
||||
│ └── AuthContext.tsx # Authentication state management
|
||||
├── navigation/
|
||||
│ └── TabNavigator.tsx
|
||||
│ ├── AuthNavigator.tsx # Login/Register navigation
|
||||
│ └── TabNavigator.tsx # Main app navigation
|
||||
├── screens/
|
||||
│ ├── FlowScreen.tsx
|
||||
│ ├── FlowScreen.tsx # AI chat interface
|
||||
│ ├── VaultScreen.tsx
|
||||
│ ├── SentinelScreen.tsx
|
||||
│ ├── HeritageScreen.tsx
|
||||
│ └── MeScreen.tsx
|
||||
│ ├── MeScreen.tsx
|
||||
│ ├── LoginScreen.tsx
|
||||
│ └── RegisterScreen.tsx
|
||||
├── services/
|
||||
│ ├── index.ts # Service exports
|
||||
│ ├── ai.service.ts # AI API integration
|
||||
│ ├── auth.service.ts # Authentication API
|
||||
│ ├── assets.service.ts # Asset management API
|
||||
│ └── admin.service.ts # Admin operations API
|
||||
├── theme/
|
||||
│ └── colors.ts
|
||||
└── types/
|
||||
@@ -80,6 +120,15 @@ assets/
|
||||
└── captain-avatar.svg # Avatar placeholder
|
||||
```
|
||||
|
||||
## Services
|
||||
|
||||
The application uses a modular service architecture for API communication:
|
||||
|
||||
- **AuthService**: User authentication (login, register)
|
||||
- **AIService**: AI conversation proxy with support for text and image input
|
||||
- **AssetsService**: Digital asset management
|
||||
- **AdminService**: Administrative operations
|
||||
|
||||
## Icons & Branding
|
||||
|
||||
The Sentinel brand uses a nautical anchor-and-star logo on a teal (#459E9E) background.
|
||||
@@ -163,8 +212,44 @@ Sentinel 是一款帮助用户安全管理数字遗产的移动应用程序。
|
||||
- **框架**: React Native (Expo SDK 52)
|
||||
- **语言**: TypeScript
|
||||
- **导航**: React Navigation (底部标签)
|
||||
- **图标**: @expo/vector-icons
|
||||
- **图标**: @expo/vector-icons (Feather, Ionicons, FontAwesome5)
|
||||
- **样式**: 自定义航海主题配渐变
|
||||
- **状态管理**: React Context (AuthContext)
|
||||
- **存储**: AsyncStorage 用于认证持久化
|
||||
|
||||
## 配置说明
|
||||
|
||||
应用使用位于 `src/config/index.ts` 的集中配置文件。
|
||||
|
||||
### 主要配置项
|
||||
|
||||
| 选项 | 说明 | 默认值 |
|
||||
|------|------|--------|
|
||||
| `NO_BACKEND_MODE` | 使用模拟数据而非真实后端 | `false` |
|
||||
| `DEBUG_MODE` | 启用 API 调试日志 | `true` |
|
||||
| `API_BASE_URL` | 后端 API 服务器地址 | `http://localhost:8000` |
|
||||
| `API_TIMEOUT` | 请求超时时间(毫秒) | `30000` |
|
||||
|
||||
### API 端点
|
||||
|
||||
所有后端 API 路由定义在 `API_ENDPOINTS` 中:
|
||||
- **AUTH**: `/login`, `/register`
|
||||
- **ASSETS**: `/assets/get`, `/assets/create`, `/assets/claim`, `/assets/assign`
|
||||
- **AI**: `/ai/proxy`
|
||||
- **ADMIN**: `/admin/declare-guale`
|
||||
|
||||
### 环境配置
|
||||
|
||||
开发时,您可能需要修改配置文件中的 `API_BASE_URL` 以匹配您的后端服务器地址。
|
||||
|
||||
## 服务层
|
||||
|
||||
应用使用模块化的服务架构进行 API 通信:
|
||||
|
||||
- **AuthService**: 用户认证(登录、注册)
|
||||
- **AIService**: AI 对话代理,支持文本和图片输入
|
||||
- **AssetsService**: 数字资产管理
|
||||
- **AdminService**: 管理员操作
|
||||
|
||||
## 运行项目
|
||||
|
||||
|
||||
Reference in New Issue
Block a user