makepptWithWorkflowBasefyne/module.go

182 lines
19 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package main
import (
"context"
"encoding/json"
"fmt"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/canvas"
"fyne.io/fyne/v2/widget"
)
type themeList struct {
Id int
url string
}
func ModuleOutline(ctx context.Context, keyword *widget.Entry, app fyne.App) (object []fyne.CanvasObject, preview *widget.Entry) {
preview = widget.NewMultiLineEntry()
label := widget.NewLabel("")
label.Hide()
errLabel := widget.NewLabel("")
errLabel.Hide()
keywordButton := widget.NewButton("生成大纲", nil)
keywordButton.OnTapped = func() {
label.Hide()
if keyword.Text == "" {
label.SetText("请输入主题")
label.Show()
return
}
keywordButton.SetText("大纲生成中...生成需要40-90秒请耐心等待")
keywordButton.Disable()
go func() {
pptInfo, err := WorkflowOutline(ctx, keyword.Text)
if err != nil {
errLabel.SetText(fmt.Sprintf("生成失败:%s", err.Error()))
errLabel.Show()
}
formattedJSON, _ := json.MarshalIndent(pptInfo, "", " ")
fyne.Do(func() {
preview.SetText("")
preview.SetText(string(formattedJSON))
preview.SetMinRowsVisible(20)
preview.Show()
keywordButton.SetText("生成大纲")
keywordButton.Enable()
})
}()
}
return []fyne.CanvasObject{keyword, label, keywordButton, errLabel, preview}, preview
}
func ModuleTheme(ctx context.Context, keyword *widget.Entry, themeObj *themeObj) []fyne.CanvasObject {
var (
selectBox = widget.NewSelect(nil, nil)
img = canvas.NewImageFromFile("./img/1.png")
)
img.SetMinSize(fyne.NewSize(200, 200))
img.FillMode = canvas.ImageFillContain
img.Hide()
errLabel := widget.NewLabel("")
errLabel.Hide()
themeButton := widget.NewButton("生成主题", nil)
themeButton.OnTapped = func() {
errLabel.Hide()
if keyword.Text == "" {
errLabel.SetText("请输入主题")
errLabel.Show()
return
}
themeButton.SetText("主题生成中...")
themeButton.Disable()
themes, err := WorkflowTheme(ctx, keyword.Text)
fmt.Println(themes)
fmt.Println(err)
if err != nil || len(themes.Data) == 0 {
errLabel.SetText(fmt.Sprintf("生成失败:%v", err))
errLabel.Show()
themeButton.SetText("生成主题")
themeButton.Enable()
return
}
var (
themeMap = make(map[string]themeList, len(themes.Data))
themeNameSlice = make([]string, len(themes.Data))
)
if len(themes.Data) == 0 {
return
}
for k, theme := range themes.Data {
themeMap[theme.Title] = themeList{
Id: theme.ID,
url: theme.Thumbnail,
}
fmt.Println(theme.Title)
themeNameSlice[k] = theme.Title
}
selectBox.ClearSelected()
selectBox.SetOptions(themeNameSlice)
selectBox.SetSelectedIndex(0)
img.File = GetImg(themes.Data[0].Thumbnail)
themeObj.id = themes.Data[0].ID
img.Refresh()
img.Show()
selectBox.OnChanged = func(value string) {
themeObj.id = themeMap[value].Id
img.File = GetImg(themeMap[value].url)
fmt.Println(themeObj.id, img.File)
img.Refresh()
img.Show()
}
selectBox.Refresh()
selectBox.Show()
themeButton.SetText("生成主题")
themeButton.Enable()
}
return []fyne.CanvasObject{themeButton, errLabel, img, selectBox}
}
func ModulePpt(ctx context.Context, sectionInput *widget.Entry, themeObj *themeObj, keyword *widget.Entry) []fyne.CanvasObject {
hyperlink := widget.NewHyperlink("点击查看ppt", nil)
hyperlink.Hide()
errLabel := widget.NewLabel("")
errLabel.Hide()
createButton := widget.NewButton("生成ppt", nil)
createButton.OnTapped = func() {
if sectionInput.Text == "" {
errLabel.SetText("请输入大纲")
errLabel.Show()
return
}
if themeObj.id == 0 {
errLabel.SetText("请选择主题")
errLabel.Show()
return
}
createButton.SetText("ppt生成中...")
createButton.Disable()
go func() {
ppt, err := WorkflowPpt(ctx, sectionInput.Text, themeObj.id)
if err != nil {
errLabel.SetText(fmt.Sprintf("生成失败:%s", err.Error()))
errLabel.Show()
return
}
fileUrl := ppt.FileUrl
//fileUrl := "https://lf-bot-studio-plugin-resource.coze.cn/obj/bot-studio-platform-plugin-tos/artist/image/a37e601ca0f64de8844279a138210c5e.ppt"
file := DownloadPpt(fileUrl, keyword.Text)
fmt.Println(fileUrl)
fmt.Println("文件地址:" + file)
fyne.Do(func() {
errLabel.SetText("ppt生成成功")
hyperlink.SetURLFromString(file)
hyperlink.Refresh()
hyperlink.Show()
createButton.SetText("生成ppt")
createButton.Enable()
})
}()
}
return []fyne.CanvasObject{createButton, errLabel, hyperlink}
}
func Eg() string {
return "\n================================================================================\n\n## 1. 核弹的基础知识\n##### 🌈核弹的起源、分类及其基本原理\n\n---\n\n## 1.1 核能的发现与发展\n##### 从核裂变到核聚变的历史进程\n\n🌟**核裂变的发现**: 揭示核裂变原理及其对科学界的影响,奠定核能利用的基础。\n\n🌟**早期核能研究**: 回顾二战期间核能开发的关键事件与技术突破,推动历史进程。\n\n🌟**核聚变的研究**: 探讨核聚变理论发展及其实验进展,展望其未来潜力与挑战。\n\n🌟**核技术的演变**: 总结从核裂变到核聚变的技术进步,分析其对社会的深远意义。\n\n---\n\n## 1.2 核弹的类型与特点\n##### 原子弹、氢弹及中子弹的区别与应用场景\n\n🌟**原子弹原理**: 介绍原子弹的基本工作原理及裂变反应过程,分析其在军事中的应用特点。\n\n🌟**氢弹构造**: 阐述氢弹的聚变反应机制,探讨其威力远超原子弹的原因及战略意义。\n\n🌟**中子弹特性**: 解释中子弹的设计理念,强调其高辐射低爆炸的特点及其特殊用途。\n\n🌟**各类型对比**: 对比原子弹、氢弹和中子弹在技术实现和杀伤效果上的主要差异。\n\n🌟**应用场景分析**: 分析三种核弹在不同作战环境下的适用性及可能带来的后果。\n\n🌟**发展趋势展望**: 探讨未来核弹技术发展方向及国际社会对其使用的限制与管控。\n\n---\n\n## 1.3 核弹的工作原理\n##### 裂变反应与聚变反应的核心机制\n\n🌟**裂变反应基础**: 介绍原子核裂变过程及链式反应形成原理。\n\n🌟**聚变反应机制**: 解析轻核聚变条件及其释放能量的核心过程。\n\n🌟**反应触发方式**: 探讨如何通过引爆装置启动核反应过程。\n\n🌟**材料与临界质量**: 分析核材料特性及达到链式反应所需的临界条件。\n\n🌟**能量释放过程**: 描述核反应中能量的转化与释放的具体步骤。\n\n🌟**反应控制技术**: 研究在实验条件下对核反应速率的控制方法。\n\n🌟**反应产物分析**: 总结核反应后生成物的种类及其放射性特征。\n\n🌟**安全防护措施**: 讨论核反应过程中防止辐射泄漏的技术手段。\n\n---\n\n## 1.4 核弹的历史背景\n##### 第二次世界大战期间核武器的研发历程\n\n🌟**二战核研发开端**: 描述二战期间核武器研发的起因与初期探索。\n\n🌟**曼哈顿计划详情**: 介绍美国曼哈顿计划的核心内容及关键进展。\n\n🌟**核武时代序幕**: 总结二战后核武器对国际局势的影响及后续发展。\n\n---\n\n## 1.5 核武器对全球的影响\n##### 冷战时期核威慑与现代国际关系\n\n🌟**冷战核威慑**: 冷战期间核武器如何形成相互确保摧毁的威慑态势。\n\n🌟**核军备竞赛**: 各大国在冷战时期的核武器研发与部署竞争及其后果。\n\n🌟**现代核战略**: 当前国际关系中核武器的角色与影响,包括核裁军努力。\n\n🌟**全球安全挑战**: 核武器对全球安全的持续威胁及国际合作应对措施。\n\n\n================================================================================\n\n## 2. 模拟核弹的设计与构建\n##### 🌈理解核弹设计的关键要素\n\n---\n\n## 2.1 核材料的选择与制备\n##### 铀-235和钚-239的提取与纯化技术\n\n🌟**铀-235提取技术**: 介绍铀-235的提取方法包括气体扩散和离心法。\n\n🌟**钚-239制备工艺**: 讲解钚-239的生产流程涉及反应堆中铀-238的转化。\n\n🌟**材料纯化步骤**: 描述核材料纯化的关键步骤,确保高纯度标准。\n\n🌟**安全处理措施**: 强调在核材料制备过程中必须遵循的安全规范。\n\n🌟**质量控制体系**: 阐述质量检测与控制方法,保证材料符合设计要求。\n\n---\n\n## 2.2 核装置的核心结构\n##### 触发器、反射层及引爆系统的功能\n\n🌟**触发器设计**: 揭示触发器的工作原理及其在核装置中的关键作用,确保精准引爆。\n\n🌟**反射层功能**: 分析反射层如何提高核反应效率,减少中子流失,增强爆炸威力。\n\n🌟**引爆系统组成**: 详解引爆系统的结构与功能,确保各部件协同工作以实现可靠引爆。\n\n---\n\n## 2.3 核爆炸的触发机制\n##### 中子源的作用与临界质量的计算\n\n🌟**中子源功能解析**: 解释中子源在核爆炸触发中的关键作用及类型选择。\n\n🌟**临界质量计算方法**: 探讨如何精确计算不同材料的临界质量以确保链式反应。\n\n🌟**触发机制设计原理**: 分析触发机制的设计原则及其对核爆炸效率的影响。\n\n---\n\n## 2.4 核弹的安全性设计\n##### 如何防止意外引爆与误用风险\n\n🌟**防护机制**: 设计多重防护确保核弹不会因意外触发引爆。\n\n🌟**授权系统**: 建立严格授权流程避免核弹被未经授权使用。\n\n🌟**环境监测**: 通过环境感应技术防止非正常条件下启动核弹。\n\n🌟**故障检测**: 实施实时故障检测减少因技术问题导致的误用风险。\n\n---\n\n## 2.5 核试验的模拟过程\n##### 数字化仿真与理论验证的重要性\n\n🌟**仿真模型构建**: 探讨数字化仿真在核试验中的应用,建立精确的物理模型。\n\n🌟**数据分析与验证**: 利用理论计算验证仿真结果,确保数据准确性与可靠性。\n\n🌟**爆炸过程模拟**: 模拟核弹爆炸全过程,分析能量释放与冲击波传播特性。\n\n🌟**环境影响评估**: 数字化仿真预测核试验对环境的影响,提供决策依据。\n\n🌟**技术优化改进**: 通过仿真结果反馈,不断优化设计提高核弹性能。\n\n\n================================================================================\n\n## 3. 核弹的技术挑战与科学突破\n##### 🌈克服核武器研发中的技术难题\n\n---\n\n## 3.1 材料科学的进展\n##### 新型核材料的研究与应用\n\n🌟**新型核材料研究**: 探讨用于核弹的新型核材料特性及其潜在应用价值。\n\n🌟**材料稳定性提升**: 分析如何通过技术手段提高核材料在极端条件下的稳定性。\n\n🌟**应用技术突破**: 介绍新型核材料在实际应用中的技术突破与创新点。\n\n🌟**材料安全性改进**: 概述提升核材料安全性的方法及其对核技术发展的影响。\n\n---\n\n## 3.2 工程设计的复杂性\n##### 多学科协作解决核装置设计问题\n\n🌟**多学科协作**: 各领域专家共同解决核装置设计中的复杂问题,确保技术可行性。\n\n🌟**设计优化**: 通过模拟与实验不断改进设计方案,提升性能与安全性。\n\n🌟**材料选择**: 精选适合极端条件的材料,保障核装置稳定运行与长效使用。\n\n---\n\n## 3.3 计算机建模与仿真\n##### 高性能计算在核武器研究中的作用\n\n🌟**高性能计算基础**: 探讨高性能计算在核武器研究中的核心作用,包括其对复杂物理过程的模拟能力。\n\n🌟**核爆仿真技术**: 介绍计算机建模如何重现核爆炸过程,提升对核反应机制的理解和预测能力。\n\n🌟**数据处理与分析**: 分析海量数据处理方法,优化计算资源利用,提高仿真的精确度和效率。\n\n🌟**模型验证与优化**: 研究模型验证流程,确保仿真结果的可靠性,并通过持续优化改进计算方法。\n\n---\n\n## 3.4 精确引爆技术的发展\n##### 微电子技术与核弹控制系统的结合\n\n🌟**微电子技术应用**: 探讨微电子技术在核弹控制系统中的关键作用与实现方式。\n\n🌟**控制系统设计**: 分析核弹精确引爆技术中控制系统的结构与功能优化方法。\n\n🌟**数据传输安全**: 研究微电子技术支持下核弹控制系统中的数据传输加密与防护。\n\n🌟**实时监测技术**: 介绍微电子技术如何助力核弹引爆过程中的实时监测与反馈调整。\n\n---\n\n## 3.5 核废料的处理与管理\n##### 核武器生产后的环境影响与解决方案\n\n🌟**核废料的环境影响**: 分析核武器生产对环境造成的长期污染及生态破坏。\n\n🌟**废料处理技术发展**: 探讨当前核废料处理技术的进步与未来发展方向。\n\n🌟**安全储存解决方案**: 介绍核废料安全储存的方法及其面临的挑战与风险。\n\n🌟**国际管理标准**: 概述全球核废料管理的标准与合作机制以减少环境危害。\n\n🌟**可持续管理策略**: 提出实现核废料可持续管理的政策建议与技术创新。\n\n\n================================================================================\n\n## 4. 核武器的伦理与法律问题\n##### 🌈探讨核武器使用与和平发展的平衡\n\n---\n\n## 4.1 核武器的人道主义争议\n##### 核战争对人类社会的毁灭性后果\n\n🌟**毁灭性后果**: 核战争将导致大规模死亡与生态灾难,威胁全人类生存。\n\n🌟**人道主义影响**: 核武器使用造成无辜平民的巨大痛苦与长期健康损害。\n\n🌟**国际法约束**: 当前国际法对核武器使用的限制及其在人道主义争议中的作用。\n\n🌟**和平解决方案**: 推动全球无核化以避免核战争带来的毁灭性人道主义后果。\n\n---\n\n## 4.2 国际条约与核不扩散机制\n##### 《不扩散核武器条约》的意义与执行\n\n🌟**条约背景**: 介绍《不扩散核武器条约》诞生的历史背景与国际形势。\n\n🌟**核心内容**: 概述条约的主要条款及其对核不扩散机制的贡献。\n\n🌟**执行挑战**: 分析条约在执行过程中面临的困难与争议问题。\n\n🌟**未来展望**: 探讨如何加强条约效力以应对新的国际安全威胁。\n\n---\n\n## 4.3 核军备竞赛的历史教训\n##### 冷战时期的军备竞赛对全球安全的影响\n\n🌟**冷战背景**: 冷战时期美苏核军备竞赛的起因与过程。\n\n🌟**安全影响**: 核武器扩张对全球安全局势的深远威胁。\n\n🌟**古巴危机**: 古巴导弹危机揭示核战争边缘的危险性。\n\n🌟**裁军努力**: 国际社会为缓解核竞赛所作的努力与协议。\n\n🌟**历史反思**: 核军备竞赛的历史教训对当今世界的启示。\n\n---\n\n## 4.4 和平利用核能的可能性\n##### 核技术在医疗、能源等领域的应用前景\n\n🌟**核能在医疗的应用**: 探讨核技术在癌症治疗和医学成像中的应用前景。\n\n🌟**核能发电的优势**: 分析核能作为清洁能源在缓解能源危机中的作用。\n\n🌟**核技术在农业的潜力**: 介绍核技术提高农作物产量和品质的可能应用。\n\n🌟**核废料的安全处理**: 研究如何通过技术创新减少核能利用带来的环境风险。\n\n🌟**国际合作与监管**: 探讨和平利用核能所需的国际合作与法律框架。\n\n🌟**公众认知与接受度**: 分析如何提升公众对核能和平利用的信任和支持。\n\n---\n\n## 4.5 全球无核化的未来展望\n##### 国际社会如何推动核裁军与和平发展\n\n🌟**核裁军进程**: 探讨国际社会推动核裁军的具体措施与历史进程。\n\n🌟**和平利用核能**: 分析如何在无核化背景下促进核能的和平与发展应用。\n\n🌟**未来展望**: 展望全球无核化的可能性及其对世界和平的深远影响。\n\n\n================================================================================\n\n## 5. 科幻视角下的核武器\n##### 🌈文学与影视作品中的核武器想象\n\n---\n\n## 5.1 核战争题材的经典作品\n##### 《末日之战》与《核子惊爆》的文学价值\n\n🌟**末日之战解析**: 探讨《末日之战》中核战争的描写及其对人类社会的影响。\n\n🌟**核子惊爆主题**: 分析《核子惊爆》如何展现核武器威胁与人性挣扎。\n\n🌟**文学价值探讨**: 深入挖掘两部作品在文学史上的地位及独特贡献。\n\n🌟**社会反思意义**: 揭示经典作品对核战争的警示作用及推动和平的价值。\n\n🌟**创作背景研究**: 回顾作者创作动机与时代背景,理解作品深层含义。\n\n---\n\n## 5.2 核武器在科幻电影中的表现\n##### 《星球大战》与《红色警戒》中的科技幻想\n\n🌟**星球大战的幻想**: 探讨《星球大战》中核武器般的超级武器,展现其对宇宙战争的影响与科技想象。\n\n🌟**红色警戒的技术**: 分析《红色警戒》中核弹技术的应用,展示未来战争中科技与策略的结合。\n\n🌟**科幻中的现实思考**: 从科幻作品反思核武器的潜在威胁及人类对科技力量的依赖与恐惧。\n\n---\n\n## 5.3 核灾难的文化反思\n##### 核武器对人类文明的警示意义\n\n🌟**核爆后的世界**: 描绘核灾难对地球环境与人类社会的毁灭性影响。\n\n🌟**科幻作品中的反思**: 探讨科幻小说和电影中对核武器使用的深刻警示意义。\n\n🌟**文化艺术的表达**: 分析文化艺术如何通过核主题传达对和平的渴望与追求。\n\n🌟**历史教训的总结**: 回顾历史上的核事件,总结其对人类文明发展的深远启示。\n\n🌟**和平主义的兴起**: 讨论核武器威胁下全球和平主义思潮的兴起及其影响。\n\n🌟**未来可能性展望**: 展望避免核灾难的技术与政策发展方向,强调国际合作的重要性。\n\n---\n\n## 5.4 虚构核武器的技术可能性\n##### 科幻设定中的科学依据与合理性\n\n🌟**科学依据分析**: 探讨科幻设定中核武器的技术原理与现实科学的联系。\n\n🌟**技术可行性评估**: 分析虚构核武器在当前科技水平下的实现可能性与挑战。\n\n🌟**合理性探讨**: 研究科幻作品中核武器设计是否符合物理规律与逻辑。\n\n---\n\n## 5.5 未来核武器的形态预测\n##### 下一代核武器可能的发展方向\n\n🌟**智能化核武器**: 探讨人工智能在核武器中的应用,提升精准度与自主决策能力。\n\n🌟**可控小型核弹**: 分析未来小型化核弹头趋势,实现高威力低附带损伤。\n\n🌟**定向能核装置**: 研究定向能技术结合核反应,开发新型高效能武器系统。\n\n🌟**量子加密防护**: 探索量子技术保障核武通讯安全,防止未经授权使用。\n\n🌟**太空部署核威慑**: 讨论未来太空核武器化可能性及其对全球战略平衡的影响。\n\n🌟**环保型核材料**: 预测使用更清洁核燃料减少长期辐射污染的潜在发展方向。\n"
}
func Eg2() string {
return "\n================================================================================\n\n## 1. 核弹的基础知识\n##### 🌈核弹的起源、"
}