article_generator.wxml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <view class="container FlexColumn" style='min-height:{{Containnerheight}}rpx;'>
  2. <view style="height: 30rpx;"></view>
  3. <!-- 单词选择区域 -->
  4. <view class="section">
  5. <view class="section-title">需要生成的单词</view>
  6. <view class="word-list">
  7. <view
  8. wx:for="{{wordList}}"
  9. wx:key="*this"
  10. class="word-item"
  11. data-word="{{item}}">
  12. {{item}}
  13. </view>
  14. </view>
  15. </view>
  16. <!-- 难度选择区域 -->
  17. <view class="section">
  18. <view class="section-title">选择难度</view>
  19. <radio-group class="difficulty-group" bindchange="onDifficultyChange">
  20. <label class="difficulty-item" wx:for="{{difficulties}}" wx:key="value">
  21. <radio value="{{item.Level}}" checked="{{difficulty === item.Level}}"/>
  22. <text>{{item.Name}}</text>
  23. </label>
  24. </radio-group>
  25. </view>
  26. <!-- 文章类型选择区域 -->
  27. <view class="section">
  28. <view class="section-title">选择文章类型</view>
  29. <radio-group class="two-column-layout" bindchange="onArticleStyleChange">
  30. <block wx:for="{{articleStyles}}" wx:key="index" wx:for-item="category">
  31. <view class="style-category">{{category.Name}}</view>
  32. <view class="style-options-container">
  33. <label class="style-option"
  34. wx:for="{{category.List}}"
  35. wx:key="Name"
  36. wx:for-item="style">
  37. <radio value="{{style.Name}}" checked="{{articleStyle === style.Name}}"/>
  38. <text>{{style.Name}}</text>
  39. </label>
  40. </view>
  41. </block>
  42. </radio-group>
  43. </view>
  44. <!-- 生成按钮 -->
  45. <view class="section">
  46. <button
  47. class="generate-btn"
  48. type="primary"
  49. bindtap="generateArticle"
  50. loading="{{generating}}">
  51. 生成文章
  52. </button>
  53. <button
  54. class="generate-btn"
  55. type="primary"
  56. bindtap="generateTestArticle">
  57. 测试文章(非AI生成)
  58. </button>
  59. </view>
  60. <!-- 生成的文章区域 -->
  61. <block wx:if="{{Content}}">
  62. <view class="section" bind:tap="showTranslate">
  63. <view class="section-title">生成的文章和阅读理解习题</view>
  64. <view class="section-title1">点击文章可查看答案和逐句翻译</view>
  65. <rich-text class="article-content" hidden="{{IsShowTranslate}}" nodes="{{Content.ArticleEnglishStr}}"></rich-text>
  66. <view class="article-content FlexColumn" hidden="{{!IsShowTranslate}}">
  67. <view wx:for="{{Content.ArticleEnglish}}" wx:key="index" class="translation-item">
  68. <rich-text class="article-content1" nodes="{{item}}"></rich-text>
  69. <view class="article-content2">{{Content.ArticleChinese[index]}}</view>
  70. </view>
  71. </view>
  72. <view class="Question FlexColumn" wx:for="{{Content.Question}}" wx:key="index">
  73. <text class="Question1">({{index+1}}) {{item.QuestionEnglish}}\r\n<text class="article-content2" wx:if="{{IsShowTranslate}}">{{item.QuestionChinese}}</text></text>
  74. <text class="Options" wx:for="{{item.OptionsEnglish}}" wx:for-item="item2" wx:for-index="index2" wx:key="*this">
  75. <text wx:if="{{!IsShowTranslate || !((item.Answer=='A' && index2==0) || (item.Answer=='B' && index2==1) || (item.Answer=='C' && index2==2) || (item.Answer=='D' && index2==3))}}">{{item2}}</text><text class="AnswerSelected" wx:if="{{((item.Answer=='A' && index2==0) || (item.Answer=='B' && index2==1) || (item.Answer=='C' && index2==2) || (item.Answer=='D' && index2==3)) && IsShowTranslate}}">{{item2}}</text>
  76. <text class="article-content2" wx:if="{{IsShowTranslate}}">{{item.OptionsChinese[index2]}}</text>
  77. </text>
  78. </view>
  79. </view>
  80. <view class="section" wx:if="{{IsShowTranslate}}">
  81. <view class="Answer FlexRow">
  82. 答案:<view class="Answer1" wx:for="{{Content.Question}}" wx:key="index">({{index+1}}) {{item.Answer}}</view>
  83. </view>
  84. </view>
  85. <!-- 生成图片和PDF按钮 -->
  86. <view class="section" wx:if="{{Content}}">
  87. <view class="button-group">
  88. <button
  89. class="generate-image-btn"
  90. bindtap="generatePDF"
  91. loading="{{generatingPDF}}">
  92. 生成PDF文件
  93. </button>
  94. </view>
  95. </view>
  96. </block>
  97. <!-- 用于生成图片的canvas,默认隐藏 -->
  98. <canvas type="2d" id="articleCanvas" class="article-canvas" style="width: 595px; height: 842px;"></canvas>
  99. <view style="height: 100rpx;"></view>
  100. </view>