| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | 
							- package inject
 
- /*
 
- import (
 
- 	"runtime"
 
- 	"tmr-watch/conf/setting"
 
- 	"tmr-watch/service/bll"
 
- 	"github.com/casbin/casbin"
 
- 	"github.com/facebookgo/inject"
 
- )
 
- // Object 注入对象
 
- type Object struct {
 
- 	Common   *bll.Common
 
- 	Enforcer *casbin.Enforcer
 
- }
 
- var Obj *Object
 
- // Init 初始化依赖注入
 
- func Init() {
 
- 	g := new(inject.Graph)
 
- 	// 注入casbin
 
- 	osType := runtime.GOOS
 
- 	var path string
 
- 	if osType == "windows" {
 
- 		path = setting.CurrentPath + "conf\\rbac_model.conf"
 
- 	} else if osType == "linux" {
 
- 		path = setting.CurrentPath + "conf/rbac_model.conf"
 
- 	}
 
- 	enforcer := casbin.NewEnforcer(path, false)
 
- 	_ = g.Provide(&inject.Object{Value: enforcer})
 
- 	Common := new(bll.Common)
 
- 	_ = g.Provide(&inject.Object{Value: Common})
 
- 	if err := g.Populate(); err != nil {
 
- 		panic("初始化依赖注入发生错误:" + err.Error())
 
- 	}
 
- 	Obj = &Object{
 
- 		Enforcer: enforcer,
 
- 		Common:   Common,
 
- 	}
 
- 	return
 
- }
 
- //var instance *Object
 
- //var once sync.Once
 
- //
 
- //func GetInstance() *Object {
 
- //	once.Do(func() {
 
- //		instance = Init()
 
- //	})
 
- //	return instance
 
- //}
 
- // 加载casbin策略数据,包括角色权限数据、用户角色数据
 
- func LoadCasbinPolicyData() error {
 
- 	c := Obj.Common
 
- 	err := c.RoleAPI.LoadAllPolicy()
 
- 	if err != nil {
 
- 		return err
 
- 	}
 
- 	err = c.UserAPI.LoadAllPolicy()
 
- 	if err != nil {
 
- 		return err
 
- 	}
 
- 	return nil
 
- }
 
- */
 
 
  |