Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
new-api
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
e24a3f75
authored
May 05, 2025
by
tbphp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: rm debug file
parent
c9ce1210
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
403 deletions
+0
-403
.old/option.go
+0
-403
No files found.
.old/option.go
deleted
100644 → 0
View file @
c9ce1210
package
model
import
(
"one-api/common"
"one-api/setting"
"one-api/setting/config"
"one-api/setting/operation_setting"
"strconv"
"strings"
"time"
)
type
Option
struct
{
Key
string
`json:"key" gorm:"primaryKey"`
Value
string
`json:"value"`
}
func
AllOption
()
([]
*
Option
,
error
)
{
var
options
[]
*
Option
var
err
error
err
=
DB
.
Find
(
&
options
)
.
Error
return
options
,
err
}
func
InitOptionMap
()
{
common
.
OptionMapRWMutex
.
Lock
()
common
.
OptionMap
=
make
(
map
[
string
]
string
)
// 添加原有的系统配置
common
.
OptionMap
[
"FileUploadPermission"
]
=
strconv
.
Itoa
(
common
.
FileUploadPermission
)
common
.
OptionMap
[
"FileDownloadPermission"
]
=
strconv
.
Itoa
(
common
.
FileDownloadPermission
)
common
.
OptionMap
[
"ImageUploadPermission"
]
=
strconv
.
Itoa
(
common
.
ImageUploadPermission
)
common
.
OptionMap
[
"ImageDownloadPermission"
]
=
strconv
.
Itoa
(
common
.
ImageDownloadPermission
)
common
.
OptionMap
[
"PasswordLoginEnabled"
]
=
strconv
.
FormatBool
(
common
.
PasswordLoginEnabled
)
common
.
OptionMap
[
"PasswordRegisterEnabled"
]
=
strconv
.
FormatBool
(
common
.
PasswordRegisterEnabled
)
common
.
OptionMap
[
"EmailVerificationEnabled"
]
=
strconv
.
FormatBool
(
common
.
EmailVerificationEnabled
)
common
.
OptionMap
[
"GitHubOAuthEnabled"
]
=
strconv
.
FormatBool
(
common
.
GitHubOAuthEnabled
)
common
.
OptionMap
[
"LinuxDOOAuthEnabled"
]
=
strconv
.
FormatBool
(
common
.
LinuxDOOAuthEnabled
)
common
.
OptionMap
[
"TelegramOAuthEnabled"
]
=
strconv
.
FormatBool
(
common
.
TelegramOAuthEnabled
)
common
.
OptionMap
[
"WeChatAuthEnabled"
]
=
strconv
.
FormatBool
(
common
.
WeChatAuthEnabled
)
common
.
OptionMap
[
"TurnstileCheckEnabled"
]
=
strconv
.
FormatBool
(
common
.
TurnstileCheckEnabled
)
common
.
OptionMap
[
"RegisterEnabled"
]
=
strconv
.
FormatBool
(
common
.
RegisterEnabled
)
common
.
OptionMap
[
"AutomaticDisableChannelEnabled"
]
=
strconv
.
FormatBool
(
common
.
AutomaticDisableChannelEnabled
)
common
.
OptionMap
[
"AutomaticEnableChannelEnabled"
]
=
strconv
.
FormatBool
(
common
.
AutomaticEnableChannelEnabled
)
common
.
OptionMap
[
"LogConsumeEnabled"
]
=
strconv
.
FormatBool
(
common
.
LogConsumeEnabled
)
common
.
OptionMap
[
"DisplayInCurrencyEnabled"
]
=
strconv
.
FormatBool
(
common
.
DisplayInCurrencyEnabled
)
common
.
OptionMap
[
"DisplayTokenStatEnabled"
]
=
strconv
.
FormatBool
(
common
.
DisplayTokenStatEnabled
)
common
.
OptionMap
[
"DrawingEnabled"
]
=
strconv
.
FormatBool
(
common
.
DrawingEnabled
)
common
.
OptionMap
[
"TaskEnabled"
]
=
strconv
.
FormatBool
(
common
.
TaskEnabled
)
common
.
OptionMap
[
"DataExportEnabled"
]
=
strconv
.
FormatBool
(
common
.
DataExportEnabled
)
common
.
OptionMap
[
"ChannelDisableThreshold"
]
=
strconv
.
FormatFloat
(
common
.
ChannelDisableThreshold
,
'f'
,
-
1
,
64
)
common
.
OptionMap
[
"EmailDomainRestrictionEnabled"
]
=
strconv
.
FormatBool
(
common
.
EmailDomainRestrictionEnabled
)
common
.
OptionMap
[
"EmailAliasRestrictionEnabled"
]
=
strconv
.
FormatBool
(
common
.
EmailAliasRestrictionEnabled
)
common
.
OptionMap
[
"EmailDomainWhitelist"
]
=
strings
.
Join
(
common
.
EmailDomainWhitelist
,
","
)
common
.
OptionMap
[
"SMTPServer"
]
=
""
common
.
OptionMap
[
"SMTPFrom"
]
=
""
common
.
OptionMap
[
"SMTPPort"
]
=
strconv
.
Itoa
(
common
.
SMTPPort
)
common
.
OptionMap
[
"SMTPAccount"
]
=
""
common
.
OptionMap
[
"SMTPToken"
]
=
""
common
.
OptionMap
[
"SMTPSSLEnabled"
]
=
strconv
.
FormatBool
(
common
.
SMTPSSLEnabled
)
common
.
OptionMap
[
"Notice"
]
=
""
common
.
OptionMap
[
"About"
]
=
""
common
.
OptionMap
[
"HomePageContent"
]
=
""
common
.
OptionMap
[
"Footer"
]
=
common
.
Footer
common
.
OptionMap
[
"SystemName"
]
=
common
.
SystemName
common
.
OptionMap
[
"Logo"
]
=
common
.
Logo
common
.
OptionMap
[
"ServerAddress"
]
=
""
common
.
OptionMap
[
"WorkerUrl"
]
=
setting
.
WorkerUrl
common
.
OptionMap
[
"WorkerValidKey"
]
=
setting
.
WorkerValidKey
common
.
OptionMap
[
"PayAddress"
]
=
""
common
.
OptionMap
[
"CustomCallbackAddress"
]
=
""
common
.
OptionMap
[
"EpayId"
]
=
""
common
.
OptionMap
[
"EpayKey"
]
=
""
common
.
OptionMap
[
"Price"
]
=
strconv
.
FormatFloat
(
setting
.
Price
,
'f'
,
-
1
,
64
)
common
.
OptionMap
[
"MinTopUp"
]
=
strconv
.
Itoa
(
setting
.
MinTopUp
)
common
.
OptionMap
[
"TopupGroupRatio"
]
=
common
.
TopupGroupRatio2JSONString
()
common
.
OptionMap
[
"Chats"
]
=
setting
.
Chats2JsonString
()
common
.
OptionMap
[
"GitHubClientId"
]
=
""
common
.
OptionMap
[
"GitHubClientSecret"
]
=
""
common
.
OptionMap
[
"TelegramBotToken"
]
=
""
common
.
OptionMap
[
"TelegramBotName"
]
=
""
common
.
OptionMap
[
"WeChatServerAddress"
]
=
""
common
.
OptionMap
[
"WeChatServerToken"
]
=
""
common
.
OptionMap
[
"WeChatAccountQRCodeImageURL"
]
=
""
common
.
OptionMap
[
"TurnstileSiteKey"
]
=
""
common
.
OptionMap
[
"TurnstileSecretKey"
]
=
""
common
.
OptionMap
[
"QuotaForNewUser"
]
=
strconv
.
Itoa
(
common
.
QuotaForNewUser
)
common
.
OptionMap
[
"QuotaForInviter"
]
=
strconv
.
Itoa
(
common
.
QuotaForInviter
)
common
.
OptionMap
[
"QuotaForInvitee"
]
=
strconv
.
Itoa
(
common
.
QuotaForInvitee
)
common
.
OptionMap
[
"QuotaRemindThreshold"
]
=
strconv
.
Itoa
(
common
.
QuotaRemindThreshold
)
common
.
OptionMap
[
"PreConsumedQuota"
]
=
strconv
.
Itoa
(
common
.
PreConsumedQuota
)
common
.
OptionMap
[
"ModelRequestRateLimitCount"
]
=
strconv
.
Itoa
(
setting
.
ModelRequestRateLimitCount
)
common
.
OptionMap
[
"ModelRequestRateLimitDurationMinutes"
]
=
strconv
.
Itoa
(
setting
.
ModelRequestRateLimitDurationMinutes
)
common
.
OptionMap
[
"ModelRequestRateLimitSuccessCount"
]
=
strconv
.
Itoa
(
setting
.
ModelRequestRateLimitSuccessCount
)
common
.
OptionMap
[
"ModelRatio"
]
=
operation_setting
.
ModelRatio2JSONString
()
common
.
OptionMap
[
"ModelPrice"
]
=
operation_setting
.
ModelPrice2JSONString
()
common
.
OptionMap
[
"CacheRatio"
]
=
operation_setting
.
CacheRatio2JSONString
()
common
.
OptionMap
[
"GroupRatio"
]
=
setting
.
GroupRatio2JSONString
()
common
.
OptionMap
[
"UserUsableGroups"
]
=
setting
.
UserUsableGroups2JSONString
()
common
.
OptionMap
[
"CompletionRatio"
]
=
operation_setting
.
CompletionRatio2JSONString
()
common
.
OptionMap
[
"TopUpLink"
]
=
common
.
TopUpLink
//common.OptionMap["ChatLink"] = common.ChatLink
//common.OptionMap["ChatLink2"] = common.ChatLink2
common
.
OptionMap
[
"QuotaPerUnit"
]
=
strconv
.
FormatFloat
(
common
.
QuotaPerUnit
,
'f'
,
-
1
,
64
)
common
.
OptionMap
[
"RetryTimes"
]
=
strconv
.
Itoa
(
common
.
RetryTimes
)
common
.
OptionMap
[
"DataExportInterval"
]
=
strconv
.
Itoa
(
common
.
DataExportInterval
)
common
.
OptionMap
[
"DataExportDefaultTime"
]
=
common
.
DataExportDefaultTime
common
.
OptionMap
[
"DefaultCollapseSidebar"
]
=
strconv
.
FormatBool
(
common
.
DefaultCollapseSidebar
)
common
.
OptionMap
[
"MjNotifyEnabled"
]
=
strconv
.
FormatBool
(
setting
.
MjNotifyEnabled
)
common
.
OptionMap
[
"MjAccountFilterEnabled"
]
=
strconv
.
FormatBool
(
setting
.
MjAccountFilterEnabled
)
common
.
OptionMap
[
"MjModeClearEnabled"
]
=
strconv
.
FormatBool
(
setting
.
MjModeClearEnabled
)
common
.
OptionMap
[
"MjForwardUrlEnabled"
]
=
strconv
.
FormatBool
(
setting
.
MjForwardUrlEnabled
)
common
.
OptionMap
[
"MjActionCheckSuccessEnabled"
]
=
strconv
.
FormatBool
(
setting
.
MjActionCheckSuccessEnabled
)
common
.
OptionMap
[
"CheckSensitiveEnabled"
]
=
strconv
.
FormatBool
(
setting
.
CheckSensitiveEnabled
)
common
.
OptionMap
[
"DemoSiteEnabled"
]
=
strconv
.
FormatBool
(
operation_setting
.
DemoSiteEnabled
)
common
.
OptionMap
[
"SelfUseModeEnabled"
]
=
strconv
.
FormatBool
(
operation_setting
.
SelfUseModeEnabled
)
common
.
OptionMap
[
"ModelRequestRateLimitEnabled"
]
=
strconv
.
FormatBool
(
setting
.
ModelRequestRateLimitEnabled
)
common
.
OptionMap
[
"CheckSensitiveOnPromptEnabled"
]
=
strconv
.
FormatBool
(
setting
.
CheckSensitiveOnPromptEnabled
)
common
.
OptionMap
[
"StopOnSensitiveEnabled"
]
=
strconv
.
FormatBool
(
setting
.
StopOnSensitiveEnabled
)
common
.
OptionMap
[
"SensitiveWords"
]
=
setting
.
SensitiveWordsToString
()
common
.
OptionMap
[
"StreamCacheQueueLength"
]
=
strconv
.
Itoa
(
setting
.
StreamCacheQueueLength
)
common
.
OptionMap
[
"AutomaticDisableKeywords"
]
=
operation_setting
.
AutomaticDisableKeywordsToString
()
// 自动添加所有注册的模型配置
modelConfigs
:=
config
.
GlobalConfig
.
ExportAllConfigs
()
for
k
,
v
:=
range
modelConfigs
{
common
.
OptionMap
[
k
]
=
v
}
common
.
OptionMapRWMutex
.
Unlock
()
loadOptionsFromDatabase
()
}
func
loadOptionsFromDatabase
()
{
options
,
_
:=
AllOption
()
for
_
,
option
:=
range
options
{
err
:=
updateOptionMap
(
option
.
Key
,
option
.
Value
)
if
err
!=
nil
{
common
.
SysError
(
"failed to update option map: "
+
err
.
Error
())
}
}
}
func
SyncOptions
(
frequency
int
)
{
for
{
time
.
Sleep
(
time
.
Duration
(
frequency
)
*
time
.
Second
)
common
.
SysLog
(
"syncing options from database"
)
loadOptionsFromDatabase
()
}
}
func
UpdateOption
(
key
string
,
value
string
)
error
{
// Save to database first
option
:=
Option
{
Key
:
key
,
}
// https://gorm.io/docs/update.html#Save-All-Fields
DB
.
FirstOrCreate
(
&
option
,
Option
{
Key
:
key
})
option
.
Value
=
value
// Save is a combination function.
// If save value does not contain primary key, it will execute Create,
// otherwise it will execute Update (with all fields).
DB
.
Save
(
&
option
)
// Update OptionMap
return
updateOptionMap
(
key
,
value
)
}
func
updateOptionMap
(
key
string
,
value
string
)
(
err
error
)
{
common
.
OptionMapRWMutex
.
Lock
()
defer
common
.
OptionMapRWMutex
.
Unlock
()
common
.
OptionMap
[
key
]
=
value
// 检查是否是模型配置 - 使用更规范的方式处理
if
handleConfigUpdate
(
key
,
value
)
{
return
nil
// 已由配置系统处理
}
// 处理传统配置项...
if
strings
.
HasSuffix
(
key
,
"Permission"
)
{
intValue
,
_
:=
strconv
.
Atoi
(
value
)
switch
key
{
case
"FileUploadPermission"
:
common
.
FileUploadPermission
=
intValue
case
"FileDownloadPermission"
:
common
.
FileDownloadPermission
=
intValue
case
"ImageUploadPermission"
:
common
.
ImageUploadPermission
=
intValue
case
"ImageDownloadPermission"
:
common
.
ImageDownloadPermission
=
intValue
}
}
if
strings
.
HasSuffix
(
key
,
"Enabled"
)
||
key
==
"DefaultCollapseSidebar"
{
boolValue
:=
value
==
"true"
switch
key
{
case
"PasswordRegisterEnabled"
:
common
.
PasswordRegisterEnabled
=
boolValue
case
"PasswordLoginEnabled"
:
common
.
PasswordLoginEnabled
=
boolValue
case
"EmailVerificationEnabled"
:
common
.
EmailVerificationEnabled
=
boolValue
case
"GitHubOAuthEnabled"
:
common
.
GitHubOAuthEnabled
=
boolValue
case
"LinuxDOOAuthEnabled"
:
common
.
LinuxDOOAuthEnabled
=
boolValue
case
"WeChatAuthEnabled"
:
common
.
WeChatAuthEnabled
=
boolValue
case
"TelegramOAuthEnabled"
:
common
.
TelegramOAuthEnabled
=
boolValue
case
"TurnstileCheckEnabled"
:
common
.
TurnstileCheckEnabled
=
boolValue
case
"RegisterEnabled"
:
common
.
RegisterEnabled
=
boolValue
case
"EmailDomainRestrictionEnabled"
:
common
.
EmailDomainRestrictionEnabled
=
boolValue
case
"EmailAliasRestrictionEnabled"
:
common
.
EmailAliasRestrictionEnabled
=
boolValue
case
"AutomaticDisableChannelEnabled"
:
common
.
AutomaticDisableChannelEnabled
=
boolValue
case
"AutomaticEnableChannelEnabled"
:
common
.
AutomaticEnableChannelEnabled
=
boolValue
case
"LogConsumeEnabled"
:
common
.
LogConsumeEnabled
=
boolValue
case
"DisplayInCurrencyEnabled"
:
common
.
DisplayInCurrencyEnabled
=
boolValue
case
"DisplayTokenStatEnabled"
:
common
.
DisplayTokenStatEnabled
=
boolValue
case
"DrawingEnabled"
:
common
.
DrawingEnabled
=
boolValue
case
"TaskEnabled"
:
common
.
TaskEnabled
=
boolValue
case
"DataExportEnabled"
:
common
.
DataExportEnabled
=
boolValue
case
"DefaultCollapseSidebar"
:
common
.
DefaultCollapseSidebar
=
boolValue
case
"MjNotifyEnabled"
:
setting
.
MjNotifyEnabled
=
boolValue
case
"MjAccountFilterEnabled"
:
setting
.
MjAccountFilterEnabled
=
boolValue
case
"MjModeClearEnabled"
:
setting
.
MjModeClearEnabled
=
boolValue
case
"MjForwardUrlEnabled"
:
setting
.
MjForwardUrlEnabled
=
boolValue
case
"MjActionCheckSuccessEnabled"
:
setting
.
MjActionCheckSuccessEnabled
=
boolValue
case
"CheckSensitiveEnabled"
:
setting
.
CheckSensitiveEnabled
=
boolValue
case
"DemoSiteEnabled"
:
operation_setting
.
DemoSiteEnabled
=
boolValue
case
"SelfUseModeEnabled"
:
operation_setting
.
SelfUseModeEnabled
=
boolValue
case
"CheckSensitiveOnPromptEnabled"
:
setting
.
CheckSensitiveOnPromptEnabled
=
boolValue
case
"ModelRequestRateLimitEnabled"
:
setting
.
ModelRequestRateLimitEnabled
=
boolValue
case
"StopOnSensitiveEnabled"
:
setting
.
StopOnSensitiveEnabled
=
boolValue
case
"SMTPSSLEnabled"
:
common
.
SMTPSSLEnabled
=
boolValue
}
}
switch
key
{
case
"EmailDomainWhitelist"
:
common
.
EmailDomainWhitelist
=
strings
.
Split
(
value
,
","
)
case
"SMTPServer"
:
common
.
SMTPServer
=
value
case
"SMTPPort"
:
intValue
,
_
:=
strconv
.
Atoi
(
value
)
common
.
SMTPPort
=
intValue
case
"SMTPAccount"
:
common
.
SMTPAccount
=
value
case
"SMTPFrom"
:
common
.
SMTPFrom
=
value
case
"SMTPToken"
:
common
.
SMTPToken
=
value
case
"ServerAddress"
:
setting
.
ServerAddress
=
value
case
"WorkerUrl"
:
setting
.
WorkerUrl
=
value
case
"WorkerValidKey"
:
setting
.
WorkerValidKey
=
value
case
"PayAddress"
:
setting
.
PayAddress
=
value
case
"Chats"
:
err
=
setting
.
UpdateChatsByJsonString
(
value
)
case
"CustomCallbackAddress"
:
setting
.
CustomCallbackAddress
=
value
case
"EpayId"
:
setting
.
EpayId
=
value
case
"EpayKey"
:
setting
.
EpayKey
=
value
case
"Price"
:
setting
.
Price
,
_
=
strconv
.
ParseFloat
(
value
,
64
)
case
"MinTopUp"
:
setting
.
MinTopUp
,
_
=
strconv
.
Atoi
(
value
)
case
"TopupGroupRatio"
:
err
=
common
.
UpdateTopupGroupRatioByJSONString
(
value
)
case
"GitHubClientId"
:
common
.
GitHubClientId
=
value
case
"GitHubClientSecret"
:
common
.
GitHubClientSecret
=
value
case
"LinuxDOClientId"
:
common
.
LinuxDOClientId
=
value
case
"LinuxDOClientSecret"
:
common
.
LinuxDOClientSecret
=
value
case
"Footer"
:
common
.
Footer
=
value
case
"SystemName"
:
common
.
SystemName
=
value
case
"Logo"
:
common
.
Logo
=
value
case
"WeChatServerAddress"
:
common
.
WeChatServerAddress
=
value
case
"WeChatServerToken"
:
common
.
WeChatServerToken
=
value
case
"WeChatAccountQRCodeImageURL"
:
common
.
WeChatAccountQRCodeImageURL
=
value
case
"TelegramBotToken"
:
common
.
TelegramBotToken
=
value
case
"TelegramBotName"
:
common
.
TelegramBotName
=
value
case
"TurnstileSiteKey"
:
common
.
TurnstileSiteKey
=
value
case
"TurnstileSecretKey"
:
common
.
TurnstileSecretKey
=
value
case
"QuotaForNewUser"
:
common
.
QuotaForNewUser
,
_
=
strconv
.
Atoi
(
value
)
case
"QuotaForInviter"
:
common
.
QuotaForInviter
,
_
=
strconv
.
Atoi
(
value
)
case
"QuotaForInvitee"
:
common
.
QuotaForInvitee
,
_
=
strconv
.
Atoi
(
value
)
case
"QuotaRemindThreshold"
:
common
.
QuotaRemindThreshold
,
_
=
strconv
.
Atoi
(
value
)
case
"PreConsumedQuota"
:
common
.
PreConsumedQuota
,
_
=
strconv
.
Atoi
(
value
)
case
"ModelRequestRateLimitCount"
:
setting
.
ModelRequestRateLimitCount
,
_
=
strconv
.
Atoi
(
value
)
case
"ModelRequestRateLimitDurationMinutes"
:
setting
.
ModelRequestRateLimitDurationMinutes
,
_
=
strconv
.
Atoi
(
value
)
case
"ModelRequestRateLimitSuccessCount"
:
setting
.
ModelRequestRateLimitSuccessCount
,
_
=
strconv
.
Atoi
(
value
)
case
"RetryTimes"
:
common
.
RetryTimes
,
_
=
strconv
.
Atoi
(
value
)
case
"DataExportInterval"
:
common
.
DataExportInterval
,
_
=
strconv
.
Atoi
(
value
)
case
"DataExportDefaultTime"
:
common
.
DataExportDefaultTime
=
value
case
"ModelRatio"
:
err
=
operation_setting
.
UpdateModelRatioByJSONString
(
value
)
case
"GroupRatio"
:
err
=
setting
.
UpdateGroupRatioByJSONString
(
value
)
case
"UserUsableGroups"
:
err
=
setting
.
UpdateUserUsableGroupsByJSONString
(
value
)
case
"CompletionRatio"
:
err
=
operation_setting
.
UpdateCompletionRatioByJSONString
(
value
)
case
"ModelPrice"
:
err
=
operation_setting
.
UpdateModelPriceByJSONString
(
value
)
case
"CacheRatio"
:
err
=
operation_setting
.
UpdateCacheRatioByJSONString
(
value
)
case
"TopUpLink"
:
common
.
TopUpLink
=
value
//case "ChatLink":
// common.ChatLink = value
//case "ChatLink2":
// common.ChatLink2 = value
case
"ChannelDisableThreshold"
:
common
.
ChannelDisableThreshold
,
_
=
strconv
.
ParseFloat
(
value
,
64
)
case
"QuotaPerUnit"
:
common
.
QuotaPerUnit
,
_
=
strconv
.
ParseFloat
(
value
,
64
)
case
"SensitiveWords"
:
setting
.
SensitiveWordsFromString
(
value
)
case
"AutomaticDisableKeywords"
:
operation_setting
.
AutomaticDisableKeywordsFromString
(
value
)
case
"StreamCacheQueueLength"
:
setting
.
StreamCacheQueueLength
,
_
=
strconv
.
Atoi
(
value
)
}
return
err
}
// handleConfigUpdate 处理分层配置更新,返回是否已处理
func
handleConfigUpdate
(
key
,
value
string
)
bool
{
parts
:=
strings
.
SplitN
(
key
,
"."
,
2
)
if
len
(
parts
)
!=
2
{
return
false
// 不是分层配置
}
configName
:=
parts
[
0
]
configKey
:=
parts
[
1
]
// 获取配置对象
cfg
:=
config
.
GlobalConfig
.
Get
(
configName
)
if
cfg
==
nil
{
return
false
// 未注册的配置
}
// 更新配置
configMap
:=
map
[
string
]
string
{
configKey
:
value
,
}
config
.
UpdateConfigFromMap
(
cfg
,
configMap
)
return
true
// 已处理
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment