一个基于微信小程序的AI数据集商城,采用前后端分离架构设计。
.
├── ai_datasets/ # 微信小程序前端代码
│ ├── app.js # 小程序入口文件
│ ├── app.json # 小程序全局配置
│ ├── project.config.json # 项目配置文件
│ ├── sitemap.json # 小程序索引配置
│ ├── pages/ # 页面目录
│ │ ├── index/ # 首页
│ │ ├── dataset/ # 数据集详情页
│ │ ├── admin/ # 管理员页面
│ │ └── logs/ # 日志页面
│ ├── components/ # 自定义组件
│ │ └── dataset-card/ # 数据集卡片组件
│ ├── images/ # 图片资源
│ └── utils/ # 工具函数
├── backend/ # Go后端服务
│ ├── api/ # API文档
│ ├── config/ # 配置文件
│ ├── controllers/ # 控制器
│ ├── models/ # 数据模型
│ ├── routes/ # 路由
│ ├── middleware/ # 中间件
│ ├── utils/ # 工具函数
│ ├── docs/ # 文档
│ ├── main.go # 主程序入口
│ └── .env # 环境配置文件
├── Makefile # 构建文件
├── go.mod # Go模块定义
├── go.sum # Go模块校验和
├── package.json # 前端项目配置文件
└── API_DOCUMENT.md # API文档
- 数据集展示 - 展示AI数据集信息,包括图片和详细描述
- 权限管理 - 基于微信登录的管理员权限系统
- 购物功能 - 数据集购买和购物车功能(待实现)
- 响应式设计 - 适配不同屏幕尺寸的手机
- 微信小程序原生框架
- WeUI设计资源库
- Go语言
- Gin Web框架
- MySQL数据库
- JWT认证
- 使用微信开发者工具打开
ai_datasets目录 - 在项目根目录运行
npm install安装依赖 - 修改 app.js 中的服务器地址
- Go 1.19+
- MySQL 5.7+
- 克隆项目到本地
- 进入项目根目录
- 修改
backend/.env文件中的配置参数 - 安装Go依赖包:
go mod tidy
- 编译并运行:
或者开发模式运行:
make run
make dev
API文档使用Swagger生成,启动服务后访问 http://localhost:8080/swagger/index.html 查看。
本系统采用基于微信openid的管理员权限系统:
- 用户通过微信登录获取code
- 后端通过code换取用户openid
- 检查openid是否在管理员列表中
- 根据权限显示相应功能
通过以下方式添加管理员:
- 通过管理员接口添加(需要现有管理员权限)
- 直接在数据库中添加openid到
admin_config表
- 使用JWT进行用户身份验证
- 管理员操作需要特殊权限验证
- 敏感操作需要二次确认
- 使用HTTPS进行数据传输(生产环境)
- 遵循微信小程序开发规范
- 使用组件化开发模式
- 采用模块化设计
- 保持代码风格一致