From c891c8b455127ec6292240eb2172933cc9761243 Mon Sep 17 00:00:00 2001 From: Havoc412 <2993167370@qq.com> Date: Wed, 16 Oct 2024 18:20:05 +0800 Subject: [PATCH] marge router change --- app/model/users.go | 14 +++--- routers/web.go | 103 +++++++++++++++++++++++---------------------- 2 files changed, 61 insertions(+), 56 deletions(-) diff --git a/app/model/users.go b/app/model/users.go index 551de81..ec5fa1b 100644 --- a/app/model/users.go +++ b/app/model/users.go @@ -22,11 +22,15 @@ func CreateUserFactory(sqlType string) *UsersModel { type UsersModel struct { BaseModel - UserName string `gorm:"column:user_name" json:"user_name"` - Pass string `json:"-"` - Phone string `json:"phone"` - RealName string `gorm:"column:real_name" json:"real_name"` - Status int `json:"status"` + UserName string `gorm:"column:user_name" json:"user_name"` + Pass string `json:"-"` // INFO 暂时用不到,但先保留。 + Phone string `json:"phone"` + RealName string `gorm:"column:real_name" json:"real_name"` + // TAG 微信 + OpenId string `gorm:"column:open_id;size:35" json:"open_id"` + SessionKey string `gorm:"column:session_key;size:35" json:"session_key"` + // TAG 状态管理 + Status int `json:"status"` // QUESTION Token string `json:"token"` LastLoginIp string `gorm:"column:last_login_ip" json:"last_login_ip"` } diff --git a/routers/web.go b/routers/web.go index 1d9926e..934f468 100644 --- a/routers/web.go +++ b/routers/web.go @@ -60,12 +60,6 @@ func InitWebRouter() *gin.Engine { context.String(http.StatusOK, "Hello Havoc.") }) - animal := router.Group("animal") - { - animal.GET("", validatorFactory.Create(consts.ValidatorPrefix+"AnimalList")) - animal.GET(":anm_id", validatorFactory.Create(consts.ValidatorPrefix+"AnimalDetail")) - } - // // 创建一个验证码路由 // verifyCode := router.Group("captcha") // { @@ -74,52 +68,59 @@ func InitWebRouter() *gin.Engine { // verifyCode.GET("/:captcha_id", (&captcha.Captcha{}).GetImg) // 获取图像地址 // verifyCode.GET("/:captcha_id/:captcha_value", (&captcha.Captcha{}).CheckCode) // 校验验证码 // } + // 创建一个后端接口路由组 - // backend := router.Group("/admin/") - // { - // // 创建一个websocket,如果ws需要账号密码登录才能使用,就写在需要鉴权的分组,这里暂定是开放式的,不需要严格鉴权,我们简单验证一下token值 - // backend.GET("ws", validatorFactory.Create(consts.ValidatorPrefix+"WebsocketConnect")) - // // 【不需要token】中间件验证的路由 用户注册、登录 - // noAuth := backend.Group("users/") - // { - // // 关于路由的第二个参数用法说明 - // // 1.编写一个表单参数验证器结构体,参见代码: app/http/validator/web/users/register.go - // // 2.将以上表单参数验证器注册,遵守 键 =》值 格式注册即可 ,app/http/validator/common/register_validator/web_register_validator.go 20行就是注册时候的键 consts.ValidatorPrefix+"UsersRegister" - // // 3.按照注册时的键,直接从容器调用即可 :validatorFactory.Create(consts.ValidatorPrefix+"UsersRegister") - // noAuth.POST("register", validatorFactory.Create(consts.ValidatorPrefix+"UsersRegister")) - // // 不需要验证码即可登陆 - // noAuth.POST("login", validatorFactory.Create(consts.ValidatorPrefix+"UsersLogin")) - // // 如果加载了验证码中间件,那么就需要提交验证码才可以登陆(本质上就是给登陆接口增加了2个参数:验证码id提交时的键:captcha_id 和 验证码值提交时的键 captcha_value,具体参见配置文件) - // //noAuth.Use(authorization.CheckCaptchaAuth()).POST("login", validatorFactory.Create(consts.ValidatorPrefix+"UsersLogin")) - // } - // // 刷新token - // refreshToken := backend.Group("users/") - // { - // // 刷新token,当过期的token在允许失效的延长时间范围内,用旧token换取新token - // refreshToken.Use(authorization.RefreshTokenConditionCheck()).POST("refreshtoken", validatorFactory.Create(consts.ValidatorPrefix+"RefreshToken")) - // } - // // 【需要token】中间件验证的路由 - // backend.Use(authorization.CheckTokenAuth()) - // { - // // 用户组路由 - // users := backend.Group("users/") - // { - // // 查询 ,这里的验证器直接从容器获取,是因为程序启动时,将验证器注册在了容器,具体代码位置:App\Http\Validator\Web\Users\xxx - // users.GET("index", validatorFactory.Create(consts.ValidatorPrefix+"UsersShow")) - // // 新增 - // users.POST("create", validatorFactory.Create(consts.ValidatorPrefix+"UsersStore")) - // // 更新 - // users.POST("edit", validatorFactory.Create(consts.ValidatorPrefix+"UsersUpdate")) - // // 删除 - // users.POST("delete", validatorFactory.Create(consts.ValidatorPrefix+"UsersDestroy")) - // } - // //文件上传公共路由 - // uploadFiles := backend.Group("upload/") - // { - // uploadFiles.POST("files", validatorFactory.Create(consts.ValidatorPrefix+"UploadFiles")) - // } - // } - // } + backend := router.Group("admin") + { + // // 创建一个websocket,如果ws需要账号密码登录才能使用,就写在需要鉴权的分组,这里暂定是开放式的,不需要严格鉴权,我们简单验证一下token值 + // backend.GET("ws", validatorFactory.Create(consts.ValidatorPrefix+"WebsocketConnect")) + // 【不需要token】中间件验证的路由 用户注册、登录 + noAuth := backend.Group("users") + { + // 关于路由的第二个参数用法说明 + // 1.编写一个表单参数验证器结构体,参见代码: app/http/validator/web/users/register.go + // 2.将以上表单参数验证器注册,遵守 键 =》值 格式注册即可 ,app/http/validator/common/register_validator/web_register_validator.go 20行就是注册时候的键 consts.ValidatorPrefix+"UsersRegister" + // 3.按照注册时的键,直接从容器调用即可 :validatorFactory.Create(consts.ValidatorPrefix+"UsersRegister") + noAuth.POST("register", validatorFactory.Create(consts.ValidatorPrefix+"UsersRegister")) + // 不需要验证码即可登陆 + noAuth.POST("login", validatorFactory.Create(consts.ValidatorPrefix+"UsersLogin")) + // 如果加载了验证码中间件,那么就需要提交验证码才可以登陆(本质上就是给登陆接口增加了2个参数:验证码id提交时的键:captcha_id 和 验证码值提交时的键 captcha_value,具体参见配置文件) + //noAuth.Use(authorization.CheckCaptchaAuth()).POST("login", validatorFactory.Create(consts.ValidatorPrefix+"UsersLogin")) + } + // // 刷新token + // refreshToken := backend.Group("users/") + // { + // // 刷新token,当过期的token在允许失效的延长时间范围内,用旧token换取新token + // refreshToken.Use(authorization.RefreshTokenConditionCheck()).POST("refreshtoken", validatorFactory.Create(consts.ValidatorPrefix+"RefreshToken")) + // } + // // 【需要token】中间件验证的路由 + // backend.Use(authorization.CheckTokenAuth()) + // { + // // 用户组路由 + // users := backend.Group("users/") + // { + // // 查询 ,这里的验证器直接从容器获取,是因为程序启动时,将验证器注册在了容器,具体代码位置:App\Http\Validator\Web\Users\xxx + // users.GET("index", validatorFactory.Create(consts.ValidatorPrefix+"UsersShow")) + // // 新增 + // users.POST("create", validatorFactory.Create(consts.ValidatorPrefix+"UsersStore")) + // // 更新 + // users.POST("edit", validatorFactory.Create(consts.ValidatorPrefix+"UsersUpdate")) + // // 删除 + // users.POST("delete", validatorFactory.Create(consts.ValidatorPrefix+"UsersDestroy")) + // } + // //文件上传公共路由 + // uploadFiles := backend.Group("upload/") + // { + // uploadFiles.POST("files", validatorFactory.Create(consts.ValidatorPrefix+"UploadFiles")) + // } + // } + + animal := backend.Group("animal") + { + animal.GET("", validatorFactory.Create(consts.ValidatorPrefix+"AnimalList")) + animal.GET(":anm_id", validatorFactory.Create(consts.ValidatorPrefix+"AnimalDetail")) + } + } // //处理静态资源(不建议gin框架处理静态资源,参见 public/readme.md 说明 ) // INFO 已经交给 Nginx 了 // router.Static("/public", "./public") // 定义静态资源路由与实际目录映射关系