mirror of
https://github.com/jerryWangor/iris_web.git
synced 2025-09-27 12:12:13 +08:00
64 lines
2.9 KiB
Go
64 lines
2.9 KiB
Go
// +----------------------------------------------------------------------
|
||
// | EasyGoAdmin敏捷开发框架 [ 赋能开发者,助力企业发展 ]
|
||
// +----------------------------------------------------------------------
|
||
// | 版权所有 2019~2022 深圳EasyGoAdmin研发中心
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed LGPL-3.0 EasyGoAdmin并不是自由软件,未经许可禁止去掉相关版权
|
||
// +----------------------------------------------------------------------
|
||
// | 官方网站: http://www.easygoadmin.vip
|
||
// +----------------------------------------------------------------------
|
||
// | Author: @半城风雨 团队荣誉出品
|
||
// +----------------------------------------------------------------------
|
||
// | 版权和免责声明:
|
||
// | 本团队对该软件框架产品拥有知识产权(包括但不限于商标权、专利权、著作权、商业秘密等)
|
||
// | 均受到相关法律法规的保护,任何个人、组织和单位不得在未经本团队书面授权的情况下对所授权
|
||
// | 软件框架产品本身申请相关的知识产权,禁止用于任何违法、侵害他人合法权益等恶意的行为,禁
|
||
// | 止用于任何违反我国法律法规的一切项目研发,任何个人、组织和单位用于项目研发而产生的任何
|
||
// | 意外、疏忽、合约毁坏、诽谤、版权或知识产权侵犯及其造成的损失 (包括但不限于直接、间接、
|
||
// | 附带或衍生的损失等),本团队不承担任何法律责任,本软件框架禁止任何单位和个人、组织用于
|
||
// | 任何违法、侵害他人合法利益等恶意的行为,如有发现违规、违法的犯罪行为,本团队将无条件配
|
||
// | 合公安机关调查取证同时保留一切以法律手段起诉的权利,本软件框架只能用于公司和个人内部的
|
||
// | 法律所允许的合法合规的软件产品研发,详细声明内容请阅读《框架免责声明》附件;
|
||
// +----------------------------------------------------------------------
|
||
|
||
package boot
|
||
|
||
import (
|
||
"easygoadmin/conf"
|
||
"fmt"
|
||
"github.com/fsnotify/fsnotify"
|
||
"github.com/spf13/viper"
|
||
"os"
|
||
)
|
||
|
||
// 加载配置文件
|
||
func init() {
|
||
var config string
|
||
if configEnv := os.Getenv(conf.ConfigEnv); configEnv == "" {
|
||
config = conf.ConfigFile
|
||
fmt.Printf("您正在使用config的默认值,config的路径为%v\n", conf.ConfigFile)
|
||
} else {
|
||
config = configEnv
|
||
fmt.Printf("您正在使用CONFIG环境变量,config的路径为%v\n", config)
|
||
}
|
||
|
||
v := viper.New()
|
||
v.SetConfigFile(config)
|
||
err := v.ReadInConfig()
|
||
if err != nil {
|
||
panic(fmt.Errorf("fatal error config file: %s ", err))
|
||
}
|
||
v.WatchConfig()
|
||
|
||
v.OnConfigChange(func(e fsnotify.Event) {
|
||
fmt.Println("config file changed:", e.Name)
|
||
if err := v.Unmarshal(&conf.CONFIG); err != nil {
|
||
panic(err)
|
||
}
|
||
})
|
||
|
||
if err := v.Unmarshal(&conf.CONFIG); err != nil {
|
||
panic(err)
|
||
}
|
||
}
|