Skip to content

Jeremy-J-J/weixin_aidatasets_backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI数据集商城

一个基于微信小程序的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文档

功能特性

  1. 数据集展示 - 展示AI数据集信息,包括图片和详细描述
  2. 权限管理 - 基于微信登录的管理员权限系统
  3. 购物功能 - 数据集购买和购物车功能(待实现)
  4. 响应式设计 - 适配不同屏幕尺寸的手机

技术栈

前端

  • 微信小程序原生框架
  • WeUI设计资源库

后端

  • Go语言
  • Gin Web框架
  • MySQL数据库
  • JWT认证

安装部署

前端

  1. 使用微信开发者工具打开 ai_datasets 目录
  2. 在项目根目录运行 npm install 安装依赖
  3. 修改 app.js 中的服务器地址

后端

环境要求

  • Go 1.19+
  • MySQL 5.7+

安装步骤

  1. 克隆项目到本地
  2. 进入项目根目录
  3. 修改 backend/.env 文件中的配置参数
  4. 安装Go依赖包:
    go mod tidy
  5. 编译并运行:
    make run
    或者开发模式运行:
    make dev

API文档

API文档使用Swagger生成,启动服务后访问 http://localhost:8080/swagger/index.html 查看。

权限管理

本系统采用基于微信openid的管理员权限系统:

  1. 用户通过微信登录获取code
  2. 后端通过code换取用户openid
  3. 检查openid是否在管理员列表中
  4. 根据权限显示相应功能

添加管理员

通过以下方式添加管理员:

  1. 通过管理员接口添加(需要现有管理员权限)
  2. 直接在数据库中添加openid到 admin_config

安全特性

  1. 使用JWT进行用户身份验证
  2. 管理员操作需要特殊权限验证
  3. 敏感操作需要二次确认
  4. 使用HTTPS进行数据传输(生产环境)

开发规范

  1. 遵循微信小程序开发规范
  2. 使用组件化开发模式
  3. 采用模块化设计
  4. 保持代码风格一致

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published