Skip to content

Latest commit

 

History

History
306 lines (293 loc) · 15.7 KB

集成平台.md

File metadata and controls

306 lines (293 loc) · 15.7 KB

默认情况下是直接继承platform, 拥有所有路由以及平台实现的特性

INFO[14/07 11:29:18] GET    /static/*filepath         
INFO[14/07 11:29:18] HEAD   /static/*filepath         
INFO[14/07 11:29:18] POST   /api/sys/app/fun/add      
INFO[14/07 11:29:18] POST   /api/sys/app/fun/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/app/fun/del      
INFO[14/07 11:29:18] DELETE /api/sys/app/fun/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/app/fun/update   
INFO[14/07 11:29:18] PUT    /api/sys/app/fun/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/app/fun/page     
INFO[14/07 11:29:18] GET    /api/sys/app/fun/tree     
INFO[14/07 11:29:18] GET    /api/sys/app/fun/get      
INFO[14/07 11:29:18] POST   /api/sys/area/add         
INFO[14/07 11:29:18] POST   /api/sys/area/batch_add   
INFO[14/07 11:29:18] DELETE /api/sys/area/del         
INFO[14/07 11:29:18] DELETE /api/sys/area/batch_del   
INFO[14/07 11:29:18] PUT    /api/sys/area/update      
INFO[14/07 11:29:18] PUT    /api/sys/area/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/area/page        
INFO[14/07 11:29:18] GET    /api/sys/area/get         
INFO[14/07 11:29:18] POST   /api/sys/attachment/add   
INFO[14/07 11:29:18] POST   /api/sys/attachment/batch_add 
INFO[14/07 11:29:18] POST   /api/sys/attachment/upload 
INFO[14/07 11:29:18] GET    /api/sys/attachment/export 
INFO[14/07 11:29:18] DELETE /api/sys/attachment/del   
INFO[14/07 11:29:18] POST   /api/sys/attachment/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/attachment/update 
INFO[14/07 11:29:18] POST   /api/sys/attachment/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/attachment/page  
INFO[14/07 11:29:18] GET    /api/sys/attachment/get   
INFO[14/07 11:29:18] POST   /api/sys/cas/login        
INFO[14/07 11:29:18] GET    /api/sys/cas/logout       
INFO[14/07 11:29:18] POST   /api/sys/cas/affirm       
INFO[14/07 11:29:18] GET    /api/sys/cas/authorize    
INFO[14/07 11:29:18] POST   /api/sys/cas/token        
INFO[14/07 11:29:18] GET    /api/sys/cas/url          
INFO[14/07 11:29:18] GET    /api/sys/cas/oauth2       
INFO[14/07 11:29:18] GET    /api/sys/cas/refresh      
INFO[14/07 11:29:18] GET    /api/sys/cas/check        
INFO[14/07 11:29:18] GET    /api/sys/cas/profile      
INFO[14/07 11:29:18] GET    /api/sys/cas/qrcode       
INFO[14/07 11:29:18] POST   /api/sys/client/add       
INFO[14/07 11:29:18] POST   /api/sys/client/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/client/del       
INFO[14/07 11:29:18] DELETE /api/sys/client/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/client/update    
INFO[14/07 11:29:18] PUT    /api/sys/client/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/client/page      
INFO[14/07 11:29:18] GET    /api/sys/client/get       
INFO[14/07 11:29:18] POST   /api/sys/comment/add      
INFO[14/07 11:29:18] POST   /api/sys/comment/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/comment/del      
INFO[14/07 11:29:18] DELETE /api/sys/comment/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/comment/update   
INFO[14/07 11:29:18] PUT    /api/sys/comment/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/comment/page     
INFO[14/07 11:29:18] GET    /api/sys/comment/get      
INFO[14/07 11:29:18] POST   /api/sys/data/permission/add 
INFO[14/07 11:29:18] POST   /api/sys/data/permission/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/data/permission/del 
INFO[14/07 11:29:18] DELETE /api/sys/data/permission/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/data/permission/update 
INFO[14/07 11:29:18] PUT    /api/sys/data/permission/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/data/permission/page 
INFO[14/07 11:29:18] GET    /api/sys/data/permission/get 
INFO[14/07 11:29:18] GET    /debug/pprof/             
INFO[14/07 11:29:18] GET    /debug/pprof/heap         
INFO[14/07 11:29:18] GET    /debug/pprof/goroutine    
INFO[14/07 11:29:18] GET    /debug/pprof/allocs       
INFO[14/07 11:29:18] GET    /debug/pprof/block        
INFO[14/07 11:29:18] GET    /debug/pprof/threadcreate 
INFO[14/07 11:29:18] GET    /debug/pprof/cmdline      
INFO[14/07 11:29:18] GET    /debug/pprof/profile      
INFO[14/07 11:29:18] GET    /debug/pprof/symbol       
INFO[14/07 11:29:18] POST   /debug/pprof/symbol       
INFO[14/07 11:29:18] GET    /debug/pprof/trace        
INFO[14/07 11:29:18] GET    /debug/pprof/mutex        
INFO[14/07 11:29:18] GET    /api/sys/dingtalk/oauth2  
INFO[14/07 11:29:18] POST   /api/sys/domain/add       
INFO[14/07 11:29:18] POST   /api/sys/domain/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/domain/del       
INFO[14/07 11:29:18] DELETE /api/sys/domain/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/domain/update    
INFO[14/07 11:29:18] PUT    /api/sys/domain/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/domain/page      
INFO[14/07 11:29:18] GET    /api/sys/domain/get       
INFO[14/07 11:29:18] POST   /api/sys/menu/add         
INFO[14/07 11:29:18] POST   /api/sys/menu/batch_add   
INFO[14/07 11:29:18] DELETE /api/sys/menu/del         
INFO[14/07 11:29:18] DELETE /api/sys/menu/batch_del   
INFO[14/07 11:29:18] PUT    /api/sys/menu/update      
INFO[14/07 11:29:18] PUT    /api/sys/menu/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/menu/sidebar     
INFO[14/07 11:29:18] GET    /api/sys/menu/page        
INFO[14/07 11:29:18] GET    /api/sys/menu/tree        
INFO[14/07 11:29:18] GET    /api/sys/menu/get         
INFO[14/07 11:29:18] POST   /api/sys/notification/add 
INFO[14/07 11:29:18] POST   /api/sys/notification/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/notification/del 
INFO[14/07 11:29:18] DELETE /api/sys/notification/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/notification/update 
INFO[14/07 11:29:18] PUT    /api/sys/notification/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/notification/page 
INFO[14/07 11:29:18] GET    /api/sys/notification/get 
INFO[14/07 11:29:18] POST   /api/sys/optionset/add    
INFO[14/07 11:29:18] POST   /api/sys/optionset/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/optionset/del    
INFO[14/07 11:29:18] DELETE /api/sys/optionset/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/optionset/update 
INFO[14/07 11:29:18] PUT    /api/sys/optionset/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/optionset/page   
INFO[14/07 11:29:18] GET    /api/sys/optionset/get    
INFO[14/07 11:29:18] POST   /api/sys/org/add          
INFO[14/07 11:29:18] POST   /api/sys/org/batch_add    
INFO[14/07 11:29:18] DELETE /api/sys/org/del          
INFO[14/07 11:29:18] DELETE /api/sys/org/batch_del    
INFO[14/07 11:29:18] PUT    /api/sys/org/update       
INFO[14/07 11:29:18] PUT    /api/sys/org/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/org/page         
INFO[14/07 11:29:18] GET    /api/sys/org/tree         
INFO[14/07 11:29:18] GET    /api/sys/org/get          
INFO[14/07 11:29:18] POST   /api/sys/permission/add   
INFO[14/07 11:29:18] POST   /api/sys/permission/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/permission/del   
INFO[14/07 11:29:18] DELETE /api/sys/permission/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/permission/update 
INFO[14/07 11:29:18] PUT    /api/sys/permission/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/permission/page  
INFO[14/07 11:29:18] GET    /api/sys/permission/get   
INFO[14/07 11:29:18] POST   /api/sys/role/add         
INFO[14/07 11:29:18] POST   /api/sys/role/batch_add   
INFO[14/07 11:29:18] DELETE /api/sys/role/del         
INFO[14/07 11:29:18] DELETE /api/sys/role/batch_del   
INFO[14/07 11:29:18] PUT    /api/sys/role/update      
INFO[14/07 11:29:18] POST   /api/sys/role/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/role/page        
INFO[14/07 11:29:18] GET    /api/sys/role/role_menu_tree 
INFO[14/07 11:29:18] GET    /api/sys/role/role_app_fun_tree 
INFO[14/07 11:29:18] GET    /api/sys/role/get         
INFO[14/07 11:29:18] POST   /api/sys/role/menu/add    
INFO[14/07 11:29:18] POST   /api/sys/role/menu/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/role/menu/del    
INFO[14/07 11:29:18] DELETE /api/sys/role/menu/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/role/menu/update 
INFO[14/07 11:29:18] PUT    /api/sys/role/menu/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/role/menu/page   
INFO[14/07 11:29:18] GET    /api/sys/role/menu/get    
INFO[14/07 11:29:18] POST   /api/sys/schedule/add     
INFO[14/07 11:29:18] POST   /api/sys/schedule/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/schedule/del     
INFO[14/07 11:29:18] DELETE /api/sys/schedule/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/schedule/update  
INFO[14/07 11:29:18] POST   /api/sys/schedule/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/schedule/page    
INFO[14/07 11:29:18] GET    /api/sys/schedule/get     
INFO[14/07 11:29:18] GET    /api/sys/schedule/history/page 
INFO[14/07 11:29:18] POST   /api/sys/scheduling/add   
INFO[14/07 11:29:18] DELETE /api/sys/scheduling/del   
INFO[14/07 11:29:18] PUT    /api/sys/scheduling/update 
INFO[14/07 11:29:18] GET    /api/sys/scheduling/page  
INFO[14/07 11:29:18] GET    /api/sys/scheduling/get   
INFO[14/07 11:29:18] POST   /api/sys/setting/add      
INFO[14/07 11:29:18] POST   /api/sys/setting/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/setting/del      
INFO[14/07 11:29:18] DELETE /api/sys/setting/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/setting/update   
INFO[14/07 11:29:18] PUT    /api/sys/setting/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/setting/page     
INFO[14/07 11:29:18] GET    /api/sys/setting/get      
INFO[14/07 11:29:18] POST   /api/sys/table/add        
INFO[14/07 11:29:18] POST   /api/sys/table/batch_add  
INFO[14/07 11:29:18] DELETE /api/sys/table/del        
INFO[14/07 11:29:18] DELETE /api/sys/table/batch_del  
INFO[14/07 11:29:18] PUT    /api/sys/table/update     
INFO[14/07 11:29:18] PUT    /api/sys/table/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/table/page       
INFO[14/07 11:29:18] GET    /api/sys/table/get        
INFO[14/07 11:29:18] POST   /api/sys/table/column/add 
INFO[14/07 11:29:18] POST   /api/sys/table/column/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/table/column/del 
INFO[14/07 11:29:18] DELETE /api/sys/table/column/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/table/column/update 
INFO[14/07 11:29:18] PUT    /api/sys/table/column/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/table/column/page 
INFO[14/07 11:29:18] GET    /api/sys/table/column/get 
INFO[14/07 11:29:18] POST   /api/sys/tag/add          
INFO[14/07 11:29:18] POST   /api/sys/tag/batch_add    
INFO[14/07 11:29:18] DELETE /api/sys/tag/del          
INFO[14/07 11:29:18] DELETE /api/sys/tag/batch_del    
INFO[14/07 11:29:18] PUT    /api/sys/tag/update       
INFO[14/07 11:29:18] PUT    /api/sys/tag/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/tag/page         
INFO[14/07 11:29:18] GET    /api/sys/tag/get          
INFO[14/07 11:29:18] POST   /api/sys/tag/group/add    
INFO[14/07 11:29:18] POST   /api/sys/tag/group/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/tag/group/del    
INFO[14/07 11:29:18] DELETE /api/sys/tag/group/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/tag/group/update 
INFO[14/07 11:29:18] PUT    /api/sys/tag/group/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/tag/group/page   
INFO[14/07 11:29:18] GET    /api/sys/tag/group/get    
INFO[14/07 11:29:18] GET    /api/sys/tracker/page     
INFO[14/07 11:29:18] GET    /api/sys/tracker/get      
INFO[14/07 11:29:18] POST   /api/sys/user/add         
INFO[14/07 11:29:18] POST   /api/sys/user/batch_add   
INFO[14/07 11:29:18] DELETE /api/sys/user/del         
INFO[14/07 11:29:18] DELETE /api/sys/user/batch_del   
INFO[14/07 11:29:18] PUT    /api/sys/user/update      
INFO[14/07 11:29:18] PUT    /api/sys/user/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/user/page        
INFO[14/07 11:29:18] GET    /api/sys/user/get         
INFO[14/07 11:29:18] POST   /api/sys/user/login       
INFO[14/07 11:29:18] GET    /api/sys/user/logout      
INFO[14/07 11:29:18] POST   /api/sys/user/template/add 
INFO[14/07 11:29:18] POST   /api/sys/user/template/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/user/template/del 
INFO[14/07 11:29:18] DELETE /api/sys/user/template/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/user/template/update 
INFO[14/07 11:29:18] PUT    /api/sys/user/template/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/user/template/page 
INFO[14/07 11:29:18] GET    /api/sys/user/template/get 
INFO[14/07 11:29:18] POST   /api/sys/user/template/detail/add 
INFO[14/07 11:29:18] POST   /api/sys/user/template/detail/batch_add 
INFO[14/07 11:29:18] DELETE /api/sys/user/template/detail/del 
INFO[14/07 11:29:18] DELETE /api/sys/user/template/detail/batch_del 
INFO[14/07 11:29:18] PUT    /api/sys/user/template/detail/update 
INFO[14/07 11:29:18] PUT    /api/sys/user/template/detail/batch_update 
INFO[14/07 11:29:18] GET    /api/sys/user/template/detail/page 
INFO[14/07 11:29:18] GET    /api/sys/user/template/detail/get 
INFO[14/07 11:29:18] GET    /api/sys/wechat/oauth2    
INFO[14/07 11:29:18] POST   /api/sys/worker/add       
INFO[14/07 11:29:18] GET    /api/sys/worker/get       
INFO[14/07 11:29:18] GET    /domain.js                

Domain

整个用户模块是直接分库处理的, 通过用户的domain属性使用不同的数据源,这样的优势是: 可以处理多租户,可以处理多应用用户统一管理,可以处理单点登陆。适合ERP内部系统的整合开发。

Domain, a model of multi-tenant support core. Application splitting is also supported.

<table name="sys_domain" packages="xx/null" bind="platform">
	<column name="id" type="null.String" xorm="varchar(36) notnull unique pk" />
	<column name="name" type="null.String" xorm="varchar(36) notnull" />
	<column name="app_name" type="null.String" xorm="varchar(36) notnull" />
	<column name="domain" type="null.String" xorm="varchar(36) notnull" />
	<column name="full_name" type="null.String" xorm="varchar(36)" />
	<column name="contact_name" type="null.String" xorm="varchar(36)" />
	<column name="contact_email" type="null.String" xorm="varchar(50) " />
	<column name="contact_mobile" type="null.String" xorm="varchar(50) " />
	<column name="data_source" type="null.String" xorm="varchar(200) notnull" />
	<column name="driver_name" type="null.String" xorm="varchar(50) notnull" />
	<column name="login_url" type="null.String" xorm="varchar(200)" />
	<column name="api_url" type="null.String" xorm="varchar(200)" />
	<column name="static_url" type="null.String" xorm="varchar(200)" />
	<column name="theme" type="null.String" xorm="varchar(50) " />
	<column name="type" type="null.Int" xorm="notnull" />
	<column name="status" type="null.Int" xorm="notnull" />
	<column name="auth_mode" type="null.Int" xorm="notnull" />
	<column name="is_sync" type="null.Int" xorm="notnull" />

	<column name="creater" type="null.String" xorm="varchar(36) notnull" />
	<column name="create_time" type="null.Time" xorm="datetime notnull" />
	<column name="updater" type="null.String" xorm="varchar(36) notnull" />
	<column name="update_time" type="null.Time" xorm="datetime notnull" />
	<column name="is_delete" type="null.Int" xorm="notnull" />
	<column name="remark" type="null.String" xorm="varchar(200)" />
</table>

app_name

app_name, desynchronize the model as a tag. if you connect same datasource url from localhost, and you would find all tables in data_source of same app_name datasource would be created

domain

Identify different tenants, the logged in user will use the matching domain to find the DB

As shown in the code below

// Auth middles
func Auth(ctx *Context) {
	if !ctx.Auth(ctx.Request) {
		ctx.Fail(util.ErrInvalidAccessToken, 401)
		ctx.Abort()
		return
	}
	if ctx.DB = App.Manager.GetBusinessDB(ctx.MustToken().GetDomain()); ctx.DB == nil {
		ctx.Fail(util.ErrInvalidDomain)
		ctx.Abort()
		return
	}
	ctx.Set("DB", ctx.DB)
	ctx.Set("AuthProtocol", ctx.AuthProtocol)
	ctx.Next()
}

if you want to get datasource of xxx, you can do the following.

App.Manager.GetBusinessDB("xxx")