| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package auth
- import (
- "fmt"
- "strings"
- "git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
- sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
- sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
- )
- type LightAuth struct {
- }
- func init() {
- lightAuth := &LightAuth{}
- RegisterAuth("qianqiusoft.com", lightAuth)
- }
- func (la *LightAuth) Init() {
- }
- func (la *LightAuth) Login(c *entitys.CtrlContext) {
- var logininfo sysmodel.LoginInfo
- c.Ctx.BindJSON(&logininfo)
- var sqlUserLogin string
- if logininfo.Type == "mobile" {
- sqlUserLogin = fmt.Sprintf(sysmodel.SqlUserLogin, "mobile")
- } else if logininfo.Type == "account" {
- sqlUserLogin = fmt.Sprintf(sysmodel.SqlUserLogin, "login_id")
- } else {
- sqlUserLogin = fmt.Sprintf(sysmodel.SqlUserLogin, "login_id")
- }
- var user sysmodel.SysUser
- ret, err := c.PlatformDbEngine.SQL(sqlUserLogin, logininfo.Account).Get(&user)
- if ret && err == nil && user.Status == 0 {
- //TODO check password
- md5Pwd := sysutils.HashPassword(logininfo.Password, "")
- //密码错误
- if !strings.EqualFold(user.Password, md5Pwd) {
- c.Ctx.JSON(200, sysmodel.SysReturn{400, "password incorrect!", nil})
- return
- }
- data, err := AddToGlobalTokenStore(c, &user)
- if err != nil {
- c.Ctx.JSON(200, sysmodel.SysReturn{400, err.Error(), nil})
- return
- }
- TCPClient.SendToken(sysutils.GetGlobalTokenStore().Get(data.Token))
- c.Ctx.JSON(200, sysmodel.SysReturn{200, "", data})
- } else if user.Status == 1 {
- c.Ctx.JSON(200, sysmodel.SysReturn{400, "account disable!", nil})
- } else {
- //fmt.Println(err.Error())
- c.Ctx.JSON(200, sysmodel.SysReturn{400, "account or password incorrect!", nil})
- }
- }
- func (la *LightAuth) Logout(c *entitys.CtrlContext) {
- token := c.Ctx.GetHeader("token")
- fmt.Println("delete token: ", token)
- sysutils.GetGlobalTokenStore().Remove(token)
- TCPClient.Send(CMD_REMOVE, []byte(token))
- c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
- }
|