feat: 全量更新前后端代码及文档 - 社区/定制/优惠券/活动/会员等模块

This commit is contained in:
Developer
2026-03-21 18:35:41 +08:00
parent a8aaf15bfb
commit 942465b758
590 changed files with 27840 additions and 14720 deletions

317
README.md
View File

@@ -1,161 +1,240 @@
# OpenClaw Skills 数字员工交易平台
# OpenClaw Skills 数字员工交易平台(纯前端版本)
基于 Vue 3 的数字员工交易平台,**无需后端,无需 Java 环境**,所有数据存储在浏览器本地 localStorage 中。
基于 Vue 3 + Spring Boot 3 的全栈数字员工 Skill 交易平台,支持 Skill 浏览、购买(混合支付:积分+微信支付)、退款、评价、邀请奖励等完整交易闭环,并提供功能完善的管理后台。
## 技术栈
- Vue 3
- Vite 5
- Element Plus
- Vue Router 4
- Pinia
- LocalStorage数据持久化
## 项目特点
**无需后端** - 所有业务逻辑在前端实现
**无需 Java** - 不需要 Java 环境
**数据持久化** - 使用 localStorage 保存数据
**完整功能** - 用户、商城、积分、订单全部功能完整
| 层面 | 技术 |
|------|------|
| **前端** | Vue 3.4 + Vite 5 + Pinia + Vue Router 4 + Ant Design Vue 4 + Element Plus + Axios |
| **后端** | Java 17 + Spring Boot 3.2 + MyBatis Plus 3.5.7 + MySQL 8.0 + Redis 7.x |
| **消息队列** | RabbitMQ退款异步处理、充值积分发放、超时提醒 |
| **支付** | 微信支付 V3Native Pay + 退款),支持模拟支付模式 |
| **ID 生成** | Leaf Segment号段模式订单号/退款单号等) |
| **文件存储** | 腾讯云 COS |
| **短信** | 短信验证码(注册/找回密码) |
| **测试** | Vitest前端 |
## 项目结构
```
数字员工/
├── frontend/ # 前端项目(只需启动这个
├── frontend/ # Vue 3 前端52 个页面
│ ├── src/
│ │ ├── data/ # 模拟数据
│ │ │ ── mockData.js # 数据初始化和存储
│ │ ├── service/ # 业务服务层
│ │ │ ── localService.js # 本地服务实现
│ │ ├── api/ # API 接口(已改为本地调用
│ │ ├── components/ # 通用组件
│ │ ├── router/ # 路由配置
│ │ ├── stores/ # 状态管理
│ │ ├── views/ # 页面组件
│ │ ├── App.vue
│ │ ├── views/ # 页面视图
│ │ │ ── home/ # 首页
│ │ ├── skill/ # Skill 商城(列表/详情/搜索/榜单)
│ │ │ ── order/ # 订单(详情/支付/模拟支付)
│ │ │ ├── user/ # 用户中心16 个子页面
│ │ │ ├── admin/ # 管理后台21 个子页面)
│ │ │ ├── help/ # 帮助中心
│ │ ├── customize/ # Skill 定制
│ │ │ ├── join-us/ # 加入我们(开发者申请)
│ │ │ ├── legal/ # 法律条款
│ │ │ └── error/ # 错误页
│ │ ├── stores/ # Pinia 状态管理7 个 store
│ │ ├── service/
│ │ │ ├── apiService.js # Axios API 封装22 个模块)
│ │ │ └── dataAdapter.js # 后端数据归一化
│ │ ├── components/ # UI 组件
│ │ ├── layouts/ # 布局MainLayout + AdminLayout
│ │ ├── router/index.js # 路由配置
│ │ └── main.js
│ ├── index.html
│ ├── package.json
│ └── vite.config.js
│ ├── .env.development # 开发环境变量
│ ├── .env.production # 生产环境变量
│ └── package.json
├── openclaw-backend/ # Spring Boot 后端
│ └── openclaw-backend/
│ ├── src/main/java/com/openclaw/
│ │ ├── module/ # 20 个业务模块
│ │ │ ├── user/ # 用户(注册/登录/短信/微信)
│ │ │ ├── skill/ # SkillCRUD/评价/收藏/分类/榜单)
│ │ │ ├── order/ # 订单(创建/支付/取消/退款)
│ │ │ ├── payment/ # 支付(充值/微信支付/回调/模拟支付)
│ │ │ ├── points/ # 积分(签到/消费/退还/流水)
│ │ │ ├── member/ # 会员等级(成长值/等级配置/权益)
│ │ │ ├── admin/ # 后台管理(综合管理接口)
│ │ │ ├── invite/ # 邀请系统
│ │ │ ├── invoice/ # 发票管理
│ │ │ ├── content/ # 内容管理(轮播图/公告)
│ │ │ ├── activity/ # 活动管理
│ │ │ ├── notification/ # 消息通知
│ │ │ ├── feedback/ # 反馈建议
│ │ │ ├── help/ # 帮助中心
│ │ │ ├── rbac/ # 角色权限管理
│ │ │ ├── log/ # 操作日志
│ │ │ ├── developer/ # 开发者申请
│ │ │ ├── customization/ # Skill 定制需求
│ │ │ ├── share/ # 分享(微信 JS-SDK
│ │ │ └── common/ # 公共(文件上传/配置/统计)
│ │ ├── common/ # 公共基础设施
│ │ │ ├── event/ # 领域事件(退款/充值)
│ │ │ └── mq/ # RabbitMQ消费者/常量/配置)
│ │ ├── config/ # 配置类
│ │ ├── annotation/ # 自定义注解(@RequiresRole 等)
│ │ └── util/ # 工具类
│ ├── src/main/resources/
│ │ ├── application.yml # 应用配置
│ │ └── db/
│ │ ├── init.sql # 数据库初始化
│ │ ├── migration/ # Flyway 迁移脚本9 个)
│ │ └── seed_skills.sql # 种子数据
│ └── pom.xml
├── 后端架构设计/ # 架构设计文档集
├── 产品功能架构设计.md # 产品功能架构设计参考
├── 待实现功能清单.md # 功能完成度跟踪
├── P1低优先级开发计划.md # P1 功能开发计划
├── 全量功能测试计划清单_2026-03-19.md # 测试计划
├── 后端启动指南.md # 后端详细启动文档
└── README.md
```
## 快速启动(仅需前端)
## 快速启动
### 前置要求
- Node.js (推荐 v16 或更高版本)
- npm 或 yarn 或 pnpm
### 启动步骤
| 依赖 | 版本要求 |
|------|---------|
| Node.js | v16+ |
| Java | 17+ |
| MySQL | 8.0+ |
| Redis | 7.x+ |
| RabbitMQ | 3.x+ |
| Maven | 3.6+ |
### 后端启动
```bash
# 1. 初始化数据库
cd openclaw-backend/openclaw-backend
mysql -u root -p < src/main/resources/db/init.sql
# 2. 修改配置(数据库/Redis/RabbitMQ 连接信息、微信支付密钥等)
# 编辑 src/main/resources/application.yml
# 3. 启动后端
mvn spring-boot:run
# 后端运行在 http://localhost:8080
```
> 详细启动步骤请参考 `后端启动指南.md`
### 前端启动
1. 进入前端目录:
```bash
cd frontend
```
2. 安装依赖:
```bash
npm install
```
3. 启动开发服务器:
```bash
npm run dev
# 前端运行在 http://localhost:5173
```
4. 打开浏览器访问:
```
http://localhost:5173
```
### 模拟支付模式
## 测试账号
| 手机号 | 积分 | 说明 |
|--------|------|------|
| 13800138000 | 500 | 演示用户 |
| 13900139000 | 200 | 测试用户 |
密码:任意输入即可(演示用)
项目支持在微信支付未启用时使用模拟支付,可通过 `/mock-pay` 页面完成订单和充值的模拟支付,方便开发调试。
## 功能模块
### 1. 用户系统
- 用户注册/登录
- 个人信息编辑
- 邀请码生成和绑定
### 用户端16 个页面)
### 2. Skill 商城
- Skill 列表展示
- 分类筛选
- 关键词搜索
- Skill 详情查看
- 热门/最新推荐
- 免费/付费 Skill 区分
| 模块 | 功能 |
|------|------|
| **用户系统** | 手机号注册/登录、微信扫码登录、短信验证码、忘记密码、个人资料编辑、头像上传、手机号更换、密码修改 |
| **Skill 商城** | 列表浏览、分类筛选、关键词搜索、Skill 详情、热门榜单(下载量/评分/周/月/总) |
| **订单与支付** | 订单预览(积分+现金混合计算)、下单、微信支付/模拟支付、取消订单、申请退款 |
| **积分系统** | 积分余额、积分流水、每日签到、加入社群奖励、积分充值(梯度套餐)、积分过期(一年有效期)、活动冻结/解冻 |
| **评价与收藏** | Skill 评价/评分、点赞评论、收藏/取消收藏 |
| **邀请系统** | 邀请码生成、绑定邀请码、邀请记录、邀请统计 |
| **发票管理** | 发票申请、发票列表、发票详情 |
| **消息通知** | 通知列表、未读数、标记已读/全部已读 |
| **反馈建议** | 提交反馈、反馈列表、反馈详情 |
| **帮助中心** | 分类浏览、文章搜索、文章详情、标记有用 |
| **其他** | Skill 定制需求提交、开发者申请、用户协议/隐私政策 |
### 3. 积分系统
- **积分获取方式**
- 新用户注册奖励300积分
- 每日签到10积分/天)
- 邀请好友100积分/人 + 好友消费奖励)
- 加入技术交流群50积分
- 充值赠送(多充多送)
- **积分消耗**
- 兑换付费 Skill
- 积分充值
- 积分明细查询
### 管理后台21 个页面)
### 4. 订单管理
- 创建订单
- 支付订单(现金/积分)
- 订单查询
| 模块 | 功能 |
|------|------|
| **数据看板** | 用户/订单/Skill/积分/收入统计、趋势图表 |
| **用户管理** | 用户列表、用户详情、封禁/解封、角色变更 |
| **Skill 管理** | Skill 列表、审核(通过/拒绝)、上下架、推荐/取消推荐、后台创建 Skill |
| **订单管理** | 订单列表、订单详情 |
| **退款管理** | 退款列表、审批通过(触发微信退款+积分退还)、拒绝退款(恢复原订单状态) |
| **评论管理** | 评论列表、删除违规评论 |
| **积分管理** | 积分流水查看、手动调整积分、过期清理每日凌晨2点定时任务 |
| **内容管理** | 轮播图 CRUD、公告 CRUD、活动 CRUD |
| **发票管理** | 发票列表、发票审核/开具 |
| **帮助中心管理** | 分类 CRUD、文章 CRUD |
| **反馈管理** | 反馈列表、详情查看、回复、状态变更 |
| **定制需求管理** | 定制需求列表、状态处理 |
| **开发者管理** | 开发者申请列表、审核通过/拒绝 |
| **RBAC 权限** | 角色 CRUD、权限列表、角色权限配置、管理员角色配置 |
| **操作日志** | 操作日志列表查询 |
| **系统设置** | 系统配置 |
### 5. 个人中心
- 个人信息管理
- 每日签到
- 加入社群
- 邀请好友
- 充值入口
### 后端 API 概览29 个 Controller
## 数据存储
| 分类 | Controller | 说明 |
|------|-----------|------|
| 用户 | UserController, WechatAuthController | 注册/登录/个人信息/微信授权 |
| Skill | SkillController, CategoryController, SkillFavoriteController | 商城/分类/收藏 |
| 订单 | OrderController | 下单/支付/取消/退款 |
| 支付 | PaymentController, MockPaymentController | 充值/微信回调/模拟支付 |
| **积分** | PointsController | 余额/流水/签到/过期清理/活动冻结 |
| **会员** | MemberController | 等级详情/成长记录/管理员调整 |
| 邀请 | InviteController | 邀请码/绑定/记录 |
| 内容 | BannerController, AnnouncementController, ActivityController | 轮播图/公告/活动(公开) |
| 发票 | InvoiceController | 发票申请/列表 |
| 通知 | NotificationController | 消息通知 |
| 反馈 | FeedbackController | 反馈建议 |
| 帮助 | HelpController, AdminHelpController | 帮助中心 |
| 分享 | ShareController | 微信 JS-SDK 签名 |
| 开发者 | DeveloperController | 开发者申请 |
| 定制 | CustomizationController | Skill 定制需求 |
| 管理后台 | AdminController, AdminActivityController | 综合后台管理 |
| RBAC | RbacController | 角色权限管理 |
| 日志 | OperationLogController | 操作日志 |
| 公共 | ConfigController, FileUploadController, StatsController | 配置/上传/统计 |
所有数据保存在浏览器 localStorage 中,包括:
- 用户数据
- Skill 数据
- 积分记录
- 订单数据
### 消息队列RabbitMQ
**注意**:清除浏览器缓存会重置所有数据!
| 队列 | 用途 |
|------|------|
| `openclaw.recharge.paid` | 充值成功 → 积分发放 |
| `openclaw.refund.approved` | 退款审批通过 → 微信退款 + 积分退还 + 退款单完成 |
| `openclaw.refund.timeout.remind` | 退款超时 → 管理员提醒48h 延迟队列) |
## 测试数据说明
## 项目文档
系统预置了以下测试数据:
- 2个测试用户
- 6个示例 Skill包含免费和付费
- 完整的积分记录
- 示例订单
| 文档 | 说明 |
|------|------|
| `后端启动指南.md` | 后端详细启动配置文档 |
| `待实现功能清单.md` | 功能完成度跟踪Phase 1~3 |
| `产品功能架构设计.md` | 产品功能架构设计参考 |
| `P1低优先级开发计划.md` | P1 优先级功能开发计划 |
| `全量功能测试计划清单_2026-03-19.md` | 测试计划清单 |
| `后端架构设计/` | 后端架构设计文档集 |
| `openclaw-backend/API_EXAMPLES.md` | API 测试示例curl 命令) |
## 充值档位
## 当前状态
| 充值金额 | 赠送积分 | 总计获得 |
|----------|----------|----------|
| ¥10 | +10 | 20积分 |
| ¥50 | +60 | 110积分 |
| ¥100 | +150 | 250积分 |
| ¥500 | +800 | 1300积分 |
| ¥1000 | +2000 | 3000积分 |
> 更新日期2026-03-21
## 技术亮点
| 阶段 | 完成度 | 说明 |
|------|--------|------|
| Phase 1 MVP 核心 | ~98% | 用户/商城/积分/支付/混合支付/后台管理基本完成 |
| Phase 2 核心完善 | ~90% | 内容管理/发票/榜单/RBAC/操作日志/帮助中心/反馈/退款完善/活动管理/积分过期冻结已完成 |
| Phase 3 运营深化 | ~10% | 会员等级体系已完成;优惠券/活动系统/风控等待做 |
1. **完整的业务逻辑** - 所有后端逻辑完整迁移到前端
2. **数据持久化** - 使用 localStorage 保存数据
3. **响应式设计** - 适配不同屏幕尺寸
4. **组件化架构** - 代码清晰易维护
5. **模拟数据完整** - 包含真实的业务场景
**近期修复与新增**
- 会员等级体系(普通→白银→金卡→钻石,成长值自动增长,签到倍率/积分折扣权益,管理员手动调整,安全审计修复)
- 积分过期 + 冻结机制(一年有效期、批次追踪、活动冻结/解冻、定时过期清理、前端冻结/过期状态展示)
- 退款功能全链路修复(现金退款/积分退还/状态流转/MQ事务一致性/operatorId 记录)
- 定制需求管理前后端状态值统一
## 注意事项
1. 数据存储在浏览器 localStorage 中,清除缓存会丢失数据
2. 推荐使用 Chrome/Edge/Firefox 浏览器
3. 这是演示版本,实际部署建议连接真实后端
**待做事项**(详见 `待实现功能清单.md`
- 支付回调可靠性验证
- 邀请海报生成
- 手机号绑定/更换完善
- Phase 3 全部功能