Files
simple-memo/core/config.go
T
sunct 3c3bf53ae4 docs(website): 添加简记memo产品原型和UI设计规范文档
- 新增「简记memo」一体化小程序产品原型设计文档
- 新增简记memo完整版UI视觉设计规范和界面细节
- 添加IDEA项目配置文件.gitignore
- 创建404页面HTML文件,包含响应式布局和错误提示
- 添加关于页面HTML文件,展示品牌介绍和团队信息
- 实现AES加解密工具函数,支持请求体加密
- 添加用户协议页面基础框架
2026-07-31 14:12:32 +08:00

38 lines
1.0 KiB
Go

// 配置加载:区分dev/prod环境
package core
import (
"flag"
"simple-memo/global"
"github.com/spf13/viper"
)
// InitConfig 读取命令行参数 -env dev/prod
func InitConfig() {
// 读取启动参数
env := flag.String("env", "dev", "运行环境:dev 或 prod")
flag.Parse()
// 1. 获取项目根目录的绝对路径(基于当前执行文件的位置)
//exePath, err := os.Executable()
//if err != nil {
// panic(fmt.Sprintf("获取执行文件路径失败: %v", err))
//}
//projectRoot := filepath.Dir(exePath) // 执行文件在根目录,所以Dir就是根目录
// 2. 用绝对路径加载配置文件
v := viper.New()
v.SetConfigName("config-" + *env) // config-dev.yaml
v.SetConfigType("yaml")
v.AddConfigPath("../config") // 配置文件目录
//viper.AddConfigPath(filepath.Join(projectRoot, "config")) // 绝对路径:根目录/config
// 读取配置
if err := v.ReadInConfig(); err != nil {
panic("配置文件读取失败:" + err.Error())
}
global.VP = v // 赋值给全局
}