| 层级 | 核心组件 | 主要职责 |
|---|---|---|
| 客户端层 | iOS/Android原生APP、H5管理后台 | 用户交互、数据展示 |
| 接入层 | CDN、Nginx、WAF | 流量分发、负载均衡、安全防护 |
| 网关层 | API Gateway | 统一鉴权、限流、路由、熔断 |
| 应用服务层 | 用户/AI/能量/钱包/社区/通知服务 | 核心业务逻辑处理 |
| 第三方服务 | Dify/短信/实名/区块链/推送 | 外部能力集成 |
| 数据存储层 | MySQL/Redis/MongoDB/Milvus/OSS | 数据持久化、缓存、存储 |
| 基础设施层 | Docker/K8s/监控/日志/CI/CD | 运维、部署、监控 |
| 模块名称 | 功能描述 | 优先级 |
|---|---|---|
| 用户模块 | 注册登录、实名认证、个人信息管理 | P0 |
| AI工具模块 | 智能助手、食物智测、皮肤分析、助眠神器 | P0 |
| 能量系统模块 | 签到、抽奖、任务、兑换 | P0 |
| 钱包模块 | 充值、提现、资产管理 | P0 |
| 社区模块 | 邀请关系、团队管理 | P1 |
| 内容模块 | 新闻资讯、系统通知 | P1 |
| 会员模块 | VIP等级、会员权益(二期) | P2 |
| 分销模块 | 三级分销、返佣计算(二期) | P2 |
| 技术类型 | 技术选型 | 说明 |
|---|---|---|
| 开发语言 | Swift 5.9 | 苹果官方推荐,性能优秀 |
| UI框架 | SwiftUI + UIKit | SwiftUI主导,复杂界面用UIKit |
| 架构模式 | MVVM + Combine | 响应式编程,数据绑定 |
| 网络请求 | Alamofire | 强大的HTTP网络库 |
| 数据存储 | UserDefaults + Realm | 轻量级存储 + 移动端数据库 |
| 图片加载 | Kingfisher | 高性能图片下载和缓存 |
| 依赖管理 | Swift Package Manager (SPM) | 官方包管理工具 |
| 推送服务 | APNs | 苹果推送通知服务 |
| 技术类型 | 技术选型 | 说明 |
|---|---|---|
| 开发语言 | Kotlin | Google官方推荐,简洁高效 |
| UI框架 | Jetpack Compose | 声明式UI,现代化开发 |
| 架构模式 | MVVM + LiveData/Flow | Android官方架构组件 |
| 网络请求 | Retrofit + OkHttp | 类型安全的HTTP客户端 |
| 数据存储 | DataStore + Room | 替代SharedPreferences + SQLite封装 |
| 图片加载 | Coil | Kotlin优先的图片加载库 |
| 依赖注入 | Hilt (Dagger) | 官方推荐的DI框架 |
| 推送服务 | FCM + 国内厂商推送 | Firebase + 华为/小米/OPPO/VIVO |
| 技术类型 | 技术选型 | 说明 |
|---|---|---|
| 开发框架 | Vue 3 + TypeScript | 渐进式框架,适合复杂应用 |
| 构建工具 | Vite 4 | 快速的开发服务器和构建 |
| UI组件库 | Element Plus | 专业的后台管理UI库 |
| 状态管理 | Pinia | Vue 3官方推荐 |
| 路由管理 | Vue Router 4 | 官方路由方案 |
| HTTP客户端 | Axios | 功能强大的HTTP库 |
| CSS方案 | SCSS + UnoCSS | 样式开发效率工具 |
| 对比维度 | 原生开发(推荐) | 跨平台(Flutter/RN) |
|---|---|---|
| 性能 | ⭐⭐⭐⭐⭐ 最佳性能 | ⭐⭐⭐⭐ 接近原生 |
| 用户体验 | ⭐⭐⭐⭐⭐ 完美体验 | ⭐⭐⭐⭐ 良好体验 |
| 开发成本 | ⭐⭐⭐ 两套代码 | ⭐⭐⭐⭐⭐ 一套代码 |
| 维护成本 | ⭐⭐⭐ 需要两个团队 | ⭐⭐⭐⭐ 统一维护 |
| 系统API支持 | ⭐⭐⭐⭐⭐ 完全支持 | ⭐⭐⭐⭐ 需要插件 |
| 包体积 | ⭐⭐⭐⭐⭐ 最小 | ⭐⭐⭐ 较大 |
| 适用场景 | 追求极致体验、复杂交互 | 快速迭代、中小型应用 |
AIThinkTank-iOS/ ├── AIThinkTank/ │ ├── App/ # 应用入口 │ │ ├── AIThinkTankApp.swift │ │ └── AppDelegate.swift │ ├── Core/ # 核心层 │ │ ├── Network/ # 网络层 │ │ ├── Storage/ # 数据存储 │ │ ├── Services/ # 业务服务 │ │ └── Extensions/ # 扩展 │ ├── Features/ # 功能模块 │ │ ├── Home/ # 首页 │ │ │ ├── Views/ │ │ │ ├── ViewModels/ │ │ │ └── Models/ │ │ ├── Energy/ # 能量页 │ │ ├── Community/ # 社区页 │ │ ├── AITools/ # AI工具 │ │ │ ├── SmartAssistant/ │ │ │ ├── FoodAnalysis/ │ │ │ ├── SkinAnalysis/ │ │ │ └── SleepAid/ │ │ └── Auth/ # 认证模块 │ ├── Resources/ # 资源文件 │ │ ├── Assets.xcassets/ │ │ ├── Colors/ │ │ └── Fonts/ │ └── Utils/ # 工具类 └── Tests/ # 测试
AIThinkTank-Android/ ├── app/ │ ├── src/ │ │ ├── main/ │ │ │ ├── java/com/aithink/tank/ │ │ │ │ ├── app/ # 应用入口 │ │ │ │ │ └── AIThinkTankApp.kt │ │ │ │ ├── core/ # 核心层 │ │ │ │ │ ├── network/ # 网络层 │ │ │ │ │ ├── data/ # 数据层 │ │ │ │ │ ├── di/ # 依赖注入 │ │ │ │ │ └── common/ # 通用工具 │ │ │ │ ├── features/ # 功能模块 │ │ │ │ │ ├── home/ # 首页 │ │ │ │ │ │ ├── ui/ │ │ │ │ │ │ ├── viewmodel/ │ │ │ │ │ │ └── model/ │ │ │ │ │ ├── energy/ # 能量页 │ │ │ │ │ ├── community/ # 社区页 │ │ │ │ │ ├── aitools/ # AI工具 │ │ │ │ │ │ ├── assistant/ │ │ │ │ │ │ ├── food/ │ │ │ │ │ │ ├── skin/ │ │ │ │ │ │ └── sleep/ │ │ │ │ │ └── auth/ # 认证模块 │ │ │ │ └── ui/ # UI组件 │ │ │ │ ├── components/ │ │ │ │ └── theme/ │ │ │ └── res/ # 资源文件 │ │ │ ├── drawable/ │ │ │ ├── layout/ │ │ │ ├── values/ │ │ │ └── mipmap/ │ │ └── test/ # 测试 │ └── build.gradle.kts └── build.gradle.kts
| 技术类型 | 技术选型 | 说明 |
|---|---|---|
| 开发语言 | Node.js + TypeScript | 高性能,前后端统一语言 |
| Web框架 | Nest.js | 企业级框架,架构清晰 |
| ORM框架 | TypeORM | 类型安全的ORM |
| 身份认证 | JWT + Passport | 无状态认证 |
| API文档 | Swagger | 自动生成文档 |
| 数据验证 | class-validator | 强大的数据验证 |
src/ ├── modules/ # 业务模块 │ ├── user/ # 用户模块 │ │ ├── user.controller.ts # 控制器 │ │ ├── user.service.ts # 服务层 │ │ ├── user.entity.ts # 实体 │ │ └── dto/ # 数据传输对象 │ ├── ai/ # AI模块 │ ├── energy/ # 能量模块 │ ├── wallet/ # 钱包模块 │ └── community/ # 社区模块 ├── common/ # 公共模块 │ ├── guards/ # 守卫(鉴权) │ ├── interceptors/ # 拦截器 │ ├── filters/ # 异常过滤器 │ └── decorators/ # 装饰器 ├── config/ # 配置 │ ├── database.config.ts # 数据库配置 │ ├── redis.config.ts # Redis配置 │ └── dify.config.ts # Dify配置 ├── utils/ # 工具类 └── main.ts # 入口文件
| 表名 | 说明 | 关联关系 |
|---|---|---|
| users | 用户基本信息表 | 1对1 → user_assets 1对多 → ai_usage_records |
| user_assets | 用户资产表 | 1对1 → users |
| transactions | 交易记录表 | 多对1 → users |
| energy_tasks | 任务配置表 | 1对多 → user_task_progress |
| user_task_progress | 用户任务进度表 | 多对1 → users 多对1 → energy_tasks |
| ai_usage_records | AI使用记录表 | 多对1 → users |
| invite_relations | 邀请关系表 | 自关联(树形结构) |
| 数据类型 | 产生场景 | 存储位置 | 访问频率 |
|---|---|---|---|
| 用户基础信息 | 注册、修改资料 | MySQL users表 Redis缓存(1小时) |
高频 |
| 用户资产 | 充值、提现、兑换 | MySQL user_assets表 Redis缓存(实时) |
极高频 |
| 用户会话 | 登录、操作 | Redis Session 有效期7天 |
极高频 |
| 用户行为日志 | 各种操作 | MongoDB logs集合 | 中频 |
| 交易类型 | 数据流向 | 涉及表 |
|---|---|---|
| 充值 | 外部 → 区块链监听 → 系统 → user_assets | deposit_orders user_assets transactions |
| 提现 | user_assets → 审核 → 区块链 → 扣款 | withdraw_orders user_assets transactions |
| 能量兑换 | 能量账户 ↔ USDT账户 | user_assets transactions |
| AI消费 | 能量账户 → 扣除 → 记录 | user_assets ai_usage_records transactions |
| 调用方 | 被调用方 | 调用场景 | 调用方式 |
|---|---|---|---|
| AI服务 | 用户服务 | 检查用户额度、扣除能量 | RPC调用 |
| AI服务 | Dify平台 | AI能力调用 | HTTP API |
| 能量服务 | 用户服务 | 更新用户能量余额 | RPC调用 |
| 能量服务 | 通知服务 | 发送能量到账通知 | 消息队列 |
| 钱包服务 | 用户服务 | 检查实名状态 | RPC调用 |
| 钱包服务 | 区块链服务 | 发起转账、查询交易 | HTTP API |
| 社区服务 | 能量服务 | 发放邀请奖励 | RPC调用 |
| 队列名称 | 使用场景 | 消息格式 |
|---|---|---|
| notification_queue | 推送通知(签到、能量到账、交易成功等) | { type, userId, title, content, data } |
| task_queue | 任务完成检测和奖励发放 | { taskId, userId, progress } |
| transaction_queue | 交易记录异步写入 | { type, userId, amount, ... } |
| analytics_queue | 用户行为数据分析 | { event, userId, properties } |
| 任务名称 | 执行时间 | 任务内容 |
|---|---|---|
| 签到重置任务 | 每日 00:00 | 重置所有用户的签到状态 |
| 任务重置任务 | 每日 00:00 | 重置每日任务的完成次数 |
| 抽奖重置任务 | 每日 00:00 | 重置用户的抽奖次数 |
| 免费额度重置 | 每日 00:00 | 重置AI工具的免费使用次数 |
| 增益宝结算 | 每日 00:00 | 计算并发放增益宝收益(二期) |
| 充值订单检查 | 每10分钟 | 检查区块链充值订单状态 |
| 提现订单处理 | 每5分钟 | 处理待审核的提现订单 |
| 数据统计任务 | 每日 02:00 | 统计前一日的用户数据、交易数据 |
| 新闻爬取任务 | 每6小时 | 爬取AI行业最新资讯 |
| 数据库备份 | 每日 03:00 | 备份MySQL数据库到OSS |
| Token类型 | 有效期 | 用途 | 刷新机制 |
|---|---|---|---|
| Access Token | 2小时 | API请求鉴权 | 过期后用Refresh Token刷新 |
| Refresh Token | 7天 | 刷新Access Token | 过期后需重新登录 |
| 数据类型 | 加密方式 | 密钥管理 |
|---|---|---|
| 登录密码 | Bcrypt (盐值10) | 单向加密,不可逆 |
| 支付密码 | Bcrypt + AES-256 | 应用密钥加密 |
| 身份证号 | AES-256-GCM | KMS密钥管理服务 |
| 手机号 | AES-256-GCM | KMS密钥管理服务 |
| USDT地址 | AES-256-GCM | KMS密钥管理服务 |
| 通信数据 | HTTPS/TLS 1.3 | 证书管理 |
| 数据类型 | 原始数据 | 脱敏展示 |
|---|---|---|
| 手机号 | 13812345678 | 138****5678 |
| 身份证号 | 110101199001011234 | 110101********1234 |
| 真实姓名 | 张三 | 张* |
| USDT地址 | TR7NHqjeKQ... | TR7NH...xqD8Z |
签名生成流程:
1. 参数排序
params = { amount: 100, userId: "123", timestamp: 1697456789 }
sorted = amount=100×tamp=1697456789&userId=123
2. 拼接密钥
string = sorted + "&key=" + secret_key
3. MD5哈希
sign = MD5(string).toUpperCase()
4. 添加到请求
request.headers["X-Sign"] = sign
request.body["timestamp"] = timestamp
request.body["nonce"] = random_string
验证流程:
1. 检查timestamp (5分钟内有效)
2. 检查nonce (Redis去重,防重放)
3. 重新计算签名并对比
| 风险类型 | 检测规则 | 处理措施 |
|---|---|---|
| 注册风险 |
• 同一IP短时间注册多账号 • 同一设备注册多账号 • 异常手机号段 |
• 需要人工审核 • 延迟注册 • 拒绝注册 |
| 登录风险 |
• 异地登录 • 密码连续错误 • 新设备登录 |
• 短信验证 • 账号冻结 • 二次验证 |
| 交易风险 |
• 大额提现 • 充值提现异常 • 新用户大额交易 |
• 人工审核 • 延迟到账 • 限制金额 |
| 刷单风险 |
• AI工具异常调用 • 任务完成异常 • 邀请关系异常 |
• 标记账号 • 拒绝奖励 • 封禁账号 |
| 评分因素 | 权重 | 计算规则 |
|---|---|---|
| 账号年龄 | 15% | 注册时间越长,分数越低 |
| 实名状态 | 20% | 未实名+30分,已实名+0分 |
| 交易比例 | 25% | 提现/充值比例>2,高风险 |
| 行为异常 | 20% | 异常操作频率、时间段 |
| 设备风险 | 10% | 设备指纹、IP风险评估 |
| 历史记录 | 10% | 违规记录、投诉记录 |
风险等级判定:
| 日志类型 | 记录内容 | 存储位置 | 保留期限 |
|---|---|---|---|
| 访问日志 | 请求路径、IP、用户ID、响应时间 | Nginx日志 + ELK | 30天 |
| 业务日志 | 关键业务操作、参数、结果 | 应用日志 + MongoDB | 90天 |
| 错误日志 | 异常堆栈、错误信息 | Sentry + MongoDB | 180天 |
| 安全日志 | 登录、权限变更、敏感操作 | 专用安全日志库 | 永久 |
| 审计日志 | 充值、提现、实名认证等 | 专用审计库 | 永久 |
| 监控项 | 告警阈值 | 告警方式 |
|---|---|---|
| API响应时间 | P95 > 1秒 | 钉钉 + 短信 |
| API错误率 | 5xx > 5% | 钉钉 + 电话 |
| 服务可用性 | Down > 1分钟 | 钉钉 + 短信 + 电话 |
| 数据库连接 | 连接数 > 80% | 钉钉 |
| Redis内存 | 使用率 > 90% | 钉钉 |
| CPU使用率 | > 80% 持续5分钟 | 钉钉 |
| 磁盘使用率 | > 85% | 钉钉 + 短信 |
| 异常充值 | 单笔 > 10000 USDT | 钉钉通知运营 |
| 异常提现 | 1小时内 > 5笔 | 钉钉通知风控 |
项目定位:集成AI工具、能量激励、社区服务的综合类APP,采用“原生 + 跨平台”结合策略。
阶段规划:
技术路线:原生开发(iOS/Android)负责系统能力、AI接口桥接与支付安全;跨平台(Flutter/RN)负责主要界面与动态模块,保证体验与效率。
| 类别 | 技术选型 |
|---|---|
| 跨平台开发 | Flutter(主导界面,实现iOS/Android统一体验)、React Native(辅助动态模块/热更新容器) |
| 原生开发 | iOS(Objective-C/Swift,用于AI接口桥接、支付校验与系统能力)、Android(Kotlin/原生组件封装与适配层) |
| 后端技术 | 微服务架构(用户/AI接口/能量计算/交易服务),支持水平扩展、独立迭代 |
| 数据存储 | 分布式数据库(用户与交易)+ Redis缓存(能量值、任务状态等高频数据) |
| 第三方集成 | AI能力(语音/图像识别)、实名认证、USDT支付、即时通讯(客服系统) |
目标:完成用户体系、核心AI工具、基础能量、社区基础四大模块,确保APP可稳定运行。
| 阶段 | 日期范围 | 关键子任务 | 负责团队 | 输出物 | 依赖关系 |
|---|---|---|---|---|---|
| 需求与设计 | 第1-3天 | 1) 核心需求细化(注册/4个AI工具/能量规则) 2) UI设计(注册/首页/能量页高保真) |
产品+技术+设计 | 《一期需求规格书》《交互原型》《设计稿》 | - |
| 基础开发 | 第4-15天 | 前端框架搭建(路由/状态/网络/原生交互层);后端接口(注册/登录/AI调用/能量计算) | 跨平台(2)+原生(2)+后端(2) | 可运行基础框架、60%核心接口+测试文档 | UI设计稿 |
| 功能开发 | 第15-25天 | 用户体系(注册/登录/实名/个人信息);智库首页(4个AI工具);能量基础(显示/签到/邀请/阅读任务) | 跨平台(3)+后端(2)+AI(1) | 注册流程跑通、AI可调用、能量增减正确 | 用户/AI接口 |
| 功能开发 | 第25-32天 | 社区基础(个人中心/直推列表/钱包余额);客服入口对接第三方 | 跨平台(2)+原生(1) | 个人信息展示、直推可见、客服跳转正常 | 用户/团队接口 |
| 测试与优化 | 第32-45天 | 功能全链路测试(注册/AI调用/能量/社区);性能优化(启动≤3s、接口≤2s) | 测试(2)+前后端(各1) | 每日Bug清单、性能优化报告、可测版本 | 功能开发交付物 |
| 上线准备 | 第45-60天 | iOS/Android测试包;应用商店资料初稿 | 运维+产品 | 可上线测试包、资料清单 | 优化后版本 |
目标:完成剩余AI工具、能量等级、社区高级功能,实现功能闭环。
| 阶段 | 日期范围 | 关键子任务 | 负责团队 | 输出物 | 依赖关系 |
|---|---|---|---|---|---|
| 需求与设计 | 第1-5天 | 图片生成/视频制作、能量等级、社区高级功能细化;拓展页面设计(等级/交易记录) | 产品+技术 | 《二期需求规格书》《拓展页面设计稿》 | 一期稳定 |
| 功能开发 | 第5-12天 | 图片生成/视频制作AI工具;能量v0-v9等级与签到奖励/抽奖次数联动 | 跨平台(3)+后端(2)+AI(1) | 新增工具可用、等级规则生效 | 一期AI框架/能量基础 |
| 功能开发 | 第12-18天 | 社区高级(交易记录筛选、团队数据统计、钱包提现);幸运抽奖(页面/规则/发放) | 跨平台(3)+原生(1) | 提现流程通、抽奖功能正常、记录筛选可用 | 一期社区基础 |
| 测试与优化 | 第18-25天 | 新增功能联测;全量优化(一期+二期兼容/体验) | 测试(2)+全体开发 | 二期Bug清单、优化后完整版本 | 功能开发交付物 |
| 上线准备 | 第25-30天 | 正式版打包(iOS/Android);应用商店上架提交 | 运维+产品 | 正式上线版本、上架通过 | 优化后完整版本 |
| 风险类型 | 应对措施 |
|---|---|
| 接口联调延迟 | 提前与第三方API供应商确认对接周期,预留2天缓冲,准备备用接口 |
| 兼容性问题 | 建立主流机型测试矩阵(iOS 13+、Android 8.0+),每日执行自动化兼容测试 |
| 进度滞后 | 每日站会同步;设置3个里程碑(第7天框架联调、第15天核心功能跑通、第19天测试达标);滞后1天即加班补进度 |
| 技术 | 选型理由 | 替代方案 |
|---|---|---|
| iOS原生 (Swift) | 最佳性能、完美体验、系统API完全支持 | Flutter、React Native |
| Android原生 (Kotlin) | 官方推荐、Jetpack Compose现代化UI | Flutter、React Native |
| Nest.js | 架构清晰、TypeScript支持、企业级 | Express、Koa、Spring Boot |
| MySQL 8.0 | 事务支持、ACID保证、社区活跃 | PostgreSQL、TiDB |
| Redis 7 | 性能极高、数据结构丰富、使用广泛 | Memcached、Dragonfly |
| Dify | 快速集成AI、可视化编排、多模型支持 | LangChain、自建 |
| MongoDB | 灵活Schema、适合日志和非结构化数据 | Elasticsearch |
| Milvus | 专业向量数据库、AI知识库必备 | Pinecone、Weaviate |
| 性能指标 | 目标值 | 说明 |
|---|---|---|
| API响应时间 | P95 < 500ms | 95%的请求在500ms内响应 |
| AI工具响应 | < 3秒 | AI生成结果的总时间 |
| 页面加载时间 | < 2秒 | 首屏完全加载时间 |
| 并发用户数 | > 10000 | 同时在线用户数 |
| QPS | > 5000 | 每秒查询次数 |
| 系统可用性 | > 99.9% | 年度停机时间 < 8.76小时 |
本文档详细阐述了AI智库平台的技术架构、业务流程和安全设计
涵盖系统架构、模块交互、数据流转、安全防护等各个方面
相关文档:
文档1:产品需求文档(PRD)
文档2:硬件解决方案
文档3:Dify框架设计