mirror of
https://github.com/linux-do/new-api.git
synced 2025-09-18 00:16:37 +08:00
feat: 前端不显示敏感信息
This commit is contained in:
parent
6e54f01435
commit
818bd824da
@ -9,15 +9,6 @@ import (
|
|||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Pay Settings
|
|
||||||
|
|
||||||
var PayAddress = ""
|
|
||||||
var CustomCallbackAddress = ""
|
|
||||||
var EpayId = ""
|
|
||||||
var EpayKey = ""
|
|
||||||
var Price = 7.3
|
|
||||||
var MinTopUp = 1
|
|
||||||
|
|
||||||
var StartTime = time.Now().Unix() // unit: second
|
var StartTime = time.Now().Unix() // unit: second
|
||||||
var Version = "v0.0.0" // this hard coding will be replaced automatically when building, no need to manually change
|
var Version = "v0.0.0" // this hard coding will be replaced automatically when building, no need to manually change
|
||||||
var SystemName = "New API"
|
var SystemName = "New API"
|
||||||
|
@ -205,7 +205,7 @@ func GetCompletionRatio(name string) float64 {
|
|||||||
return 4.0 / 3.0
|
return 4.0 / 3.0
|
||||||
}
|
}
|
||||||
if strings.HasPrefix(name, "gpt-4") {
|
if strings.HasPrefix(name, "gpt-4") {
|
||||||
if strings.HasPrefix(name, "gpt-4-turbo")|| strings.HasSuffix(name, "preview") {
|
if strings.HasPrefix(name, "gpt-4-turbo") || strings.HasSuffix(name, "preview") {
|
||||||
return 3
|
return 3
|
||||||
}
|
}
|
||||||
return 2
|
return 2
|
||||||
|
8
constant/payment.go
Normal file
8
constant/payment.go
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package constant
|
||||||
|
|
||||||
|
var PayAddress = ""
|
||||||
|
var CustomCallbackAddress = ""
|
||||||
|
var EpayId = ""
|
||||||
|
var EpayKey = ""
|
||||||
|
var Price = 7.3
|
||||||
|
var MinTopUp = 1
|
@ -46,8 +46,8 @@ func GetStatus(c *gin.Context) {
|
|||||||
"wechat_qrcode": common.WeChatAccountQRCodeImageURL,
|
"wechat_qrcode": common.WeChatAccountQRCodeImageURL,
|
||||||
"wechat_login": common.WeChatAuthEnabled,
|
"wechat_login": common.WeChatAuthEnabled,
|
||||||
"server_address": common.ServerAddress,
|
"server_address": common.ServerAddress,
|
||||||
"price": common.Price,
|
"price": constant.Price,
|
||||||
"min_topup": common.MinTopUp,
|
"min_topup": constant.MinTopUp,
|
||||||
"turnstile_check": common.TurnstileCheckEnabled,
|
"turnstile_check": common.TurnstileCheckEnabled,
|
||||||
"turnstile_site_key": common.TurnstileSiteKey,
|
"turnstile_site_key": common.TurnstileSiteKey,
|
||||||
"top_up_link": common.TopUpLink,
|
"top_up_link": common.TopUpLink,
|
||||||
@ -60,7 +60,7 @@ func GetStatus(c *gin.Context) {
|
|||||||
"enable_data_export": common.DataExportEnabled,
|
"enable_data_export": common.DataExportEnabled,
|
||||||
"data_export_default_time": common.DataExportDefaultTime,
|
"data_export_default_time": common.DataExportDefaultTime,
|
||||||
"default_collapse_sidebar": common.DefaultCollapseSidebar,
|
"default_collapse_sidebar": common.DefaultCollapseSidebar,
|
||||||
"enable_online_topup": common.PayAddress != "" && common.EpayId != "" && common.EpayKey != "",
|
"enable_online_topup": constant.PayAddress != "" && constant.EpayId != "" && constant.EpayKey != "",
|
||||||
"mj_notify_enabled": constant.MjNotifyEnabled,
|
"mj_notify_enabled": constant.MjNotifyEnabled,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
@ -14,7 +14,7 @@ func GetOptions(c *gin.Context) {
|
|||||||
var options []*model.Option
|
var options []*model.Option
|
||||||
common.OptionMapRWMutex.Lock()
|
common.OptionMapRWMutex.Lock()
|
||||||
for k, v := range common.OptionMap {
|
for k, v := range common.OptionMap {
|
||||||
if strings.HasSuffix(k, "Token") || strings.HasSuffix(k, "Secret") {
|
if strings.HasSuffix(k, "Token") || strings.HasSuffix(k, "Secret") || strings.HasSuffix(k, "Key") {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
options = append(options, &model.Option{
|
options = append(options, &model.Option{
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"github.com/Calcium-Ion/go-epay/epay"
|
"github.com/Calcium-Ion/go-epay/epay"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/samber/lo"
|
"github.com/samber/lo"
|
||||||
|
"one-api/constant"
|
||||||
|
|
||||||
"log"
|
"log"
|
||||||
"net/url"
|
"net/url"
|
||||||
@ -28,13 +29,13 @@ type AmountRequest struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetEpayClient() *epay.Client {
|
func GetEpayClient() *epay.Client {
|
||||||
if common.PayAddress == "" || common.EpayId == "" || common.EpayKey == "" {
|
if constant.PayAddress == "" || constant.EpayId == "" || constant.EpayKey == "" {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
withUrl, err := epay.NewClient(&epay.Config{
|
withUrl, err := epay.NewClient(&epay.Config{
|
||||||
PartnerID: common.EpayId,
|
PartnerID: constant.EpayId,
|
||||||
Key: common.EpayKey,
|
Key: constant.EpayKey,
|
||||||
}, common.PayAddress)
|
}, constant.PayAddress)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -50,12 +51,12 @@ func getPayMoney(amount float64, user model.User) float64 {
|
|||||||
if topupGroupRatio == 0 {
|
if topupGroupRatio == 0 {
|
||||||
topupGroupRatio = 1
|
topupGroupRatio = 1
|
||||||
}
|
}
|
||||||
payMoney := amount * common.Price * topupGroupRatio
|
payMoney := amount * constant.Price * topupGroupRatio
|
||||||
return payMoney
|
return payMoney
|
||||||
}
|
}
|
||||||
|
|
||||||
func getMinTopup() int {
|
func getMinTopup() int {
|
||||||
minTopup := common.MinTopUp
|
minTopup := constant.MinTopUp
|
||||||
if !common.DisplayInCurrencyEnabled {
|
if !common.DisplayInCurrencyEnabled {
|
||||||
minTopup = minTopup * int(common.QuotaPerUnit)
|
minTopup = minTopup * int(common.QuotaPerUnit)
|
||||||
}
|
}
|
||||||
|
@ -63,8 +63,8 @@ func InitOptionMap() {
|
|||||||
common.OptionMap["CustomCallbackAddress"] = ""
|
common.OptionMap["CustomCallbackAddress"] = ""
|
||||||
common.OptionMap["EpayId"] = ""
|
common.OptionMap["EpayId"] = ""
|
||||||
common.OptionMap["EpayKey"] = ""
|
common.OptionMap["EpayKey"] = ""
|
||||||
common.OptionMap["Price"] = strconv.FormatFloat(common.Price, 'f', -1, 64)
|
common.OptionMap["Price"] = strconv.FormatFloat(constant.Price, 'f', -1, 64)
|
||||||
common.OptionMap["MinTopUp"] = strconv.Itoa(common.MinTopUp)
|
common.OptionMap["MinTopUp"] = strconv.Itoa(constant.MinTopUp)
|
||||||
common.OptionMap["TopupGroupRatio"] = common.TopupGroupRatio2JSONString()
|
common.OptionMap["TopupGroupRatio"] = common.TopupGroupRatio2JSONString()
|
||||||
common.OptionMap["GitHubClientId"] = ""
|
common.OptionMap["GitHubClientId"] = ""
|
||||||
common.OptionMap["GitHubClientSecret"] = ""
|
common.OptionMap["GitHubClientSecret"] = ""
|
||||||
@ -227,17 +227,17 @@ func updateOptionMap(key string, value string) (err error) {
|
|||||||
case "ServerAddress":
|
case "ServerAddress":
|
||||||
common.ServerAddress = value
|
common.ServerAddress = value
|
||||||
case "PayAddress":
|
case "PayAddress":
|
||||||
common.PayAddress = value
|
constant.PayAddress = value
|
||||||
case "CustomCallbackAddress":
|
case "CustomCallbackAddress":
|
||||||
common.CustomCallbackAddress = value
|
constant.CustomCallbackAddress = value
|
||||||
case "EpayId":
|
case "EpayId":
|
||||||
common.EpayId = value
|
constant.EpayId = value
|
||||||
case "EpayKey":
|
case "EpayKey":
|
||||||
common.EpayKey = value
|
constant.EpayKey = value
|
||||||
case "Price":
|
case "Price":
|
||||||
common.Price, _ = strconv.ParseFloat(value, 64)
|
constant.Price, _ = strconv.ParseFloat(value, 64)
|
||||||
case "MinTopUp":
|
case "MinTopUp":
|
||||||
common.MinTopUp, _ = strconv.Atoi(value)
|
constant.MinTopUp, _ = strconv.Atoi(value)
|
||||||
case "TopupGroupRatio":
|
case "TopupGroupRatio":
|
||||||
err = common.UpdateTopupGroupRatioByJSONString(value)
|
err = common.UpdateTopupGroupRatioByJSONString(value)
|
||||||
case "GitHubClientId":
|
case "GitHubClientId":
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
import "one-api/common"
|
import (
|
||||||
|
"one-api/common"
|
||||||
|
"one-api/constant"
|
||||||
|
)
|
||||||
|
|
||||||
func GetCallbackAddress() string {
|
func GetCallbackAddress() string {
|
||||||
if common.CustomCallbackAddress == "" {
|
if constant.CustomCallbackAddress == "" {
|
||||||
return common.ServerAddress
|
return common.ServerAddress
|
||||||
}
|
}
|
||||||
return common.CustomCallbackAddress
|
return constant.CustomCallbackAddress
|
||||||
}
|
}
|
||||||
|
@ -312,7 +312,9 @@ const SystemSetting = () => {
|
|||||||
<Grid columns={1}>
|
<Grid columns={1}>
|
||||||
<Grid.Column>
|
<Grid.Column>
|
||||||
<Form loading={loading} inverted={isDark}>
|
<Form loading={loading} inverted={isDark}>
|
||||||
<Header as='h3' inverted={isDark}>通用设置</Header>
|
<Header as='h3' inverted={isDark}>
|
||||||
|
通用设置
|
||||||
|
</Header>
|
||||||
<Form.Group widths='equal'>
|
<Form.Group widths='equal'>
|
||||||
<Form.Input
|
<Form.Input
|
||||||
label='服务器地址'
|
label='服务器地址'
|
||||||
@ -346,7 +348,7 @@ const SystemSetting = () => {
|
|||||||
/>
|
/>
|
||||||
<Form.Input
|
<Form.Input
|
||||||
label='易支付商户密钥'
|
label='易支付商户密钥'
|
||||||
placeholder='例如:dejhfueqhujasjmndbjkqaw'
|
placeholder='敏感信息不会发送到前端显示'
|
||||||
value={inputs.EpayKey}
|
value={inputs.EpayKey}
|
||||||
name='EpayKey'
|
name='EpayKey'
|
||||||
onChange={handleInputChange}
|
onChange={handleInputChange}
|
||||||
@ -390,7 +392,9 @@ const SystemSetting = () => {
|
|||||||
</Form.Group>
|
</Form.Group>
|
||||||
<Form.Button onClick={submitPayAddress}>更新支付设置</Form.Button>
|
<Form.Button onClick={submitPayAddress}>更新支付设置</Form.Button>
|
||||||
<Divider />
|
<Divider />
|
||||||
<Header as='h3' inverted={isDark}>配置登录注册</Header>
|
<Header as='h3' inverted={isDark}>
|
||||||
|
配置登录注册
|
||||||
|
</Header>
|
||||||
<Form.Group inline>
|
<Form.Group inline>
|
||||||
<Form.Checkbox
|
<Form.Checkbox
|
||||||
checked={inputs.PasswordLoginEnabled === 'true'}
|
checked={inputs.PasswordLoginEnabled === 'true'}
|
||||||
@ -684,7 +688,9 @@ const SystemSetting = () => {
|
|||||||
保存 WeChat Server 设置
|
保存 WeChat Server 设置
|
||||||
</Form.Button>
|
</Form.Button>
|
||||||
<Divider />
|
<Divider />
|
||||||
<Header as='h3' inverted={isDark}>配置 Telegram 登录</Header>
|
<Header as='h3' inverted={isDark}>
|
||||||
|
配置 Telegram 登录
|
||||||
|
</Header>
|
||||||
<Form.Group inline>
|
<Form.Group inline>
|
||||||
<Form.Input
|
<Form.Input
|
||||||
label='Telegram Bot Token'
|
label='Telegram Bot Token'
|
||||||
|
Loading…
Reference in New Issue
Block a user