提交 8fac89ad 编写于 作者: Mr.奇淼('s avatar Mr.奇淼(

部分常量内容放入配置文件

上级 c5778697
...@@ -7,9 +7,15 @@ import ( ...@@ -7,9 +7,15 @@ import (
) )
type Config struct { type Config struct {
Admin Admin MysqlAdmin MysqlAdmin
Qiniu Qiniu
CasbinConfig CasbinConfig
} }
type Admin struct { type CasbinConfig struct {
ModelPath string // casbin model地址配置
}
type MysqlAdmin struct { // mysql admin 数据库配置
Username string Username string
Password string Password string
Path string Path string
...@@ -17,12 +23,17 @@ type Admin struct { ...@@ -17,12 +23,17 @@ type Admin struct {
Config string Config string
} }
var Dbconfig Config type Qiniu struct { // 七牛 密钥配置
AccessKey string
SecretKey string
}
var GinVueAdminconfig Config
func init() { func init() {
v := viper.New() v := viper.New()
v.SetConfigName("config") // 设置配置文件名 (不带后缀) v.SetConfigName("config") // 设置配置文件名 (不带后缀)
v.AddConfigPath("./static/dbconfig/") // 第一个搜索路径 v.AddConfigPath("./static/config/") // 第一个搜索路径
v.SetConfigType("json") v.SetConfigType("json")
err := v.ReadInConfig() // 搜索路径,并读取配置数据 err := v.ReadInConfig() // 搜索路径,并读取配置数据
if err != nil { if err != nil {
...@@ -32,7 +43,7 @@ func init() { ...@@ -32,7 +43,7 @@ func init() {
v.OnConfigChange(func(e fsnotify.Event) { v.OnConfigChange(func(e fsnotify.Event) {
fmt.Println("Config file changed:", e.Name) fmt.Println("Config file changed:", e.Name)
}) })
if err := v.Unmarshal(&Dbconfig); err != nil { if err := v.Unmarshal(&GinVueAdminconfig); err != nil {
fmt.Println(err) fmt.Println(err)
} }
} }
...@@ -3,14 +3,15 @@ package servers ...@@ -3,14 +3,15 @@ package servers
import ( import (
"context" "context"
"fmt" "fmt"
"gin-vue-admin/config"
"github.com/qiniu/api.v7/auth/qbox" "github.com/qiniu/api.v7/auth/qbox"
"github.com/qiniu/api.v7/storage" "github.com/qiniu/api.v7/storage"
"mime/multipart" "mime/multipart"
"time" "time"
) )
var accessKey string = "25j8dYBZ2wuiy0yhwShytjZDTX662b8xiFguwxzZ" // 你在七牛云的accessKey 这里是我个人测试号的key 仅供测试使用 恳请大家不要乱传东西 var accessKey string = config.GinVueAdminconfig.Qiniu.AccessKey // 你在七牛云的accessKey 这里是我个人测试号的key 仅供测试使用 恳请大家不要乱传东西
var secretKey string = "pgdbqEsf7ooZh7W3xokP833h3dZ_VecFXPDeG5JY" // 你在七牛云的secretKey 这里是我个人测试号的key 仅供测试使用 恳请大家不要乱传东西 var secretKey string = config.GinVueAdminconfig.Qiniu.SecretKey // 你在七牛云的secretKey 这里是我个人测试号的key 仅供测试使用 恳请大家不要乱传东西
// 接收两个参数 一个文件流 一个 bucket 你的七牛云标准空间的名字 // 接收两个参数 一个文件流 一个 bucket 你的七牛云标准空间的名字
func Upload(file *multipart.FileHeader, bucket string, urlPath string) (err error, path string, key string) { func Upload(file *multipart.FileHeader, bucket string, urlPath string) (err error, path string, key string) {
......
...@@ -10,7 +10,7 @@ import ( ...@@ -10,7 +10,7 @@ import (
var DEFAULTDB *gorm.DB var DEFAULTDB *gorm.DB
//初始化数据库并产生数据库全局变量 //初始化数据库并产生数据库全局变量
func InitMysql(admin config.Admin) *gorm.DB { func InitMysql(admin config.MysqlAdmin) *gorm.DB {
if db, err := gorm.Open("mysql", admin.Username+":"+admin.Password+"@("+admin.Path+")/"+admin.Dbname+"?"+admin.Config); err != nil { if db, err := gorm.Open("mysql", admin.Username+":"+admin.Password+"@("+admin.Path+")/"+admin.Dbname+"?"+admin.Config); err != nil {
log.Printf("DEFAULTDB数据库启动异常%S", err) log.Printf("DEFAULTDB数据库启动异常%S", err)
} else { } else {
......
...@@ -20,12 +20,12 @@ import ( ...@@ -20,12 +20,12 @@ import (
// @BasePath / // @BasePath /
func main() { func main() {
qmlog.InitLog() // 初始化日志 qmlog.InitLog() // 初始化日志
db := qmsql.InitMysql(config.Dbconfig.Admin) // 链接初始化数据库 db := qmsql.InitMysql(config.GinVueAdminconfig.MysqlAdmin) // 链接初始化数据库
registTable.RegistTable(db) //注册数据库表 registTable.RegistTable(db) //注册数据库表
defer qmsql.DEFAULTDB.Close() // 程序结束前关闭数据库链接 defer qmsql.DEFAULTDB.Close() // 程序结束前关闭数据库链接
Router := initRouter.InitRouter() //注册路由 Router := initRouter.InitRouter() //注册路由
qmlog.QMLog.Info("服务器开启") // 日志测试代码 qmlog.QMLog.Info("服务器开启") // 日志测试代码
//Router.RunTLS(":443","ssl.pem", "ssl.key") // https支持 需要添加中间件 //Router.RunTLS(":443","ssl.pem", "ssl.key") // https支持 需要添加中间件
s := &http.Server{ s := &http.Server{
Addr: ":8888", Addr: ":8888",
......
...@@ -2,6 +2,7 @@ package sysModel ...@@ -2,6 +2,7 @@ package sysModel
import ( import (
"errors" "errors"
"gin-vue-admin/config"
"gin-vue-admin/init/qmsql" "gin-vue-admin/init/qmsql"
"github.com/casbin/casbin" "github.com/casbin/casbin"
gormadapter "github.com/casbin/gorm-adapter" gormadapter "github.com/casbin/gorm-adapter"
...@@ -83,7 +84,7 @@ func ParamsMatchFunc(args ...interface{}) (interface{}, error) { ...@@ -83,7 +84,7 @@ func ParamsMatchFunc(args ...interface{}) (interface{}, error) {
//持久化到数据库 引入自定义规则 //持久化到数据库 引入自定义规则
func Casbin() *casbin.Enforcer { func Casbin() *casbin.Enforcer {
a := gormadapter.NewAdapterByDB(qmsql.DEFAULTDB) a := gormadapter.NewAdapterByDB(qmsql.DEFAULTDB)
e := casbin.NewEnforcer("./static/rbacmodel/rbac_model.conf", a) e := casbin.NewEnforcer(config.GinVueAdminconfig.CasbinConfig.ModelPath, a)
e.AddFunction("ParamsMatch", ParamsMatchFunc) e.AddFunction("ParamsMatch", ParamsMatchFunc)
e.LoadPolicy() e.LoadPolicy()
return e return e
......
{ {
"admin": { "mysqlAdmin": {
"username": "root", "username": "root",
"password": "Aa@6447985", "password": "Aa@6447985",
"path": "127.0.0.1:3306", "path": "127.0.0.1:3306",
"dbname": "qmplus", "dbname": "qmplus",
"config": "charset=utf8&parseTime=True&loc=Local" "config": "charset=utf8&parseTime=True&loc=Local"
},
"qiniu": {
"accessKey":"25j8dYBZ2wuiy0yhwShytjZDTX662b8xiFguwxzZ",
"secretKey": "pgdbqEsf7ooZh7W3xokP833h3dZ_VecFXPDeG5JY"
},
"casbinConfig":{
"modelPath":"./static/rbacmodel/rbac_model.conf"
} }
} }
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册