Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
FLIPPED-AURORA
gin-vue-admin
提交
326699ab
G
gin-vue-admin
项目概览
FLIPPED-AURORA
/
gin-vue-admin
大约 1 年 前同步成功
通知
333
Star
18155
Fork
5506
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gin-vue-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
326699ab
编写于
1月 13, 2020
作者:
Mr.奇淼(
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
配置管理 后台功能
上级
5d5782fd
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
159 addition
and
53 deletion
+159
-53
QMPlusServer/config/config.go
QMPlusServer/config/config.go
+28
-23
QMPlusServer/controller/api/sys_system.go
QMPlusServer/controller/api/sys_system.go
+60
-0
QMPlusServer/init/initRouter/init_router.go
QMPlusServer/init/initRouter/init_router.go
+1
-0
QMPlusServer/model/sysModel/sys_system.go
QMPlusServer/model/sysModel/sys_system.go
+16
-4
QMPlusServer/router/sys_system.go
QMPlusServer/router/sys_system.go
+14
-0
QMPlusServer/static/config/config.json
QMPlusServer/static/config/config.json
+26
-26
QMPlusServer/tools/struct_to_map.go
QMPlusServer/tools/struct_to_map.go
+14
-0
未找到文件。
QMPlusServer/config/config.go
浏览文件 @
326699ab
...
...
@@ -7,46 +7,47 @@ import (
)
type
Config
struct
{
MysqlAdmin
MysqlAdmin
Qiniu
Qiniu
CasbinConfig
CasbinConfig
RedisAdmin
RedisAdmin
System
System
JWT
JWT
MysqlAdmin
MysqlAdmin
`json:"mysqlAdmin"`
Qiniu
Qiniu
`json:"qiniu"`
CasbinConfig
CasbinConfig
`json:"casbinConfig"`
RedisAdmin
RedisAdmin
`json:"redisAdmin"`
System
System
`json:"system"`
JWT
JWT
`json:"jwt"`
}
type
System
struct
{
UseMultipoint
bool
Env
string
type
System
struct
{
// 系统配置
UseMultipoint
bool
`json:"useMultipoint"`
Env
string
`json:"env"`
}
type
JWT
struct
{
SigningKey
string
type
JWT
struct
{
// jwt签名
SigningKey
string
`json:"signingKey"`
}
type
CasbinConfig
struct
{
ModelPath
string
// casbin model地址配置
type
CasbinConfig
struct
{
//casbin配置
ModelPath
string
`json:"modelPath"`
// casbin model地址配置
}
type
MysqlAdmin
struct
{
// mysql admin 数据库配置
Username
string
Password
string
Path
string
Dbname
string
Config
string
Username
string
`json:"username"`
Password
string
`json:"password"`
Path
string
`json:"path"`
Dbname
string
`json:"dbname"`
Config
string
`json:"config"`
}
type
RedisAdmin
struct
{
// Redis admin 数据库配置
Addr
string
Password
string
DB
int
Addr
string
`json:"addr"`
Password
string
`json:"password"`
DB
int
`json:"db"`
}
type
Qiniu
struct
{
// 七牛 密钥配置
AccessKey
string
SecretKey
string
AccessKey
string
`json:"accessKey"`
SecretKey
string
`json:"secretKey"`
}
var
GinVueAdminconfig
Config
var
VTool
*
viper
.
Viper
func
init
()
{
v
:=
viper
.
New
()
...
...
@@ -60,8 +61,12 @@ func init() {
v
.
WatchConfig
()
v
.
OnConfigChange
(
func
(
e
fsnotify
.
Event
)
{
fmt
.
Println
(
"Config file changed:"
,
e
.
Name
)
if
err
:=
v
.
Unmarshal
(
&
GinVueAdminconfig
);
err
!=
nil
{
fmt
.
Println
(
err
)
}
})
if
err
:=
v
.
Unmarshal
(
&
GinVueAdminconfig
);
err
!=
nil
{
fmt
.
Println
(
err
)
}
VTool
=
v
}
QMPlusServer/controller/api/sys_system.go
浏览文件 @
326699ab
package
api
import
(
"fmt"
"gin-vue-admin/controller/servers"
"gin-vue-admin/model/sysModel"
"github.com/gin-gonic/gin"
)
// @Tags system
// @Summary 获取配置文件内容
// @Security ApiKeyAuth
// @Produce application/json
// @Success 200 {string} string "{"success":true,"data":{},"msg":"返回成功"}"
// @Router /system/getSystemConfig [post]
func
GetSystemConfig
(
c
*
gin
.
Context
)
{
err
,
config
:=
new
(
sysModel
.
System
)
.
GetSystemConfig
()
if
err
!=
nil
{
servers
.
ReportFormat
(
c
,
false
,
fmt
.
Sprintf
(
"获取失败:%v"
,
err
),
gin
.
H
{})
}
else
{
servers
.
ReportFormat
(
c
,
true
,
"获取成功"
,
gin
.
H
{
"config"
:
config
})
}
}
// @Tags system
// @Summary 设置配置文件内容
// @Security ApiKeyAuth
// @Produce application/json
// @Param data body sysModel.System true
// @Success 200 {string} string "{"success":true,"data":{},"msg":"返回成功"}"
// @Router /system/setSystemConfig [post]
func
SetSystemConfig
(
c
*
gin
.
Context
)
{
var
sys
sysModel
.
System
_
=
c
.
ShouldBind
(
&
sys
)
err
:=
sys
.
SetSystemConfig
()
if
err
!=
nil
{
servers
.
ReportFormat
(
c
,
false
,
fmt
.
Sprintf
(
"设置失败:%v"
,
err
),
gin
.
H
{})
}
else
{
servers
.
ReportFormat
(
c
,
true
,
"设置成功"
,
gin
.
H
{})
}
}
// @Tags system
// @Summary 设置配置文件内容
// @Security ApiKeyAuth
// @Produce application/json
// @Param data body sysModel.System true
// @Success 200 {string} string "{"success":true,"data":{},"msg":"返回成功"}"
// @Router /system/ReloadSystem [post]
func
ReloadSystem
(
c
*
gin
.
Context
)
{
var
sys
sysModel
.
System
_
=
c
.
ShouldBind
(
&
sys
)
err
:=
sys
.
SetSystemConfig
()
if
err
!=
nil
{
servers
.
ReportFormat
(
c
,
false
,
fmt
.
Sprintf
(
"设置失败:%v"
,
err
),
gin
.
H
{})
}
else
{
servers
.
ReportFormat
(
c
,
true
,
"设置成功"
,
gin
.
H
{})
}
}
\ No newline at end of file
QMPlusServer/init/initRouter/init_router.go
浏览文件 @
326699ab
...
...
@@ -26,5 +26,6 @@ func InitRouter() *gin.Engine {
router
.
InitWorkflowRouter
(
ApiGroup
)
// 工作流相关路由
router
.
InitCasbinRouter
(
ApiGroup
)
// 权限相关路由
router
.
InitJwtRouter
(
ApiGroup
)
// jwt相关路由
router
.
InitSystemRouter
(
ApiGroup
)
// system相关路由
return
Router
}
QMPlusServer/model/sysModel/sys_system.go
浏览文件 @
326699ab
package
sysModel
import
"gin-vue-admin/config"
import
(
"gin-vue-admin/config"
"gin-vue-admin/tools"
)
type
System
struct
{
c
onfig
config
.
Config
C
onfig
config
.
Config
}
func
test
(
){
func
(
s
*
System
)
GetSystemConfig
()(
err
error
,
conf
config
.
Config
){
return
nil
,
config
.
GinVueAdminconfig
}
func
(
s
*
System
)
SetSystemConfig
()(
err
error
){
confs
:=
tools
.
StructToMap
(
s
.
Config
)
for
k
,
v
:=
range
confs
{
config
.
VTool
.
Set
(
k
,
v
)
}
err
=
config
.
VTool
.
WriteConfig
()
return
err
}
\ No newline at end of file
QMPlusServer/router/sys_system.go
浏览文件 @
326699ab
package
router
import
(
"gin-vue-admin/controller/api"
"gin-vue-admin/middleware"
"github.com/gin-gonic/gin"
)
func
InitSystemRouter
(
Router
*
gin
.
RouterGroup
)
{
UserRouter
:=
Router
.
Group
(
"system"
)
.
Use
(
middleware
.
JWTAuth
())
.
Use
(
middleware
.
CasbinHandler
())
{
UserRouter
.
POST
(
"getSystemConfig"
,
api
.
GetSystemConfig
)
// 获取配置文件内容
UserRouter
.
POST
(
"setSystemConfig"
,
api
.
SetSystemConfig
)
// 设置配置文件内容
}
}
QMPlusServer/static/config/config.json
浏览文件 @
326699ab
{
"system
"
:
{
"useMultipoint"
:
false
,
"env"
:
"develop"
},
"
jwt"
:
{
"signingKey"
:
"qmPlus"
},
"
mysqlAdmin"
:
{
"username"
:
"root
"
,
"password"
:
"Aa@6447985
"
,
"path"
:
"127.0.0.1:3306
"
,
"dbname"
:
"qmplus"
,
"config"
:
"charset=utf8&parseTime=True&loc=Local"
},
"
redisAdmin"
:
{
"addr"
:
"127.0.0.1:6379"
,
"password"
:
""
,
"DB"
:
0
}
,
"
qiniu"
:
{
"accessKey"
:
"25j8dYBZ2wuiy0yhwShytjZDTX662b8xiFguwxzZ"
,
"secretKey"
:
"pgdbqEsf7ooZh7W3xokP833h3dZ_VecFXPDeG5JY"
},
"
casbinConfig"
:
{
"modelPath"
:
"./static/rbacmodel/rbac_model.conf
"
}
"casbinconfig
"
:
{
"modelPath"
:
"./static/rbacmodel/rbac_model.conf"
},
"jwt"
:
{
"
signingKey"
:
"qmPlus"
},
"mysqladmin"
:
{
"
username"
:
"root"
,
"password"
:
"Aa@6447985
"
,
"path"
:
"127.0.0.1:3306
"
,
"dbname"
:
"qmplus
"
,
"config"
:
"charset=utf8
\u
0026parseTime=True
\u
0026loc=Local"
},
"qiniu"
:
{
"
accessKey"
:
"25j8dYBZ2wuiy0yhwShytjZDTX662b8xiFguwxzZ"
,
"secretKey"
:
"pgdbqEsf7ooZh7W3xokP833h3dZ_VecFXPDeG5JY"
}
,
"redisadmin"
:
{
"addr"
:
"127.0.0.1:6379"
,
"
password"
:
""
,
"db"
:
0
},
"system"
:
{
"
useMultipoint"
:
false
,
"env"
:
"develop
"
}
}
\ No newline at end of file
QMPlusServer/tools/struct_to_map.go
浏览文件 @
326699ab
package
tools
import
"reflect"
// 利用反射将结构体转化为map
func
StructToMap
(
obj
interface
{})
map
[
string
]
interface
{}{
obj1
:=
reflect
.
TypeOf
(
obj
)
obj2
:=
reflect
.
ValueOf
(
obj
)
var
data
=
make
(
map
[
string
]
interface
{})
for
i
:=
0
;
i
<
obj1
.
NumField
();
i
++
{
data
[
obj1
.
Field
(
i
)
.
Name
]
=
obj2
.
Field
(
i
)
.
Interface
()
}
return
data
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录