From ad63ffff7f1578c8ec6aeb3e069b3644c638adc2 Mon Sep 17 00:00:00 2001 From: ArvinLovegood Date: Wed, 9 Jul 2025 17:52:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(sponsor):=E6=B7=BB=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E8=B5=9E=E5=8A=A9=E8=AE=A1=E5=88=92=E5=B9=B6=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E8=B5=9E=E5=8A=A9=E7=A0=81=E9=AA=8C=E8=AF=81=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 about.vue 和 README.md 中添加新的 VIP2 赞助计划 - 在 App.d.ts 和 App.js 中添加 CheckSponsorCode函数 - 在 app.go 中实现 CheckSponsorCode 方法,用于验证赞助码 - 在 settings.vue 中集成赞助码验证功能,更新配置时进行验证 - 优化赞助码输入界面,添加验证按钮 --- README.md | 11 ++++---- app.go | 38 ++++++++++++++++++++++++++-- frontend/src/components/about.vue | 3 +++ frontend/src/components/settings.vue | 29 ++++++++++++++++----- frontend/wailsjs/go/main/App.d.ts | 2 ++ frontend/wailsjs/go/main/App.js | 4 +++ 6 files changed, 73 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index e0c6183..f5ea30e 100644 --- a/README.md +++ b/README.md @@ -46,11 +46,12 @@ ### 支持开源💕计划 -| 赞助计划 | 赞助等级 | 权益说明 | -|:--------------------------------|-------|:-------------------------------------------------------| -| 每月 0 RMB | vip0 | 🌟 全部功能,软件自动更新(从GitHub下载),自行解决github平台网络问题。 | -| 每月赞助 18.8 RMB
每年赞助 120 RMB | vip1 | 💕 全部功能,软件自动更新(从CDN下载),更新快速便捷。AI配置指导,提示词参考等 | -| 每月赞助 X RMB | vipX | 🧩 更多计划,视go-stock开源项目发展情况而定...(承接GitHub项目README广告推广💖) | +| 赞助计划 | 赞助等级 | 权益说明 | +|:--------------------------------|----------------|:-------------------------------------------------------| +| 每月 0 RMB | vip0 | 🌟 全部功能,软件自动更新(从GitHub下载),自行解决github平台网络问题。 | +| 每月赞助 18.8 RMB
每年赞助 120 RMB | vip1 | 💕 全部功能,软件自动更新(从CDN下载),更新快速便捷。AI配置指导,提示词参考等 | +| 每月赞助 28.8 RMB
每年赞助 240 RMB | vip2 | 💕 💕 vip1全部功能,赠送硅基流动AI分析服务 | +| 每月赞助 X RMB | vipX | 🧩 更多计划,视go-stock开源项目发展情况而定...(承接GitHub项目README广告推广💖) | ## 🧩 重大功能开发计划 | 功能说明 | 状态 | 备注 | diff --git a/app.go b/app.go index 34f6216..5284081 100644 --- a/app.go +++ b/app.go @@ -109,8 +109,42 @@ func AddTools(tools []data.Tool) []data.Tool { func (a *App) GetSponsorInfo() map[string]any { return a.SponsorInfo } +func (a *App) CheckSponsorCode(sponsorCode string) map[string]any { + sponsorCode = strutil.Trim(sponsorCode) + if sponsorCode != "" { + encrypted, err := hex.DecodeString(sponsorCode) + if err != nil { + return map[string]any{ + "code": 0, + "msg": "赞助码格式错误,请输入正确的赞助码!", + } + } + key, err := hex.DecodeString(BuildKey) + if err != nil { + logger.SugaredLogger.Error(err.Error()) + return map[string]any{ + "code": 0, + "msg": "版本错误,不支持赞助码!", + } + } + decrypt := cryptor.AesEcbDecrypt(encrypted, key) + if decrypt == nil || len(decrypt) == 0 { + return map[string]any{ + "code": 0, + "msg": "赞助码错误,请输入正确的赞助码!", + } + } + return map[string]any{ + "code": 1, + "msg": "赞助码校验成功,感谢您的支持!", + } + } else { + return map[string]any{"code": 0, "message": "赞助码不能为空,请输入正确的赞助码!"} + } +} + func (a *App) CheckUpdate() { - sponsorCode := a.GetConfig().SponsorCode + sponsorCode := strutil.Trim(a.GetConfig().SponsorCode) if sponsorCode != "" { encrypted, err := hex.DecodeString(sponsorCode) if err != nil { @@ -165,7 +199,7 @@ func (a *App) CheckUpdate() { if IsMacOS() { downloadUrl = fmt.Sprintf("https://github.com/ArvinLovegood/go-stock/releases/download/%s/go-stock-darwin-universal", releaseVersion.TagName) } - sponsorCode = a.GetConfig().SponsorCode + sponsorCode = strutil.Trim(a.GetConfig().SponsorCode) if sponsorCode != "" { encrypted, err := hex.DecodeString(sponsorCode) if err != nil { diff --git a/frontend/src/components/about.vue b/frontend/src/components/about.vue index bbbcc92..b2f36ef 100644 --- a/frontend/src/components/about.vue +++ b/frontend/src/components/about.vue @@ -145,6 +145,9 @@ EventsOn("updateVersion",async (msg) => { 赞助 18.8 RMB/月
赞助 120 RMB/年
vip1💕 全部功能,软件自动更新(从CDN下载),更新快速便捷。AI配置指导,提示词参考等
+ + 赞助 28.8 RMB/月
赞助 240 RMB/年
vip2💕 vip1全部功能,赠送硅基流动AI分析服务💕 +
每月赞助 X RMBvipX🧩 更多计划,视go-stock开源项目发展情况而定...(承接GitHub项目README广告推广💖) diff --git a/frontend/src/components/settings.vue b/frontend/src/components/settings.vue index 7a32d7e..33fce24 100644 --- a/frontend/src/components/settings.vue +++ b/frontend/src/components/settings.vue @@ -7,7 +7,7 @@ import { GetConfig, GetPromptTemplates, SendDingDingMessageByType, - UpdateConfig + UpdateConfig,CheckSponsorCode } from "../../wailsjs/go/main/App"; import {NTag, useMessage} from "naive-ui"; import {data, models} from "../../wailsjs/go/models"; @@ -127,12 +127,24 @@ function saveConfig(){ sponsorCode:formValue.value.sponsorCode }) + if (config.sponsorCode){ + CheckSponsorCode(config.sponsorCode).then(res=>{ + if (res.code){ + UpdateConfig(config).then(res=>{ + message.success(res) + EventsEmit("updateSettings", config); + }) + }else{ + message.error(res.msg) + } + }) + }else{ + UpdateConfig(config).then(res=>{ + message.success(res) + EventsEmit("updateSettings", config); + }) + } - //console.log("Settings",config) - UpdateConfig(config).then(res=>{ - message.success(res) - EventsEmit("updateSettings", config); - }) } @@ -302,7 +314,10 @@ function deletePrompt(ID){ - + + + 验证 + diff --git a/frontend/wailsjs/go/main/App.d.ts b/frontend/wailsjs/go/main/App.d.ts index f0c6032..7b6e4af 100755 --- a/frontend/wailsjs/go/main/App.d.ts +++ b/frontend/wailsjs/go/main/App.d.ts @@ -13,6 +13,8 @@ export function AddStockGroup(arg1:number,arg2:string):Promise; export function AnalyzeSentiment(arg1:string):Promise; +export function CheckSponsorCode(arg1:string):Promise>; + export function CheckUpdate():Promise; export function ClsCalendar():Promise>; diff --git a/frontend/wailsjs/go/main/App.js b/frontend/wailsjs/go/main/App.js index 47d20d0..d2625de 100755 --- a/frontend/wailsjs/go/main/App.js +++ b/frontend/wailsjs/go/main/App.js @@ -22,6 +22,10 @@ export function AnalyzeSentiment(arg1) { return window['go']['main']['App']['AnalyzeSentiment'](arg1); } +export function CheckSponsorCode(arg1) { + return window['go']['main']['App']['CheckSponsorCode'](arg1); +} + export function CheckUpdate() { return window['go']['main']['App']['CheckUpdate'](); }