| | |
| | | package controllers |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "github.com/gin-gonic/gin" |
| | | "webserver/extend/code" |
| | | "basic.com/valib/logger.git" |
| | |
| | | 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,"") |
| | | } |
| | | } |
New file |
| | |
| | | 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,"") |
| | | } |
| | | } |
| | |
| | | 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) |
| | | } |
| | | } |
| | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "github.com/gin-gonic/gin" |
| | | "net/http" |
| | | "time" |
| | | "webserver/extend/code" |
| | | "webserver/extend/util" |
| | |
| | | // @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 == "" { |
| | |
| | | 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, |
| | |
| | | "expires_in":time.Now().Add(time.Hour * 8).Unix(), |
| | | }) |
| | | } else { |
| | | c.JSON(500,"用户名或密码错误") |
| | | util.ResponseFormat(c,code.LoginInfoError,"用户名或密码错误") |
| | | } |
| | | } |
| | | |
| | |
| | | // @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,"更新失败") |
| | | } |
| | | } |
| | |
| | | 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信息 |
| | |
| | | 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 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 |
| | |
| | | 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= |
| | |
| | | fileController := new(controllers.FileController) |
| | | sysMenuController :=new(controllers.SysMenuController) |
| | | clusterController :=new(controllers.ClusterController) |
| | | sysRoleController :=new(controllers.RoleController) |
| | | |
| | | |
| | | sysApi := r.Group( "/data/api-u/sys") |
| | |
| | | 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 添加 路径 前缀 |