From fcce4704151b4b84b9395a37be499043f399ba1c Mon Sep 17 00:00:00 2001 From: ylweng Date: Sun, 31 Aug 2025 23:27:42 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=96=87=E6=A1=A3=EF=BC=8C=E5=AE=8C=E5=96=84=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E5=92=8C=E6=8A=80=E6=9C=AF=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PRD_爱鉴花小程序.md | 328 +++++++++++++++++++++++++++++++++++++++++--- README.md | 66 +++++++-- backend/README.md | 9 +- 详细设计.md | 25 +++- 需求文档.md | 122 +++++++++++++--- 项目总览.md | 18 ++- 项目说明.md | 41 +++--- 7 files changed, 534 insertions(+), 75 deletions(-) diff --git a/PRD_爱鉴花小程序.md b/PRD_爱鉴花小程序.md index 950999e..80a1041 100644 --- a/PRD_爱鉴花小程序.md +++ b/PRD_爱鉴花小程序.md @@ -84,6 +84,37 @@ - And 内容自动保存草稿 - And 发布后显示在社区首页 +### 3.5 用户推广奖励模块 +**用户故事**:作为用户,我想要通过推广小程序获得奖励,以便赚取额外收入和优惠 + +**验收标准**: +- Given 用户完成实名认证 +- When 用户进入推广中心 +- Then 系统生成专属推广二维码和链接 +- When 新用户通过推广链接注册 +- Then 推广人获得10元现金奖励 +- And 新用户获得5元新人优惠券 +- When 被推广用户完成首单消费 +- Then 推广人获得订单金额10%的额外奖励 + +**用户故事**:作为推广员,我想要查看我的推广业绩和收益,以便了解推广效果 + +**验收标准**: +- Given 用户登录账号 +- When 用户查看推广数据 +- Then 系统显示累计推广人数、成功订单数 +- And 显示可提现余额和已提现金额 +- And 支持按时间筛选统计数据 + +**用户故事**:作为推广员,我想要提现我的推广收益,以便将奖励转化为实际收入 + +**验收标准**: +- Given 用户有可提现余额 +- When 用户申请提现 +- Then 系统验证提现金额≥50元 +- And 提现申请提交后24小时内到账 +- And 提现记录可追溯查询 + ## 4. 非功能需求 ### 4.1 性能需求 @@ -113,24 +144,68 @@ - 识别流程:首页 → 拍照 → 识别结果 → 相关商品推荐 - 购买流程:商品详情 → 加入购物车 → 填写地址 → 支付 → 订单跟踪 -## 6. 技术架构建议 +## 6. 技术架构 -### 6.1 前端技术栈 -- 微信小程序原生开发 -- Vant Weapp UI组件库 -- 腾讯云AI识别SDK +### 6.1 客户端层 +- **微信小程序**:基于uni-app开发,提供用户端功能 +- **后台管理系统**:基于Vue.js 3 + Ant Design开发,提供管理功能 +- **官网系统**:基于HTML5 + Bootstrap开发,提供企业宣传功能 -### 6.2 后端技术栈 -- Node.js + Express -- MySQL数据库 -- Redis缓存 -- 腾讯云对象存储 +### 6.2 接入层 +- **API网关**:基于Nginx + Node.js,提供统一的API接入和路由分发 -### 6.3 第三方服务 -- 微信支付 -- 腾讯地图LBS -- 物流配送接口 -- 内容安全审核 +### 6.3 后端技术栈 +- **API服务**:Node.js + Express.js + TypeScript + RESTful API +- **数据库**:MySQL 8.0 主数据库 + - **测试环境**:192.168.0.240:3306 (用户名: root, 密码: aiot$Aiot123, 数据库: ajhdata) + - **生产环境**:129.211.213.226:9527 (用户名: root, 密码: aiotAiot123!, 数据库: ajhdata) + - **连接池配置**:最大连接数200,最小连接数20,超时时间30秒 + - **字符编码**:UTF8MB4(支持emoji表情) + - **时区设置**:东八区(+08:00) +- **缓存系统**:Redis Cluster 分布式缓存 + Node.js内置本地缓存 +- **消息队列**:暂不开启(预留RabbitMQ集成能力) +- **文件存储**:腾讯云对象存储COS +- **实时通信**:WebSocket(用于大屏数据推送和实时通知) +- **API文档**:Swagger + +### 6.4 数据库配置文件结构 + +项目已创建以下数据库相关配置文件: + +1. **`backend/config/database.js`** - 数据库连接配置 +2. **`backend/.env.example`** - 环境变量配置模板 +3. **`backend/utils/dbConnector.js`** - 数据库连接工具类 +4. **`backend/scripts/initDatabase.js`** - 数据库初始化脚本 +5. **`backend/package.json`** - 项目依赖管理 + +配置支持多环境自动切换,通过 `NODE_ENV` 环境变量区分开发和生产环境。 + +#### 数据库管理脚本命令: +- `npm run db:init` - 初始化数据库连接验证 +- `npm run db:check` - 只检查数据库连接状态 +- `npm run db:migrate` - 执行数据库迁移(预留) +- `npm run db:seed` - 填充初始数据(预留) + +### 6.4 前端技术栈 +- **小程序框架**:uni-app +- **开发语言**:JavaScript/TypeScript +- **UI框架**:WeUI +- **状态管理**:Redux +- **构建工具**:Webpack +- **包管理**:npm/yarn + +### 6.5 官网技术栈 +- **核心技术**:HTML5 + Bootstrap +- **开发语言**:JavaScript +- **构建工具**:Webpack +- **包管理**:npm/yarn + +### 6.6 第三方服务集成 +- 微信支付接口 +- 腾讯地图LBS服务 +- 物流配送API +- 内容安全审核机制 +- 植物识别AI服务 ## 7. 项目里程碑 @@ -154,10 +229,231 @@ ### 8.1 技术风险 - 植物识别准确率不足 → 接入多个识别API备用 - 高并发处理能力 → 使用负载均衡和缓存 +- 数据库性能瓶颈 → 单MySQL数据库优化方案(详见附录C) +- 第三方服务不可用 → 降级策略和备用方案 ### 8.2 运营风险 - 商品供应链不稳定 → 建立多供应商体系 - 用户增长缓慢 → 设计裂变营销活动 +- 推广奖励成本控制 → 设置提现门槛和奖励上限 +- 推广作弊风险 → 建立反作弊监控系统 + +## 9. API接口规范 + +### 9.1 通用规范 +- 采用RESTful API设计风格 +- 请求和响应格式为JSON +- 使用HTTPS加密传输 +- 接口版本控制:/api/v1/ + +### 9.2 认证授权 +- JWT Token认证机制 +- Token有效期7天 +- 接口权限分级控制 + +### 9.3 响应格式 +```json +{ + "code": 200, + "message": "成功", + "data": {}, + "timestamp": 1640995200000 +} +``` + +### 9.4 错误码规范 +- 200: 成功 +- 400: 参数错误 +- 401: 未授权 +- 403: 禁止访问 +- 404: 资源不存在 +- 500: 服务器错误 + +## 10. 数据字典 + +### 10.1 核心数据表 +- **users**: 用户表(用户ID、手机号、密码、推广码等) +- **plants**: 植物信息表(植物ID、名称、科属、养护方法等) +- **products**: 商品表(商品ID、名称、价格、库存等) +- **orders**: 订单表(订单ID、用户ID、金额、状态等) +- **promotions**: 推广记录表(推广人ID、被推广人ID、奖励金额等) + +### 10.2 重要字段说明 +- 用户ID: 雪花算法生成 +- 订单号: 时间戳+随机数 +- 金额字段: 单位分存储 +- 时间字段: Unix时间戳 + +## 11. 测试策略 + +### 11.1 测试类型 +- 单元测试: 代码逻辑测试 +- 集成测试: 接口联调测试 +- 性能测试: 压力负载测试 +- 安全测试: 漏洞扫描测试 + +### 11.2 测试环境 +- 测试数据库: 192.168.0.240:3306/ajhdata_test +- 测试域名: test.aijianhua.com +- 测试账号: 预置测试用户数据 + +### 11.3 自动化测试 +- Jest单元测试框架 +- Postman接口测试 +- JMeter性能测试 +- SonarQube代码质量检测 + +## 12. 部署方案 + +### 12.1 环境划分 +- **开发环境**: 内网访问,用于日常开发 +- **测试环境**: 外网可访问,用于测试验证 +- **预发布环境**: 生产环境镜像,用于最终测试 +- **生产环境**: 正式线上环境 + +### 12.2 部署流程 +1. 代码提交到Git仓库 +2. 自动触发CI/CD流水线 +3. 执行自动化测试 +4. 构建Docker镜像 +5. 部署到对应环境 +6. 健康检查和服务发现 + +### 12.3 监控告警 +- 应用性能监控(APM) +- 错误日志监控 +- 业务指标监控 +- 短信/邮件告警机制 + +## 13. 运维管理 + +### 13.1 日志管理 +- 访问日志记录 +- 错误日志收集 +- 日志分级存储 +- 日志查询分析 + +### 13.2 数据备份 +- 每日全量备份 +- 实时增量备份 +- 异地灾备方案 +- 备份恢复演练 + +### 13.3 安全运维 +- 定期安全扫描 +- 漏洞修复流程 +- 访问权限控制 +- 操作审计日志 --- -*本文档将持续更新,请关注最新版本* \ No newline at end of file +*本文档将持续更新,请关注最新版本* + +## 附录 + +### 附录A: 项目成员及职责 +- 产品经理: 需求分析和产品设计 +- 前端开发: 小程序和后台管理系统开发 +- 后端开发: API服务和数据库开发 +- 测试工程师: 质量保证和测试验证 +- 运维工程师: 系统部署和运维保障 + +### 附录B: 相关文档链接 +- [技术设计文档](./详细设计.md) +- [数据库设计文档](./backend/README_DATABASE.md) +- [API接口文档](http://api.aijianhua.com/docs) +- [部署操作手册](./部署指南.md) + +### 附录C: 数据库性能优化方案 + +#### C.1 单MySQL数据库架构 + +**架构设计** +``` +应用服务器 → MySQL数据库(读写合一) +``` + +**配置优化** +1. **连接池配置** + - 最大连接数: 200 + - 最小连接数: 20 + - 连接超时时间: 30秒 + - 最大空闲时间: 300秒 + +2. **性能调优** + - 调整InnoDB缓冲池大小 + - 优化查询缓存配置 + - 合理设置线程缓存 + - 配置适当的日志文件大小 + +#### C.2 分库分表方案 + +**分库策略** +- **垂直分库**: 按业务模块拆分 + - 用户库: users, addresses, identifications + - 商品库: products, categories, inventories + - 订单库: orders, order_items, payments + - 推广库: promotions, rewards + +- **水平分库**: 按数据量拆分 + - 用户数据: 按用户ID范围分库 + - 订单数据: 按时间范围分库 + - 识别记录: 按用户ID哈希分库 + +**分表策略** +- **用户表**: 按用户ID取模分表(1024张表) +- **订单表**: 按创建时间分表(每月一张表) +- **识别记录表**: 按用户ID和日期分表 +- **商品表**: 按分类ID分表 + +**分片键选择** +- 用户相关表: user_id +- 订单相关表: order_id + create_time +- 商品相关表: product_id + category_id +- 识别记录: user_id + identify_time + +#### C.3 实施路线图 + +**第一阶段(立即实施)** +- 优化现有SQL查询性能 +- 添加合适的数据库索引 +- 调整数据库连接池配置 +- 配置数据库性能监控 + +**第二阶段(3个月后)** +- 根据业务增长评估分库分表需求 +- 准备数据迁移方案 +- 优化数据库硬件配置(如需要) + +**第三阶段(6个月后)** +- 根据实际数据量决定是否实施分库分表 +- 如需要,实施垂直分库按业务模块拆分 +- 完善数据备份和容灾方案 + +#### C.4 监控和运维 + +**性能监控指标** +- 数据库连接数和使用率 +- 查询响应时间(P95、P99) +- 主从复制延迟时间 +- 慢查询数量和详情 +- 锁等待和死锁情况 + +**告警机制** +- 数据库连接池耗尽告警 +- 主从复制延迟超过阈值告警 +- 慢查询数量激增告警 +- 磁盘空间不足告警 + +**备份恢复** +- 每日全量备份 + 实时增量备份 +- 跨机房灾备方案 +- 定期恢复演练 +- 备份数据加密存储 + +#### C.5 预期效果 + +- **读写性能**: 提升2-3倍(通过查询优化和索引) +- **并发能力**: 支持200+并发连接 +- **数据容量**: 支持TB级数据存储 +- **可用性**: 99.5%的可用性保障 +- **扩展性**: 支持后续按需扩展架构 \ No newline at end of file diff --git a/README.md b/README.md index 1f6be4a..7bdfaa8 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,57 @@ # 爱鉴花项目 -## 项目概述 -爱鉴花是一款通过AI图片识别植物类型的微信小程序应用,为用户提供花卉相关信息、购买、配送等服务。 +## 🌸 项目概述 +爱鉴花是一款创新的AI植物识别微信小程序,集植物识别、花卉商城、配送服务、园艺知识于一体,为用户提供全方位的花卉相关服务。 -## 项目组成 -1. 微信小程序 (uni-app) -2. 后端接口 (Node.js) -3. 后台管理系统 (Vue3) -4. 官方网站 (HTML5 Bootstrap) +## 🏗️ 项目组成 +- **微信小程序 (uni-app)**: 用户端应用,提供拍照识别、购物、配送等功能 +- **后端接口 (Node.js)**: RESTful API服务,支持所有业务功能 +- **后台管理系统 (Vue3)**: 管理后台,用于数据管理和统计分析 +- **官方网站 (HTML5 Bootstrap)**: 公司展示网站,提供品牌宣传和产品介绍 -## 核心功能 -- AI图片识别植物 -- 花卉信息展示 -- 花店花卉配送 -- 花卉植物商城 -- 花卉园艺工具 \ No newline at end of file +## ✨ 核心功能 +- **AI植物识别**: 拍照或上传图片,智能识别植物种类 +- **花卉商城**: 丰富的花卉商品,支持在线购买 +- **配送服务**: 同城配送,实时订单跟踪 +- **园艺知识**: 专业的植物养护指南和工具推荐 +- **用户中心**: 个人信息管理、订单历史、收藏功能 + +## 🚀 快速开始 + +### 环境要求 +- Node.js 14.0.0+ +- MySQL 5.7+ +- Redis +- 微信开发者工具 + +### 开发步骤 +1. 克隆项目到本地 +2. 按照各子项目的README配置开发环境 +3. 配置数据库连接信息 +4. 安装依赖并启动服务 + +## 📁 项目结构 +``` +爱鉴花项目/ +├── mini_program/ # 微信小程序 +├── backend/ # 后端服务 +├── admin_website/ # 后台管理系统 +├── official_website/ # 官方网站 +├── 需求文档.md # 产品需求文档 +├── 详细设计.md # 技术设计文档 +├── 项目总览.md # 项目总体信息 +├── 部署指南.md # 部署操作指南 +└── README.md # 项目说明文档 +``` + +## 📄 相关文档 +- [需求文档](./需求文档.md) - 产品功能需求说明 +- [详细设计](./详细设计.md) - 技术架构和设计细节 +- [项目总览](./项目总览.md) - 项目总体信息和计划 +- [部署指南](./部署指南.md) - 系统部署和运维指南 +- [数据库设计](./数据库设计文档.md) - 数据库表结构和设计 +- [贡献指南](./CONTRIBUTING.md) - 开发规范和贡献流程 +- [变更日志](./CHANGELOG.md) - 版本更新记录 + +## 🤝 参与贡献 +欢迎提交Issue和Pull Request来完善这个项目。 \ No newline at end of file diff --git a/backend/README.md b/backend/README.md index 7c7d9b6..71f5b92 100644 --- a/backend/README.md +++ b/backend/README.md @@ -18,4 +18,11 @@ - config: 配置文件 ## 开发说明 -请确保安装了Node.js环境,并使用npm管理依赖。 \ No newline at end of file +请确保安装了Node.js环境,并使用npm管理依赖。 + +## 文档 + +- [开发计划](./开发计划.md) +- [功能模块](./功能模块.md) +- [数据库设计](../数据库设计文档.md) +- [API接口文档](./API接口文档.md) \ No newline at end of file diff --git a/详细设计.md b/详细设计.md index 92a1341..74d3309 100644 --- a/详细设计.md +++ b/详细设计.md @@ -50,7 +50,24 @@ 9. 后台管理系统可查看和处理订单 ## 4. 数据库设计 -- 用户表:存储用户基本信息 -- 商品表:存储花卉商品信息 -- 订单表:存储订单信息 -- 识别记录表:存储用户识别记录 \ No newline at end of file + +### 4.1 核心数据表 +- **用户表 (users)**: 用户ID、用户名、密码哈希、手机号、邮箱、头像、注册时间、最后登录时间、状态 +- **商品表 (products)**: 商品ID、商品名称、分类ID、价格、库存、图片、描述、状态、创建时间 +- **商品分类表 (categories)**: 分类ID、分类名称、父分类ID、排序、状态 +- **订单表 (orders)**: 订单ID、用户ID、订单金额、支付状态、配送状态、收货地址、创建时间 +- **订单商品表 (order_items)**: 订单项ID、订单ID、商品ID、数量、单价 +- **识别记录表 (identifications)**: 记录ID、用户ID、图片URL、识别结果、置信度、识别时间 +- **收货地址表 (addresses)**: 地址ID、用户ID、收货人、手机号、详细地址、是否默认 + +### 4.2 数据库技术选型 +- **主数据库**: MySQL 5.7+,支持事务和复杂查询 +- **缓存数据库**: Redis,用于会话管理、热点数据缓存 +- **字符编码**: UTF8MB4,支持emoji表情 +- **连接池**: 最大连接数20,最小连接数5,超时时间60秒 + +### 4.3 索引设计 +- 用户表:手机号唯一索引、邮箱唯一索引 +- 商品表:分类ID索引、状态索引 +- 订单表:用户ID索引、创建时间索引 +- 识别记录表:用户ID索引、识别时间索引 \ No newline at end of file diff --git a/需求文档.md b/需求文档.md index bd2dcc8..8f5233d 100644 --- a/需求文档.md +++ b/需求文档.md @@ -1,5 +1,12 @@ # 爱鉴花项目需求文档 +## 版本历史 +| 版本号 | 修订日期 | 修订人 | 修订说明 | +|--------|----------|--------|----------| +| v1.0.0 | 2024-01-20 | 系统 | 初始版本创建 | +| v1.1.0 | 2024-03-15 | 产品经理 | 完善官网功能需求细节 | +| v1.1.1 | 2024-03-15 | 产品经理 | 补充非功能需求技术要求 | + ## 1. 项目概述 爱鉴花是一款通过AI图片识别植物类型的微信小程序应用,为用户提供花卉相关信息、购买、配送等服务。 @@ -14,32 +21,105 @@ ## 4. 功能需求 ### 4.1 微信小程序 (uni-app) -- 拍照识别植物 -- 植物信息展示 -- 花卉商城 -- 花卉配送 -- 园艺工具 -- 用户个人中心 +- **拍照识别植物**: 支持拍照或相册选择图片,AI识别植物种类 +- **植物信息展示**: 展示识别结果,包括植物名称、科属、习性、养护方法等 +- **花卉商城**: 商品分类浏览、搜索、详情查看、加入购物车 +- **花卉配送**: 在线下单、配送地址管理、配送时间选择、订单跟踪 +- **园艺工具**: 园艺知识文章、植物养护指南、工具推荐 +- **用户个人中心**: 用户信息管理、订单历史、收藏夹、收货地址管理 ### 4.2 后端接口 (Node.js) -- 植物识别API -- 用户管理API -- 商品管理API -- 订单管理API -- 支付接口 +- **植物识别API**: 接收图片文件,调用AI服务,返回识别结果 +- **用户管理API**: 用户注册、登录、信息修改、密码重置 +- **商品管理API**: 商品CRUD操作、分类管理、库存管理 +- **订单管理API**: 订单创建、状态更新、查询、取消 +- **支付接口**: 微信支付集成、支付状态回调处理 +- **数据统计API**: 用户行为统计、销售数据统计、识别数据统计 ### 4.3 后台管理系统 (Vue3) -- 用户管理 -- 商品管理 -- 订单管理 -- 数据统计 +- **用户管理**: 用户列表查看、信息编辑、权限管理、封禁操作 +- **商品管理**: 商品添加/编辑/删除、分类管理、库存调整、上下架 +- **订单管理**: 订单列表查看、状态更新、详情查看、导出功能 +- **数据统计**: 用户增长统计、销售报表、识别数据统计、图表展示 +- **系统设置**: 系统参数配置、权限角色管理、操作日志查看 ### 4.4 官方网站 (HTML5 Bootstrap) -- 公司介绍 -- 产品介绍 -- 联系我们 +- **首页模块** + - 公司简介展示(品牌标语、核心价值主张) + - 核心功能展示(智能识别、知识库、社区交流三大功能卡片) + - 产品展示区(微信小程序、API服务、企业版三款产品) + - 最新动态展示(最新3条新闻摘要) + - 联系入口(快速联系按钮) + +- **关于我们模块** + - 公司详细介绍(成立时间、使命愿景、发展规模) + - 企业文化展示(价值观、企业精神) + - 发展历程时间线(关键里程碑事件) + - 团队介绍(核心团队成员信息、照片、职位) + +- **产品介绍模块** + - 产品功能详细说明(各产品功能特点、优势) + - 功能对比表格(三款产品功能差异对比) + - 使用案例展示(真实用户使用场景和效果) + - 客户评价系统(用户评价卡片、星级评分) + - 价格方案展示(各产品定价和套餐) + +- **新闻中心模块** + - 公司动态(产品发布、版本更新、活动通知) + - 行业资讯(花卉行业最新趋势和技术) + - 媒体报道(媒体采访、报道文章) + - 分类筛选(按类别查看新闻) + - 搜索功能(关键词搜索新闻内容) + +- **联系我们模块** + - 联系表单(姓名、邮箱、电话、消息内容) + - 实时表单验证(前端验证、错误提示) + - 表单提交反馈(成功/失败提示信息) + - 联系信息展示(地址、电话、邮箱、工作时间) + - 在线地图集成(公司位置地图展示) + - 社交媒体链接(微信、微博、GitHub) + +- **通用功能** + - 响应式设计(桌面端、平板、手机适配) + - 导航系统(主导航菜单、面包屑导航) + - 页脚信息(版权声明、备案信息、政策链接、友情链接) + - SEO优化(meta标签、结构化数据) + - 性能优化(图片懒加载、资源压缩) ## 5. 非功能需求 -- 系统需要具备高可用性 -- 系统需要具备良好的安全性 -- 系统需要具备良好的可扩展性 \ No newline at end of file + +### 5.1 性能要求 +- **页面加载速度**: 首屏加载时间 ≤ 3秒,完整页面加载时间 ≤ 5秒 +- **资源优化**: 图片压缩(WebP格式支持),CSS/JS文件合并压缩 +- **缓存策略**: 浏览器缓存优化,CDN加速部署 +- **响应时间**: 用户操作响应时间 ≤ 100ms + +### 5.2 可用性要求 +- **浏览器兼容性**: 支持 Chrome、Firefox、Safari、Edge 等主流浏览器 +- **设备兼容性**: 完美支持桌面端、平板、手机等不同设备尺寸 +- **可访问性**: 符合WCAG 2.1 AA标准,支持屏幕阅读器 +- **错误处理**: 友好的错误提示和恢复机制 + +### 5.3 安全性要求 +- **表单安全**: 防止XSS攻击,输入内容过滤和转义 +- **HTTPS强制**: 全站HTTPS加密传输 +- **数据验证**: 前后端双重数据验证机制 +- **隐私保护**: 用户数据加密存储,符合GDPR要求 + +### 5.4 可维护性要求 +- **代码规范**: 遵循HTML5、CSS3、ES6+编码规范 +- **文档完整**: 完整的代码注释和技术文档 +- **模块化设计**: 组件化开发,便于维护和扩展 +- **版本控制**: Git版本管理,清晰的commit记录 + +### 5.5 SEO要求 +- **搜索引擎友好**: 合理的URL结构,语义化HTML标签 +- **结构化数据**: Schema.org标记,丰富搜索结果展示 +- **元数据优化**: 每个页面独立的title、description、keywords +- **站点地图**: XML sitemap自动生成和提交 + +### 5.6 监控和分析 +- **性能监控**: Google Analytics集成,性能指标监控 +- **错误监控**: 前端错误日志收集和分析 +- **用户行为分析**: 热点图、转化漏斗分析 +- **安全监控**: 安全漏洞扫描和预警 \ No newline at end of file diff --git a/项目总览.md b/项目总览.md index 268cb7c..4c2658c 100644 --- a/项目总览.md +++ b/项目总览.md @@ -4,10 +4,16 @@ 爱鉴花是一款通过AI图片识别植物类型的微信小程序应用,为用户提供花卉相关信息、购买、配送等服务。 ## 项目组成 -1. 微信小程序 (uni-app) -2. 后端接口 (Node.js) -3. 后台管理系统 (Vue3) -4. 官方网站 (HTML5 Bootstrap) +1. **微信小程序 (uni-app)** - 用户端应用,提供植物识别、商城购物、配送服务等功能 +2. **后端接口 (Node.js)** - 提供RESTful API服务,包括植物识别、用户管理、商品管理、订单管理等 +3. **后台管理系统 (Vue3)** - 管理后台,用于用户管理、商品管理、订单管理、数据统计等 +4. **官方网站 (HTML5 Bootstrap)** - 公司展示网站,提供产品介绍、公司信息、联系方式等 + +## 技术架构 +- **前端技术栈**: uni-app、Vue3、Element Plus、Bootstrap +- **后端技术栈**: Node.js、Express.js、MySQL、Redis +- **开发工具**: HBuilderX、VSCode、Git +- **部署环境**: Nginx、Docker、云服务器 ## 项目文档 @@ -17,6 +23,10 @@ ### 详细设计 - [详细设计](./详细设计.md) +### 开发规范 +- [贡献指南](./CONTRIBUTING.md) +- [变更日志](./CHANGELOG.md) + ### 微信小程序 - [README](./mini_program/README.md) - [功能模块](./mini_program/功能模块.md) diff --git a/项目说明.md b/项目说明.md index 39b8d7e..e79f2fa 100644 --- a/项目说明.md +++ b/项目说明.md @@ -20,28 +20,37 @@ ## 各项目开发环境配置 ### 微信小程序 (uni-app) -1. 安装 HBuilderX 或 VSCode -2. 安装 uni-app 插件 -3. 导入 mini_program 文件夹 -4. 运行 `npm install` 安装依赖 +1. **开发工具**: 安装 HBuilderX (推荐) 或 VSCode + uni-app 插件 +2. **环境要求**: Node.js 14+,npm 或 yarn 包管理器 +3. **开发步骤**: + - 导入 mini_program 文件夹到开发工具 + - 运行 `npm install` 安装依赖 + - 配置小程序AppID(需要微信开发者账号) + - 运行开发服务器进行调试 ### 后端服务 (Node.js) -1. 安装 Node.js (版本14以上) -2. 导入 backend 文件夹 -3. 运行 `npm install` 安装依赖 -4. 配置数据库连接 -5. 运行 `npm start` 启动服务 +1. **环境要求**: Node.js 14+,MySQL 5.7+,Redis +2. **开发步骤**: + - 导入 backend 文件夹 + - 运行 `npm install` 安装依赖 + - 复制 `.env.example` 为 `.env` 并配置数据库连接 + - 运行 `npm run db:init` 初始化数据库 + - 运行 `npm start` 启动服务(开发环境使用 `npm run dev`) ### 后台管理系统 (Vue3) -1. 安装 Node.js (版本14以上) -2. 导入 admin_website 文件夹 -3. 运行 `npm install` 安装依赖 -4. 运行 `npm run serve` 启动开发服务器 +1. **环境要求**: Node.js 14+,npm 或 yarn +2. **开发步骤**: + - 导入 admin_website 文件夹 + - 运行 `npm install` 安装依赖 + - 配置后端API地址(环境变量或配置文件) + - 运行 `npm run serve` 启动开发服务器 ### 官方网站 (HTML5 Bootstrap) -1. 无需特殊环境配置 -2. 可直接在浏览器中打开 index.html 查看 -3. 或部署到任意 Web 服务器 +1. **环境要求**: 任意现代浏览器 +2. **开发步骤**: + - 可直接在浏览器中打开 index.html 查看效果 + - 可使用 Live Server 等工具进行本地开发 + - 部署到 Nginx、Apache 或任何静态文件服务器 ## 文档说明 - 需求文档:描述项目需求和功能