diff --git a/controller/admin/userController.go b/controller/admin/userController.go index 5115312..c873077 100644 --- a/controller/admin/userController.go +++ b/controller/admin/userController.go @@ -1,6 +1,11 @@ package admin -import "github.com/gin-gonic/gin" +import ( + "os" + "path/filepath" + + "github.com/gin-gonic/gin" +) type UserController struct { BaseController @@ -10,6 +15,38 @@ func (con UserController) Index(c *gin.Context) { con.Success(c) } +func (con UserController) Add(c *gin.Context) { + c.HTML(200, "admin/useradd", gin.H{}) +} + func (con UserController) Show(c *gin.Context) { c.String(200, "管理员用户详情") } + +func (con UserController) DoUpload(c *gin.Context) { + username := c.PostForm("username") + + file, err := c.FormFile("face") + if err != nil { + c.JSON(400, gin.H{"error": "获取文件失败: " + err.Error()}) + return + } + + uploadDir := "./upload" + if err := os.MkdirAll(uploadDir, os.ModePerm); err != nil { + c.JSON(500, gin.H{"error": "创建目录失败: " + err.Error()}) + return + } + + dst := filepath.Join(uploadDir, file.Filename) + if err := c.SaveUploadedFile(file, dst); err != nil { + c.JSON(500, gin.H{"error": "保存文件失败: " + err.Error()}) + return + } + + c.JSON(200, gin.H{ + "success": true, + "username": username, + "dst": dst, + }) +} diff --git a/middleware/init.go b/middleware/init.go index 01e4b84..4c3b3b8 100644 --- a/middleware/init.go +++ b/middleware/init.go @@ -19,4 +19,6 @@ func InitMiddleware(c *gin.Context) { time.Sleep(1 * time.Second) fmt.Println("统计信息" + cCp.Request.URL.Path) }() + + c.Next() } diff --git a/router/adminRouter.go b/router/adminRouter.go index 35f5012..710ad00 100644 --- a/router/adminRouter.go +++ b/router/adminRouter.go @@ -12,6 +12,8 @@ func AdminRouterInit(r *gin.Engine) { { adminRouter.GET("", admin.IndexController{}.Index) + adminRouter.GET("/user/add", admin.UserController{}.Add) + adminRouter.GET("/plist", admin.IndexController{}.Plist) adminRouter.GET("/login", admin.IndexController{}.Login) @@ -20,6 +22,8 @@ func AdminRouterInit(r *gin.Engine) { adminRouter.GET("/user", admin.UserController{}.Index) + adminRouter.POST("/user/doUpload", admin.UserController{}.DoUpload) + adminRouter.GET("/user/:id", admin.UserController{}.Show) } } diff --git a/templates/admin/useradd.html b/templates/admin/useradd.html new file mode 100644 index 0000000..e82f951 --- /dev/null +++ b/templates/admin/useradd.html @@ -0,0 +1,21 @@ +{{ define "admin/useradd" }} + + +
+ +