diff --git a/api_doc.md b/api_doc.md
deleted file mode 100755
index c8942ea..0000000
--- a/api_doc.md
+++ /dev/null
@@ -1,378 +0,0 @@
-### 验证码
-无需校验参数
-##### 获取验证码
-> *GET*,/captcha
-> 返回示例:
-```json
-{
- "code": 200,
- "data": {
- "id": "ECAZBGqD6ORferpWPx9y",
- "img_url": "/captcha/ECAZBGqD6ORferpWPx9y.png",// 验证码图片地址
- "refresh": "/captcha/ECAZBGqD6ORferpWPx9y.png?reload=1",
- "verify": "/captcha/ECAZBGqD6ORferpWPx9y/这里替换为正确的验证码进行验证"
- },
- "msg": "验证码信息"
-}
-```
-#### 验证验证码
-> *GET*,/captcha/:captcha_id/:captcha_value
-> 返回示例:
-```json
-{
- "code": 200,
- "data": "",
- "msg": "验证码校验通过"
-}
-```
-
-## 用户相关
-### 无需鉴权
-#### 获取公钥
-> *POST*,/admin/users/publickey
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-> 返回示例:
-```
------BEGIN PUBLIC KEY-----
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw/GsJEfppPkaZXGt7uKr
-q2UOsCEzrtPYz/DDUCjJzWnr725FoNqT77B33QbET995hay8j8Bcwwj7APkUYKyt
-RoNUOJkaWgAqpNp9/TKhulFex8ycEaI1lG0kzqPQtcNjIQyqOQ1qSyXb8BxFFN5+
-zvuWdpb4lI8YxZGg9+n77qtmr2an7d4ADIsRVAejJuoDWB56RovVuiLihG71Wfam
-V1HhGf0ykWfyamd1HxN74hdBICbpChWPCmD/S2MwBMViM+TfCu5D15DxP5ZkADLU
-vV81YIKBLg6KZUV7N7oZzzJqiEmpeis4QO4ABf/KRQ9KVRe4dcJFi4E0uVCBKGm8
-1QIDAQAB
------END PUBLIC KEY-----
-```
-> 加密参考 */test/login_test.html*
-> 用户发送密码必须通过加密,否则会产生错误
-```javascript
-const response = await fetch('http://localhost:14514/admin/users/publickey?user_name=joefalmko',{
- method: 'POST',
-});
-const publicKey = await response.text();
-console.log("public key:\n",publicKey);
-
-// Encrypt the password using the public key
-const encrypt = new JSEncrypt();
-encrypt.setPublicKey(publicKey);
-const encryptedPassword = encrypt.encrypt(password);
-console.log("encrypted password: ",encryptedPassword);
-```
-#### 用户注册
-> *POST*,/admin/users/register
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-pass|form-data|string|必填
-> 返回示例:
-```json
-{
- "code": 200,
- "data": "",
- "msg": "Success"
-}
-```
-#### 用户登录
-> *POST*,/admin/users/login
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-pass|form-data|string|必填
-> 返回示例:
-```json
-{
- "code": 200,
- "data": {
- "userId":5
- "token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjo1LCJ1c2VyX25hbWUiOiJqb2VmYWxta28iLCJwaG9uZSI6IiIsImV4cCI6MTczMDA1OTQxMSwibmJmIjoxNzMwMDMwNjAxfQ.tqxCyPGQYPpTUJBoqZ47sfCAdxEN2thKRBPHilWHl18",
- "updated_at":"2024-10-27 20:03:31",
- "msg": "Success"
- }
-}
-```
-### 需要鉴权
-Header中必须包含 "Authorization": "Bearer {token}"
-#### 获取用户信息
-> *POST*,/admin/users/info
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-> 返回示例:
-```json
-{
- "code": 200,
- "data": {
- "id": 1,
- "user_name": "joefalmko",
- },
- "msg": "Success"
-}
-```
-#### 更新用户名
-> *POST*,/admin/users/username
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-id|form-data|int|必填
-> 返回示例:
-```json
-{
- "code": 200,
- "data": "",
- "msg": "Success"
-}
-```
-#### 更新密码
-> *POST*,/admin/users/password
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-id|form-data|int|必填
-oldpass|form-data|string|必填
-newpass|form-data|string|必填
-> 返回示例:
-```json
-{
- "code": 200,
- "data": "",
- "msg": "Success"
-}
-```
-#### 注销用户
-> *POST*,/admin/users/delete
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-id|form-data|int|必填
-pass|form-data|string|必填
-> 返回示例:
-```json
-{
- "code": 200,
- "data": "",
- "msg": "Success"
-}
-```
-#### 登出用户
-> *POST*,/admin/users/logout
-参数字段|参数属性|类型|选项
----|---|---|---|---
-id|form-data|int|必填
-> 返回示例:
-```json
-{
- "code": 200,
- "data": "",
- "msg": "Success"
-}
-```
-#### token刷新 ,请将旧token放置在header头参数直接提交更新
-> *post*,/admin/users/refreshtoken
-
-参数字段|参数属性|类型|选项|默认值
----|---|---|---|---
-Authorization|Headers|string|必填|Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOjQ3LCJ1c2VyX25hbWUiOiJnb3NrZWxldG9uMS40IiwicGhvbmUiOiIiLCJleHAiOjE2MDQwNTIxNzMsIm5iZiI6MTYwNDA0ODU2M30.YNhN9_QasHc5XILQiilZvhxpPDnmC_j82y4JfYPnI7A
-
-> 返回示例:
-```json
-{
- "code": 200,
- "data": {
- "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOjQ3LCJ1c2VyX25hbWUiOiJnb3NrZWxldG9uMS40IiwicGhvbmUiOiIiLCJleHAiOjE2MDQwNTYxMDcsIm5iZiI6MTYwNDA0ODU2M30.JPE6G-9YE9UTdxHiWuvdVlD-akiIkvp6Ezf9y4_ud9M"
- },
- "msg": "Success"
-}
-```
-
-#### 请求图片文字识别
-> *post*,/admin/ai_recognition/pic_recognition
-
-参数字段|参数属性|类型|选项|默认值
----|---|---|---|---
-pic|form-data|string|必填|"" (示例内容在 storage/app/test/文字识别.txt 中)
-
-> 返回示例:
-```json
-{
- "code": 200,
- "data": {
- "words": "out[entry]=\nfor each basic block ∈N -{entry}\nout[B] =\nchange = true\nwhile (changes) {\n// Find: fix point solution\nchange = false\nfor each B∈N - {entry} {\noldout = out[B]\nin[B]= Uout[P]\nP∈pred[B]\nout[B] = GEN[B] ∪ (in[B]∩ PRSV[B])\nif(out[B] ≠ oldout) change = true;\n}\n}\n"
- },
- "msg": "Success"
-}
-```
-
-#### 请求语音识别
-> *post*,/admin/ai_recognition/voc_recognition
-
-参数字段|参数属性|类型|选项|默认值
----|---|---|---|---
-voc|form-data|string|必填|"" (示例内容在 storage/app/test/A13_221.txt 中)
-
-> 返回示例:
-```json
-{
- "code": 200,
- "data": {
- "words": "韩国的基本目标是射箭三块金牌只到三块金牌,羽毛球,两块金牌,以及举重等12块金牌。\n"
- },
- "msg": "Success"
-}
-```
-
-#### 请求文本优化
-> *post*,/admin/ai_doc/doc_refine
-
-参数字段|参数属性|类型|选项|默认值
----|---|---|---|---
-doc|form-data|string|必填|""
-background|form-data|string||""
-type|form-data|string|必填|"abstract"/"decorate"/"sequel_writing"/"rewrite_wrong"/"translate"
-> 返回示例:
-```json
-{
- "code": 200,
- "data": {
- "new_doc": "Whether it's a business report, an academic paper, or a creative piece of writing, this module can polish the language, correct grammar and spelling errors, and optimize the overall structure."
- },
- "msg": "Success"
-}
-```
-#### 创建文件
-> *post*,/admin/file/file_creat
-
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-file_name|form-data|string|必填
-file_path|form-data|string|必填
-
-> 返回示例:
-```json
-{
-{
- "code": 200,
- "data": "文件创建成功",
- "msg": "Success"
-}
-}
-```
-#### 创建文件夹
-> *post*,/admin/file/folder_creat
-
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-folder_name|form-data|string|必填
-folder_path|form-data|string|必填
-
-> 返回示例:
-```json
-{
-{
- "code": 200,
- "data": "文件夹创建成功",
- "msg": "Success"
-}
-}
-```
-#### 打开文件
-> *post*,/admin/file/file_get
-
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-file_name|form-data|string|必填
-file_path|form-data|string|必填
-
-> 返回示例:
-```json
-{
-{
- "code": 200,
- "data": "文件获取成功",
- "msg": "Success"
-}
-}
-```
-#### 文件重命名
-> *post*,/admin/file/file_rename
-
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-file_name|form-data|string|必填
-file_path|form-data|string|必填
-newname|form-data|string|必填
-
-> 返回示例:
-```json
-{
-{
- "code": 200,
- "data": "文件重命名成功",
- "msg": "Success"
-}
-}
-```
-#### 移动文件
-> *post*,/admin/file/file_move
-
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-file_name|form-data|string|必填
-file_path|form-data|string|必填
-newpath|form-data|string|必填
-
-> 返回示例:
-```json
-{
-{
- "code": 200,
- "data": "文件移动成功",
- "msg": "Success"
-}
-}
-```
-#### 保存文件
-> *post*,/admin/file/file_save
-
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-file_name|form-data|string|必填
-save_path|form-data|string|必填
-file_data|form-data|string|必填
-
-> 返回示例:
-```json
-{
-{
- "code": 200,
- "data": "文件保存成功",
- "msg": "Success"
-}
-}
-```
-#### 删除文件
-> *post*,/admin/file/file_delete
-
-参数字段|参数属性|类型|选项
----|---|---|---|---
-user_name|form-data|string|必填
-file_name|form-data|string|必填
-file_path|form-data|string|必填
-
-> 返回示例:
-```json
-{
-{
- "code": 200,
- "data": "文件删除成功",
- "msg": "Success"
-}
-}
-```
\ No newline at end of file
diff --git a/app/http/controller/web/file_controller.go b/app/http/controller/web/file_controller.go
deleted file mode 100644
index 83338ce..0000000
--- a/app/http/controller/web/file_controller.go
+++ /dev/null
@@ -1,209 +0,0 @@
-package web
-
-import (
- "fmt"
- "goskeleton/app/global/consts"
- "goskeleton/app/service/file"
- "goskeleton/app/utils/response"
- "os"
-
- "github.com/gin-gonic/gin"
-)
-
-type File struct {
-}
-
-// 创建文件
-func (f *File) Creat(context *gin.Context) {
- //从context获得路径和文件名,并拼接获得最终文件路径
- user_name := context.GetString(consts.ValidatorPrefix + "user_name")
- file_Path := context.GetString(consts.ValidatorPrefix + "file_path")
- file_Name := context.GetString(consts.ValidatorPrefix + "file_name")
- final_Path := fmt.Sprintf("%s/%s.docx", file_Path, file_Name)
-
- //file, err := os.Create(final_Path)
- if err := file.CreateFile(user_name, final_Path); err != nil {
- response.Fail(context, consts.CurdCreatFailCode, consts.CurdCreatFailMsg, err.Error())
- return
- }
-
- // 文件创建成功,返回成功响应给客户端
- response.Success(context, consts.CurdStatusOkMsg, "文件创建成功")
-}
-
-// 创建文件夹
-func (f *File) FolderCreat(context *gin.Context) {
- //从context获得路径和文件夹名,并拼接获得最终文件夹路径
- user_name := context.GetString(consts.ValidatorPrefix + "user_name")
- folder_Path := context.GetString(consts.ValidatorPrefix + "folder_path")
- folder_Name := context.GetString(consts.ValidatorPrefix + "folder_name")
- final_Path := fmt.Sprintf("%s/%s", folder_Path, folder_Name)
-
- if err := file.CreateFolder(user_name, final_Path); err != nil {
- response.Fail(context, consts.CurdCreatFailCode, consts.CurdCreatFailMsg, err.Error())
- return
- }
-
- // 文件创建成功,返回成功响应给客户端
- response.Success(context, consts.CurdStatusOkMsg, "文件夹创建成功")
-}
-
-// 打开文件
-func (f *File) Get(context *gin.Context) {
- //从context获得路径和文件名,并拼接获得最终文件路径
- user_name := context.GetString(consts.ValidatorPrefix + "user_name")
- file_Path := context.GetString(consts.ValidatorPrefix + "file_path")
- file_Name := context.GetString(consts.ValidatorPrefix + "file_name")
- final_Path := fmt.Sprintf("%s/%s.docx", file_Path, file_Name)
-
- fileObj, err := file.GetFile(user_name, final_Path)
- if err != nil {
- // 根据不同的错误类型,返回更具体、合适的错误响应给客户端
- switch err := err.(type) {
- case *os.PathError:
- //文件路径错误
- response.Fail(context, consts.CurdFilePathErrorCode, consts.CurdFilePathErrorMsg, err.Error())
- default:
- if err == os.ErrNotExist {
- //文件不存在错误
- response.Fail(context, consts.CurdFileNotExistCode, consts.CurdFileNotExistMsg, err.Error())
- }
-
- }
- return
- }
- defer fileObj.Close() // 确保文件使用完后被关闭
-
- // 文件获取成功,返回成功响应给客户端
- response.Success(context, consts.CurdStatusOkMsg, "文件获取成功")
-}
-
-// 文件重命名
-func (f *File) Rename(context *gin.Context) {
- //从context获得路径和文件名,并拼接获得最终文件路径
- user_name := context.GetString(consts.ValidatorPrefix + "user_name")
- file_Path := context.GetString(consts.ValidatorPrefix + "file_path")
- file_Name := context.GetString(consts.ValidatorPrefix + "file_name")
- final_Path := fmt.Sprintf("%s/%s.docx", file_Path, file_Name)
-
- //old_Name := context.GetString(consts.ValidatorPrefix + "oldname")
- new_Name := context.GetString(consts.ValidatorPrefix + "newname")
- new_finalpath := fmt.Sprintf("%s/%s.docx", file_Path, new_Name)
-
- err := file.FileRename(user_name, final_Path, new_finalpath)
- if err != nil {
- // 根据不同的错误类型,返回更具体、合适的错误响应给客户端
- switch err := err.(type) {
- case *os.PathError:
- //文件路径错误
- response.Fail(context, consts.CurdFilePathErrorCode, consts.CurdFilePathErrorMsg, err.Error())
- default:
- if err == os.ErrNotExist {
- //文件不存在错误
- response.Fail(context, consts.CurdFileNotExistCode, consts.CurdFileNotExistMsg, err.Error())
- }
-
- }
- return
- }
-
- // 文件重命名成功,返回成功响应给客户端
- response.Success(context, consts.CurdStatusOkMsg, "文件重命名成功")
-}
-
-// 文件移动
-func (f *File) Move(context *gin.Context) {
- //从context获得路径和文件名,并拼接获得最终文件路径
- user_name := context.GetString(consts.ValidatorPrefix + "user_name")
- file_Path := context.GetString(consts.ValidatorPrefix + "file_path")
- file_Name := context.GetString(consts.ValidatorPrefix + "file_name")
- final_Path := fmt.Sprintf("%s/%s.docx", file_Path, file_Name)
-
- //old_Name := context.GetString(consts.ValidatorPrefix + "oldname")
- new_Path := context.GetString(consts.ValidatorPrefix + "newpath")
- new_finalpath := fmt.Sprintf("%s/%s.docx", new_Path, file_Name)
-
- err := file.FileMove(user_name, final_Path, new_finalpath)
- if err != nil {
- // 根据不同的错误类型,返回更具体、合适的错误响应给客户端
- switch err := err.(type) {
- case *os.PathError:
- //文件路径错误
- response.Fail(context, consts.CurdFilePathErrorCode, consts.CurdFilePathErrorMsg, err.Error())
- default:
- if err == os.ErrNotExist {
- //文件不存在错误
- response.Fail(context, consts.CurdFileNotExistCode, consts.CurdFileNotExistMsg, err.Error())
- }
-
- }
- return
- }
-
- // 文件移动成功,返回成功响应给客户端
- response.Success(context, consts.CurdStatusOkMsg, "文件移动成功")
-}
-
-// 文件保存
-func (f *File) Save(context *gin.Context) {
- //从context获得路径和文件名,并拼接获得最终文件路径
- user_name := context.GetString(consts.ValidatorPrefix + "user_name")
- Save_path := context.GetString(consts.ValidatorPrefix + "save_path")
- file_Name := context.GetString(consts.ValidatorPrefix + "file_name")
- final_savePath := fmt.Sprintf("%s/%s.docx", Save_path, file_Name)
-
- fileDataBase64 := context.PostForm("file_data")
- if fileDataBase64 == "" {
- response.Fail(context, consts.CurdFileNotExistCode, consts.CurdFileNotExistMsg, nil)
- return
- }
-
- err := file.FileSave(user_name, final_savePath, fileDataBase64)
- if err != nil {
- // 根据不同的错误类型,返回更具体、合适的错误响应给客户端
- switch err := err.(type) {
- case *os.PathError:
- //文件路径错误
- response.Fail(context, consts.CurdFilePathErrorCode, consts.CurdFilePathErrorMsg, err.Error())
- default:
- if err == os.ErrNotExist {
- //文件不存在错误
- response.Fail(context, consts.CurdFileNotExistCode, consts.CurdFileNotExistMsg, err.Error())
- }
-
- }
- return
- }
-
- // 文件保存成功,返回成功响应给客户端
- response.Success(context, consts.CurdStatusOkMsg, "文件保存成功")
-}
-
-// 文件删除
-func (f *File) Delete(context *gin.Context) {
- // 从context获得用户名、文件路径和文件名,并拼接获得最终文件路径
- user_name := context.GetString(consts.ValidatorPrefix + "user_name")
- file_Path := context.GetString(consts.ValidatorPrefix + "file_path")
- file_Name := context.GetString(consts.ValidatorPrefix + "file_name")
- final_Path := fmt.Sprintf("%s/%s.docx", file_Path, file_Name)
-
- err := file.FileDe(user_name, final_Path)
- if err != nil {
- // 根据不同的错误类型,返回更具体、合适的错误响应给客户端
- switch err := err.(type) {
- case *os.PathError:
- //文件路径错误
- response.Fail(context, consts.CurdFilePathErrorCode, consts.CurdFilePathErrorMsg, err.Error())
- default:
- if err == os.ErrNotExist {
- //文件不存在错误
- response.Fail(context, consts.CurdFileNotExistCode, consts.CurdFileNotExistMsg, err.Error())
- }
-
- }
- return
- }
-
- // 文件删除成功,返回成功响应给客户端
- response.Success(context, consts.CurdStatusOkMsg, "文件删除成功")
-}
diff --git a/routers/web.go b/routers/web.go
deleted file mode 100755
index f1275db..0000000
--- a/routers/web.go
+++ /dev/null
@@ -1,136 +0,0 @@
-package routers
-
-import (
- "github.com/gin-contrib/pprof"
- "github.com/gin-gonic/gin"
-
- // "go.uber.org/zap"
- "goskeleton/app/global/consts"
- "goskeleton/app/global/variable"
- "goskeleton/app/http/controller/captcha"
- "goskeleton/app/http/middleware/authorization"
- "goskeleton/app/http/middleware/cors"
- validatorFactory "goskeleton/app/http/validator/core/factory"
- // "goskeleton/app/utils/gin_release"
- // "net/http"
-)
-
-func InitWebRouter_Co() *gin.Engine {
- var router *gin.Engine = gin.Default()
- // 日志显示在控制台
- pprof.Register(router)
-
- //根据配置进行设置跨域
- if variable.ConfigYml.GetBool("HttpServer.AllowCrossDomain") {
- router.Use(cors.Next())
- }
-
- // 创建一个验证码路由
- verifyCode := router.Group("captcha")
- {
- // 验证码业务,该业务无需专门校验参数,所以可以直接调用控制器
- verifyCode.GET("/", (&captcha.Captcha{}).GenerateId) // 获取验证码ID
- verifyCode.GET("/:captcha_id", (&captcha.Captcha{}).GetImg) // 获取图像地址
- verifyCode.GET("/:captcha_id/:captcha_value", (&captcha.Captcha{}).CheckCode) // 校验验证码
- }
- // 创建一个后端接口路由组
- backend := router.Group("/admin/")
- {
-
- // 【不需要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")) // ok
- // 不需要验证码即可登陆
- noAuth.POST("login", validatorFactory.Create(consts.ValidatorPrefix+"UsersLogin")) // ok
-
- // 如果加载了验证码中间件,那么就需要提交验证码才可以登陆(本质上就是给登陆接口增加了2个参数:验证码id提交时的键:captcha_id 和 验证码值提交时的键 captcha_value,具体参见配置文件)
- //noAuth.Use(authorization.CheckCaptchaAuth()).POST("login", validatorFactory.Create(consts.ValidatorPrefix+"UsersLogin"))
-
- // 获取公钥,用于密码等敏感信息的加密
- noAuth.POST("publickey", validatorFactory.Create(consts.ValidatorPrefix+"PublicKey"))
- }
-
- // 刷新token
- refreshToken := backend.Group("users/")
- {
- // 刷新token,当过期的token在允许失效的延长时间范围内,用旧token换取新token
- refreshToken.Use(authorization.RefreshTokenConditionCheck()).POST("refreshtoken", validatorFactory.Create(consts.ValidatorPrefix+"RefreshToken"))
- }
- // TODO:linlnf
- // 人工智能识别相关
- aiRecognition := backend.Group("ai_recognition/")
- {
- // 请求图片文字识别
- aiRecognition.POST("pic_recognition", validatorFactory.Create(consts.ValidatorPrefix+"PicRecognition"))
- // 请求语音识别
- aiRecognition.POST("voc_recognition", validatorFactory.Create(consts.ValidatorPrefix+"VocRecognition"))
- }
- // TODO:linlnf
- // 人工智能文档处理相关
- aiDoc := backend.Group("ai_doc/")
- {
- // 请求优化文字
- aiDoc.POST("doc_refine", validatorFactory.Create(consts.ValidatorPrefix+"DocRefine"))
- }
-
- // 智能排版相关
- aiLayout := backend.Group("ai_layout/")
- {
- // 请求样式生成
- aiLayout.POST("style_generate", validatorFactory.Create(consts.ValidatorPrefix+"StyleGenerate"))
- // 请求排版
- aiLayout.POST("layout_generate", validatorFactory.Create(consts.ValidatorPrefix+"LayoutGenerate"))
- }
-
- // 【需要token】中间件验证的路由
- backend.Use(authorization.CheckTokenAuth())
- {
- // 用户组路由
- users := backend.Group("users/")
- {
- // 查询 ,这里的验证器直接从容器获取,是因为程序启动时,将验证器注册在了容器,具体代码位置:App\Http\Validator\Web\Users\xxx
- // 展示用户详细信息-用户名、ID
- users.GET("info", validatorFactory.Create(consts.ValidatorPrefix+"UsersInfo"))
- // 新增
- // users.POST("create", validatorFactory.Create(consts.ValidatorPrefix+"UsersStore")) // not need
- // 更新用户名或密码
- users.POST("username", validatorFactory.Create(consts.ValidatorPrefix+"UsersNameUpdate"))
- users.POST("password", validatorFactory.Create(consts.ValidatorPrefix+"UsersPasswordUpdate"))
- // 注销用户
- users.POST("delete", validatorFactory.Create(consts.ValidatorPrefix+"UsersDestroy"))
- // 退出登录
- users.POST("logout", validatorFactory.Create(consts.ValidatorPrefix+"UsersLogout"))
- }
- }
-
- //【需要token】中间件验证的路由
- backend.Use(authorization.CheckTokenAuth())
- {
- // 文件操作相关路由组
- file := backend.Group("file/")
- {
- //创建文件
- file.POST("file_creat", validatorFactory.Create(consts.ValidatorPrefix+"FileCreat"))
- //打开文件
- file.GET("file_get", validatorFactory.Create(consts.ValidatorPrefix+"FileGet"))
- //文件重命名
- file.POST("file_rename", validatorFactory.Create(consts.ValidatorPrefix+"FileRename"))
- //移动文件
- file.POST("file_move", validatorFactory.Create(consts.ValidatorPrefix+"FileMove"))
- //保存文件
- file.POST("file_save", validatorFactory.Create(consts.ValidatorPrefix+"FileSave"))
- //删除文件
- file.POST("file_delete", validatorFactory.Create(consts.ValidatorPrefix+"FileDelete"))
- //创建文件夹
- file.POST("folder_creat", validatorFactory.Create(consts.ValidatorPrefix+"FolderCreat"))
- }
- }
-
- }
- return router
-}