From 63e024e77d8e0fefd8818f1b744cbfc5e36b50fe Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期六, 14 十二月 2019 14:56:32 +0800
Subject: [PATCH] fix localconfig
---
controllers/user.go | 197 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 196 insertions(+), 1 deletions(-)
diff --git a/controllers/user.go b/controllers/user.go
index e212688..3dd1090 100644
--- a/controllers/user.go
+++ b/controllers/user.go
@@ -1,9 +1,204 @@
package controllers
import (
+ "basic.com/dbapi.git"
"github.com/gin-gonic/gin"
+ "net/http"
+ "time"
+ "webserver/extend/code"
+ "webserver/extend/util"
+ "webserver/middlewares/auth"
)
-func Login(c *gin.Context) {
+type UserController struct {
+}
+
+type UserVo struct {
+ UserName string `json:"username"`
+ Password string `json:"password"`
+}
+
+// @Summary 鐢ㄦ埛鐧诲綍
+// @Description 鐢ㄦ埛鐧诲綍
+// @Accept x-www-form-urlencoded
+// @Produce json
+// @Tags 鐢ㄦ埛
+// @Param username formData string true "鐢ㄦ埛鍚�"
+// @Param password formData string true "瀵嗙爜"
+// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
+// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}"
+// @Router /data/api-u/sys/login [post]
+func (uc UserController) Login(c *gin.Context) {
+ userName := c.PostForm("username")
+ password := c.PostForm("password")
+ if userName == "" || password == "" {
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ return
+ }
+ var api dbapi.UserApi
+ flag, data := api.Login(userName, password)
+ if flag {
+ authDriver := auth.GenerateAuthDriver()
+ loginedM := util.Struct2Map(data)
+ tokenM := make(map[string]interface{},2)
+ tokenM["id"] = loginedM["id"]
+ tokenM["username"] = loginedM["username"]
+ tokenM["permissions"] = loginedM["permissions"]
+ tokenStr := (*authDriver).Login(c.Request, c.Writer, tokenM)
+
+
+ userId := loginedM["id"].(string)
+ auth.RemoveOutUser(userId)
+
+ c.JSON(200,map[string]interface{}{
+ "userInfo":loginedM,
+ "access_token":tokenStr,
+ "refresh_token":tokenStr,
+ "scope":"app",
+ "token_type":"Bearer",
+ "expires_in":time.Now().Add(time.Hour * 8).Unix(),
+ })
+ } else {
+ c.JSON(500,"鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒")
+ }
+}
+
+// @Security ApiKeyAuth
+// @Summary 淇敼褰撳墠鐧诲綍鐢ㄦ埛鐨勫瘑鐮�
+// @Description 淇敼褰撳墠鐧诲綍鐢ㄦ埛鐨勫瘑鐮�
+// @Accept x-www-form-urlencoded
+// @Produce json
+// @Tags 鐢ㄦ埛
+// @Param oldPwd formData string true "鏃у瘑鐮�"
+// @Param newPwd formData string true "鏂板瘑鐮�"
+// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
+// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}"
+// @Router /data/api-u/users/updatePwd [post]
+func (uc UserController) UpdatePwd(c *gin.Context) {
+ oldPwd := c.PostForm("oldPwd")
+ newPwd := c.PostForm("newPwd")
+ if oldPwd == "" || newPwd == "" {
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ return
+ }
+ authDriver := auth.GenerateAuthDriver()
+ userM := (*authDriver).User(c)
+ userId := userM["id"].(string)
+ var userApi dbapi.UserApi
+ if b,_ :=userApi.UpdatePwd(userId, oldPwd, newPwd);b {
+ util.ResponseFormat(c,code.UpdateSuccess,"鏇存柊鎴愬姛")
+ } else {
+ util.ResponseFormat(c,code.AccountPassUnmatch,"瀵嗙爜鏈夎")
+ }
+}
+
+// @Security ApiKeyAuth
+// @Summary 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
+// @Description 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
+// @Accept json
+// @Produce json
+// @Tags 鐢ㄦ埛
+// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
+// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}"
+// @Router /data/api-u/users/current [get]
+func (uc UserController) Current(c *gin.Context) {
+ authDriver := auth.GenerateAuthDriver()
+ user := (*authDriver).User(c)
+ if user !=nil {
+ c.JSON(http.StatusOK,user)
+ } else {
+ c.JSON(http.StatusUnauthorized,"")
+ }
+}
+// @Router /data/api-u/sys/refresh_token [post]
+func (uc UserController) RefreshToken(c *gin.Context){
+
+}
+
+// @Router /data/api-u/sys/logout [get]
+func (uc UserController) Logout(c *gin.Context){
+ c.JSON(http.StatusOK,"閫�鍑烘垚鍔�")
+}
+
+// @Security ApiKeyAuth
+// @Summary 鏌ユ壘鎵�鏈夌敤鎴�
+// @Description 鏌ユ壘鎵�鏈夌敤鎴�
+// @Accept json
+// @Produce json
+// @Tags 鐢ㄦ埛
+// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
+// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
+// @Router /data/api-u/users/findAllUser [get]
+func (uc UserController) FindAllUser(c *gin.Context) {
+ authDriver := auth.GenerateAuthDriver()
+ userM := (*authDriver).User(c)
+ userId := userM["id"].(string)
+ var api dbapi.UserApi
+ b,d := api.FindAllUser(userId)
+ if b {
+ util.ResponseFormat(c,code.Success,d)
+ } else {
+ util.ResponseFormat(c,code.ComError,"")
+ }
+}
+
+type UserEditVo struct {
+ Id string `json:"id"`
+ UserName string `json:"username"`
+ NewPwd string `json:"newPwd"`
+ MenuIds []string `json:"menuIds"`
+}
+
+// @Security ApiKeyAuth
+// @Summary 缂栬緫姝ょ敤鎴凤紝杩斿洖姝ょ敤鎴风殑鏉冮檺鑿滃崟
+// @Description 缂栬緫姝ょ敤鎴凤紝杩斿洖姝ょ敤鎴风殑鏉冮檺鑿滃崟
+// @Accept x-www-form-urlencoded
+// @Produce json
+// @Tags 鐢ㄦ埛
+// @Param userId formData string true "鐢ㄦ埛id"
+// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
+// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
+// @Router /data/api-u/users/findById [post]
+func (uc UserController) FindById(c *gin.Context) {
+ userId := c.PostForm("userId")
+ if userId == "" {
+ util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ return
+ }
+ var api dbapi.UserApi
+ b, d := api.FindById(userId)
+ if b {
+ util.ResponseFormat(c,code.Success,d)
+ } else {
+ util.ResponseFormat(c,code.ComError,"")
+ }
+}
+
+// @Security ApiKeyAuth
+// @Summary 鏇存柊鐢ㄦ埛鍚嶏紝瀵嗙爜鍜岃彍鍗曟潈闄�
+// @Description 鏇存柊鐢ㄦ埛鍚嶏紝瀵嗙爜鍜岃彍鍗曟潈闄�
+// @Accept json
+// @Produce json
+// @Tags 鐢ㄦ埛
+// @Param userVo body controllers.UserEditVo true "鐢ㄦ埛鍙婃潈闄愪俊鎭�"
+// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
+// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
+// @Router /data/api-v/users/saveAuth [post]
+func (uc UserController) SaveAuth(c *gin.Context) {
+ var userEditVo UserEditVo
+ err := c.BindJSON(&userEditVo)
+ if err !=nil || userEditVo.Id =="" || userEditVo.UserName == "" {
+ util.ResponseFormat(c,code.RequestParamError,"")
+ return
+ }
+ paramBody := util.Struct2Map(userEditVo)
+ var api dbapi.UserApi
+ b, d := api.SaveAuth(paramBody)
+ if b {
+ auth.SetOutUser(userEditVo.Id)
+ util.ResponseFormat(c,code.UpdateSuccess,d)
+ } else {
+ util.ResponseFormat(c,code.UpdateFail,"淇濆瓨澶辫触")
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0