mirror of
https://github.com/ArvinLovegood/go-stock.git
synced 2025-07-19 00:00:09 +08:00
featend(front):保存AI分析结果为Markdown文件时可以选择保存目录
- 在 App.d.ts 中添加 SaveAsMarkdown 函数声明 - 在 app.go 中实现 SaveAsMarkdown 方法,用于保存分析结果 - 在 App.js 中添加 SaveAsMarkdown 函数的 JavaScript 调用接口- 在 stock.vue 中添加保存为 Markdown 的功能按钮,并实现相关逻辑
This commit is contained in:
parent
076dc4f9ef
commit
2b41dc11c1
23
app.go
23
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",
|
||||
|
@ -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);
|
||||
|
2
frontend/wailsjs/go/main/App.d.ts
vendored
2
frontend/wailsjs/go/main/App.d.ts
vendored
@ -31,6 +31,8 @@ export function NewChatStream(arg1:string,arg2:string,arg3:string):Promise<void>
|
||||
|
||||
export function SaveAIResponseResult(arg1:string,arg2:string,arg3:string,arg4:string,arg5:string):Promise<void>;
|
||||
|
||||
export function SaveAsMarkdown(arg1:string,arg2:string):Promise<string>;
|
||||
|
||||
export function SendDingDingMessage(arg1:string,arg2:string):Promise<string>;
|
||||
|
||||
export function SendDingDingMessageByType(arg1:string,arg2:string,arg3:number):Promise<string>;
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user