diff --git a/api/core/app_server.go b/api/core/app_server.go
index 4207808e..24cf805f 100644
--- a/api/core/app_server.go
+++ b/api/core/app_server.go
@@ -60,13 +60,28 @@ func (s *AppServer) Init(debug bool, client *redis.Client) {
}
func (s *AppServer) Run(db *gorm.DB) error {
+
+ // 重命名 config 表字段
+ if db.Migrator().HasColumn(&model.Config{}, "config_json") {
+ db.Migrator().RenameColumn(&model.Config{}, "config_json", "value")
+ }
+ if db.Migrator().HasColumn(&model.Config{}, "marker") {
+ db.Migrator().RenameColumn(&model.Config{}, "marker", "name")
+ }
+ if db.Migrator().HasIndex(&model.Config{}, "idx_chatgpt_configs_key") {
+ db.Migrator().DropIndex(&model.Config{}, "idx_chatgpt_configs_key")
+ }
+ if db.Migrator().HasIndex(&model.Config{}, "marker") {
+ db.Migrator().DropIndex(&model.Config{}, "marker")
+ }
+
// load system configs
var sysConfig model.Config
- err := db.Where("marker", "system").First(&sysConfig).Error
+ err := db.Where("name", "system").First(&sysConfig).Error
if err != nil {
return fmt.Errorf("failed to load system config: %v", err)
}
- err = utils.JsonDecode(sysConfig.Config, &s.SysConfig)
+ err = utils.JsonDecode(sysConfig.Value, &s.SysConfig)
if err != nil {
return fmt.Errorf("failed to decode system config: %v", err)
}
diff --git a/api/handler/admin/config_handler.go b/api/handler/admin/config_handler.go
index aa332b92..76d9ce73 100644
--- a/api/handler/admin/config_handler.go
+++ b/api/handler/admin/config_handler.go
@@ -66,15 +66,15 @@ func (h *ConfigHandler) Update(c *gin.Context) {
}
value := utils.JsonEncode(&data.Config)
- config := model.Config{Key: data.Key, Config: value}
- res := h.DB.FirstOrCreate(&config, model.Config{Key: data.Key})
+ config := model.Config{Name: data.Key, Value: value}
+ res := h.DB.FirstOrCreate(&config, model.Config{Name: data.Key})
if res.Error != nil {
resp.ERROR(c, res.Error.Error())
return
}
if config.Id > 0 {
- config.Config = value
+ config.Value = value
res := h.DB.Updates(&config)
if res.Error != nil {
resp.ERROR(c, res.Error.Error())
@@ -83,16 +83,16 @@ func (h *ConfigHandler) Update(c *gin.Context) {
// update config cache for AppServer
var cfg model.Config
- h.DB.Where("marker", data.Key).First(&cfg)
+ h.DB.Where("name", data.Key).First(&cfg)
var err error
if data.Key == "system" {
- err = utils.JsonDecode(cfg.Config, &h.App.SysConfig)
+ err = utils.JsonDecode(cfg.Value, &h.App.SysConfig)
}
if err != nil {
resp.ERROR(c, "Failed to update config cache: "+err.Error())
return
}
- logger.Infof("Update AppServer's config successfully: %v", config.Config)
+ logger.Infof("Update AppServer's config successfully: %v", config.Value)
}
resp.SUCCESS(c, config)
@@ -102,14 +102,14 @@ func (h *ConfigHandler) Update(c *gin.Context) {
func (h *ConfigHandler) Get(c *gin.Context) {
key := c.Query("key")
var config model.Config
- res := h.DB.Where("marker", key).First(&config)
+ res := h.DB.Where("name", key).First(&config)
if res.Error != nil {
resp.ERROR(c, res.Error.Error())
return
}
var value map[string]interface{}
- err := utils.JsonDecode(config.Config, &value)
+ err := utils.JsonDecode(config.Value, &value)
if err != nil {
resp.ERROR(c, err.Error())
return
diff --git a/api/handler/config_handler.go b/api/handler/config_handler.go
index 30e33b8a..e69b452c 100644
--- a/api/handler/config_handler.go
+++ b/api/handler/config_handler.go
@@ -31,14 +31,14 @@ func NewConfigHandler(app *core.AppServer, db *gorm.DB, licenseService *service.
func (h *ConfigHandler) Get(c *gin.Context) {
key := c.Query("key")
var config model.Config
- res := h.DB.Where("marker", key).First(&config)
+ res := h.DB.Where("name", key).First(&config)
if res.Error != nil {
resp.ERROR(c, res.Error.Error())
return
}
- var value map[string]interface{}
- err := utils.JsonDecode(config.Config, &value)
+ var value map[string]any
+ err := utils.JsonDecode(config.Value, &value)
if err != nil {
resp.ERROR(c, err.Error())
return
diff --git a/api/store/model/config.go b/api/store/model/config.go
index 09ae709a..494311b7 100644
--- a/api/store/model/config.go
+++ b/api/store/model/config.go
@@ -1,9 +1,9 @@
package model
type Config struct {
- Id uint `gorm:"column:id;primaryKey;autoIncrement" json:"id"`
- Key string `gorm:"column:marker;type:varchar(20);uniqueIndex;not null;comment:标识" json:"marker"`
- Config string `gorm:"column:config_json;type:text;not null" json:"config_json"`
+ Id uint `gorm:"column:id;primaryKey;autoIncrement"`
+ Name string `gorm:"column:name;type:varchar(20);uniqueIndex;not null;comment:配置名称"`
+ Value string `gorm:"column:value;type:text;not null"`
}
func (m *Config) TableName() string {
diff --git a/api/store/vo/config.go b/api/store/vo/config.go
deleted file mode 100644
index a0e79075..00000000
--- a/api/store/vo/config.go
+++ /dev/null
@@ -1,9 +0,0 @@
-package vo
-
-import "geekai/core/types"
-
-type Config struct {
- Id uint `json:"id"`
- Key string `json:"key"`
- SystemConfig types.SystemConfig `json:"system_config"`
-}
diff --git a/web/src/assets/css/main.styl b/web/src/assets/css/main.styl
index 5510d7ca..1434c405 100644
--- a/web/src/assets/css/main.styl
+++ b/web/src/assets/css/main.styl
@@ -184,21 +184,7 @@ body {
.w-100 {
width 100%
}
-.mr-1 {
- margin-right 0.5rem
-}
-.mr-2 {
- margin-right 1rem
-}
-
-.ml-1 {
- margin-left 0.5rem
-}
-
-.ml-2 {
- margin-left 1rem
-}
.d-flex {
display flex !important
@@ -218,21 +204,3 @@ body {
.align-center {
align-items center
}
-
-
-
-.p-1 {
- padding 0.5rem
-}
-
-.p-2 {
- padding 1rem
-}
-
-.m-1 {
- margin 0.5rem
-}
-
-.m-2 {
- margin 1rem
-}
diff --git a/web/src/components/admin/AdminSidebar.vue b/web/src/components/admin/AdminSidebar.vue
index 8f852cdd..3a6da3f6 100644
--- a/web/src/components/admin/AdminSidebar.vue
+++ b/web/src/components/admin/AdminSidebar.vue
@@ -159,10 +159,23 @@ const items = [
index: '/admin/medias',
title: '音视频记录',
},
+ ],
+ },
+ {
+ icon: 'jimeng',
+ index: '/admin/jimeng',
+ title: '即梦AI',
+ subs: [
{
- icon: 'image',
- index: '/admin/jimeng',
- title: '即梦AI任务',
+ icon: 'list',
+ index: '/admin/jimeng/jobs',
+ title: '任务列表',
+ },
+
+ {
+ icon: 'config',
+ index: '/admin/jimeng/config',
+ title: '即梦设置',
},
],
},
diff --git a/web/src/router.js b/web/src/router.js
index 83093a66..a4396afd 100644
--- a/web/src/router.js
+++ b/web/src/router.js
@@ -259,10 +259,16 @@ const routes = [
component: () => import('@/views/admin/records/Medias.vue'),
},
{
- path: '/admin/jimeng',
- name: 'admin-jimeng',
- meta: { title: '即梦AI管理' },
- component: () => import('@/views/admin/JimengJobs.vue'),
+ path: '/admin/jimeng/jobs',
+ name: 'admin-jimeng-jobs',
+ meta: { title: '即梦AI任务' },
+ component: () => import('@/views/admin/jimeng/JimengJobs.vue'),
+ },
+ {
+ path: '/admin/jimeng/config',
+ name: 'admin-jimeng-config',
+ meta: { title: '即梦设置' },
+ component: () => import('@/views/admin/jimeng/JimengSetting.vue'),
},
{
path: '/admin/powerLog',
@@ -364,4 +370,4 @@ router.beforeEach((to, from, next) => {
next()
})
-export { router, prevRoute }
+export { prevRoute, router }
diff --git a/web/src/views/admin/JimengJobs.vue b/web/src/views/admin/jimeng/JimengJobs.vue
similarity index 100%
rename from web/src/views/admin/JimengJobs.vue
rename to web/src/views/admin/jimeng/JimengJobs.vue
diff --git a/web/src/views/admin/jimeng/JimengSetting.vue b/web/src/views/admin/jimeng/JimengSetting.vue
new file mode 100644
index 00000000..367989c4
--- /dev/null
+++ b/web/src/views/admin/jimeng/JimengSetting.vue
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+