70 lines
2.8 KiB
Markdown
70 lines
2.8 KiB
Markdown
请开始完成编码
|
||
客户端请按照标准的RN架构目录写代码
|
||
客户端API请求 统一使用utlis中封装的请求
|
||
客户端的架构目录参考
|
||
project-root
|
||
├── android/ # Android 原生工程
|
||
├── ios/ # iOS 原生工程
|
||
├── src/ # 业务代码主目录 ⭐⭐⭐
|
||
│ ├── app.tsx # App 入口(注册 Provider / Navigation)
|
||
│ ├── navigation/ # 路由导航
|
||
│ │ ├── index.tsx
|
||
│ │ ├── RootNavigator.tsx
|
||
│ │ └── types.ts
|
||
│ ├── screens/ # 页面(Screen 级别)
|
||
│ │ ├── Home/
|
||
│ │ │ ├── index.tsx
|
||
│ │ │ ├── styles.ts
|
||
│ │ │ └── hooks.ts
|
||
│ │ └── Profile/
|
||
│ ├── components/ # 通用 UI 组件(无业务)
|
||
│ │ ├── Button/
|
||
│ │ │ ├── index.tsx
|
||
│ │ │ └── styles.ts
|
||
│ │ └── Empty/
|
||
│ ├── modules/ # 业务模块(强烈推荐)
|
||
│ │ ├── user/
|
||
│ │ │ ├── api.ts
|
||
│ │ │ ├── model.ts
|
||
│ │ │ ├── store.ts
|
||
│ │ │ └── index.ts
|
||
│ │ └── emotion/
|
||
│ ├── services/ # 跨模块服务(网络、存储等)
|
||
│ │ ├── http.ts # axios/fetch 封装
|
||
│ │ ├── storage.ts # AsyncStorage 封装
|
||
│ │ └── logger.ts
|
||
│ ├── store/ # 全局状态(Redux / Zustand / Jotai)
|
||
│ │ ├── index.ts
|
||
│ │ └── middleware.ts
|
||
│ ├── hooks/ # 全局通用 hooks
|
||
│ │ ├── useTheme.ts
|
||
│ │ └── useDebounce.ts
|
||
│ ├── utils/ # 工具函数
|
||
│ │ ├── date.ts
|
||
│ │ └── uuid.ts
|
||
│ ├── constants/ # 常量
|
||
│ │ ├── colors.ts
|
||
│ │ ├── env.ts
|
||
│ │ └── storageKeys.ts
|
||
│ ├── assets/ # 静态资源
|
||
│ │ ├── images/
|
||
│ │ ├── icons/
|
||
│ │ └── fonts/
|
||
│ ├── theme/ # 主题系统
|
||
│ │ ├── index.ts
|
||
│ │ └── dark.ts
|
||
│ └── types/ # 全局 TS 类型
|
||
│ └── index.d.ts
|
||
│
|
||
├── __tests__/ # 测试
|
||
├── .env # 环境变量
|
||
├── babel.config.js
|
||
├── metro.config.js
|
||
├── tsconfig.json
|
||
├── package.json
|
||
└── index.js # RN 启动入口
|
||
|
||
后端请按照标准的python FastAPI 架构目录写代码
|
||
现在多语言仅支持 EN / TC
|
||
整个task.md执行完毕后需要在对应的overview.md标记,并且说明变更的文件名
|