98 lines
2.3 KiB
Go
98 lines
2.3 KiB
Go
package system
|
|
|
|
import (
|
|
"f5"
|
|
"github.com/gin-gonic/gin"
|
|
"main/constant"
|
|
. "main/global"
|
|
"main/model/system"
|
|
"net/http"
|
|
"strings"
|
|
)
|
|
|
|
type UserApi struct {
|
|
MetaMaskApi
|
|
}
|
|
|
|
func (this *UserApi) Login(c *gin.Context) {
|
|
//username := c.PostForm("username")
|
|
//password := c.PostForm("password")
|
|
//if username == "" || password == "" {
|
|
// c.JSON(http.StatusOK, gin.H{
|
|
// "errcode": 1,
|
|
// "errmsg": "请求参数不正确",
|
|
// })
|
|
// return
|
|
//}
|
|
type loginForm struct {
|
|
Username string `binding:"required" json:"username"`
|
|
Password string `binding:"required" json:"password"`
|
|
}
|
|
reqJson := loginForm{}
|
|
if err := c.ShouldBindJSON(&reqJson); err != nil {
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": 1,
|
|
"message": err.Error(),
|
|
})
|
|
return
|
|
}
|
|
user := system.SysUser{}
|
|
//err := f5.GetApp().GetOrmDb(constant.ADMIN_DB).Where("username = ?", username).Where("password = ?", password).First(&user).Error
|
|
err := f5.GetApp().GetOrmDb(constant.ADMIN_DB).Where("username = ?", reqJson.Username).Where("password = ?", reqJson.Password).First(&user).Error
|
|
if err != nil {
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": 1,
|
|
"message": "用户名或密码错误",
|
|
})
|
|
return
|
|
}
|
|
//token := GetApp().AddSession(username)
|
|
token := GetApp().AddSession(reqJson.Username)
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": 0,
|
|
"message": "登录成功",
|
|
"data": user,
|
|
"token": token,
|
|
})
|
|
}
|
|
|
|
func (this *UserApi) Info(c *gin.Context) {
|
|
token := c.Request.Header.Get("Authorization")
|
|
strArr := strings.Split(token, "|")
|
|
//username := c.Query("username")
|
|
//if username == "" {
|
|
// c.JSON(http.StatusOK, gin.H{
|
|
// "code": 1,
|
|
// "message": "请求参数为空",
|
|
// })
|
|
// return
|
|
//}
|
|
|
|
user := system.SysUser{}
|
|
err := f5.GetApp().GetOrmDb(constant.ADMIN_DB).Where("username = ?", strArr[0]).First(&user).Error
|
|
if err != nil {
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": 1,
|
|
"message": "暂无此用户",
|
|
})
|
|
return
|
|
}
|
|
user.Roles = append(user.Roles, "admin")
|
|
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": 0,
|
|
"message": "success",
|
|
"data": user,
|
|
})
|
|
}
|
|
|
|
func (this *UserApi) Logout(c *gin.Context) {
|
|
token := c.Request.Header.Get("Authorization")
|
|
strArr := strings.Split(token, "|")
|
|
GetApp().RemoveSession(strArr[0])
|
|
c.JSON(http.StatusOK, gin.H{
|
|
"code": 0,
|
|
"message": "success",
|
|
})
|
|
}
|