一、主要任务

  • 展示返回结果(JSON渲染)
  • 作文提交 loading 状态

二、技术理解

1. JSON 结果渲染展示实现
核心技术逻辑
  • 数据流转:提交完成后,后端返回的 JSON 分析数据存入assessmentStoreResultPage.vue读取 store 中的数据进行渲染。
  • 渲染方式
    1. 结构化渲染:自定义组件(如EssayViewer.vue)解析 JSON 字段,将分数、评语、关键词等数据转为文本 / 图表。
    2. JSON 树状展示:引入vue-json-viewer等库,将完整的 JSON 响应渲染为可折叠的树状结构,方便调试和查看原始数据。
    3. 可视化渲染:通过BaseEChart.vue将 JSON 中的分数、维度数据渲染为雷达图 / 柱状图。
2. 作文提交 + Loading 状态实现
核心技术逻辑
  • 状态管理
    • ref定义局部isLoading变量,或通过assessmentStore.ts全局管理提交状态。
    • 提交请求前设isLoading = true,请求成功 / 失败后重置为false,避免重复提交。
  • UI 交互实现
    • 提交按钮禁用 + 加载图标(如 Element Plus 的loading属性按钮)。
    • 全屏 / 局部遮罩层(如v-loading指令),防止用户重复操作。
  • 请求流程
    1. 用户输入作文内容 → 触发提交事件
    2. SubmitPage.vue调用submitMode.ts中的提交函数
    3. assessmentStore更新loading状态,调用http.ts发起 POST 请求
    4. 请求完成后,更新loadingfalse,并将结果存入 store,跳转到ResultPage

更多推荐