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 {
|
func (a *App) UnFollowFund(fundCode string) string {
|
||||||
return data.NewFundApi().UnFollowFund(fundCode)
|
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) {
|
func OnSecondInstanceLaunch(secondInstanceData options.SecondInstanceData) {
|
||||||
notification := toast.Notification{
|
notification := toast.Notification{
|
||||||
AppID: "go-stock",
|
AppID: "go-stock",
|
||||||
|
@ -15,7 +15,7 @@ import {
|
|||||||
SetCostPriceAndVolume,
|
SetCostPriceAndVolume,
|
||||||
SetStockSort,
|
SetStockSort,
|
||||||
UnFollow,
|
UnFollow,
|
||||||
ShareAnalysis
|
ShareAnalysis, SaveAsMarkdown
|
||||||
} from '../../wailsjs/go/main/App'
|
} from '../../wailsjs/go/main/App'
|
||||||
import {
|
import {
|
||||||
NAvatar,
|
NAvatar,
|
||||||
@ -752,7 +752,12 @@ async function copyToClipboard() {
|
|||||||
message.error('复制失败: ' + err);
|
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 blob = new Blob([data.airesult], { type: 'text/markdown;charset=utf-8' });
|
||||||
const link = document.createElement('a');
|
const link = document.createElement('a');
|
||||||
link.href = URL.createObjectURL(blob);
|
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 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 SendDingDingMessage(arg1:string,arg2:string):Promise<string>;
|
||||||
|
|
||||||
export function SendDingDingMessageByType(arg1:string,arg2:string,arg3:number):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);
|
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) {
|
export function SendDingDingMessage(arg1, arg2) {
|
||||||
return window['go']['main']['App']['SendDingDingMessage'](arg1, arg2);
|
return window['go']['main']['App']['SendDingDingMessage'](arg1, arg2);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user