Преглед изворни кода

init system data and implement login func

zhangjq пре 6 година
родитељ
комит
58a6bfc7e0

+ 67 - 349
controllers/SystemController.go

@@ -3,385 +3,103 @@ package controllers
 
 import (
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+	"fmt"
 )
-
+//https://www.kancloud.cn/xormplus/xorm/167077
 
 // _Login
 // @Title _Login
-// @Description 用户登录         
-// @Param	name    string  false  "用户名"  
-// @Param	password    string  false  "密码"  
+// @Description 用户登录
+// @Param	logininfo      false  "登录信息"
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
-func System_Login( name string,  password string,  c *SystemController) {
-	c.Ctx.String(200, `{
-      "id": null,
-      "userId": 1,
-      "token": "77ae89be36504adfb5c09ef71409ea0e",
-      "expireTime": "2018-09-01T16:24:50.473+0000",
-      "createBy": null,
-      "createTime": null,
-      "lastUpdateBy": null,
-      "lastUpdateTime": "2018-09-01T04:24:50.473+0000"
-    }
-`)
+func System_Login(c *SystemController) {
+	var logininfo models.LoginInfo
+	c.Ctx.BindJSON(&logininfo)
+	__none_func__(logininfo)
+	fmt.Println(logininfo)
+	var user models.SysUser
+	//pm := map[string]string{"login_id": logininfo.Account}
+	ret, err:=c.Db.SQL(models.SqlUserLogin, logininfo.Account).Get(&user)
+	if ret && err ==nil{
+		//TODO check password
+
+		data:=models.LoginReturnInfo{user.Id,user.LoginId,user.Id}
+		c.Ctx.JSON(200, models.SysReturn{200, "", data})
+	}else {
+		//fmt.Println(err.Error())
+		c.Ctx.JSON(200, models.SysReturn{400, "username or passowrd incorrect!", nil})
+	}
+
 }
 
 // _Logout
 // @Title _Logout
-// @Description 用户退出         
+// @Description 用户退出
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
-func System_Logout( c *SystemController) {
-	
+func System_Logout(c *SystemController) {
+
+	__none_func__()
+	//c.Ctx.JSON(200, models.SysReturn{200, "", nil})
 }
 
 // _GetMenuTree
 // @Title _GetMenuTree
-// @Description 获取系统菜单         
-// @Param	user    string  false  "用户id"  
+// @Description 获取系统菜单
+// @Param	user    string  false  "用户id"
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
-func System_GetMenuTree(user string,  c *SystemController) {
-	menu,_:=c.Db.SQL(models.Selectall_sys_menu).Query().Json()
-	//c.Ctx.String(200, menu)
-menu=menu
-	c.Ctx.String(200, `{
-    "code": 200,
-    "msg": null,
-    "data": [{
-      "id": 1,
-      "createBy": null,
-      "createTime": null,
-      "lastUpdateBy": null,
-      "lastUpdateTime": null,
-      "parentId": 0,
-      "name": "系统管理",
-      "url": null,
-      "perms": null,
-      "type": 0,
-      "icon": "el-icon-setting",
-      "orderNum": 0,
-      "delFlag": 0,
-      "parentName": null,
-      "level": 0,
-      "children": [{
-        "id": 2,
-        "createBy": null,
-        "createTime": null,
-        "lastUpdateBy": null,
-        "lastUpdateTime": null,
-        "parentId": 1,
-        "name": "用户管理",
-        "url": "/sys/user",
-        "perms": null,
-        "type": 1,
-        "icon": "el-icon-service",
-        "orderNum": 1,
-        "delFlag": 0,
-        "parentName": "系统管理",
-        "level": 1,
-        "children": []
-      }, {
-        "id": 3,
-        "createBy": null,
-        "createTime": null,
-        "lastUpdateBy": null,
-        "lastUpdateTime": null,
-        "parentId": 1,
-        "name": "机构管理",
-        "url": "/sys/dept",
-        "perms": null,
-        "type": 1,
-        "icon": "el-icon-news",
-        "orderNum": 2,
-        "delFlag": 0,
-        "parentName": "系统管理",
-        "level": 1,
-        "children": []
-      }, {
-        "id": 4,
-        "createBy": null,
-        "createTime": null,
-        "lastUpdateBy": null,
-        "lastUpdateTime": null,
-        "parentId": 1,
-        "name": "角色管理",
-        "url": "/sys/role",
-        "perms": null,
-        "type": 1,
-        "icon": "el-icon-view",
-        "orderNum": 4,
-        "delFlag": 0,
-        "parentName": "系统管理",
-        "level": 1,
-        "children": []
-      }, {
-        "id": 5,
-        "createBy": null,
-        "createTime": null,
-        "lastUpdateBy": null,
-        "lastUpdateTime": null,
-        "parentId": 1,
-        "name": "菜单管理",
-        "url": "/sys/menu",
-        "perms": null,
-        "type": 1,
-        "icon": "el-icon-menu",
-        "orderNum": 5,
-        "delFlag": 0,
-        "parentName": "系统管理",
-        "level": 1,
-        "children": []
-      }, {
-        "id": 7,
-        "createBy": null,
-        "createTime": null,
-        "lastUpdateBy": null,
-        "lastUpdateTime": null,
-        "parentId": 1,
-        "name": "字典管理",
-        "url": "/sys/dict",
-        "perms": null,
-        "type": 1,
-        "icon": "el-icon-edit-outline",
-        "orderNum": 7,
-        "delFlag": 0,
-        "parentName": "系统管理",
-        "level": 1,
-        "children": []
-      }, {
-        "id": 8,
-        "createBy": null,
-        "createTime": null,
-        "lastUpdateBy": "admin",
-        "lastUpdateTime": "2018-09-23T11:32:28.000+0000",
-        "parentId": 1,
-        "name": "系统日志",
-        "url": "/sys/log",
-        "perms": "sys:log:view",
-        "type": 1,
-        "icon": "el-icon-info",
-        "orderNum": 8,
-        "delFlag": 0,
-        "parentName": "系统管理",
-        "level": 1,
-        "children": []
-      }]
-    }, {
-      "id": 43,
-      "createBy": "admin",
-      "createTime": "2018-12-27T02:57:29.000+0000",
-      "lastUpdateBy": "admin",
-      "lastUpdateTime": "2018-12-27T03:02:26.000+0000",
-      "parentId": 0,
-      "name": "系统监控",
-      "url": "",
-      "perms": "",
-      "type": 0,
-      "icon": "el-icon-info",
-      "orderNum": 1,
-      "delFlag": 0,
-      "parentName": null,
-      "level": 0,
-      "children": [{
-        "id": 6,
-        "createBy": null,
-        "createTime": null,
-        "lastUpdateBy": "admin",
-        "lastUpdateTime": "2018-12-27T03:03:45.000+0000",
-        "parentId": 43,
-        "name": "数据监控",
-        "url": "http://139.196.87.48:8001/druid/login.html",
-        "perms": null,
-        "type": 1,
-        "icon": "el-icon-warning",
-        "orderNum": 0,
-        "delFlag": 0,
-        "parentName": "系统监控",
-        "level": 1,
-        "children": []
-      }, {
-        "id": 38,
-        "createBy": "admin",
-        "createTime": "2018-11-02T12:02:15.000+0000",
-        "lastUpdateBy": "admin",
-        "lastUpdateTime": "2018-12-27T03:03:53.000+0000",
-        "parentId": 43,
-        "name": "服务监控",
-        "url": "http://139.196.87.48:8000/",
-        "perms": "",
-        "type": 1,
-        "icon": "el-icon-view",
-        "orderNum": 1,
-        "delFlag": 0,
-        "parentName": "系统监控",
-        "level": 1,
-        "children": []
-      }]
-    }, {
-      "id": 44,
-      "createBy": "admin",
-      "createTime": "2018-12-27T03:05:48.000+0000",
-      "lastUpdateBy": "admin",
-      "lastUpdateTime": "2018-12-27T03:06:39.000+0000",
-      "parentId": 0,
-      "name": "服务治理",
-      "url": "",
-      "perms": "",
-      "type": 0,
-      "icon": "el-icon-service",
-      "orderNum": 2,
-      "delFlag": 0,
-      "parentName": null,
-      "level": 0,
-      "children": [{
-        "id": 41,
-        "createBy": "admin",
-        "createTime": "2018-11-03T03:06:48.000+0000",
-        "lastUpdateBy": "admin",
-        "lastUpdateTime": "2018-12-27T03:08:11.000+0000",
-        "parentId": 44,
-        "name": "注册中心",
-        "url": "http://139.196.87.48:8500",
-        "perms": "",
-        "type": 1,
-        "icon": " el-icon-view",
-        "orderNum": 0,
-        "delFlag": 0,
-        "parentName": "服务治理",
-        "level": 1,
-        "children": []
-      }]
-    }, {
-      "id": 35,
-      "createBy": null,
-      "createTime": null,
-      "lastUpdateBy": "admin",
-      "lastUpdateTime": "2018-12-27T03:04:18.000+0000",
-      "parentId": 0,
-      "name": "接口文档",
-      "url": "http://139.196.87.48:8001/swagger-ui.html",
-      "perms": null,
-      "type": 1,
-      "icon": "el-icon-document",
-      "orderNum": 3,
-      "delFlag": 0,
-      "parentName": null,
-      "level": 0,
-      "children": []
-    }, {
-      "id": 42,
-      "createBy": "admin",
-      "createTime": "2018-11-15T06:39:30.000+0000",
-      "lastUpdateBy": "admin",
-      "lastUpdateTime": "2018-11-15T06:56:18.000+0000",
-      "parentId": 0,
-      "name": "代码生成",
-      "url": "/generator/generator",
-      "perms": "",
-      "type": 1,
-      "icon": "el-icon-star-on",
-      "orderNum": 5,
-      "delFlag": 0,
-      "parentName": null,
-      "level": 0,
-      "children": []
-    }, {
-      "id": 28,
-      "createBy": null,
-      "createTime": null,
-      "lastUpdateBy": "admin",
-      "lastUpdateTime": "2018-11-15T06:39:43.000+0000",
-      "parentId": 0,
-      "name": "使用案例",
-      "url": null,
-      "perms": null,
-      "type": 0,
-      "icon": "el-icon-picture-outline",
-      "orderNum": 6,
-      "delFlag": 0,
-      "parentName": null,
-      "level": 0,
-      "children": [{
-        "id": 29,
-        "createBy": null,
-        "createTime": null,
-        "lastUpdateBy": null,
-        "lastUpdateTime": null,
-        "parentId": 28,
-        "name": "国际化",
-        "url": "/demo/i18n",
-        "perms": null,
-        "type": 1,
-        "icon": "el-icon-edit",
-        "orderNum": 1,
-        "delFlag": 0,
-        "parentName": "使用案例",
-        "level": 1,
-        "children": []
-      }, {
-        "id": 30,
-        "createBy": null,
-        "createTime": null,
-        "lastUpdateBy": null,
-        "lastUpdateTime": null,
-        "parentId": 28,
-        "name": "换皮肤",
-        "url": "/demo/theme",
-        "perms": null,
-        "type": 1,
-        "icon": "el-icon-picture",
-        "orderNum": 2,
-        "delFlag": 0,
-        "parentName": "使用案例",
-        "level": 1,
-        "children": []
-      }]
-    }]
-  }`)
+func System_GetMenuTree(c *SystemController) {
+	user := c.Ctx.Param(":user")
+	__none_func__(user)
+	var menus []models.SysMenuTree
+	c.Db.SQL(models.Selectall_sys_menu).Find(&menus)
+
+	var menutree []models.SysMenuTree
+	finChildrenMenu( &menus, "", nil, &menutree)
+	for i:=0;i<len(menutree);i++{
+		finChildrenMenu( &menus, menutree[i].Id, &menutree[i], &menutree)
+	}
+	c.Ctx.JSON(200, models.SysReturn{200, "", menutree})
+}
+
+func finChildrenMenu(menus *[]models.SysMenuTree, parent string, parent_menu* models.SysMenuTree, menutree *[]models.SysMenuTree) {
+	for _,m:= range *menus{
+		if m.Parent == parent {
+			if parent_menu == nil{
+				*menutree = append(*menutree, m)
+				//finChildrenMenu(menus, m.Id, menutree[len(*menutree)-1], menutree)
+			}else {
+				parent_menu.Children = append(parent_menu.Children,m)
+				finChildrenMenu(menus, m.Id, &parent_menu.Children[len(parent_menu.Children)-1], menutree)
+			}
+		}
+	}
 }
 
 // _FindPermissions
 // @Title _FindPermissions
-// @Description 查找用户的菜单权限标识集合         
-// @Param	user    string  false  "用户id"  
+// @Description 查找用户的菜单权限标识集合
+// @Param	user    string  false  "用户id"
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
-func System_FindPermissions( user string,  c *SystemController) {
-	c.Ctx.String(200,`{code:200, data:"[
-      null,
-      "sys:user:view",
-      "sys:menu:delete",
-      "sys:dept:edit",
-      "sys:dict:edit",
-      "sys:dict:delete",
-      "sys:menu:add",
-      "sys:user:add",
-      "sys:log:view",
-      "sys:dept:delete",
-      "sys:role:edit",
-      "sys:role:view",
-      "sys:dict:view",
-      "sys:user:edit",
-      "sys:user:delete",
-      "sys:dept:view",
-      "sys:dept:add",
-      "sys:role:delete",
-      "sys:menu:view",
-      "sys:menu:edit",
-      "sys:dict:add",
-      "sys:role:add"
-    ]}"`)
+func System_FindPermissions(c *SystemController) {
+	user := c.Ctx.Param(":user")
+	__none_func__(user)
 }
 
-
 // _AddPermission
 // @Title _AddPermission
 // @Description 查找用户的菜单权限标识集合
 // @Param	user    string  false  "用户id"
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
-func System_AddPermission( user string,  c *SystemController) {
+func System_AddPermission(c *SystemController) {
+	user := c.Ctx.Param(":user")
+	__none_func__(user)
+}
+
 
-}
+func __none_func__(params ... interface{}){
+}

+ 24 - 11
controllers/SystemController.go_new

@@ -2,18 +2,21 @@
 package controllers
 
 import (
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
 )
 
 
 // _Login
 // @Title _Login
 // @Description 用户登录         
-// @Param	name    string  false  "用户名"  
-// @Param	password    string  false  "密码"  
+// @Param	logininfo      false  "登录信息"  
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
-func System_Login( name string,  password string,  c *SystemController) {
-	
+func System_Login(c *SystemController) {
+	var logininfo models.LoginInfo 
+	c.Ctx.BindJSON(&logininfo)
+	__none_func__(logininfo)
+	c.Ctx.JSON(200, models.SysReturn{200, "", nil})
 }
 
 // _Logout
@@ -21,8 +24,10 @@ func System_Login( name string,  password string,  c *SystemController) {
 // @Description 用户退出         
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
-func System_Logout( c *SystemController) {
+func System_Logout(c *SystemController) {
 	
+	__none_func__()
+	c.Ctx.JSON(200, models.SysReturn{200, "", nil})
 }
 
 // _GetMenuTree
@@ -31,8 +36,10 @@ func System_Logout( c *SystemController) {
 // @Param	user    string  false  "用户id"  
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
-func System_GetMenuTree( user string,  c *SystemController) {
-	
+func System_GetMenuTree(c *SystemController) {
+	user := c.Ctx.Param(":user")
+	__none_func__(user)
+	c.Ctx.JSON(200, models.SysReturn{200, "", nil})
 }
 
 // _FindPermissions
@@ -41,8 +48,10 @@ func System_GetMenuTree( user string,  c *SystemController) {
 // @Param	user    string  false  "用户id"  
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
-func System_FindPermissions( user string,  c *SystemController) {
-	
+func System_FindPermissions(c *SystemController) {
+	user := c.Ctx.Param(":user")
+	__none_func__(user)
+	c.Ctx.JSON(200, models.SysReturn{200, "", nil})
 }
 
 // _AddPermission
@@ -51,8 +60,12 @@ func System_FindPermissions( user string,  c *SystemController) {
 // @Param	user    string  false  "用户id"  
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
-func System_AddPermission( user string,  c *SystemController) {
-	
+func System_AddPermission(c *SystemController) {
+	user := c.Ctx.Param(":user")
+	__none_func__(user)
+	c.Ctx.JSON(200, models.SysReturn{200, "", nil})
 }
 
 
+func __none_func__(params ... interface{}){
+}

+ 6 - 22
controllers/SystemController_gen.go

@@ -24,18 +24,13 @@ func NewSystemController(c *gin.Context, e *engine.ApiEngine) *SystemController
 // Login
 // @Title Login
 // @Description 用户登录         
-// @Param	name    string  false  "用户名"  
-// @Param	password    string  false  "密码"  
+// @Param	logininfo      false  "登录信息"  
 // @Success 200 {object} models.Account
 // @Failure 403 :id is empty
 // @router /login  [post,get,put]
 func (c *SystemController) Login() {
-		name := c.Ctx.Param(":name")
-	password := c.Ctx.Param(":password")
-
-	
 	//
-	System_Login( name,  password,  c)
+	System_Login(c)
 }
 
 // Logout
@@ -45,10 +40,8 @@ func (c *SystemController) Login() {
 // @Failure 403 :id is empty
 // @router /logout  [post,get]
 func (c *SystemController) Logout() {
-	
-	
 	//
-	System_Logout( c)
+	System_Logout(c)
 }
 
 // GetMenuTree
@@ -59,11 +52,8 @@ func (c *SystemController) Logout() {
 // @Failure 403 :id is empty
 // @router /get_menu_tree  [post,get]
 func (c *SystemController) GetMenuTree() {
-		user := c.Ctx.Param(":user")
-
-	
 	//
-	System_GetMenuTree( user,  c)
+	System_GetMenuTree(c)
 }
 
 // FindPermissions
@@ -74,11 +64,8 @@ func (c *SystemController) GetMenuTree() {
 // @Failure 403 :id is empty
 // @router /find_permissions  [post,get,put]
 func (c *SystemController) FindPermissions() {
-		user := c.Ctx.Param(":user")
-
-	
 	//
-	System_FindPermissions( user,  c)
+	System_FindPermissions(c)
 }
 
 // AddPermission
@@ -89,10 +76,7 @@ func (c *SystemController) FindPermissions() {
 // @Failure 403 :id is empty
 // @router /add_permission  [post,get,put]
 func (c *SystemController) AddPermission() {
-		user := c.Ctx.Param(":user")
-
-	
 	//
-	System_AddPermission( user,  c)
+	System_AddPermission(c)
 }
 

+ 66 - 26
engine/system_init.go

@@ -9,6 +9,65 @@ import (
 
 
 func InitSystemDb(engine *ApiEngine)  {
+	if engine.OrmEngine.DriverName() == "mysql"{
+		dbname :=engine.OrmEngine.DataSourceName()
+		reg:= regexp.MustCompile("(.*)/(.*)(\\?.*)")
+		//strings := reg.FindAllStringSubmatch(s, -1)
+		strings := reg.FindStringSubmatch(dbname)
+		fmt.Println(strings)
+		if len(strings) >3{
+			dbname= strings[2]
+			db,_:= xorm.NewEngine(engine.OrmEngine.DriverName(), strings[1]+"/")
+			db.ShowSQL(true)
+			_,err:=db.Sql("CREATE DATABASE IF NOT EXISTS `"+dbname+"` default charset utf8 COLLATE utf8_general_ci").Execute()
+			if err!=nil{
+				fmt.Println("create database error",err)
+			}else {
+				fmt.Println("create database success:",dbname)
+			}
+		}
+	}
+
+	err:=engine.OrmEngine.Sync2(
+		new(models.SysMenu),
+		new(models.SysOrg),
+		new(models.SysUser),
+		new(models.SysUserRole),
+		new(models.SysRoleMenu),
+		new(models.SysRole),
+		)
+	printError(err)
+	orgs:= []models.SysOrg{
+		{
+			Id:"287c50a4-caad-4557-80c8-aca81af9f370",
+			Name:"千秋软件",
+		},
+	}
+	users:= []models.SysUser{
+		{
+			Id:"187c50a4-caad-4557-80c8-aca81af9f370",
+			Name:"管理员",
+			LoginId:"admin",
+			OrgId:"287c50a4-caad-4557-80c8-aca81af9f370",
+			Password:"123456",
+		},
+	}
+
+	roles := []models.SysRole{
+		{
+			Id:	"487c50a4-caad-4557-80c8-aca81af9f370",
+			Name:"超级管理员",
+		},
+	}
+
+	userRoles:=[]models.SysUserRole{
+		{
+			Id:"587c50a4-caad-4557-80c8-aca81af9f370",
+			RoleId:"387c50a4-caad-4557-80c8-aca81af9f370",
+			UserId:"187c50a4-caad-4557-80c8-aca81af9f370",
+		},
+	}
+
 	menus:= []models.SysMenu{
 		{
 			Id:"387c50a4-caad-4557-80c8-aca81af9f370",
@@ -45,32 +104,13 @@ func InitSystemDb(engine *ApiEngine)  {
 			Parent:"387c50a4-caad-4557-80c8-aca81af9f370",
 		},
 	}
-	if engine.OrmEngine.DriverName() == "mysql"{
-		dbname :=engine.OrmEngine.DataSourceName()
-		reg:= regexp.MustCompile("(.*)/(.*)(\\?.*)")
-		//strings := reg.FindAllStringSubmatch(s, -1)
-		strings := reg.FindStringSubmatch(dbname)
-		fmt.Println(strings)
-		if len(strings) >3{
-			dbname= strings[2]
-			db,_:= xorm.NewEngine(engine.OrmEngine.DriverName(), strings[1]+"/")
-			db.ShowSQL(true)
-			_,err:=db.Sql("CREATE DATABASE IF NOT EXISTS `"+dbname+"` default charset utf8 COLLATE utf8_general_ci").Execute()
-			if err!=nil{
-				fmt.Println("create database error",err)
-			}else {
-				fmt.Println("create database success:",dbname)
-			}
-		}
-	}
-
-	err:=engine.OrmEngine.Sync2(
-		new(models.SysMenu),
-		new(models.SysOrg),
-		new(models.SysUser),
-		new(models.SysUserRole),
-		new(models.SysRoleMenu),
-		)
+	_,err = engine.OrmEngine.Insert(orgs)
+	printError(err)
+	_,err = engine.OrmEngine.Insert(users)
+	printError(err)
+	_,err = engine.OrmEngine.Insert(roles)
+	printError(err)
+	_,err = engine.OrmEngine.Insert(userRoles)
 	printError(err)
 	_,err = engine.OrmEngine.Insert(menus)
 	printError(err)

+ 16 - 0
models/LoginInfo_gen.go

@@ -0,0 +1,16 @@
+
+package models
+import (
+
+)
+
+type LoginInfo struct {
+	
+	//用户id
+	Account   string `json:"account"`
+	//密码
+	Password   string `json:"password"`
+	//验证码
+	Captcha   string `json:"captcha"`
+
+}

+ 16 - 0
models/LoginReturnInfo_gen.go

@@ -0,0 +1,16 @@
+
+package models
+import (
+
+)
+
+type LoginReturnInfo struct {
+	
+	//用户id
+	Userid   string `json:"userid"`
+	//用户名称
+	Name   string `json:"name"`
+	//token
+	Token   string `json:"token"`
+
+}

+ 8 - 0
models/Sql_SysUser.go

@@ -0,0 +1,8 @@
+package models
+
+var SqlUserLogin = ` 
+        select 
+			id,login_id,password,name,full_name,email,org_id,type,status,domain,create_by,create_time,last_update_by,last_update_date,del_flag
+        from sys_user
+		where login_id = ?
+`

+ 32 - 4
models/SysMenuTree_gen.go

@@ -5,10 +5,38 @@ import (
 )
 
 type SysMenuTree struct {
-	SysMenu
-	//子列表
-	Children   []SysMenu `json:"children"`
+		//主键
+	Id string `json:"id"`
+	//菜单名称
+	Name string `json:"name"`
+	//编码
+	Code string `json:"code"`
+	//父菜单ID,一级菜单为null
+	Parent string `json:"parent"`
+	//菜单URL,类型:1.普通页面(如用户管理, /sys/user) 2.嵌套完整外部页面,以http(s)开头的链接 3.嵌套服务器页面,使用iframe:前缀+目标URL(如SQL监控, iframe:/druid/login.html, iframe:前缀会替换成服务器地址)
+	Url string `json:"url"`
+	//授权(多个用逗号分隔,如:sys:user:add,sys:user:edit)
+	Perms string `json:"perms"`
+	//类型 0:目录   1:菜单   2:按钮
+	Type int32 `json:"type"`
+	//菜单图标
+	Icon string `json:"icon"`
+	//排序
+	OrderNum int32 `json:"order_num"`
+	//域
+	Domain string `json:"domain"`
+	//创建人
+	CreateBy string `json:"create_by"`
 	//创建时间
-	CreateTime   time.Time `json:"create_time"`
+	CreateTime time.Time `json:"create_time"`
+	//最后更新人
+	LastUpdateBy string `json:"last_update_by"`
+	//最后更新时间
+	LastUpdateDate time.Time `json:"last_update_date"`
+	//是否删除 0:删除   1:正常
+	DelFlag int32 `json:"del_flag"`
+
+	//子列表
+	Children   []SysMenuTree `json:"children"`
 
 }

+ 2 - 0
models/SysReturn_gen.go

@@ -10,5 +10,7 @@ type SysReturn struct {
 	Code   int32 `json:"code"`
 	//描述
 	Msg   string `json:"msg"`
+	//数据
+	Data   interface{} `json:"data"`
 
 }