diff --git a/api/config.sample.toml b/api/config.sample.toml index 700b122c..3978b2df 100644 --- a/api/config.sample.toml +++ b/api/config.sample.toml @@ -56,6 +56,13 @@ WeChatBot = false AccessSecret = "" Bucket = "" Domain = "" # OSS Bucket 所绑定的域名,如 https://img.r9it.com + [OSS.AliYun] + Endpoint = "oss-cn-hangzhou.aliyuncs.com" + AccessKey = "" + AccessSecret = "" + Bucket = "chatgpt-plus" + SubDir = "" + Domain = "" [[MjConfigs]] Enabled = false diff --git a/api/core/types/config.go b/api/core/types/config.go index 17cde49a..a3ae1b04 100644 --- a/api/core/types/config.go +++ b/api/core/types/config.go @@ -150,8 +150,9 @@ type SystemConfig struct { EnabledReward bool `json:"enabled_reward,omitempty"` // 启用众筹功能 PowerPrice float64 `json:"power_price,omitempty"` // 算力单价 - OrderPayTimeout int `json:"order_pay_timeout,omitempty"` //订单支付超时时间 - DefaultModels []int `json:"default_models,omitempty"` // 默认开通的 AI 模型 + OrderPayTimeout int `json:"order_pay_timeout,omitempty"` //订单支付超时时间 + VipInfoText string `json:"vip_info_text"` // 会员页面充值说明 + DefaultModels []int `json:"default_models,omitempty"` // 默认开通的 AI 模型 MjPower int `json:"mj_power,omitempty"` // MJ 绘画消耗算力 SdPower int `json:"sd_power,omitempty"` // SD 绘画消耗算力 diff --git a/api/handler/admin/user_handler.go b/api/handler/admin/user_handler.go index 1bf84e9a..1bc70b40 100644 --- a/api/handler/admin/user_handler.go +++ b/api/handler/admin/user_handler.go @@ -89,7 +89,7 @@ func (h *UserHandler) Save(c *gin.Context) { resp.ERROR(c, "user not found") return } - var changePower = user.Power != data.Power + var oldPower = user.Power user.Username = data.Username user.Status = data.Status user.Vip = data.Vip @@ -98,22 +98,28 @@ func (h *UserHandler) Save(c *gin.Context) { user.ChatModels = utils.JsonEncode(data.ChatModels) user.ExpiredTime = utils.Str2stamp(data.ExpiredTime) - res = h.DB.Updates(&user) + res = h.DB.Select("username", "status", "vip", "power", "chat_roles_json", "chat_models_json", "expired_time").Updates(&user) if res.Error != nil { resp.ERROR(c, "更新数据库失败!") return } // 记录算力日志 - if changePower { + if oldPower != user.Power { + mark := types.PowerAdd + amount := user.Power - oldPower + if oldPower > user.Power { + mark = types.PowerSub + amount = oldPower - user.Power + } h.DB.Create(&model.PowerLog{ UserId: user.Id, Username: user.Username, Type: types.PowerGift, - Amount: user.Power, + Amount: amount, Balance: user.Power, - Mark: types.PowerAdd, + Mark: mark, Model: "管理员", - Remark: fmt.Sprintf("后台管理员强制修改用户算力,修改值:%d, 管理员ID:%d", user.Power, h.GetLoginUserId(c)), + Remark: fmt.Sprintf("后台管理员强制修改用户算力,修改前:%d,修改后:%d, 管理员ID:%d", oldPower, user.Power, h.GetLoginUserId(c)), CreatedAt: time.Now(), }) } diff --git a/deploy/conf/config.toml b/deploy/conf/config.toml index 8fdf8201..c4ed68c3 100644 --- a/deploy/conf/config.toml +++ b/deploy/conf/config.toml @@ -59,6 +59,13 @@ WeChatBot = false AccessSecret = "" Bucket = "" Domain = "" # OSS Bucket 所绑定的域名,如 https://img.r9it.com + [OSS.AliYun] + Endpoint = "oss-cn-hangzhou.aliyuncs.com" + AccessKey = "" + AccessSecret = "" + Bucket = "chatgpt-plus" + SubDir = "" + Domain = "" [[MjConfigs]] Enabled = false diff --git a/web/src/views/Home.vue b/web/src/views/Home.vue index 95888bf3..db214038 100644 --- a/web/src/views/Home.vue +++ b/web/src/views/Home.vue @@ -31,10 +31,12 @@