Bläddra i källkod

修改登陆接口,返回增加roles字段

huangyh 6 år sedan
förälder
incheckning
0aab26eebe

+ 4 - 0
light-apiengine.xml

@@ -539,6 +539,7 @@
         </bean>
         <bean name="login_return_info" desc="登录信息" inher="$sys_user">
             <prop name="token" caption="token" type="string" />
+            <prop name="roles" caption="用户角色" type="$sys_role array" />
         </bean>
         <bean name="sys_user_page_info">
             <prop name="pageNum" caption="页码" type="int" />
@@ -740,6 +741,9 @@
             </column>
             <column isNull="false" name="name" caption="名称" type="string" size="36" dbtype="varchar(36)"/>
             <column isNull="false" name="code" caption="编码" type="string" size="36" dbtype="varchar(36)"/>
+            <column isNull="false" name="index_url" caption="角色进入后台首页url" type="string" size="500" dbtype="varchar(500)"/>
+            <column isNull="false" name="app_index" caption="角色app首页url" type="string" size="500" dbtype="varchar(500)"/>
+            <column name="priority" caption="优先级" type="int32"/>
             <column name="remark" caption="备注" type="string" size="100" dbtype="varchar(100)"/>
             <column name="status" caption="状态 0:禁用   1:正常" type="int32"/>
             <column isNull="false" name="domain" caption="域" type="string" size="50" dbtype="varchar(50)"/>

+ 7 - 8
models/LoginReturnInfo_gen.go

@@ -1,13 +1,11 @@
-
 package models
+
 import (
 //__import_packages__
 )
 
-
-
 type LoginReturnInfo struct {
-		//主键
+	//主键
 	Id string `json:"id"`
 	//登录ID
 	LoginId string `json:"login_id"`
@@ -23,7 +21,7 @@ type LoginReturnInfo struct {
 	Email string `json:"email"`
 	//组织ID
 	OrgId string `json:"org_id"`
-	//性别 0:女    1:男 
+	//性别 0:女    1:男
 	Gender int32 `json:"gender"`
 	//用户类型
 	Type int32 `json:"type"`
@@ -49,10 +47,11 @@ type LoginReturnInfo struct {
 	TempValue string `json:"temp_value"`
 
 	//token
-	Token   string `json:"token"`
-
+	Token string `json:"token"`
+	//用户角色
+	Roles []SysRole `json:"roles"`
 }
 
 func init() {
-    AddTableName("login_return_info")
+	AddTableName("login_return_info")
 }

+ 5 - 5
sqlconfig/light-apiengine/sys_role_gen.xml

@@ -2,13 +2,13 @@
 <sqlMap>
     <sql id="insert_sys_role">
         insert into sys_role
-		(`id`,`name`,`code`,`remark`,`status`,`domain`,`create_by`,`create_time`,`last_update_by`,`last_update_time`,`del_flag`)
+		(`id`,`name`,`code`,`index_url`,`app_index`,`priority`,`remark`,`status`,`domain`,`create_by`,`create_time`,`last_update_by`,`last_update_time`,`del_flag`)
 		values
-		(?id,?name,?code,?remark,?status,?domain,?create_by,?create_time,?last_update_by,?last_update_time,?del_flag)
+		(?id,?name,?code,?index_url,?app_index,?priority,?remark,?status,?domain,?create_by,?create_time,?last_update_by,?last_update_time,?del_flag)
     </sql>
     <sql id="update_sys_role">
         update sys_role set
-		`name` = ?name,`code` = ?code,`remark` = ?remark,`status` = ?status,`domain` = ?domain,`create_by` = ?create_by,`create_time` = ?create_time,`last_update_by` = ?last_update_by,`last_update_time` = ?last_update_time,`del_flag` = ?del_flag
+		`name` = ?name,`code` = ?code,`index_url` = ?index_url,`app_index` = ?app_index,`priority` = ?priority,`remark` = ?remark,`status` = ?status,`domain` = ?domain,`create_by` = ?create_by,`create_time` = ?create_time,`last_update_by` = ?last_update_by,`last_update_time` = ?last_update_time,`del_flag` = ?del_flag
 		where id = ?id
     </sql>
     <sql id="deleteone_sys_role">
@@ -17,13 +17,13 @@
     </sql>
     <sql id="selectone_sys_role">
         select 
-			`id`,`name`,`code`,`remark`,`status`,`domain`,`create_by`,`create_time`,`last_update_by`,`last_update_time`,`del_flag`
+			`id`,`name`,`code`,`index_url`,`app_index`,`priority`,`remark`,`status`,`domain`,`create_by`,`create_time`,`last_update_by`,`last_update_time`,`del_flag`
         from sys_role
 		where id = ?id
     </sql>
     <sql id="selectall_sys_role">
         select 
-			`id`,`name`,`code`,`remark`,`status`,`domain`,`create_by`,`create_time`,`last_update_by`,`last_update_time`,`del_flag`
+			`id`,`name`,`code`,`index_url`,`app_index`,`priority`,`remark`,`status`,`domain`,`create_by`,`create_time`,`last_update_by`,`last_update_time`,`del_flag`
         from sys_role
     </sql>
 </sqlMap>

+ 11 - 6
utils/auth/light_auth.go

@@ -3,27 +3,26 @@ package auth
 import (
 	"fmt"
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
-	sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
 	sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+	sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
 	"strconv"
 	"strings"
 	"time"
 )
 
 type LightAuth struct {
-
 }
 
-func init(){
+func init() {
 	lightAuth := &LightAuth{}
 	RegisterAuth("qianqiusoft.com", lightAuth)
 }
 
-func (la *LightAuth)Init(){
+func (la *LightAuth) Init() {
 
 }
 
-func (la *LightAuth)Login(c *entitys.CtrlContext){
+func (la *LightAuth) Login(c *entitys.CtrlContext) {
 	var logininfo sysmodel.LoginInfo
 	c.Ctx.BindJSON(&logininfo)
 	//fmt.Println(logininfo)
@@ -64,6 +63,12 @@ func (la *LightAuth)Login(c *entitys.CtrlContext){
 		data.Token = token.AccessToken
 		data.Type = user.Type
 		data.Domain = user.Domain
+
+		// 查找用户对应角色
+		var roles []sysmodel.SysRole
+		c.App.GetBusinessDb(user.Domain).SQL("select sys_role.* from sys_user_role, sys_role where sys_user_role.role_id = sys_role.id and sys_role.del_flag = 0 and sys_user_role.user_id = ? order by sys_role.priority asc", user.Id).Find(&roles)
+		data.Roles = roles
+
 		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", data})
 	} else {
 		//fmt.Println(err.Error())
@@ -71,7 +76,7 @@ func (la *LightAuth)Login(c *entitys.CtrlContext){
 	}
 }
 
-func (la *LightAuth)Logout(c *entitys.CtrlContext) {
+func (la *LightAuth) Logout(c *entitys.CtrlContext) {
 	token := c.Ctx.GetHeader("token")
 	fmt.Println("delete token: ", token)
 	sysutils.GetGlobalTokenStore().Remove(token)