Explorar o código

feat: 添加登录方式

double.huang %!s(int64=5) %!d(string=hai) anos
pai
achega
f7bbad1bea
Modificáronse 4 ficheiros con 21 adicións e 20 borrados
  1. 11 8
      engine/auth/light_auth.go
  2. 1 0
      light-apiengine.xml
  3. 8 11
      models/LoginInfo_gen.go
  4. 1 1
      models/Sql_SysUser.go

+ 11 - 8
engine/auth/light_auth.go

@@ -2,10 +2,11 @@ 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"
-	"strings"
 )
 
 type LightAuth struct {
@@ -23,9 +24,14 @@ func (la *LightAuth) Init() {
 func (la *LightAuth) Login(c *entitys.CtrlContext) {
 	var logininfo sysmodel.LoginInfo
 	c.Ctx.BindJSON(&logininfo)
-	//fmt.Println(logininfo)
+	var sqlUserLogin string
+	if logininfo.Type == "mobile" {
+		sqlUserLogin = fmt.Sprintf(sysmodel.SqlUserLogin, "mobile")
+	} else {
+		sqlUserLogin = fmt.Sprintf(sysmodel.SqlUserLogin, "login_id")
+	}
 	var user sysmodel.SysUser
-	ret, err := c.PlatformDbEngine.SQL(sysmodel.SqlUserLogin, logininfo.Account).Get(&user)
+	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, "")
@@ -40,19 +46,16 @@ func (la *LightAuth) Login(c *entitys.CtrlContext) {
 			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, "user disable!", nil})
+		c.Ctx.JSON(200, sysmodel.SysReturn{400, "account disable!", nil})
 	} else {
 		//fmt.Println(err.Error())
-		c.Ctx.JSON(200, sysmodel.SysReturn{400, "username or password incorrect!", nil})
+		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)

+ 1 - 0
light-apiengine.xml

@@ -924,6 +924,7 @@
             <prop name="account" caption="用户id" type="string" />
             <prop name="password" caption="密码" type="string" />
             <prop name="captcha" caption="验证码" type="string" />
+            <prop name="type" caption="验证方式" type="string" />
         </bean>
         <bean name="login_return_info" desc="登录信息" inher="$sys_user">
             <prop name="token" caption="token" type="string" />

+ 8 - 11
models/LoginInfo_gen.go

@@ -1,22 +1,19 @@
-
 package models
-import (
-//__import_packages__
-)
-
 
+//__import_packages__
 
 type LoginInfo struct {
-	
+
 	//用户id
-	Account   string `json:"account"`
+	Account string `json:"account"`
 	//密码
-	Password   string `json:"password"`
+	Password string `json:"password"`
 	//验证码
-	Captcha   string `json:"captcha"`
-
+	Captcha string `json:"captcha"`
+	//验证方式
+	Type string `json:"type"`
 }
 
 func init() {
-    AddTableName("login_info")
+	AddTableName("login_info")
 }

+ 1 - 1
models/Sql_SysUser.go

@@ -4,7 +4,7 @@ var SqlUserLogin = `
         select
 			id,login_id,password,name,full_name,mobile,email,org_id,type,status,domain,create_by,create_time,last_update_by,last_update_time,del_flag
         from sys_user
-		where login_id = ? and del_flag=0`
+		where %v = ? and del_flag=0`
 
 var SqlUserInfoPage = `SELECT
   sys_user.*,