diff --git a/app.go b/app.go index 2967848..ec9dfc2 100644 --- a/app.go +++ b/app.go @@ -780,7 +780,28 @@ func (a *App) FollowFund(fundCode string) string { func (a *App) UnFollowFund(fundCode string) string { return data.NewFundApi().UnFollowFund(fundCode) } - +func (a *App) SaveAsMarkdown(stockCode, stockName string) string { + res := data.NewDeepSeekOpenAi(a.ctx).GetAIResponseResult(stockCode) + if res != nil && len(res.Content) > 100 { + analysisTime := res.CreatedAt.Format("2006-01-02_15_04_05") + file, err := runtime.SaveFileDialog(a.ctx, runtime.SaveDialogOptions{ + Title: "保存为Markdown", + DefaultFilename: fmt.Sprintf("%s[%s]AI分析结果_%s.md", stockName, stockCode, analysisTime), + Filters: []runtime.FileFilter{ + { + DisplayName: "Markdown", + Pattern: "*.md;*.markdown", + }, + }, + }) + if err != nil { + return err.Error() + } + err = os.WriteFile(file, []byte(res.Content), 0644) + return "已保存至:" + file + } + return "分析结果异常,无法保存。" +} func OnSecondInstanceLaunch(secondInstanceData options.SecondInstanceData) { notification := toast.Notification{ AppID: "go-stock", diff --git a/frontend/src/components/stock.vue b/frontend/src/components/stock.vue index 717db03..575d5a3 100644 --- a/frontend/src/components/stock.vue +++ b/frontend/src/components/stock.vue @@ -15,7 +15,7 @@ import { SetCostPriceAndVolume, SetStockSort, UnFollow, - ShareAnalysis + ShareAnalysis, SaveAsMarkdown } from '../../wailsjs/go/main/App' import { NAvatar, @@ -752,7 +752,12 @@ async function copyToClipboard() { message.error('复制失败: ' + err); } } -function saveAsMarkdown() { +function saveAsMarkdown(){ + SaveAsMarkdown(data.code,data.name).then(result => { + message.success(result) + }) +} +function saveAsMarkdown_old() { const blob = new Blob([data.airesult], { type: 'text/markdown;charset=utf-8' }); const link = document.createElement('a'); link.href = URL.createObjectURL(blob); diff --git a/frontend/wailsjs/go/main/App.d.ts b/frontend/wailsjs/go/main/App.d.ts index 9c795b1..0e54f99 100644 --- a/frontend/wailsjs/go/main/App.d.ts +++ b/frontend/wailsjs/go/main/App.d.ts @@ -31,6 +31,8 @@ export function NewChatStream(arg1:string,arg2:string,arg3:string):Promise export function SaveAIResponseResult(arg1:string,arg2:string,arg3:string,arg4:string,arg5:string):Promise; +export function SaveAsMarkdown(arg1:string,arg2:string):Promise; + export function SendDingDingMessage(arg1:string,arg2:string):Promise; export function SendDingDingMessageByType(arg1:string,arg2:string,arg3:number):Promise; diff --git a/frontend/wailsjs/go/main/App.js b/frontend/wailsjs/go/main/App.js index e2e7f2d..2e0c700 100644 --- a/frontend/wailsjs/go/main/App.js +++ b/frontend/wailsjs/go/main/App.js @@ -58,6 +58,10 @@ export function SaveAIResponseResult(arg1, arg2, arg3, arg4, arg5) { return window['go']['main']['App']['SaveAIResponseResult'](arg1, arg2, arg3, arg4, arg5); } +export function SaveAsMarkdown(arg1, arg2) { + return window['go']['main']['App']['SaveAsMarkdown'](arg1, arg2); +} + export function SendDingDingMessage(arg1, arg2) { return window['go']['main']['App']['SendDingDingMessage'](arg1, arg2); }