docs: 更新项目文档,完善需求和技术细节
This commit is contained in:
328
PRD_爱鉴花小程序.md
328
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 安全运维
|
||||
- 定期安全扫描
|
||||
- 漏洞修复流程
|
||||
- 访问权限控制
|
||||
- 操作审计日志
|
||||
|
||||
---
|
||||
*本文档将持续更新,请关注最新版本*
|
||||
*本文档将持续更新,请关注最新版本*
|
||||
|
||||
## 附录
|
||||
|
||||
### 附录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%的可用性保障
|
||||
- **扩展性**: 支持后续按需扩展架构
|
||||
66
README.md
66
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图片识别植物
|
||||
- 花卉信息展示
|
||||
- 花店花卉配送
|
||||
- 花卉植物商城
|
||||
- 花卉园艺工具
|
||||
## ✨ 核心功能
|
||||
- **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来完善这个项目。
|
||||
@@ -18,4 +18,11 @@
|
||||
- config: 配置文件
|
||||
|
||||
## 开发说明
|
||||
请确保安装了Node.js环境,并使用npm管理依赖。
|
||||
请确保安装了Node.js环境,并使用npm管理依赖。
|
||||
|
||||
## 文档
|
||||
|
||||
- [开发计划](./开发计划.md)
|
||||
- [功能模块](./功能模块.md)
|
||||
- [数据库设计](../数据库设计文档.md)
|
||||
- [API接口文档](./API接口文档.md)
|
||||
25
详细设计.md
25
详细设计.md
@@ -50,7 +50,24 @@
|
||||
9. 后台管理系统可查看和处理订单
|
||||
|
||||
## 4. 数据库设计
|
||||
- 用户表:存储用户基本信息
|
||||
- 商品表:存储花卉商品信息
|
||||
- 订单表:存储订单信息
|
||||
- 识别记录表:存储用户识别记录
|
||||
|
||||
### 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索引、识别时间索引
|
||||
122
需求文档.md
122
需求文档.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. 非功能需求
|
||||
- 系统需要具备高可用性
|
||||
- 系统需要具备良好的安全性
|
||||
- 系统需要具备良好的可扩展性
|
||||
|
||||
### 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集成,性能指标监控
|
||||
- **错误监控**: 前端错误日志收集和分析
|
||||
- **用户行为分析**: 热点图、转化漏斗分析
|
||||
- **安全监控**: 安全漏洞扫描和预警
|
||||
18
项目总览.md
18
项目总览.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)
|
||||
|
||||
41
项目说明.md
41
项目说明.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 或任何静态文件服务器
|
||||
|
||||
## 文档说明
|
||||
- 需求文档:描述项目需求和功能
|
||||
|
||||
Reference in New Issue
Block a user