瀏覽代碼

独立登录功能,saas初始化功能

zhangjq 6 年之前
父節點
當前提交
9020636510

+ 1 - 0
.gitignore

@@ -1,4 +1,5 @@
 *.go_new
+light-apiengine
 go_build_light-apiengine
 output
 .idea

+ 3 - 3
controllers/gen/ApiController_gen.go

@@ -24,12 +24,12 @@ func NewApiController(e *engine.ApiEngine) *ApiController {
 // @Title ApiDoc
 // @Description api文档         
 // @Param	sys    string  false  "是否包含用户管理相关接口"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /api_doc  [get]
 func (c *ApiController) ApiDoc(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.Api_ApiDoc(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.Api_ApiDoc(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 

+ 47 - 0
controllers/gen/SsoController_gen.go

@@ -0,0 +1,47 @@
+
+package gen
+
+import (
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
+	"github.com/gin-gonic/gin"
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/controllers/partial"
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
+)
+
+// SsoController operations for Sso
+type SsoController struct {
+	apiengine *engine.ApiEngine
+}
+
+func NewSsoController(e *engine.ApiEngine) *SsoController {
+	controller := &SsoController{e}
+	return controller
+}
+
+
+
+// Login
+// @Title Login
+// @Description 用户登录         
+// @Param	logininfo      false  "登录信息"  
+// @Success 200 {object} models.sysReturn
+// @Failure 403 :id is empty
+// @router /login  [post,get,put]
+func (c *SsoController) Login(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.Sso_Login(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// Logout
+// @Title Logout
+// @Description 用户退出         
+// @Success 200 {object} models.sysReturn
+// @Failure 403 :id is empty
+// @router /logout  [post,get]
+func (c *SsoController) Logout(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.Sso_Logout(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
+}
+

+ 9 - 9
controllers/gen/SysAttachmentController_gen.go

@@ -23,38 +23,38 @@ func NewSysAttachmentController(e *engine.ApiEngine) *SysAttachmentController {
 // Upload
 // @Title Upload
 // @Description 上传文件         
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /upload  [post]
 func (c *SysAttachmentController) Upload(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.SysAttachment_Upload(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysAttachment_Upload(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // Download
 // @Title Download
 // @Description 下载文件         
 // @Param	id    string  false  "文件ID"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /download  [get]
 func (c *SysAttachmentController) Download(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.SysAttachment_Download(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysAttachment_Download(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // Delete
 // @Title Delete
 // @Description 删除文件         
 // @Param	id    string  false  "文件ID"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /delete  [get]
 func (c *SysAttachmentController) Delete(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.SysAttachment_Delete(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.SysAttachment_Delete(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 

+ 56 - 81
controllers/gen/SystemController_gen.go

@@ -20,79 +20,54 @@ func NewSystemController(e *engine.ApiEngine) *SystemController {
 
 
 
-// Login
-// @Title Login
-// @Description 用户登录         
-// @Param	logininfo      false  "登录信息"  
-// @Success 200 {object} models.Account
-// @Failure 403 :id is empty
-// @router /login  [post,get,put]
-func (c *SystemController) Login(ctx *gin.Context) {
-	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_Login(&entitys.CtrlContext{ctx, db})
-}
-
-// Logout
-// @Title Logout
-// @Description 用户退出         
-// @Success 200 {object} models.Account
-// @Failure 403 :id is empty
-// @router /logout  [post,get]
-func (c *SystemController) Logout(ctx *gin.Context) {
-	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_Logout(&entitys.CtrlContext{ctx, db})
-}
-
 // GetNavTree
 // @Title GetNavTree
 // @Description 获取导航菜单         
 // @Param	user    string  false  "用户id"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /get_nav_tree  [post,get]
 func (c *SystemController) GetNavTree(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_GetNavTree(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_GetNavTree(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // GetMenuTree
 // @Title GetMenuTree
 // @Description 获取系统菜单         
 // @Param	user    string  false  "用户id"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /get_menu_tree  [post,get]
 func (c *SystemController) GetMenuTree(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_GetMenuTree(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_GetMenuTree(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindUserPage
 // @Title FindUserPage
-// @Description          
-// @Success 200 {object} models.Account
+// @Description 获取用户分页数         
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /find_user_page  [get,post]
 func (c *SystemController) FindUserPage(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindUserPage(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_FindUserPage(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // GetOrgTree
 // @Title GetOrgTree
-// @Description          
-// @Success 200 {object} models.Account
+// @Description 获取组织架构树         
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /get_org_tree  [get,post]
 func (c *SystemController) GetOrgTree(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_GetOrgTree(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_GetOrgTree(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // AddUser
@@ -102,26 +77,26 @@ func (c *SystemController) GetOrgTree(ctx *gin.Context) {
 // @Param	password    string  false  "密码"  
 // @Param	org_id    string  false  "组织ID"  
 // @Param	email    string  false  "邮箱"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /add_user  [post,get,put]
 func (c *SystemController) AddUser(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_AddUser(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_AddUser(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // DelUser
 // @Title DelUser
 // @Description 删除用户         
 // @Param	id    string  false  "用户ID"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /del_user  [post,get,put]
 func (c *SystemController) DelUser(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_DelUser(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_DelUser(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // UpdateUser
@@ -131,13 +106,13 @@ func (c *SystemController) DelUser(ctx *gin.Context) {
 // @Param	password    string  false  "密码"  
 // @Param	org_id    string  false  "组织ID"  
 // @Param	email    string  false  "邮箱"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /update_user  [post,get,put]
 func (c *SystemController) UpdateUser(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_UpdateUser(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_UpdateUser(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // AddRole
@@ -145,26 +120,26 @@ func (c *SystemController) UpdateUser(ctx *gin.Context) {
 // @Description 添加角色         
 // @Param	name    string  false  "角色名称"  
 // @Param	remark    string  false  "备注"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /add_role  [post,get,put]
 func (c *SystemController) AddRole(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_AddRole(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_AddRole(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // DelRole
 // @Title DelRole
 // @Description 添加角色         
 // @Param	id    string  false  "角色ID"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /del_role  [post,get,put]
 func (c *SystemController) DelRole(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_DelRole(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_DelRole(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // UpdateRole
@@ -173,114 +148,114 @@ func (c *SystemController) DelRole(ctx *gin.Context) {
 // @Param	id    string  false  "角色ID"  
 // @Param	name    string  false  "角色名称"  
 // @Param	remark    string  false  "备注"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /update_role  [post,get,put]
 func (c *SystemController) UpdateRole(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_UpdateRole(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_UpdateRole(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindRolePage
 // @Title FindRolePage
 // @Description 角色分页         
 // @Param	page      false  "分页参数"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /find_role_page  [post,get,put]
 func (c *SystemController) FindRolePage(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindRolePage(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_FindRolePage(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindRoleMenu
 // @Title FindRoleMenu
 // @Description 查找角色权限         
 // @Param	role_id    string  false  "角色id"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /find_role_menu  [post,get,put]
 func (c *SystemController) FindRoleMenu(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindRoleMenu(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_FindRoleMenu(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // SaveRoleMenu
 // @Title SaveRoleMenu
 // @Description 保存角色权限         
 // @Param	role_menu    string  false  "角色权限"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /save_role_menu  [post,get,put]
 func (c *SystemController) SaveRoleMenu(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_SaveRoleMenu(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_SaveRoleMenu(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // RoleAll
 // @Title RoleAll
 // @Description 查找所有角色         
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /role_all  [post,get,put]
 func (c *SystemController) RoleAll(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_RoleAll(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_RoleAll(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // FindPermissions
 // @Title FindPermissions
 // @Description 查找用户权限         
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /find_permissions  [post,get,put]
 func (c *SystemController) FindPermissions(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindPermissions(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_FindPermissions(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // AddMenu
 // @Title AddMenu
 // @Description 添加菜单         
 // @Param	    string  false  "菜单"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /add_menu  [post,get,put]
 func (c *SystemController) AddMenu(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_AddMenu(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_AddMenu(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // DelMenu
 // @Title DelMenu
 // @Description 删除菜单         
 // @Param	id    string  false  "菜单ID"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /del_menu  [post,get,put]
 func (c *SystemController) DelMenu(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_DelMenu(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_DelMenu(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // UpdateMenu
 // @Title UpdateMenu
 // @Description 更新菜单         
 // @Param	    string  false  "菜单"  
-// @Success 200 {object} models.Account
+// @Success 200 {object} models.sysReturn
 // @Failure 403 :id is empty
 // @router /update_menu  [post,get,put]
 func (c *SystemController) UpdateMenu(ctx *gin.Context) {
 	//
-    db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_UpdateMenu(&entitys.CtrlContext{ctx, db})
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_UpdateMenu(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 

+ 0 - 44
controllers/gen/sso_controller_gen.go

@@ -1,44 +0,0 @@
-
-package gen
-
-import (
-	"git.qianqiusoft.com/qianqiusoft/light-apiengine/controllers/partial"
-	"git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
-	"github.com/gin-gonic/gin"
-	"github.com/xormplus/xorm"
-)
-
-// SystemController operations for System
-type SSOController struct {
-	Db *xorm.Engine
-}
-
-func NewSSOController(db *xorm.Engine) *SSOController {
-	controller := &SSOController{db}
-	return controller
-}
-
-
-
-// Login
-// @Title Login
-// @Description 用户登录
-// @Param	logininfo      false  "登录信息"
-// @Success 200 {object} models.Account
-// @Failure 403 :id is empty
-// @router /login  [post,get,put]
-func (c *SSOController) SSOClient(ctx *gin.Context) {
-	//
-	partial.SSOClient(&entitys.CtrlContext{ctx, c.Db})
-}
-
-// Logout
-// @Title Logout
-// @Description 用户退出
-// @Success 200 {object} models.Account
-// @Failure 403 :id is empty
-// @router /logout  [post,get]
-func (c *SSOController) SSOLogout(ctx *gin.Context) {
-	//
-	partial.SSOLogout(&entitys.CtrlContext{ctx, c.Db})
-}

+ 92 - 0
controllers/partial/SsoController.go

@@ -0,0 +1,92 @@
+
+package partial
+
+import (
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
+	sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+	"time"
+	"strings"
+	"strconv"
+	"fmt"
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
+)
+
+// _Login
+// @Title _Login
+// @Description 用户登录         
+// @Param	logininfo      false  "登录信息"  
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func Sso_Login(c *entitys.CtrlContext) {
+
+	var logininfo sysmodel.LoginInfo
+	c.Ctx.BindJSON(&logininfo)
+	//fmt.Println(logininfo)
+	var user sysmodel.SysUser
+	ret, err := c.PlatformDbEngine.SQL(sysmodel.SqlUserLogin, logininfo.Account).Get(&user)
+	if ret && err == nil {
+		//TODO check password
+		timestamp := uint64(time.Now().UnixNano())
+		md5Pwd := utils.HashPassword(logininfo.Password, "")
+
+		//密码错误
+		if !strings.EqualFold(user.Password, md5Pwd) {
+			c.Ctx.JSON(200, sysmodel.SysReturn{400, "passowrd incorrect!", nil})
+			return
+		}
+
+		token := &entitys.Token{}
+		timestamp_str := strconv.FormatUint(timestamp, 10)
+		sec_tooken := utils.GenerateToken(logininfo.Account + timestamp_str)
+
+		if v := utils.GetGlobalTokenStore().Get(sec_tooken); v == nil {
+			token.AccessToken = sec_tooken
+			token.RefreshToken = sec_tooken
+			token.LoginID = logininfo.Account
+			token.UserId = user.Id
+			token.Result = 200
+			//token.Password = pwd
+			token.ServerIp = ""
+			token.Domain = user.Domain
+			utils.GetGlobalTokenStore().Set(sec_tooken, token)
+		} else {
+			token = v
+		}
+
+		data := sysmodel.LoginReturnInfo{}
+		data.Id = user.Id
+		data.LoginId = user.LoginId
+		data.Token = token.AccessToken
+		data.Type = user.Type
+		data.Domain = user.Domain
+
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", data})
+	} else {
+		//fmt.Println(err.Error())
+		c.Ctx.JSON(200, sysmodel.SysReturn{400, "username or passowrd incorrect!", nil})
+	}
+}
+
+// _Logout
+// @Title _Logout
+// @Description 用户退出         
+// @Success 200 {object} models.Account
+// @Failure 403 :id is empty
+func Sso_Logout(c *entitys.CtrlContext) {
+
+	token := c.Ctx.GetHeader("token")
+	fmt.Println("delete token: ", token)
+	utils.GetGlobalTokenStore().Remove(token)
+
+	ret := __none_func_sso__()
+	if ret {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
+	}else{
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+	}
+}
+
+
+func __none_func_sso__(params ... interface{}) bool{
+	return true
+}

+ 0 - 71
controllers/partial/SystemController.go

@@ -2,8 +2,6 @@ package partial
 
 import (
 	"fmt"
-	"strconv"
-	"strings"
 	"time"
 
 	//"git.qianqiusoft.com/qianqiusoft/light-apiengine/db"
@@ -14,75 +12,6 @@ import (
 
 //https://www.kancloud.cn/xormplus/xorm/167077
 
-// _Login
-// @Title _Login
-// @Description 用户登录
-// @Param	logininfo      false  "登录信息"
-// @Success 200 {object} sysmodel.Account
-// @Failure 403 :id is empty
-func System_Login(c *entitys.CtrlContext) {
-	var logininfo sysmodel.LoginInfo
-	c.Ctx.BindJSON(&logininfo)
-	__none_func_system__(logininfo)
-	//fmt.Println(logininfo)
-	var user sysmodel.SysUser
-	ret, err := c.Db.SQL(sysmodel.SqlUserLogin, logininfo.Account).Get(&user)
-	if ret && err == nil {
-		//TODO check password
-		timestamp := uint64(time.Now().UnixNano())
-		md5Pwd := utils.HashPassword(logininfo.Password, "")
-
-		//密码错误
-		if !strings.EqualFold(user.Password, md5Pwd) {
-			c.Ctx.JSON(200, sysmodel.SysReturn{400, "passowrd incorrect!", nil})
-			return
-		}
-
-		token := &entitys.Token{}
-		timestamp_str := strconv.FormatUint(timestamp, 10)
-		sec_tooken := utils.GenerateToken(logininfo.Account + timestamp_str)
-
-		if v := utils.GetGlobalTokenStore().Get(sec_tooken); v == nil {
-			token.AccessToken = sec_tooken
-			token.RefreshToken = sec_tooken
-			token.LoginID = logininfo.Account
-			token.UserId = user.Id
-			token.Result = 200
-			//token.Password = pwd
-			token.ServerIp = ""
-			token.Domain = user.Domain
-			utils.GetGlobalTokenStore().Set(sec_tooken, token)
-		} else {
-			token = v
-		}
-
-		data := sysmodel.LoginReturnInfo{}
-		data.Id = user.Id
-		data.LoginId = user.LoginId
-		data.Token = token.AccessToken
-		data.Type = user.Type
-		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", data})
-	} else {
-		//fmt.Println(err.Error())
-		c.Ctx.JSON(200, sysmodel.SysReturn{400, "username or passowrd incorrect!", nil})
-	}
-
-}
-
-// _Logout
-// @Title _Logout
-// @Description 用户退出
-// @Success 200 {object} sysmodel.Account
-// @Failure 403 :id is empty
-func System_Logout(c *entitys.CtrlContext) {
-
-	token := c.Ctx.GetHeader("token")
-	fmt.Println("delete token: ", token)
-	utils.GetGlobalTokenStore().Remove(token)
-
-	c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
-}
-
 // _GetNavTree
 // @Title _GetNavTree
 // @Description 获取导航菜单

+ 0 - 45
controllers/partial/sso_controller.go

@@ -1,45 +0,0 @@
-
-package partial
-
-import (
-	"git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
-)
-
-
-// SSOClient
-// @Title _ApiDoc
-// @Description api文档
-// @Param	sys    string  false  "是否包含用户管理相关接口"
-// @Success 200 {object} models.Account
-// @Failure 403 :id is empty
-func SSOClient(c *entitys.CtrlContext) {
-	sys := c.Ctx.Param(":sys")
-	ret := __none_func_api__(sys)
-
-	if ret{
-		//c.Ctx.String(200,"")
-		c.Ctx.HTML(200, "api.tpl","")
-	}
-}
-
-
-// _ApiDoc
-// @Title _ApiDoc
-// @Description api文档
-// @Param	sys    string  false  "是否包含用户管理相关接口"
-// @Success 200 {object} models.Account
-// @Failure 403 :id is empty
-func SSOLogout(c *entitys.CtrlContext) {
-	sys := c.Ctx.Param(":sys")
-	ret := __none_func_api__(sys)
-
-	if ret{
-		//c.Ctx.String(200,"")
-		c.Ctx.HTML(200, "api.tpl","")
-	}
-}
-
-
-func __none_func_sso__(params ... interface{}) bool{
-	return true
-}

+ 1 - 1
engine/apiengine.go

@@ -34,6 +34,7 @@ func NewApiEngine(driverName, dataSourceName string, addr string) *ApiEngine {
 	printError(err)
 
 	initOrmEngine(engine.PlatformOrmEngine, driverName)
+	initPlatformDbData(engine.PlatformOrmEngine)
 
 	engine.LoadBusinessOrm()
 
@@ -77,7 +78,6 @@ func (g *ApiEngine)LoadBusinessOrm()  {
 
 
 func (g *ApiEngine) Run() {
-	initPlatformDbData(g.PlatformOrmEngine)
 	g.GinEngine.StaticFile("/", "web/index.html")
 	g.GinEngine.Static("/static", "web/static")
 	g.GinEngine.Run(g.listen_addr)

+ 15 - 2
engine/system_init.go

@@ -34,6 +34,17 @@ func createDatabase(orm *xorm.Engine)  {
 
 func initPlatformDbData(db *xorm.Engine) {
 
+	domains := []models.SysDomain{
+		{
+			Id:   "287c50a4-caad-4557-80c8-aca81af9f370",
+			Name: "千秋软件",
+			Domain: "qianqiusoft.com",
+			DataSource: "root:qian@123@tcp(localhost:3306)/ssm-qianqiusoft?charset=utf8&loc=Local",
+			CreateTime:time.Now(),
+			LastUpdateDate: time.Now(),
+		},
+	}
+
 	orgs := []models.SysOrg{
 		{
 			Id:   "287c50a4-caad-4557-80c8-aca81af9f370",
@@ -48,7 +59,7 @@ func initPlatformDbData(db *xorm.Engine) {
 			Name:     "管理员",
 			LoginId:  "admin",
 			OrgId:    "287c50a4-caad-4557-80c8-aca81af9f370",
-			Password: "123456",
+			Password: utils.HashPassword("123456", ""),
 			CreateTime:time.Now(),
 			LastUpdateDate: time.Now(),
 		},
@@ -132,7 +143,9 @@ func initPlatformDbData(db *xorm.Engine) {
 
 	models.SyncDb(db)
 
-	_, err := db.Insert(orgs)
+	_, err := db.Insert(domains)
+	printError(err)
+	_, err = db.Insert(orgs)
 	printError(err)
 	_, err = db.Insert(users)
 	printError(err)

+ 1 - 1
entitys/ctrl_context.go

@@ -8,5 +8,5 @@ import(
 type CtrlContext struct{
 	Ctx *gin.Context
 	Db *xorm.Engine
-	//PlatformDbEngine *xorm.Engine
+	PlatformDbEngine *xorm.Engine
 }

+ 30 - 0
routers/sso.go

@@ -0,0 +1,30 @@
+
+package routers
+
+import (
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/engine"
+	
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/controllers/gen"
+)
+
+func init(){
+	addRegisterHandler(registerSsoRouter)
+}
+
+func registerSsoRouter(e *engine.ApiEngine){
+	api:=e.GinEngine.Group("/api")
+	v1:=api.Group("/v1/sso")
+	
+
+	ctrler := gen.NewSsoController(e)
+
+
+
+	v1.GET("/login",ctrler.Login)
+	v1.POST("/login",ctrler.Login)
+
+	v1.GET("/logout",ctrler.Logout)
+	v1.POST("/logout",ctrler.Logout)
+
+}
+

+ 0 - 6
routers/system.go

@@ -20,12 +20,6 @@ func registerSystemRouter(e *engine.ApiEngine){
 
 
 
-	v1.GET("/login",ctrler.Login)
-	v1.POST("/login",ctrler.Login)
-
-	v1.GET("/logout",ctrler.Logout)
-	v1.POST("/logout",ctrler.Logout)
-
 	v1.GET("/get_nav_tree",ctrler.GetNavTree)
 	v1.POST("/get_nav_tree",ctrler.GetNavTree)