# UserManagerSystem
1. 前端暂用 https://gitee.com/xminghua/Login.git ,待小组成员补充
2. 后端用 `go` 开发,`gin` 为服务器, `gorm` 查询, MySQL 为数据库
3. 运行用 `go run .`
4. 系统日志文件在主目录下的 `systemlogs` 下,同时数据库备份文件也在该目录下
5. 配置文件在 `config` 目录下,配置信息在 `config/config.yaml` 中
6. [redis密码设置教程](https://www.runoob.com/redis/redis-security.html)
### 目录分级
| 目录 | 作用 |
| ----------- | ---------------------------------- |
| configs | 配置文件、SQL 结构文件 |
| consts | 常量规范 如登录成功 / 失败 等提示信息 |
| model | 常用结构体 |
| service | 服务层,实现功能 |
| static | 前端静态文件 |
| templates | HTML 界面 |
| user_files | 用户上传png |
| utils | 工具包,读取配置文件、连接数据库等 |
| systemlogs | 日志文件及数据库备份 |
| avatars | 头像文件 |
### 后端接口
| 接口名 | 说明 | 方法 |
| ------------------- | ---------------------------------- | ---- |
| CheckEmailAvailable | 检测邮箱可用(格式错误、已被注册) | GET |
| GetUserFilesPath | 获取该用户上传的文件的路径 | GET |
| GetUserMessage | 获取用户信息 | GET |
| PredictPng | 对png文件进行预测 | GET |
| RestoreMySQL | 恢复数据库 | GET |
| UserLogin | 用户登录 | GET |
| UserRegister | 用户注册 | GET |
| SendAuthCode | 发送邮箱验证码 | GET |
| ModifyPassword | 用户登录后根据旧密码修改密码 | POST |
| ForgetPassword | 通过邮箱验证修改密码 | POST |
| UploadAvatar | 上传头像 | POST |
| UploadPng | 上传Png文件 | POST |
| DeletePng | 删除Png文件 | POST |
返回结构体
| json结构体 | 类型 | 说明 |
| ---------- | --------- | -------------- |
| Code | int | 错误码 |
| Msg | string | 错误码对应信息 |
| Data | interface | 部分接口使用 |
| Code错误码 | Msg错误码对应信息 |
| ---------- | ------------------------------------------------------------ |
| 200 | 本次操作成功 |
| 100000 | 输入参数有误,或许是邮箱格式错误,或许是有空输入 |
| 100001 | 未找到该用户的信息,或许是Cookie过期,或许是在数据库中被人为删除(很少出现该错误码) |
| 100002 | 账号或密码错误(可能是账号不存在) |
| 100003 | 邮箱验证码校验失败 |
| 100004 | 邮箱已被注册 |
| 100005 | 更新密码失败,或许是数据库错误,也可能是新旧密码相同 |
| 100006 | Cookie过期 |
| 100007 | 发送邮箱验证码失败 |
| 999998 | 系统错误(各种原因,文件夹创建失败,文件保存失败,框架错误,基本都是不可控行为) |
| 999999 | 数据库错误(记录创建失败,redis数据获取失败,后续可能追加rabbitmq失败) |
#### CheckEmailAvailable
GET:检测邮箱可用(格式错误?已被注册?)
| 字段名 | 类型 | 说明 | 必选 |
| ------ | ------ | ---- | ---- |
| email | string | 邮箱 | √ |
返回信息
| json结构体 | 类型 | 可能返回的信息类型 |
| ---------- | --------- | ------------------ |
| Code | int | 200 100000 100004 |
| Msg | string | 对应错误码信息 |
| Data | interface | 此处无用 |
#### GetUserFilesPath
GET:获取该用户上传的所有文件的路径
返回信息
| json结构体 | 类型 | 可能返回的信息类型 |
| ---------- | --------- | --------------------------- |
| Code | int | 200 100006 999998 |
| Msg | string | 对应错误码信息 |
| Data | interface | Code为200时对应文件路径数组 |
#### GetUserMessage
GET:获取用户信息 (无参数 通过 `cookie` 获取用户信息)
返回信息
| json结构体 | 类型 | 可能返回的信息类型 |
| ---------- | --------- | ------------------------- |
| Code | int | 200 100001 100006 999998 |
| Msg | string | 对应错误码信息 |
| Data | interface | Code为200时用户信息结构体 |
#### PredictPng
GET:根据输入图片名预测结果
| 字段名 | 类型 | 说明 | 必选 |
| ---------------- | ------ | --------------------------------- | ---- |
| predict_png_name | string | 预测的png文件名(只要文件名.png) | √ |
返回信息
| json结构体 | 类型 | 可能返回的信息类型 |
| ---------- | --------- | ------------------------------------------------------------ |
| Code | int | 200 100000 100006 999998 |
| Msg | string | 对应错误码信息 |
| Data | interface | Code为200时为预测结果png路径,预测结果png文件会保存在用户文件下 |
#### RestoreMySQL
GET:恢复最近保存的数据库信息(可用,但暂时不考虑)
#### UserLogin
GET:用户登录
| 字段名 | 类型 | 说明 | 必选 |
| -------- | ------ | ------- | ---- |
| account | string | 账户 ID | √ |
| password | string | 密码 | √ |
返回信息
| json结构体 | 类型 | 可能返回的信息类型 |
| ---------- | --------- | ------------------------ |
| Code | int | 200 100000 100006 999999 |
| Msg | string | 对应错误码信息 |
| Data | interface | 此处无用 |
#### UserRegister
GET:用户注册
| 字段名 | 类型 | 说明 | 必选 |
| --------- | ------ | ---------- | ---- |
| account | string | 账户 ID | √ |
| password | string | 密码 | √ |
| email | string | 邮箱 | √ |
| auth_code | int | 邮箱验证码 | √ |
| nick_name | string | 昵称 | √ |
返回信息
| json结构体 | 类型 | 可能返回的信息类型 |
| ---------- | --------- | ------------------------ |
| Code | int | 200 100000 100003 999999 |
| Msg | string | 对应错误码信息 |
| Data | interface | 此处无用 |
#### SendAuthCode
GET:发送邮箱验证码
| 字段名 | 类型 | 说明 | 必选 |
| ------ | ------ | ---- | ---- |
| email | string | 邮箱 | √ |
返回信息
| json结构体 | 类型 | 可能返回的信息类型 |
| ---------- | --------- | ------------------ |
| Code | int | 200 100000 100007 |
| Msg | string | 对应错误码信息 |
| Data | interface | 此处无用 |
#### ModifyPassword
POST:修改密码
| 字段名 | 类型 | 说明 | 必选 |
| ----------- | ------ | ------ | ---- |
| oldPassword | string | 旧密码 | √ |
| newPassword | string | 新密码 | √ |
返回信息
| json结构体 | 类型
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
大创项目,简单平台.zip (43个子文件)
资料总结
go.mod 590B
go.sum 15KB
configs
user.sql 1KB
config.yaml 496B
utils
start_model.go 518B
database.go 2KB
redis_controller.go 3KB
configreader.go 503B
emailauthcode_controller.go 1KB
rabbitMQ.go 568B
tools.go 2KB
cache.go 961B
dist
js
app-legacy.f237c115.js.map 73KB
chunk-vendors-legacy.2ed1661e.js 1.01MB
chunk-vendors-legacy.2ed1661e.js.map 4.33MB
app-legacy.f237c115.js 21KB
app.a34bdef0.js.map 72KB
chunk-vendors.afaca3c6.js.map 3.82MB
chunk-vendors.afaca3c6.js 925KB
app.a34bdef0.js 19KB
css
chunk-vendors.78fcbd71.css 210KB
app.cefa6649.css 1KB
favicon.ico 4KB
index.html 848B
fonts
element-icons.f1a45d74.ttf 55KB
element-icons.ff18efd1.woff 28KB
consts
err_code.go 965B
backend_consts.go 1KB
http_consts.go 231B
service
login_control
api.go 644B
login_controller_impl.go 3KB
user_control
api.go 993B
user_controller_impl.go 10KB
html_control
api.go 236B
html_controller_impl.go 633B
avatars
default_avatar.jpg 41KB
model
config.go 1KB
err.go 130B
user.go 444B
.gitignore 93B
README.md 10KB
handle.go 11KB
main.go 2KB
共 43 条
- 1
资源评论
普通网友
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功