mirror of
https://github.com/mindoc-org/mindoc.git
synced 2025-09-18 17:48:00 +08:00
feat:实现团队功能
This commit is contained in:
@@ -63,17 +63,16 @@ func RegisterDataBase() {
|
||||
if strings.HasPrefix(database, "./") {
|
||||
database = filepath.Join(conf.WorkingDirectory, string(database[1:]))
|
||||
}
|
||||
if p,err := filepath.Abs(database); err == nil {
|
||||
if p, err := filepath.Abs(database); err == nil {
|
||||
database = p
|
||||
}
|
||||
|
||||
dbPath := filepath.Dir(database)
|
||||
|
||||
if _,err := os.Stat(dbPath); err != nil && os.IsNotExist(err) {
|
||||
if _, err := os.Stat(dbPath); err != nil && os.IsNotExist(err) {
|
||||
os.MkdirAll(dbPath, 0777)
|
||||
}
|
||||
|
||||
|
||||
err := orm.RegisterDataBase("default", "sqlite3", database)
|
||||
|
||||
if err != nil {
|
||||
@@ -102,6 +101,9 @@ func RegisterModel() {
|
||||
new(models.Label),
|
||||
new(models.Blog),
|
||||
new(models.Template),
|
||||
new(models.Team),
|
||||
new(models.TeamMember),
|
||||
new(models.TeamRelationship),
|
||||
)
|
||||
gob.Register(models.Blog{})
|
||||
gob.Register(models.Document{})
|
||||
@@ -120,11 +122,11 @@ func RegisterLogger(log string) {
|
||||
logs.Async(1e3)
|
||||
}
|
||||
if log == "" {
|
||||
logPath,err := filepath.Abs(beego.AppConfig.DefaultString("log_path",conf.WorkingDir("runtime","logs")))
|
||||
logPath, err := filepath.Abs(beego.AppConfig.DefaultString("log_path", conf.WorkingDir("runtime", "logs")))
|
||||
if err == nil {
|
||||
log = logPath
|
||||
}else{
|
||||
log = conf.WorkingDir("runtime","logs")
|
||||
} else {
|
||||
log = conf.WorkingDir("runtime", "logs")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,33 +157,39 @@ func RegisterLogger(log string) {
|
||||
if level := beego.AppConfig.DefaultString("log_level", "Trace"); level != "" {
|
||||
switch level {
|
||||
case "Emergency":
|
||||
config["level"] = beego.LevelEmergency;break
|
||||
config["level"] = beego.LevelEmergency;
|
||||
break
|
||||
case "Alert":
|
||||
config["level"] = beego.LevelAlert;break
|
||||
config["level"] = beego.LevelAlert;
|
||||
break
|
||||
case "Critical":
|
||||
config["level"] = beego.LevelCritical;break
|
||||
config["level"] = beego.LevelCritical;
|
||||
break
|
||||
case "Error":
|
||||
config["level"] = beego.LevelError; break
|
||||
config["level"] = beego.LevelError;
|
||||
break
|
||||
case "Warning":
|
||||
config["level"] = beego.LevelWarning; break
|
||||
config["level"] = beego.LevelWarning;
|
||||
break
|
||||
case "Notice":
|
||||
config["level"] = beego.LevelNotice; break
|
||||
config["level"] = beego.LevelNotice;
|
||||
break
|
||||
case "Informational":
|
||||
config["level"] = beego.LevelInformational;break
|
||||
config["level"] = beego.LevelInformational;
|
||||
break
|
||||
case "Debug":
|
||||
config["level"] = beego.LevelDebug;break
|
||||
config["level"] = beego.LevelDebug;
|
||||
break
|
||||
}
|
||||
}
|
||||
b, err := json.Marshal(config);
|
||||
if err != nil {
|
||||
beego.Error("初始化文件日志时出错 ->",err)
|
||||
beego.SetLogger("file", `{"filename":"`+ logPath + `"}`)
|
||||
}else{
|
||||
if err != nil {
|
||||
beego.Error("初始化文件日志时出错 ->", err)
|
||||
beego.SetLogger("file", `{"filename":"`+logPath+`"}`)
|
||||
} else {
|
||||
beego.SetLogger(logs.AdapterFile, string(b))
|
||||
}
|
||||
|
||||
|
||||
|
||||
beego.SetLogFuncCall(true)
|
||||
}
|
||||
|
||||
@@ -254,29 +262,29 @@ func ResolveCommand(args []string) {
|
||||
}
|
||||
|
||||
if conf.ConfigurationFile == "" {
|
||||
conf.ConfigurationFile = conf.WorkingDir( "conf", "app.conf")
|
||||
conf.ConfigurationFile = conf.WorkingDir("conf", "app.conf")
|
||||
config := conf.WorkingDir("conf", "app.conf.example")
|
||||
if !filetil.FileExists(conf.ConfigurationFile) && filetil.FileExists(config) {
|
||||
filetil.CopyFile(conf.ConfigurationFile, config)
|
||||
}
|
||||
}
|
||||
if err := gocaptcha.ReadFonts(conf.WorkingDir( "static", "fonts"), ".ttf");err != nil {
|
||||
log.Fatal("读取字体文件时出错 -> ",err)
|
||||
if err := gocaptcha.ReadFonts(conf.WorkingDir("static", "fonts"), ".ttf"); err != nil {
|
||||
log.Fatal("读取字体文件时出错 -> ", err)
|
||||
}
|
||||
|
||||
if err := beego.LoadAppConfig("ini", conf.ConfigurationFile);err != nil {
|
||||
if err := beego.LoadAppConfig("ini", conf.ConfigurationFile); err != nil {
|
||||
log.Fatal("An error occurred:", err)
|
||||
}
|
||||
if conf.LogFile == "" {
|
||||
logPath,err := filepath.Abs(beego.AppConfig.DefaultString("log_path",conf.WorkingDir("runtime","logs")))
|
||||
logPath, err := filepath.Abs(beego.AppConfig.DefaultString("log_path", conf.WorkingDir("runtime", "logs")))
|
||||
if err == nil {
|
||||
conf.LogFile = logPath
|
||||
}else{
|
||||
conf.LogFile = conf.WorkingDir("runtime","logs")
|
||||
} else {
|
||||
conf.LogFile = conf.WorkingDir("runtime", "logs")
|
||||
}
|
||||
}
|
||||
|
||||
conf.AutoLoadDelay = beego.AppConfig.DefaultInt("config_auto_delay",0)
|
||||
conf.AutoLoadDelay = beego.AppConfig.DefaultInt("config_auto_delay", 0)
|
||||
uploads := conf.WorkingDir("uploads")
|
||||
|
||||
os.MkdirAll(uploads, 0666)
|
||||
@@ -341,7 +349,7 @@ func RegisterCache() {
|
||||
cache.Init(memory)
|
||||
} else if cacheProvider == "redis" {
|
||||
//设置Redis前缀
|
||||
if key := beego.AppConfig.DefaultString("cache_redis_prefix",""); key != "" {
|
||||
if key := beego.AppConfig.DefaultString("cache_redis_prefix", ""); key != "" {
|
||||
redis.DefaultKey = key
|
||||
}
|
||||
var redisConfig struct {
|
||||
@@ -394,20 +402,20 @@ func RegisterCache() {
|
||||
|
||||
} else {
|
||||
cache.Init(&cache.NullCache{})
|
||||
beego.Warn("不支持的缓存管道,缓存将禁用 ->" ,cacheProvider)
|
||||
beego.Warn("不支持的缓存管道,缓存将禁用 ->", cacheProvider)
|
||||
return
|
||||
}
|
||||
beego.Info("缓存初始化完成.")
|
||||
}
|
||||
|
||||
//自动加载配置文件.修改了监听端口号和数据库配置无法自动生效.
|
||||
func RegisterAutoLoadConfig() {
|
||||
func RegisterAutoLoadConfig() {
|
||||
if conf.AutoLoadDelay > 0 {
|
||||
|
||||
watcher, err := fsnotify.NewWatcher()
|
||||
|
||||
if err != nil {
|
||||
beego.Error("创建配置文件监控器失败 ->",err)
|
||||
beego.Error("创建配置文件监控器失败 ->", err)
|
||||
}
|
||||
go func() {
|
||||
for {
|
||||
@@ -436,7 +444,7 @@ func RegisterAutoLoadConfig() {
|
||||
err = watcher.WatchFlags(conf.ConfigurationFile, fsnotify.FSN_MODIFY|fsnotify.FSN_RENAME)
|
||||
|
||||
if err != nil {
|
||||
beego.Error("监控配置文件失败 ->",err)
|
||||
beego.Error("监控配置文件失败 ->", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -446,7 +454,7 @@ func init() {
|
||||
if configPath, err := filepath.Abs(conf.ConfigurationFile); err == nil {
|
||||
conf.ConfigurationFile = configPath
|
||||
}
|
||||
gocaptcha.ReadFonts(conf.WorkingDir("static","fonts"), ".ttf")
|
||||
gocaptcha.ReadFonts(conf.WorkingDir("static", "fonts"), ".ttf")
|
||||
gob.Register(models.Member{})
|
||||
|
||||
if p, err := filepath.Abs(os.Args[0]); err == nil {
|
||||
|
Reference in New Issue
Block a user