liuxiaolong
2019-09-20 551df14cf2c5036009eb8bf0c4fd5c1ede2a682c
user edit
1个文件已添加
8个文件已修改
139 ■■■■ 已修改文件
controllers/sysMenu.go 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/sysRole.go 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/syssetcont.go 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/user.go 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
extend/code/code.go 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
extend/config/config.go 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.mod 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
go.sum 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
router/router.go 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/sysMenu.go
@@ -1,6 +1,7 @@
package controllers
import (
    "basic.com/dbapi.git"
    "github.com/gin-gonic/gin"
    "webserver/extend/code"
    "basic.com/valib/logger.git"
@@ -32,4 +33,15 @@
    } else {
        util.ResponseFormat(c,code.NotLogin,"")
    }
}
// @Router /data/api-v/menu/tree [get]
func (smc SysMenuController) MenuTree(c *gin.Context) {
    var api dbapi.SysMenuApi
    d,err := api.MenuTree()
    if err ==nil {
        util.ResponseFormat(c,code.Success,d)
    } else {
        util.ResponseFormat(c,code.ComError,"")
    }
}
controllers/sysRole.go
New file
@@ -0,0 +1,28 @@
package controllers
import (
    "basic.com/dbapi.git"
    "github.com/gin-gonic/gin"
    "webserver/extend/code"
    "webserver/extend/util"
)
type RoleController struct {
}
// @Summary 查找角色列表
// @Description 查找角色列表
// @Tags 系统角色
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
// @Router /data/api-v/role/findAll [get]
func (rc RoleController) FindAll(c *gin.Context) {
    var api dbapi.SysRoleApi
    b,d := api.FindAll()
    if b {
        util.ResponseFormat(c,code.Success,d)
    } else {
        util.ResponseFormat(c,code.ComError,"")
    }
}
controllers/syssetcont.go
@@ -155,7 +155,15 @@
        resData["ip"] = ipv4
        resData["subMask"] = mask
        resData["gateway"] = gateway
        // 存在
        resData["deviceNum"] = config.Server.DeviceNum
        resData["deviceType"] = config.Server.DeviceType
        resData["deviceSerialNum"] = config.Server.DeviceSerialNum
        resData["masterVersion"] = config.Server.MasterVersion
        resData["webVersion"] = config.Server.WebVersion
        resData["channelCount"] = config.Server.ChannelCount
        resData["diskCount"] = config.Server.DiskCount
        util.ResponseFormat(c, code.Success, resData)
    }
}
controllers/user.go
@@ -3,7 +3,6 @@
import (
    "basic.com/dbapi.git"
    "github.com/gin-gonic/gin"
    "net/http"
    "time"
    "webserver/extend/code"
    "webserver/extend/util"
@@ -29,7 +28,7 @@
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}"
// @Router /data/api-v/sys/login [post]
func (controller UserController) Login(c *gin.Context) {
func (uc UserController) Login(c *gin.Context) {
    userName := c.PostForm("username")
    password := c.PostForm("password")
    if userName == "" || password == "" {
@@ -42,7 +41,7 @@
        authDriver := auth.GenerateAuthDriver()
        loginedM := util.Struct2Map(data)
        tokenStr := (*authDriver).Login(c.Request, c.Writer, loginedM)
        c.JSON(200,map[string]interface{}{
        util.ResponseFormat(c,code.Success,map[string]interface{}{
            "userInfo":loginedM,
            "access_token":tokenStr,
            "refresh_token":tokenStr,
@@ -51,7 +50,7 @@
            "expires_in":time.Now().Add(time.Hour * 8).Unix(),
        })
    } else {
        c.JSON(500,"用户名或密码错误")
        util.ResponseFormat(c,code.LoginInfoError,"用户名或密码错误")
    }
}
@@ -63,21 +62,66 @@
// @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/current [get]
func (controller UserController) Current(c *gin.Context) {
func (uc UserController) Current(c *gin.Context) {
    authDriver := auth.GenerateAuthDriver()
    user := (*authDriver).User(c)
    if user !=nil {
        c.JSON(http.StatusOK,user)
        util.ResponseFormat(c,code.Success,user)
    } else {
        c.JSON(http.StatusUnauthorized,"")
        util.ResponseFormat(c,code.TokenNotFound,"")
    }
}
// @Router /data/api-u/sys/refresh_token [post]
func (controller UserController) RefreshToken(c *gin.Context){
func (uc UserController) RefreshToken(c *gin.Context){
}
// @Router /data/api-u/sys/logout [get]
func (controller UserController) Logout(c *gin.Context){
    c.JSON(http.StatusOK,"退出成功")
func (uc UserController) Logout(c *gin.Context){
    util.ResponseFormat(c,code.LogoutSuccess,"退出成功")
}
// @Router /data/api-u/users/findAllUser [get]
func (uc UserController) FindAllUser(c *gin.Context) {
    var api dbapi.UserApi
    b,d := api.FindAllUser()
    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"`
    OldPwd string `json:"oldPwd"`
    NewPwd string `json:"newPwd"`
    RoleIds []string `json:"roleIds"`
}
// @Summary 更新用户名,密码和角色权限
// @Description 更新用户名,密码和角色权限
// @Accept json
// @Produce json
// @Tags 用户
// @Param userVo body 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/edit [post]
func (uc UserController) Edit(c *gin.Context) {
    var userEditVo UserEditVo
    err := c.BindJSON(&userEditVo)
    if err !=nil || userEditVo.Id =="" || userEditVo.OldPwd == "" || userEditVo.NewPwd =="" || userEditVo.UserName == "" {
        util.ResponseFormat(c,code.RequestParamError,"")
        return
    }
    paramBody := util.Struct2Map(userEditVo)
    var api dbapi.UserApi
    b,d := api.Edit(paramBody)
    if b {
        util.ResponseFormat(c,code.UpdateSuccess,d)
    } else {
        util.ResponseFormat(c,code.UpdateFail,"更新失败")
    }
}
extend/code/code.go
@@ -30,7 +30,8 @@
    UploadSizeLimit = &Code{http.StatusBadRequest, false, "目前上传仅支持小于5M的文件内容"}
    LoginSuccess = &Code{http.StatusOK,true,"登录成功"}
    // SigninInfoError 账户名或密码有误
    SigninInfoError = &Code{http.StatusUnauthorized, false, "账户名或密码有误"}
    LoginInfoError = &Code{http.StatusUnauthorized, false, "用户名或密码错误"}
    LogoutSuccess = &Code{http.StatusOK,true,"退出成功"}
    // TokenNotFound 请求未携带Token, 无权访问
    TokenNotFound = &Code{http.StatusUnauthorized, false, "请求未携带Token, 无权访问"}
    // TokenInvalid 无效的Token信息
extend/config/config.go
@@ -14,6 +14,14 @@
    ImageUrl  string `mapstructure: "imageUrl"`
    PublicDomain string `mapstructure: "publicDomain"`
    NetworkAdapter string `mapstructure: "networkAdapter"`
    DeviceNum string `mapstructure: "deviceNum"` //设备编号
    DeviceType string `mapstructure: "deviceType"`  //设备型号
    DeviceSerialNum string `mapstructure: "deviceSerialNum"`  //设备序列号
    MasterVersion string `mapstructure: "masterVersion"` //主控版本
    WebVersion string `mapstructure: "webVersion"`  //web版本
    ChannelCount string `mapstructure: "channelCount"`  //通道个数
    DiskCount string `mapstructure: "diskCount"`  //硬盘个数
}
var Server = &server{}
go.mod
@@ -3,7 +3,7 @@
go 1.12
require (
    basic.com/dbapi.git v0.0.0-20190919084344-7b9de135dd96 // indirect
    basic.com/dbapi.git v0.0.0-20190920121940-8b96226a4ca1 // indirect
    basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb // indirect
    basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48 // indirect
    basic.com/pubsub/esutil.git v0.0.0-20190807083318-4431a8860d47
go.sum
@@ -1,5 +1,5 @@
basic.com/dbapi.git v0.0.0-20190919084344-7b9de135dd96 h1:iBqHj7uNMko4BcijsdNVATbTqn2PJO18BWKUAEMPvag=
basic.com/dbapi.git v0.0.0-20190919084344-7b9de135dd96/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
basic.com/dbapi.git v0.0.0-20190920121940-8b96226a4ca1 h1:tzKo7EcKv43eKR3acHc8UMHPiEzajfCqEvHN78d7jQ8=
basic.com/dbapi.git v0.0.0-20190920121940-8b96226a4ca1/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb h1:fM6DojeInFSCFO+wkba1jtyPiSDqw0jYKi4Tk+e+ka4=
basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb/go.mod h1:FTryK8BsVLfUplx8a3+l8hJWub6VbAWZCUH7sPRZaso=
basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48 h1:BBA30Rgljn6MRieC4gUncETJDyna3ObyubTo9HEQ2M0=
router/router.go
@@ -40,6 +40,7 @@
    fileController := new(controllers.FileController)
    sysMenuController :=new(controllers.SysMenuController)
    clusterController :=new(controllers.ClusterController)
    sysRoleController :=new(controllers.RoleController)
    sysApi := r.Group(  "/data/api-u/sys")
@@ -51,10 +52,17 @@
    sysMenuApi := r.Group("/data/api-u/sysmenus")
    {
        sysMenuApi.GET("/me",sysMenuController.Me)
        sysMenuApi.GET("/tree",sysMenuController.MenuTree)
    }
    roleApi :=r.Group("/data/api-v/role")
    {
        roleApi.GET("/findAll",sysRoleController.FindAll)
    }
    userApi := r.Group("/data/api-u/users")
    {
        userApi.GET("/current",userController.Current)
        userApi.GET("/findAllUser", userController.FindAllUser)
        userApi.POST("/edit",userController.Edit)
    }
    urlPrefix := "/data/api-v" // wp 添加 路径 前缀