# test **Repository Path**: lokywang/test ## Basic Information - **Project Name**: test - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-16 - **Last Updated**: 2025-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 印5U (Yin5u) 企业级O2O电商管理系统 印5U 是一个全栈、前后端分离的现代化 O2O 电商管理系统,提供完善的商城管理、订单系统和移动端支持。 ## 项目结构 ``` yin5u/ ├── backend/yin5u-admin/ # 后端服务 (GoFrame 2.9+) ├── frontend/yin5u-admin-ui/ # 管理后台 (Vue 3 + TypeScript + Element Plus) └── frontend/yin5u-mobile-ui/ # 移动端应用 (uni-app) ``` ## 核心功能 ### 1. 商品管理 - 商品分类与标签管理 - 商品上架与库存管理 - 商品图片与详情编辑 ### 2. 订单系统 - 订单创建与流转 - 订单状态跟踪 - 支付与退款管理 ### 3. 会员管理 ✅ - 会员注册与登录 - 会员等级与权益 - 积分与优惠券系统 ### 4. 支付系统 ✅ - 统一支付管理 - 微信支付集成 - 余额支付 - 退款管理 ### 5. 租赁管理 ✅ - 设备租赁订单管理(按月/按季/按年) - 租赁全流程跟踪(审核→支付→安装→租赁→回收→完成) - 设备信息与状态管理 - 设备维护与故障报修 - 押金管理与退还 - 续租与租金支付 - 订单统计与数据分析 ### 6. 营销工具 - 优惠券管理 - 限时秒杀活动 - 拼团功能 ### 7. 配送管理 - 配送区域设置 - 配送费用计算 - 物流跟踪 ### 8. 数据统计 ✅ - 数据大屏(核心指标概览) - 销售数据分析(销售额、订单量、商品排行、趋势分析) - 用户统计(新增、活跃、地域分布、行为分析) - 订单统计(状态分布、客单价、退款分析) - 商品统计(库存预警、热销/滞销排行) - 财务统计(收入、支出、利润、财务报表) --- ## 技术栈 ### 后端 (backend/yin5u-admin) **核心框架** - GoFrame 2.9+ - Web 框架 - MySQL 8.0+ - 数据库 - Redis - 缓存 **主要特性** - RESTful API 设计 - JWT Token 认证 - Casbin 权限控制 - 验证码生成 - 文件上传下载 ### 管理后台 (frontend/yin5u-admin-ui) **技术栈** - Vue 3 - TypeScript - Element Plus - Vite - Pinia (状态管理) ### 移动端 (frontend/yin5u-mobile-ui) **技术栈** - uni-app 框架 - Vue 3 - TypeScript - 微信小程序 API --- ## 快速开始 ### 环境要求 - Go 1.23+ - Node.js 16+ - MySQL 8.0+ - Redis 6.0+ ### 数据库初始化 1. **创建数据库** ```bash # 连接数据库 mysql -u root -p CREATE DATABASE yin5u CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 导入SQL文件 mysql -u root -p yin5u < backend/yin5u-admin/resource/data/yin5u.sql ``` 2. **配置数据库连接** 编辑 `backend/yin5u-admin/manifest/config/config.yaml`: ```yaml database: default: link: "mysql:root:你的密码@tcp(127.0.0.1:3306)/yin5u?charset=utf8mb4&parseTime=true&loc=Local" ``` 3. **启动后端服务** ```bash cd backend/yin5u-admin go mod tidy go run main.go ``` 服务将运行在 http://localhost:8808 ### 管理后台启动 ```bash cd frontend/yin5u-admin-ui npm install npm run dev ``` 访问 http://localhost:5173 **默认管理员账号** - 用户名: admin - 密码: admin123 ### 移动端开发 1. 安装 HBuilderX 2. 打开 `frontend/yin5u-mobile-ui` 项目 3. 配置微信小程序 AppID(manifest.json) 4. 运行到微信开发者工具 --- ## 项目配置 ### 1. 数据库配置 编辑 `backend/yin5u-admin/manifest/config/config.yaml` ```yaml database: default: link: "mysql:用户名:密码@tcp(地址:端口)/数据库名?charset=utf8mb4&parseTime=true&loc=Local" maxOpen: 100 # 最大连接数 ``` ### 2. Redis配置 ```yaml redis: default: address: 127.0.0.1:6379 db: 1 pass: "" # 密码,无密码留空 ``` ### 3. 微信配置 ```yaml wechat: miniProgram: appId: "你的小程序AppID" appSecret: "你的小程序AppSecret" ``` ### 4. 支付配置 ```yaml wxPay: mchId: "商户号" apiKey: "API密钥" certPath: "./resource/cert/apiclient_cert.pem" keyPath: "./resource/cert/apiclient_key.pem" notifyUrl: "https://你的域名.com/api/v1/pay/notify" ``` --- ## 开发指南 ### 后端开发 #### 目录结构 ``` backend/yin5u-admin/ ├── api/v1/ # API请求/响应定义 ├── internal/ │ ├── app/ │ │ ├── common/ # 公共模块(缓存、配置、字典、验证码) │ │ └── system/ # 系统管理模块(用户、角色、菜单) │ ├── cmd/ # CLI命令入口 │ ├── router/ # 路由注册 │ └── mounter/ # 组件挂载 ├── library/ # 可复用库代码 ├── manifest/ # 配置文件 └── resource/ # 静态资源 ├── data/ # SQL文件 ├── casbin/ # 权限策略 └── upload/ # 上传文件 ``` #### 模块分层 ``` controller/ # HTTP处理器(路由处理) ↓ service/ # 服务接口(业务契约) ↓ logic/ # 服务实现(业务逻辑) ↓ dao/ # 数据库访问对象(自动生成) ↓ model/ # 数据结构 ├── entity/ # 数据库表结构体(自动生成) ├── do/ # 查询数据对象(自动生成) └── *.go # 自定义DTO模型 ``` #### DAO代码生成 当数据库结构变更后,需要重新生成 DAO 代码: ```bash cd backend/yin5u-admin # 方法1: 使用gf命令(推荐) gf gen dao # 方法2: 使用hack配置 cd hack gf gen dao ``` 这将生成: - `dao/` - 数据库访问对象 - `model/entity/` - 表结构体 - `model/do/` - 查询对象 **重要**: 永远不要手动编辑 `dao/internal/` 中的生成文件 #### 新增API接口 1. **定义API结构** (`api/v1/xxx/xxx.go`) ```go package xxx type AddReq struct { g.Meta `path:"/xxx/add" method:"post" summary:"添加XXX" tags:"XXX管理"` Name string `json:"name" v:"required#名称必填"` } type AddRes struct { Id uint64 `json:"id"` } ``` 2. **定义Service接口** (`internal/app/xxx/service/xxx.go`) ```go package service type IXxx interface { Add(ctx context.Context, req *v1.AddReq) (res *v1.AddRes, err error) } ``` 3. **实现Logic** (`internal/app/xxx/logic/xxx/xxx.go`) ```go package xxx func (s *sXxx) Add(ctx context.Context, req *v1.AddReq) (res *v1.AddRes, err error) { // 业务逻辑实现 } ``` 4. **创建Controller** (`internal/app/xxx/controller/xxx.go`) ```go package controller func (c *cXxx) Add(ctx context.Context, req *v1.AddReq) (res *v1.AddRes, err error) { return service.Xxx().Add(ctx, req) } ``` 5. **注册路由** (`internal/app/xxx/router/router.go`) ```go group.Bind(controller.Xxx) ``` ### 前端开发 #### 管理后台目录结构 ``` frontend/yin5u-admin-ui/ ├── src/ │ ├── api/ # API请求封装 │ ├── assets/ # 静态资源 │ ├── components/ # 公共组件 │ ├── layout/ # 布局组件 │ ├── router/ # 路由配置 │ ├── stores/ # Pinia状态管理 │ ├── utils/ # 工具函数 │ └── views/ # 页面组件 ├── public/ # 公共资源 └── vite.config.ts # Vite配置 ``` #### 移动端目录结构 ``` frontend/yin5u-mobile-ui/ ├── pages/ # 页面 ├── components/ # 组件 ├── static/ # 静态资源 ├── uni_modules/ # uni-app插件 ├── App.vue # 应用入口 ├── main.js # 入口文件 ├── manifest.json # 应用配置 └── pages.json # 页面配置 ``` --- ## API文档 后端服务启动后访问:http://localhost:8808/swagger --- ## 数据库设计 详细的数据库设计文档请查看 `backend/yin5u-admin/resource/data/DATABASE_DESIGN.md` **核心表结构** - 系统模块:用户、角色、权限、菜单、部门 - 配置管理:字典、配置项、地区 - 商品管理:商品、分类、品牌、库存 - 订单管理:订单、订单商品、订单日志 - 会员管理:会员、会员等级、积分记录 - 营销模块:优惠券、活动、拼团 - 支付物流:支付记录、物流信息 - 数据统计:销售统计、用户统计 --- ## 生产部署 ### 后端部署 1. **编译** ```bash cd backend/yin5u-admin go build -o yin5u main.go ``` 2. **配置生产环境** 编辑 `manifest/config/config.yaml`: - 修改数据库连接为生产地址 - 修改Redis连接 - 修改微信配置 - 关闭调试模式 - 设置日志级别 3. **使用systemd管理服务** 创建 `/etc/systemd/system/yin5u.service`: ```ini [Unit] Description=Yin5u API Server After=network.target [Service] Type=simple User=www-data WorkingDirectory=/var/www/yin5u ExecStart=/var/www/yin5u/yin5u Restart=on-failure [Install] WantedBy=multi-user.target ``` 启动服务: ```bash systemctl enable yin5u systemctl start yin5u ``` ### 管理后台部署 1. **构建** ```bash cd frontend/yin5u-admin-ui npm run build ``` 2. **Nginx配置** ```nginx server { listen 80; server_name admin.yin5u.com; root /var/www/yin5u-admin-ui/dist; index index.html; location / { try_files \$uri \$uri/ /index.html; } location /api { proxy_pass http://localhost:8808; proxy_set_header Host \$host; proxy_set_header X-Real-IP \$remote_addr; } } ``` ### 移动端发布 1. 在HBuilderX中选择"发行" -> "小程序-微信" 2. 填写小程序信息 3. 上传代码 4. 提交审核 --- ## 常见问题 ### 1. 数据库连接失败 检查: - MySQL服务是否启动 - 数据库名和密码是否正确 - 端口是否开放(默认3306) ### 2. Redis连接失败 检查: - Redis服务是否启动 - Redis地址和配置是否正确 - 是否设置了密码 ### 3. 前端跨域问题 确保 `vite.config.ts` 中配置了代理: ```ts server: { proxy: { '/api': { target: 'http://localhost:8808', changeOrigin: true } } } ``` ### 4. 微信小程序授权失败 检查: - 小程序AppID和AppSecret是否正确 - 服务器配置是否有效 - 域名是否在白名单中 --- ## 开发规范 ### Go代码规范 - 遵循 [Uber Go Style Guide](https://github.com/uber-go/guide) - 使用 `gofmt` 格式化代码 - 变量命名使用驼峰命名法 - 导出的函数和结构体必须有注释 ### Vue代码规范 - 遵循 [Vue 3 Style Guide](https://vuejs.org/style-guide/) - 组件名使用 PascalCase - Props 使用 camelCase - 使用 TypeScript 类型注解 --- ## 许可证 本项目采用 MIT 许可证 --- ## 联系方式 - 项目地址:https://github.com/your-org/yin5u - 问题反馈:https://github.com/your-org/yin5u/issues - 技术支持:support@yin5u.com --- ## 更新日志 ### v1.3.0 (2025-12-13) - ✅ 完成数据统计分析模块开发 - 实现数据大屏(核心指标概览、销售趋势、热销商品、订单状态、用户统计) - 实现销售统计(概览、排行榜、趋势分析) - 实现用户统计(新增、活跃、地域分布、行为分析) - 实现订单统计(概览、状态分布、支付方式、退款分析) - 实现商品统计(概览、库存预警、热销/滞销排行) - 实现财务统计(收入、支出、净利润、财务报表、支付统计) - 支持多维度数据查询和分组统计(日/周/月) - 提供完整的REST API接口和详细文档 - 详细文档:`backend/yin5u-admin/STATISTICS_SYSTEM.md` ### v1.2.0 (2025-12-13) - ✅ 完成租赁管理系统开发 - 实现租赁订单全流程管理(创建、审核、支付、安装、租赁、回收、完成) - 实现设备管理功能(设备信息维护、状态跟踪) - 实现租金支付功能(支持微信支付和余额支付) - 实现设备维护管理(故障报修、维护记录) - 支持按月/按季/按年租赁方式 - 支持续租和押金退还 - 提供订单统计和数据分析 - 详细文档:`backend/yin5u-admin/RENTAL_SYSTEM.md` ### v1.1.0 (2025-12-13) - ✅ 完成会员管理系统开发 - 实现会员等级管理(多级会员体系) - 实现积分系统(签到、消费赠送、积分兑换) - 实现优惠券系统(发放、领取、使用) - 支持会员升级与权益管理 - 详细文档:`backend/yin5u-admin/MEMBER_SYSTEM.md` - ✅ 完成支付系统开发 - 实现统一支付管理 - 支持商品订单、租赁订单、报工单等多类型支付 - 集成微信支付和余额支付 - 实现退款管理功能 - 详细文档:`backend/yin5u-admin/PAYMENT_SYSTEM.md` ### v1.0.0 (2025-12-13) - 首次发布版本 - 完成核心功能开发 - 实现商品管理、订单系统、会员管理、营销工具等核心模块