Compare commits

...

198 Commits

Author SHA1 Message Date
JayChou fbf7811e7e 设置接口响应最大时长10秒 2 weeks ago
JayChou a2090da8cc 配置门户环境变量 2 weeks ago
JayChou 0b72ff3bd8 修改课程章节溢出 3 weeks ago
JayChou b3d0e8c18d 修改vanta资源cdn链接 3 weeks ago
JayChou 6257938a0d 更新课程详情页 3 weeks ago
JayChou d2bd4f86d1 问题修改 1 month ago
fwb 244fa219ef '更新' 2 months ago
fwb 31eae82ea5 'gengxin' 2 months ago
fwb f5727c361c '更新' 2 months ago
fwb f6465a8fb4 '我的消息‘ 3 months ago
fwb 6775ac3bfc 'gengxin' 3 months ago
JayChou 9106635460 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
JayChou dbccafabdd 新增知识点管理 3 months ago
fwb 0e3d77019e Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
fwb 0bd9dcb159 '更新关于我们' 3 months ago
significative ffaef9724e table 3 months ago
JayChou 16b0f84bbf Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
JayChou 04c007302f 更新 3 months ago
fwb 4c838107c3 '更新' 3 months ago
fwb e6ad23be07 '更新' 3 months ago
fwb b0c39da17e '更新' 3 months ago
fwb 4555c0fdcc '更新' 3 months ago
fwb 276911fc8e Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
fwb 08bfcadba1 更新 3 months ago
JayChou 88d7dadb1c 修改菜单 3 months ago
JayChou 1390172f40 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
JayChou 21e75c53d6 更新 3 months ago
fwb 18b5607d29 '更新' 3 months ago
fwb 167d151da4 '更新' 3 months ago
significative 5e18f3171b Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
significative 01b0a2dccb 课程学习记录 3 months ago
fwb 1eb53bec3f Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
fwb 971304bb30 '更新' 3 months ago
significative e5ae0214d6 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
significative 3f51efd2f1 系统设置补充字段 3 months ago
fwb 12f25f1689 'newschance' 3 months ago
lijiaqi 6f7b56b1ba 1 3 months ago
lijiaqi 74aabb14e2 1 3 months ago
JayChou de9394e1f3 删除二级菜单 3 months ago
significative 1c8d094fa9 系统设置补充home 3 months ago
significative 7c7022eb68 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
significative 6d4f53c925 系统设置 3 months ago
fwb 3b536e0cad 'news' 3 months ago
lijiaqi 63efc9bce9 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
lijiaqi 21e0ad0d13 获取最新 3 months ago
fwb 0f49a0c10d '更新站内消息' 3 months ago
fwb 760470d1d1 '更新消息' 3 months ago
ww 72be77b12b 学生 3 months ago
ww f98d241c38 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
ww 742482eabc 解决章节冲突 3 months ago
fwb 2caf79f6e4 '更新站内消息' 3 months ago
JayChou b0c11f6676 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
JayChou 5285bec5e1 更新 3 months ago
JayChou 739b07b103 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
ww b7ce5c3eed Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
ww d450a2e243 zy1 3 months ago
lijiaqi 0cf6e42287 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
lijiaqi 3e36c4e65f 课程详情 3 months ago
ww a96b653f98 zy 3 months ago
ww 4d7de237dc Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
lijiaqi 53c5e56c7e Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 3 months ago
lijiaqi f013816d8b 课程详情 3 months ago
ww db068acb6a 1 3 months ago
ww b9f8abd1a9 1 3 months ago
ww bf170a0d40 部分修复 4 months ago
ww c85e9ee528 修复 4 months ago
ww 00d96736d9 修复部分 4 months ago
lijiaqi 0b7db324da ljq 4 months ago
lijiaqi 5aa93f37c7 课程详情 4 months ago
lijiaqi c3c6e5e3de 课程详情 4 months ago
ww 7a0c49ec0f Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 4 months ago
ww f77b4afe40 somepages 4 months ago
wenyu441069198 9286f9491a 学习记录 4 months ago
JayChou 7ac274cbde 更新 4 months ago
lijiaqi f16452cc6d 修改id 4 months ago
ww db33196725 22 4 months ago
lijiaqi db752a36eb 修改id 4 months ago
wenyu441069198 d7b4e7a9c5 学习记录拿用户id 4 months ago
wenyu441069198 f13728da3c 学习记录拿用户id 4 months ago
lijiaqi a1b7adec84 修改线上服务器为本地服务器 4 months ago
lijiaqi 3b2fe69a6f 修改线上服务器为本地服务器 4 months ago
lijiaqi 36a0aa9774 111 4 months ago
lijiaqi 7a3188f3ab 1 4 months ago
lijiaqi f81777ec64 新增课程详情 4 months ago
wenyu441069198 efc569df5d 添加资源上传 4 months ago
significative 6205c3fa39 删除loading 4 months ago
lijiaqi e23009186e Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 4 months ago
lijiaqi 780823ce9b 1 4 months ago
lijiaqi be30aa3792 1 4 months ago
ww a570de2a2f Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 4 months ago
ww 57057fb78d 垃圾版 for登录 4 months ago
significative e8b780811b 合并冲突 5 months ago
significative 0d39a13b8f courseid 5 months ago
significative b618c5e0b7 课程章节:新增、编辑、删除 5 months ago
ww 3fad5889db Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
ww 47e735b82c 修复获取身份信息 5 months ago
edana 76e68544a6 资源 5 months ago
lijiaqi fc0d429106 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
edana 8b0f069d35 资源 5 months ago
edana d921b58f4d Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
edana ffe6998413 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
于鹏飞 efa4a910ab 提交 5 months ago
edana 198166a21a 资源 5 months ago
ww 2a9bdecef6 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
ww 51d96cddcc 修改用户头像和echarts 5 months ago
lijiaqi d5b7feccbd 一次提交 5 months ago
lijiaqi 813af6a605 修改服务器 5 months ago
xy 894c303b9a 添加修改课程目标接口字段 5 months ago
xy 0ffe772345 更新 5 months ago
xy 1316abe92d Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
aaaa 00d1c46e62 gitgit Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
aaaa cccf2de390 更新 5 months ago
aaaa f96819ec5a Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
于鹏飞 991fa5ab08 提交 5 months ago
yh d8161eb405 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
yh 1593bf4973 123yh 5 months ago
aaaa d5a38a9a4c 门户zstp更新 5 months ago
lijiaqi e03d6e2f69 解决冲突 5 months ago
lijiaqi e998c80678 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
lijiaqi a1dda3e08a 课程信息 5 months ago
xy 1a620e19de 更新 5 months ago
yh 03419af67a yhyh 5 months ago
xy 84f64d5419 更新 5 months ago
lijiaqi cc50542108 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
lijiaqi 7014892386 修改地址 5 months ago
yh dae612864d Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
yh f39d5d0cd6 yh 5 months ago
ww c129f19a50 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
ww 5a2d57a62a 处理接口 5 months ago
yh 695d72d132 更新 5 months ago
于鹏飞 5a1e2b52d3 debug 5 months ago
ww 3812ab0328 修改接口 5 months ago
ww 79505bbd4c 修改接口调用 5 months ago
yh 2712461a0d yh3 5 months ago
于鹏飞 bea2979765 一次提交 5 months ago
于鹏飞 f13156cddb 知识点收藏页面修改 5 months ago
edana aa4de82bc7 学习记录样式修改 5 months ago
ww 1017abb695 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
ww 058221633a 更新 5 months ago
lijiaqi 3107411e0c Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
lijiaqi bec62bd9db 更新 5 months ago
ww 0d469d9cc1 changes style 5 months ago
ww f8f4cfe2a2 修改样式 5 months ago
edana f6dea2720f 学习记录样式 5 months ago
ww 8fcf44935e Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
edana 2bec33e17b 资源 5 months ago
xy 2880679fef 修改环境变量 5 months ago
lijiaqi d2712808e3 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
lijiaqi 29d5b9e8a8 设置新的请求头 5 months ago
xy fd1011f3ca 合并解决冲突 5 months ago
xy 2fe4c667fd 2024-6-19提交 5 months ago
ww d49ac6296f Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
ww a052af97dd 拉代码 5 months ago
edana 0da2b2cc06 zxy 5 months ago
edana 18ab58381c Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
edana ca31216785 111 5 months ago
youhang 2766e17c03 yhyh3 5 months ago
youhang 067ed5bdb6 yhyh 5 months ago
youhang 34f022efd9 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
youhang 7bf29f8ae4 youyhang 5 months ago
于鹏飞 b86def187b 修正无法切换页面问题 5 months ago
lijiaqi 58fb85ba3a 合并冲突 5 months ago
lijiaqi 93a89c6fa9 课程基本信息跳转课程目标 5 months ago
aaaa 94319bbcf1 门户更新 5 months ago
ww 3944b4caaf 一次提交 5 months ago
ww b315a93138 zy 5 months ago
ww a74923f1e9 zy 5 months ago
于鹏飞 c410b660ea 分出页面*3 5 months ago
xy d13383b4d8 123 5 months ago
xy e33012cb37 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 5 months ago
xy 84c8f6f805 切换分支 5 months ago
ww f88b793800 zylogin 5 months ago
Your Name a9c643c605 ypf 调整尺寸 5 months ago
edana e3fa89776b Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 6 months ago
youahng c163c9c283 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 6 months ago
youahng 4f9fe766e9 ypf 3.0分页 6 months ago
edana d1ea92bb45 赵雪银 学习记录 6 months ago
Your Name 9fee759040 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 6 months ago
Your Name 93cb03a381 ypf 2.0 6 months ago
aaa 0a0c3b2366 视频与更新 6 months ago
youahng c40f11c115 youhang 1.0 6 months ago
Your Name c4cd69b2ed 于 1.0 6 months ago
aaaa cee5234eb1 6-6 6 months ago
aaaa e44c4d5588 马晓春 知识点学习 6 months ago
aaa 2117f8fd27 安装 6 months ago
aaa ce499fbb56 Merge branch 'develoop' of http://182.92.169.222:3000/dlsx/Teaching_integration_platform_admin_template into develoop 6 months ago
aaa 0d2a70abb5 视频 6 months ago
ww 1f7a44466c 1-完成基本样式 6 months ago
aaaa f8720256b6 mxc 更新 6 months ago
aaaa 855904b53d 莫名修改 6 months ago
aaaa a86a3ef515 引入并使用echarts的组件 6 months ago
lijiaqi 4fe89b0398 修改接口地址 6 months ago
significative 1a5a34d289 课程章节 6 months ago
Alan 5085e5a38a 页面布局随比例变化, 6 months ago
lijiaqi f7614c883d 111 6 months ago
aaaa b78eadc89d 2 6 months ago
aaaa b44aaf3849 初次提交 6 months ago
Your Name fdef8ce4d4 新增路由 7 months ago
  1. 4
      .env.development
  2. 3
      .env.production
  3. 3
      .eslintignore
  4. 66
      .eslintrc copy.cjs
  5. 121
      .eslintrc.cjs
  6. 2
      .gitignore
  7. 3
      .vscode/extensions.json
  8. 18
      README_1.md
  9. 25
      generated/core/ApiError.ts
  10. 17
      generated/core/ApiRequestOptions.ts
  11. 11
      generated/core/ApiResult.ts
  12. 131
      generated/core/CancelablePromise.ts
  13. 49
      generated/core/OpenAPI.ts
  14. 323
      generated/core/request.ts
  15. 79
      generated/index.ts
  16. 10
      generated/models/BaseResponse.ts
  17. 11
      generated/models/BaseResponse_CoursesDTO_.ts
  18. 10
      generated/models/BaseResponse_List_CourseLearningRecords.ts
  19. 11
      generated/models/BaseResponse_List_CourseObjectivesTreeVO_.ts
  20. 11
      generated/models/BaseResponse_List_CourseResources_.ts
  21. 18
      generated/models/BaseResponse_List_LearningRecords_.ts
  22. 11
      generated/models/BaseResponse_List_ObjectivesType_.ts
  23. 11
      generated/models/BaseResponse_List_TeacherInfVO_.ts
  24. 10
      generated/models/BaseResponse_Map_string_object_.ts
  25. 11
      generated/models/BaseResponse_ObjectiveContentKnowVO_.ts
  26. 11
      generated/models/BaseResponse_ObjectiveContents_.ts
  27. 11
      generated/models/BaseResponse_PageDTO_CoursesVO_.ts
  28. 11
      generated/models/BaseResponse_Page_.ts
  29. 11
      generated/models/BaseResponse_Page_CourseFavourDetailVO_.ts
  30. 11
      generated/models/BaseResponse_Page_CourseResources_.ts
  31. 10
      generated/models/BaseResponse_boolean_.ts
  32. 10
      generated/models/BaseResponse_long_.ts
  33. 10
      generated/models/BaseResponse_string_.ts
  34. 10
      generated/models/CommonResult.ts
  35. 11
      generated/models/CommonResult_UmsAdmin_.ts
  36. 10
      generated/models/CommonResult_string_.ts
  37. 9
      generated/models/CourseFavourAddRequest.ts
  38. 8
      generated/models/CourseFavourAllRequest.ts
  39. 22
      generated/models/CourseFavourDetailVO.ts
  40. 12
      generated/models/CourseFavourQueryRequest.ts
  41. 9
      generated/models/CourseLearningRecords.ts
  42. 26
      generated/models/CourseObjectivesDTO.ts
  43. 51
      generated/models/CourseObjectivesTreeVO.ts
  44. 15
      generated/models/CourseResources.ts
  45. 9
      generated/models/CourseThumbAddRequest.ts
  46. 70
      generated/models/CoursesDTO.ts
  47. 50
      generated/models/CoursesVO.ts
  48. 14
      generated/models/Know.ts
  49. 10
      generated/models/KnowFavourAddRequest.ts
  50. 8
      generated/models/KnowQueryRequest.ts
  51. 13
      generated/models/KnowRequest.ts
  52. 9
      generated/models/KnowThumbAddRequest.ts
  53. 14
      generated/models/KnowupdateRequest.ts
  54. 31
      generated/models/LearningRecords.ts
  55. 16
      generated/models/ObjectiveContentKnowDTO.ts
  56. 24
      generated/models/ObjectiveContentKnowVO.ts
  57. 16
      generated/models/ObjectiveContents_.ts
  58. 15
      generated/models/ObjectivesType_.ts
  59. 9
      generated/models/OrderItem.ts
  60. 18
      generated/models/Page.ts
  61. 23
      generated/models/PageDTO_CoursesVO_.ts
  62. 19
      generated/models/Page_CourseFavourDetailVO_.ts
  63. 19
      generated/models/Page_CourseResources_.ts
  64. 9
      generated/models/ResourceFavourAddRequest.ts
  65. 13
      generated/models/ResourceFavourQueryRequest.ts
  66. 9
      generated/models/ResourceThumbAddRequest.ts
  67. 13
      generated/models/StudentCoursesDTO.ts
  68. 18
      generated/models/TeacherInfVO.ts
  69. 15
      generated/models/UmsAdmin.ts
  70. 12
      generated/models/UmsAdminParam.ts
  71. 26
      generated/models/UmsStudentAndTeacherDTO.ts
  72. 19
      generated/models/UpdateAdminPasswordParam.ts
  73. 98
      generated/services/CourseResourceControllerService.ts
  74. 47
      generated/services/FavourInformationControllerService.ts
  75. 97
      generated/services/KnowControllerService.ts
  76. 213
      generated/services/LearningRecordsControllerService.ts
  77. 58
      generated/services/ResourceControllerService.ts
  78. 99
      generated/services/SeCourseFavourControllerService.ts
  79. 54
      generated/services/SeCourseThumbControllerService.ts
  80. 32
      generated/services/SeKnowFavourControllerService.ts
  81. 32
      generated/services/SeKnowThumbControllerService.ts
  82. 55
      generated/services/SeResourceFavourControllerService.ts
  83. 32
      generated/services/SeResourceThumbControllerService.ts
  84. 512
      generated/services/Service.ts
  85. 266
      generated/services/UmsAdminControllerService.ts
  86. 31
      index.html
  87. 29
      mock/user.ts
  88. 93
      mock/user_1.ts
  89. 25
      package.json
  90. 8967
      pnpm-lock.yaml
  91. BIN
      public/0.jpg
  92. BIN
      public/1.jpg
  93. BIN
      public/2.jpg
  94. 266
      public/data.json
  95. BIN
      public/newslogo.jpg
  96. 1744
      public/nodeList.json
  97. BIN
      public/wl.png
  98. 15
      src/App.vue
  99. 45
      src/api/configuration.ts
  100. 124
      src/api/courseChaptersApi.ts
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,4 +1,6 @@
# 变量必须以 VITE_ 为前缀才能暴露给外部读取
NODE_ENV = 'development'
VITE_APP_TITLE = '无糖运营平台'
VITE_APP_BASE_API = '/api'
VITE_APP_BASE_API = 'http://localhost:8080'
# VITE_APP_BASE_API = 'http://10.100.200.177:8080'
VITE_HOME_URL = 'http://localhost:8866/portal'

@ -1,3 +1,4 @@
NODE_ENV = 'production'
VITE_APP_TITLE = '无糖运营平台'
VITE_APP_BASE_API = '/prod-api'
# VITE_APP_BASE_API = '/prod-api'
VITE_HOME_URL = 'http://localhost:8866/portal'

@ -1,2 +1,3 @@
dist
node_modules
node_modules
src/views/course/spritetext.js

@ -0,0 +1,66 @@
// @see https://eslint.bootcss.com/docs/rules/
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
jest: true,
jquery: true,
},
globals: {
VANTA: 'readonly', //VANTA 已经cdn引入 这里拒绝eslint报错 全局声明一下
ElMessage: 'readonly',
ElMessageBox: 'readonly',
ElLoading: 'readonly',
},
/* 指定如何解析语法 */
parser: 'vue-eslint-parser',
/** 优先级低于 parse 的语法解析配置 */
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
parser: '@typescript-eslint/parser',
jsxPragma: 'React',
ecmaFeatures: {
jsx: true,
},
},
/* 继承已有的规则 */
extends: [
'eslint:recommended',
'plugin:vue/vue3-essential',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
plugins: ['vue', '@typescript-eslint'],
/*
* "off" 或 0 ==> 关闭规则
* "warn" 或 1 ==> 打开的规则作为警告(不影响代码执行)
* "error" 或 2 ==> 规则作为一个错误(代码不能执行,界面报错)
*/
rules: {
// eslint(https://eslint.bootcss.com/docs/rules/)
'no-var': 'error', // 要求使用 let 或 const 而不是 var
'no-multiple-empty-lines': ['warn', { max: 1 }], // 不允许多个空行
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-unexpected-multiline': 'error', // 禁止空余的多行
'no-useless-escape': 'off', // 禁止不必要的转义字符
// typeScript (https://typescript-eslint.io/rules)
'@typescript-eslint/no-unused-vars': 'error', // 禁止定义未使用的变量
'@typescript-eslint/prefer-ts-expect-error': 'off', // 禁止使用 @ts-ignore
'@typescript-eslint/ban-ts-ignore': 'off',
'@typescript-eslint/no-explicit-any': 'off', // 禁止使用 any 类型
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-namespace': 'off', // 禁止使用自定义 TypeScript 模块和命名空间。
'@typescript-eslint/semi': 'off',
// eslint-plugin-vue (https://eslint.vuejs.org/rules/)
'vue/multi-word-component-names': 'off', // 要求组件名称始终为 “-” 链接的单词
'vue/script-setup-uses-vars': 'error', // 防止<script setup>使用的变量<template>被标记为未使用
'vue/no-mutating-props': 'off', // 不允许组件 prop的改变
'vue/attribute-hyphenation': 'off', // 对模板中的自定义组件强制执行属性命名样式
},
}

@ -1,63 +1,66 @@
// @see https://eslint.bootcss.com/docs/rules/
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
jest: true,
env: {
browser: true,
es2021: true,
node: true,
jest: true,
jquery: true,
},
globals: {
VANTA: 'readonly', //VANTA 已经cdn引入 这里拒绝eslint报错 全局声明一下
ElMessage: 'readonly',
ElMessageBox: 'readonly',
ElLoading: 'readonly',
},
/* 指定如何解析语法 */
parser: 'vue-eslint-parser',
/** 优先级低于 parse 的语法解析配置 */
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
parser: '@typescript-eslint/parser',
jsxPragma: 'React',
ecmaFeatures: {
jsx: true,
},
"globals": {
"VANTA": "readonly" //VANTA 已经cdn引入 这里拒绝eslint报错 全局声明一下
},
/* 指定如何解析语法 */
parser: 'vue-eslint-parser',
/** 优先级低于 parse 的语法解析配置 */
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
parser: '@typescript-eslint/parser',
jsxPragma: 'React',
ecmaFeatures: {
jsx: true,
},
},
/* 继承已有的规则 */
extends: [
'eslint:recommended',
'plugin:vue/vue3-essential',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
plugins: ['vue', '@typescript-eslint'],
/*
* "off" 或 0 ==> 关闭规则
* "warn" 或 1 ==> 打开的规则作为警告(不影响代码执行)
* "error" 或 2 ==> 规则作为一个错误(代码不能执行,界面报错)
*/
rules: {
// eslint(https://eslint.bootcss.com/docs/rules/)
'no-var': 'error', // 要求使用 let 或 const 而不是 var
'no-multiple-empty-lines': ['warn', { max: 1 }], // 不允许多个空行
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-unexpected-multiline': 'error', // 禁止空余的多行
'no-useless-escape': 'off', // 禁止不必要的转义字符
// typeScript (https://typescript-eslint.io/rules)
'@typescript-eslint/no-unused-vars': 'error', // 禁止定义未使用的变量
'@typescript-eslint/prefer-ts-expect-error': 'off', // 禁止使用 @ts-ignore
"@typescript-eslint/ban-ts-ignore": "off",
'@typescript-eslint/no-explicit-any': 'off', // 禁止使用 any 类型
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-namespace': 'off', // 禁止使用自定义 TypeScript 模块和命名空间。
'@typescript-eslint/semi': 'off',
// eslint-plugin-vue (https://eslint.vuejs.org/rules/)
'vue/multi-word-component-names': 'off', // 要求组件名称始终为 “-” 链接的单词
'vue/script-setup-uses-vars': 'error', // 防止<script setup>使用的变量<template>被标记为未使用
'vue/no-mutating-props': 'off', // 不允许组件 prop的改变
'vue/attribute-hyphenation': 'off', // 对模板中的自定义组件强制执行属性命名样式
},
}
},
/* 继承已有的规则 */
extends: [
'eslint:recommended',
'plugin:vue/vue3-essential',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
plugins: ['vue', '@typescript-eslint'],
/*
* "off" 或 0 ==> 关闭规则
* "warn" 或 1 ==> 打开的规则作为警告(不影响代码执行)
* "error" 或 2 ==> 规则作为一个错误(代码不能执行,界面报错)
*/
rules: {
// eslint(https://eslint.bootcss.com/docs/rules/)
'no-var': 'error', // 要求使用 let 或 const 而不是 var
'no-multiple-empty-lines': ['warn', { max: 1 }], // 不允许多个空行
'no-console': process.env.NODE_ENV === 'production' ? 'off' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-unexpected-multiline': 'off', // 禁止空余的多行
'no-useless-escape': 'off', // 禁止不必要的转义字符
// typeScript (https://typescript-eslint.io/rules)
'@typescript-eslint/no-unused-vars': 'off', // 禁止定义未使用的变量
'@typescript-eslint/prefer-ts-expect-error': 'off', // 禁止使用 @ts-ignore
'@typescript-eslint/ban-ts-ignore': 'off',
'@typescript-eslint/no-explicit-any': 'off', // 禁止使用 any 类型
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/no-namespace': 'off', // 禁止使用自定义 TypeScript 模块和命名空间。
'@typescript-eslint/semi': 'off',
// eslint-plugin-vue (https://eslint.vuejs.org/rules/)
'vue/multi-word-component-names': 'off', // 要求组件名称始终为 “-” 链接的单词
'vue/script-setup-uses-vars': 'error', // 防止<script setup>使用的变量<template>被标记为未使用
'vue/no-mutating-props': 'off', // 不允许组件 prop的改变
'vue/attribute-hyphenation': 'off', // 对模板中的自定义组件强制执行属性命名样式
},
}

2
.gitignore vendored

@ -21,4 +21,4 @@ dist-ssr
*.ntvs*
*.njsproj
*.sln
*.sw?
*.sw?

@ -1,3 +1,4 @@
{
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
"recommendations": [
"Vue.volar""]
}

@ -0,0 +1,18 @@
# Vue 3 + TypeScript + Vite
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
## Recommended IDE Setup
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
## Type Support For `.vue` Imports in TS
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
1. Disable the built-in TypeScript Extension
1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette
2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.

@ -0,0 +1,25 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ApiRequestOptions } from './ApiRequestOptions';
import type { ApiResult } from './ApiResult';
export class ApiError extends Error {
public readonly url: string;
public readonly status: number;
public readonly statusText: string;
public readonly body: any;
public readonly request: ApiRequestOptions;
constructor(request: ApiRequestOptions, response: ApiResult, message: string) {
super(message);
this.name = 'ApiError';
this.url = response.url;
this.status = response.status;
this.statusText = response.statusText;
this.body = response.body;
this.request = request;
}
}

@ -0,0 +1,17 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ApiRequestOptions = {
readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';
readonly url: string;
readonly path?: Record<string, any>;
readonly cookies?: Record<string, any>;
readonly headers?: Record<string, any>;
readonly query?: Record<string, any>;
readonly formData?: Record<string, any>;
readonly body?: any;
readonly mediaType?: string;
readonly responseHeader?: string;
readonly errors?: Record<number, string>;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ApiResult = {
readonly url: string;
readonly ok: boolean;
readonly status: number;
readonly statusText: string;
readonly body: any;
};

@ -0,0 +1,131 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export class CancelError extends Error {
constructor(message: string) {
super(message);
this.name = 'CancelError';
}
public get isCancelled(): boolean {
return true;
}
}
export interface OnCancel {
readonly isResolved: boolean;
readonly isRejected: boolean;
readonly isCancelled: boolean;
(cancelHandler: () => void): void;
}
export class CancelablePromise<T> implements Promise<T> {
#isResolved: boolean;
#isRejected: boolean;
#isCancelled: boolean;
readonly #cancelHandlers: (() => void)[];
readonly #promise: Promise<T>;
#resolve?: (value: T | PromiseLike<T>) => void;
#reject?: (reason?: any) => void;
constructor(
executor: (
resolve: (value: T | PromiseLike<T>) => void,
reject: (reason?: any) => void,
onCancel: OnCancel
) => void
) {
this.#isResolved = false;
this.#isRejected = false;
this.#isCancelled = false;
this.#cancelHandlers = [];
this.#promise = new Promise<T>((resolve, reject) => {
this.#resolve = resolve;
this.#reject = reject;
const onResolve = (value: T | PromiseLike<T>): void => {
if (this.#isResolved || this.#isRejected || this.#isCancelled) {
return;
}
this.#isResolved = true;
if (this.#resolve) this.#resolve(value);
};
const onReject = (reason?: any): void => {
if (this.#isResolved || this.#isRejected || this.#isCancelled) {
return;
}
this.#isRejected = true;
if (this.#reject) this.#reject(reason);
};
const onCancel = (cancelHandler: () => void): void => {
if (this.#isResolved || this.#isRejected || this.#isCancelled) {
return;
}
this.#cancelHandlers.push(cancelHandler);
};
Object.defineProperty(onCancel, 'isResolved', {
get: (): boolean => this.#isResolved,
});
Object.defineProperty(onCancel, 'isRejected', {
get: (): boolean => this.#isRejected,
});
Object.defineProperty(onCancel, 'isCancelled', {
get: (): boolean => this.#isCancelled,
});
return executor(onResolve, onReject, onCancel as OnCancel);
});
}
get [Symbol.toStringTag]() {
return "Cancellable Promise";
}
public then<TResult1 = T, TResult2 = never>(
onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,
onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null
): Promise<TResult1 | TResult2> {
return this.#promise.then(onFulfilled, onRejected);
}
public catch<TResult = never>(
onRejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null
): Promise<T | TResult> {
return this.#promise.catch(onRejected);
}
public finally(onFinally?: (() => void) | null): Promise<T> {
return this.#promise.finally(onFinally);
}
public cancel(): void {
if (this.#isResolved || this.#isRejected || this.#isCancelled) {
return;
}
this.#isCancelled = true;
if (this.#cancelHandlers.length) {
try {
for (const cancelHandler of this.#cancelHandlers) {
cancelHandler();
}
} catch (error) {
console.warn('Cancellation threw an error', error);
return;
}
}
this.#cancelHandlers.length = 0;
if (this.#reject) this.#reject(new CancelError('Request aborted'));
}
public get isCancelled(): boolean {
return this.#isCancelled;
}
}

@ -0,0 +1,49 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ApiRequestOptions } from './ApiRequestOptions';
type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
type Headers = Record<string, string>;
export type OpenAPIConfig = {
BASE: string;
VERSION: string;
WITH_CREDENTIALS: boolean;
CREDENTIALS: 'include' | 'omit' | 'same-origin';
TOKEN?: string | Resolver<string> | undefined;
USERNAME?: string | Resolver<string> | undefined;
PASSWORD?: string | Resolver<string> | undefined;
HEADERS?: Headers | Resolver<Headers> | undefined;
ENCODE_PATH?: ((path: string) => string) | undefined;
};
export const OpenAPI: OpenAPIConfig = {
//BASE: 'http://39.106.16.162:8080',
// BASE: 'http://127.0.0.1:8080',
BASE: import.meta.env.VITE_APP_BASE_API,
VERSION: '1.0.0',
WITH_CREDENTIALS: false,
CREDENTIALS: 'include',
TOKEN: undefined,
USERNAME: undefined,
PASSWORD: undefined,
HEADERS: undefined,
ENCODE_PATH: undefined,
};
// BASE: 'http://39.106.16.162:8080',
// VERSION: '1.0.0',
// WITH_CREDENTIALS: false,
// CREDENTIALS: 'include',
// TOKEN: GET_TKOEN('TOKEN'),
// USERNAME: undefined,
// PASSWORD: undefined,
// HEADERS: {
// Authorization: 'Bearer ' + GET_TKOEN('TOKEN'),
// },
// ENCODE_PATH: undefined,
// }

@ -0,0 +1,323 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import axios from 'axios';
import type { AxiosError, AxiosRequestConfig, AxiosResponse, AxiosInstance } from 'axios';
import FormData from 'form-data';
import { ApiError } from './ApiError';
import type { ApiRequestOptions } from './ApiRequestOptions';
import type { ApiResult } from './ApiResult';
import { CancelablePromise } from './CancelablePromise';
import type { OnCancel } from './CancelablePromise';
import type { OpenAPIConfig } from './OpenAPI';
export const isDefined = <T>(value: T | null | undefined): value is Exclude<T, null | undefined> => {
return value !== undefined && value !== null;
};
export const isString = (value: any): value is string => {
return typeof value === 'string';
};
export const isStringWithValue = (value: any): value is string => {
return isString(value) && value !== '';
};
export const isBlob = (value: any): value is Blob => {
return (
typeof value === 'object' &&
typeof value.type === 'string' &&
typeof value.stream === 'function' &&
typeof value.arrayBuffer === 'function' &&
typeof value.constructor === 'function' &&
typeof value.constructor.name === 'string' &&
/^(Blob|File)$/.test(value.constructor.name) &&
/^(Blob|File)$/.test(value[Symbol.toStringTag])
);
};
export const isFormData = (value: any): value is FormData => {
return value instanceof FormData;
};
export const isSuccess = (status: number): boolean => {
return status >= 200 && status < 300;
};
export const base64 = (str: string): string => {
try {
return btoa(str);
} catch (err) {
// @ts-ignore
return Buffer.from(str).toString('base64');
}
};
export const getQueryString = (params: Record<string, any>): string => {
const qs: string[] = [];
const append = (key: string, value: any) => {
qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
};
const process = (key: string, value: any) => {
if (isDefined(value)) {
if (Array.isArray(value)) {
value.forEach(v => {
process(key, v);
});
} else if (typeof value === 'object') {
Object.entries(value).forEach(([k, v]) => {
process(`${key}[${k}]`, v);
});
} else {
append(key, value);
}
}
};
Object.entries(params).forEach(([key, value]) => {
process(key, value);
});
if (qs.length > 0) {
return `?${qs.join('&')}`;
}
return '';
};
const getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {
const encoder = config.ENCODE_PATH || encodeURI;
const path = options.url
.replace('{api-version}', config.VERSION)
.replace(/{(.*?)}/g, (substring: string, group: string) => {
if (options.path?.hasOwnProperty(group)) {
return encoder(String(options.path[group]));
}
return substring;
});
const url = `${config.BASE}${path}`;
if (options.query) {
return `${url}${getQueryString(options.query)}`;
}
return url;
};
export const getFormData = (options: ApiRequestOptions): FormData | undefined => {
if (options.formData) {
const formData = new FormData();
const process = (key: string, value: any) => {
if (isString(value) || isBlob(value)) {
formData.append(key, value);
} else {
formData.append(key, JSON.stringify(value));
}
};
Object.entries(options.formData)
.filter(([_, value]) => isDefined(value))
.forEach(([key, value]) => {
if (Array.isArray(value)) {
value.forEach(v => process(key, v));
} else {
process(key, value);
}
});
return formData;
}
return undefined;
};
type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
export const resolve = async <T>(options: ApiRequestOptions, resolver?: T | Resolver<T>): Promise<T | undefined> => {
if (typeof resolver === 'function') {
return (resolver as Resolver<T>)(options);
}
return resolver;
};
export const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions, formData?: FormData): Promise<Record<string, string>> => {
const [token, username, password, additionalHeaders] = await Promise.all([
resolve(options, config.TOKEN),
resolve(options, config.USERNAME),
resolve(options, config.PASSWORD),
resolve(options, config.HEADERS),
]);
const formHeaders = typeof formData?.getHeaders === 'function' && formData?.getHeaders() || {}
const headers = Object.entries({
Accept: 'application/json',
...additionalHeaders,
...options.headers,
...formHeaders,
})
.filter(([_, value]) => isDefined(value))
.reduce((headers, [key, value]) => ({
...headers,
[key]: String(value),
}), {} as Record<string, string>);
if (isStringWithValue(token)) {
headers['Authorization'] = `Bearer ${token}`;
}
if (isStringWithValue(username) && isStringWithValue(password)) {
const credentials = base64(`${username}:${password}`);
headers['Authorization'] = `Basic ${credentials}`;
}
if (options.body !== undefined) {
if (options.mediaType) {
headers['Content-Type'] = options.mediaType;
} else if (isBlob(options.body)) {
headers['Content-Type'] = options.body.type || 'application/octet-stream';
} else if (isString(options.body)) {
headers['Content-Type'] = 'text/plain';
} else if (!isFormData(options.body)) {
headers['Content-Type'] = 'application/json';
}
}
return headers;
};
export const getRequestBody = (options: ApiRequestOptions): any => {
if (options.body) {
return options.body;
}
return undefined;
};
export const sendRequest = async <T>(
config: OpenAPIConfig,
options: ApiRequestOptions,
url: string,
body: any,
formData: FormData | undefined,
headers: Record<string, string>,
onCancel: OnCancel,
axiosClient: AxiosInstance
): Promise<AxiosResponse<T>> => {
const source = axios.CancelToken.source();
const requestConfig: AxiosRequestConfig = {
url,
headers,
data: body ?? formData,
method: options.method,
withCredentials: config.WITH_CREDENTIALS,
withXSRFToken: config.CREDENTIALS === 'include' ? config.WITH_CREDENTIALS : false,
cancelToken: source.token,
};
onCancel(() => source.cancel('The user aborted a request.'));
try {
return await axiosClient.request(requestConfig);
} catch (error) {
const axiosError = error as AxiosError<T>;
if (axiosError.response) {
return axiosError.response;
}
throw error;
}
};
export const getResponseHeader = (response: AxiosResponse<any>, responseHeader?: string): string | undefined => {
if (responseHeader) {
const content = response.headers[responseHeader];
if (isString(content)) {
return content;
}
}
return undefined;
};
export const getResponseBody = (response: AxiosResponse<any>): any => {
if (response.status !== 204) {
return response.data;
}
return undefined;
};
export const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {
const errors: Record<number, string> = {
400: 'Bad Request',
401: 'Unauthorized',
403: 'Forbidden',
404: 'Not Found',
500: 'Internal Server Error',
502: 'Bad Gateway',
503: 'Service Unavailable',
...options.errors,
}
const error = errors[result.status];
if (error) {
throw new ApiError(options, result, error);
}
if (!result.ok) {
const errorStatus = result.status ?? 'unknown';
const errorStatusText = result.statusText ?? 'unknown';
const errorBody = (() => {
try {
return JSON.stringify(result.body, null, 2);
} catch (e) {
return undefined;
}
})();
throw new ApiError(options, result,
`Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`
);
}
};
/**
* Request method
* @param config The OpenAPI configuration object
* @param options The request options from the service
* @param axiosClient The axios client instance to use
* @returns CancelablePromise<T>
* @throws ApiError
*/
export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions, axiosClient: AxiosInstance = axios): CancelablePromise<T> => {
return new CancelablePromise(async (resolve, reject, onCancel) => {
try {
const url = getUrl(config, options);
const formData = getFormData(options);
const body = getRequestBody(options);
const headers = await getHeaders(config, options, formData);
if (!onCancel.isCancelled) {
const response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel, axiosClient);
const responseBody = getResponseBody(response);
const responseHeader = getResponseHeader(response, options.responseHeader);
const result: ApiResult = {
url,
ok: isSuccess(response.status),
status: response.status,
statusText: response.statusText,
body: responseHeader ?? responseBody,
};
catchErrorCodes(options, result);
resolve(result.body);
}
} catch (error) {
reject(error);
}
});
};

@ -0,0 +1,79 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export { ApiError } from './core/ApiError';
export { CancelablePromise, CancelError } from './core/CancelablePromise';
export { OpenAPI } from './core/OpenAPI';
export type { OpenAPIConfig } from './core/OpenAPI';
export type { BaseResponse } from './models/BaseResponse';
export type { BaseResponse_boolean_ } from './models/BaseResponse_boolean_';
export type { BaseResponse_CoursesDTO_ } from './models/BaseResponse_CoursesDTO_';
export type { BaseResponse_List_CourseObjectivesTreeVO_ } from './models/BaseResponse_List_CourseObjectivesTreeVO_';
export type { BaseResponse_List_CourseResources_ } from './models/BaseResponse_List_CourseResources_';
export type {BaseResponse_List_CourseLearningRecords_} from './models/BaseResponse_List_CourseLearningRecords'
export type { BaseResponse_List_LearningRecords_ } from './models/BaseResponse_List_LearningRecords_';
export type { BaseResponse_List_ObjectivesType_ } from './models/BaseResponse_List_ObjectivesType_';
export type { BaseResponse_List_TeacherInfVO_ } from './models/BaseResponse_List_TeacherInfVO_';
export type { BaseResponse_long_ } from './models/BaseResponse_long_';
export type { BaseResponse_Map_string_object_ } from './models/BaseResponse_Map_string_object_';
export type { BaseResponse_ObjectiveContentKnowVO_ } from './models/BaseResponse_ObjectiveContentKnowVO_';
export type { BaseResponse_ObjectiveContents_ } from './models/BaseResponse_ObjectiveContents_';
export type { BaseResponse_Page_ } from './models/BaseResponse_Page_';
export type { BaseResponse_Page_CourseFavourDetailVO_ } from './models/BaseResponse_Page_CourseFavourDetailVO_';
export type { BaseResponse_Page_CourseResources_ } from './models/BaseResponse_Page_CourseResources_';
export type { BaseResponse_PageDTO_CoursesVO_ } from './models/BaseResponse_PageDTO_CoursesVO_';
export type { BaseResponse_string_ } from './models/BaseResponse_string_';
export type { CommonResult } from './models/CommonResult';
export type { CommonResult_string_ } from './models/CommonResult_string_';
export type { CommonResult_UmsAdmin_ } from './models/CommonResult_UmsAdmin_';
export type { CourseFavourAddRequest } from './models/CourseFavourAddRequest';
export type { CourseFavourAllRequest } from './models/CourseFavourAllRequest';
export type { CourseFavourDetailVO } from './models/CourseFavourDetailVO';
export type { CourseFavourQueryRequest } from './models/CourseFavourQueryRequest';
export type { CourseObjectivesDTO } from './models/CourseObjectivesDTO';
export type { CourseObjectivesTreeVO } from './models/CourseObjectivesTreeVO';
export type { CourseResources } from './models/CourseResources';
export type { CoursesDTO } from './models/CoursesDTO';
export type { CoursesVO } from './models/CoursesVO';
export type { CourseThumbAddRequest } from './models/CourseThumbAddRequest';
export type { Know } from './models/Know';
export type { KnowFavourAddRequest } from './models/KnowFavourAddRequest';
export type { KnowQueryRequest } from './models/KnowQueryRequest';
export type { KnowRequest } from './models/KnowRequest';
export type { KnowThumbAddRequest } from './models/KnowThumbAddRequest';
export type { KnowupdateRequest } from './models/KnowupdateRequest';
export type { LearningRecords } from './models/LearningRecords';
export type { ObjectiveContentKnowDTO } from './models/ObjectiveContentKnowDTO';
export type { ObjectiveContentKnowVO } from './models/ObjectiveContentKnowVO';
export type { ObjectiveContents_ } from './models/ObjectiveContents_';
export type { ObjectivesType_ } from './models/ObjectivesType_';
export type { OrderItem } from './models/OrderItem';
export type { Page } from './models/Page';
export type { Page_CourseFavourDetailVO_ } from './models/Page_CourseFavourDetailVO_';
export type { Page_CourseResources_ } from './models/Page_CourseResources_';
export type { PageDTO_CoursesVO_ } from './models/PageDTO_CoursesVO_';
export type { ResourceFavourAddRequest } from './models/ResourceFavourAddRequest';
export type { ResourceFavourQueryRequest } from './models/ResourceFavourQueryRequest';
export type { ResourceThumbAddRequest } from './models/ResourceThumbAddRequest';
export type { StudentCoursesDTO } from './models/StudentCoursesDTO';
export type { TeacherInfVO } from './models/TeacherInfVO';
export type { UmsAdmin } from './models/UmsAdmin';
export type { UmsAdminParam } from './models/UmsAdminParam';
export type { UmsStudentAndTeacherDTO } from './models/UmsStudentAndTeacherDTO';
export type { UpdateAdminPasswordParam } from './models/UpdateAdminPasswordParam';
export { Service } from './services/Service';
export { CourseResourceControllerService } from './services/CourseResourceControllerService';
export { FavourInformationControllerService } from './services/FavourInformationControllerService';
export { KnowControllerService } from './services/KnowControllerService';
export { LearningRecordsControllerService } from './services/LearningRecordsControllerService';
export { ResourceControllerService } from './services/ResourceControllerService';
export { SeCourseFavourControllerService } from './services/SeCourseFavourControllerService';
export { SeCourseThumbControllerService } from './services/SeCourseThumbControllerService';
export { SeKnowFavourControllerService } from './services/SeKnowFavourControllerService';
export { SeKnowThumbControllerService } from './services/SeKnowThumbControllerService';
export { SeResourceFavourControllerService } from './services/SeResourceFavourControllerService';
export { SeResourceThumbControllerService } from './services/SeResourceThumbControllerService';
export { UmsAdminControllerService } from './services/UmsAdminControllerService';

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type BaseResponse = {
code?: number;
data?: any;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { CoursesDTO } from './CoursesDTO';
export type BaseResponse_CoursesDTO_ = {
code?: number;
data?: CoursesDTO;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { courseLearningRecords } from './CourseLearningRecords';
export type BaseResponse_List_CourseLearningRecords_ = {
code?: number;
data?: Array<courseLearningRecords>;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { CourseObjectivesTreeVO } from './CourseObjectivesTreeVO';
export type BaseResponse_List_CourseObjectivesTreeVO_ = {
code?: number;
data?: Array<CourseObjectivesTreeVO>;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { CourseResources } from './CourseResources';
export type BaseResponse_List_CourseResources_ = {
code?: number;
data?: Array<CourseResources>;
message?: string;
};

@ -0,0 +1,18 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { LearningRecords } from './LearningRecords';
export type BaseResponse_List_LearningRecords_ = {
code?: number;
data?: Array<LearningRecords>;
message?: string;
};
import type { courseLearningRecords } from './LearningRecords';
export type BaseResponse_List_CourseLearningRecords_ = {
code?: number;
data?: Array<courseLearningRecords>;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ObjectivesType_ } from './ObjectivesType_';
export type BaseResponse_List_ObjectivesType_ = {
code?: number;
data?: Array<ObjectivesType_>;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { TeacherInfVO } from './TeacherInfVO';
export type BaseResponse_List_TeacherInfVO_ = {
code?: number;
data?: Array<TeacherInfVO>;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type BaseResponse_Map_string_object_ = {
code?: number;
data?: any;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ObjectiveContentKnowVO } from './ObjectiveContentKnowVO';
export type BaseResponse_ObjectiveContentKnowVO_ = {
code?: number;
data?: ObjectiveContentKnowVO;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ObjectiveContents_ } from './ObjectiveContents_';
export type BaseResponse_ObjectiveContents_ = {
code?: number;
data?: ObjectiveContents_;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { PageDTO_CoursesVO_ } from './PageDTO_CoursesVO_';
export type BaseResponse_PageDTO_CoursesVO_ = {
code?: number;
data?: PageDTO_CoursesVO_;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { Page } from './Page';
export type BaseResponse_Page_ = {
code?: number;
data?: Page;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { Page_CourseFavourDetailVO_ } from './Page_CourseFavourDetailVO_';
export type BaseResponse_Page_CourseFavourDetailVO_ = {
code?: number;
data?: Page_CourseFavourDetailVO_;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { Page_CourseResources_ } from './Page_CourseResources_';
export type BaseResponse_Page_CourseResources_ = {
code?: number;
data?: Page_CourseResources_;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type BaseResponse_boolean_ = {
code?: number;
data?: boolean;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type BaseResponse_long_ = {
code?: number;
data?: number;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type BaseResponse_string_ = {
code?: number;
data?: string;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CommonResult = {
code?: number;
data?: any;
message?: string;
};

@ -0,0 +1,11 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { UmsAdmin } from './UmsAdmin';
export type CommonResult_UmsAdmin_ = {
code?: number;
data?: UmsAdmin;
message?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CommonResult_string_ = {
code?: number;
data?: string;
message?: string;
};

@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseFavourAddRequest = {
courseId?: string;
userId?: string;
};

@ -0,0 +1,8 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseFavourAllRequest = {
courseId?: string;
};

@ -0,0 +1,22 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseFavourDetailVO = {
/**
*
*/
classhours: number;
/**
*
*/
credit: number;
id?: string;
img?: string;
name?: string;
/**
* id
*/
teacher?: string;
};

@ -0,0 +1,12 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseFavourQueryRequest = {
current?: number;
pageSize?: number;
sortField?: string;
sortOrder?: string;
userId?: string;
};

@ -0,0 +1,9 @@
export type courseLearningRecords = {
time?: string;
chapterId?: string;
coursesId?: string;
id?: string;
userId?: string;
img?: string;
};

@ -0,0 +1,26 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
*
*/
export type CourseObjectivesDTO = {
/**
* id
*/
id?: string;
/**
*
*/
name: string;
/**
* pid
*/
pid: string;
/**
*
*/
type: number;
};

@ -0,0 +1,51 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { ObjectiveContents_ } from './ObjectiveContents_';
/**
*
*/
export type CourseObjectivesTreeVO = {
/**
*
*/
contents?: Array<ObjectiveContents_>;
/**
* id
*/
courseId?: string;
/**
*
*/
courseObjectivesTrees?: Array<CourseObjectivesTreeVO>;
/**
*
*/
hasChild?: number;
/**
*
*/
id?: string;
/**
*
*/
name?: string;
/**
*
*/
pid?: string;
/**
* id
*/
requireid?: string;
/**
*
*/
temp?: string;
/**
*
*/
type?: number;
};

@ -0,0 +1,15 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseResources = {
description?: string;
id?: number;
img?: string;
name?: string;
path?: string;
status?: number;
tags?: string;
type?: number;
};

@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type CourseThumbAddRequest = {
courseId?: string;
userId?: string;
};

@ -0,0 +1,70 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
*
*/
export type CoursesDTO = {
/**
* 1 2
*/
assessmenttype: string;
/**
* 1 2 3
*/
assessmentway: string;
/**
* 1 2
*/
category: string;
/**
*
*/
classhours: number;
/**
*
*/
code: string;
/**
*
*/
createTime?: string;
/**
*
*/
credit: number;
/**
*
*/
description?: string;
/**
* id
*/
id?: string;
/**
*
*/
img: string;
/**
*
*/
name: string;
/**
* 1 2 3
*/
nature: string;
/**
*
*/
teacher: string;
/**
*
*/
teachermethod?: string;
/**
*
*/
teacherway?: string;
};

@ -0,0 +1,50 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
* VO实体
*/
export type CoursesVO = {
/**
*
*/
classhours: number;
/**
*
*/
credit: number;
/**
*
*/
description: string;
/**
* id
*/
id?: string;
/**
*
*/
img?: string;
/**
*
*/
name: string;
/**
*
*/
teacher?: string;
/**
*
*/
totalHours: number;
/**
*
*/
totalKnow: number;
/**
*
*/
totalchapter: number;
};

@ -0,0 +1,14 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type Know = {
content?: string;
hour?: number;
id?: number;
img?: string;
info?: string;
name?: string;
resourceid?: string;
};

@ -0,0 +1,10 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type KnowFavourAddRequest = {
courseId?: string;
knowId?: string;
userId?: string;
};

@ -0,0 +1,8 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type KnowQueryRequest = {
name?: string;
};

@ -0,0 +1,13 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type KnowRequest = {
content?: string;
hour?: number;
img?: string;
info?: string;
name?: string;
resourceid?: string;
};

@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type KnowThumbAddRequest = {
knowId?: number;
userId?: string;
};

@ -0,0 +1,14 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type KnowupdateRequest = {
content?: string;
hour?: number;
id?: number;
img?: string;
info?: string;
name?: string;
resourceid?: string;
};

@ -0,0 +1,31 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type LearningRecords = {
accessTime?: string;
address?: string;
chapterId?: string;
content?: string;
coursesId?: string;
download?: string;
id?: string;
isCompleted?: string;
knowledgePointId?: string;
open?: string;
parentNode?: string;
resourceId?: string;
status?: string;
type?: string;
userId?: string;
};
export type courseLearningRecords = {
time?: string;
chapterId?: string;
coursesId?: string;
id?: string;
userId?: string;
img?: string;
};

@ -0,0 +1,16 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
*
*/
export type ObjectiveContentKnowDTO = {
/**
*
*/
id?: string;
know?: string;
objectiveOrContent?: string;
};

@ -0,0 +1,24 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
* VO实体
*/
export type ObjectiveContentKnowVO = {
contentKnowsData?: Array<ObjectiveContentKnowVO>;
/**
*
*/
knowsNumber?: number;
/**
*
*/
knowsTime?: number;
objectiveOrContent?: string;
/**
*
*/
persent?: string;
};

@ -0,0 +1,16 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ObjectiveContents_ = {
/**
*
*/
content: string;
id?: string;
/**
* id
*/
objectiveId: string;
};

@ -0,0 +1,15 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ObjectivesType_ = {
/**
* 使
*/
id?: number;
/**
*
*/
typeName: string;
};

@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type OrderItem = {
asc?: boolean;
column?: string;
};

@ -0,0 +1,18 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { OrderItem } from './OrderItem';
export type Page = {
countId?: string;
current?: number;
maxLimit?: number;
optimizeCountSql?: boolean;
orders?: Array<OrderItem>;
pages?: number;
records?: Array<any>;
searchCount?: boolean;
size?: number;
total?: number;
};

@ -0,0 +1,23 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { CoursesVO } from './CoursesVO';
/**
*
*/
export type PageDTO_CoursesVO_ = {
/**
*
*/
list?: Array<CoursesVO>;
/**
*
*/
pages?: number;
/**
*
*/
total?: number;
};

@ -0,0 +1,19 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { CourseFavourDetailVO } from './CourseFavourDetailVO';
import type { OrderItem } from './OrderItem';
export type Page_CourseFavourDetailVO_ = {
countId?: string;
current?: number;
maxLimit?: number;
optimizeCountSql?: boolean;
orders?: Array<OrderItem>;
pages?: number;
records?: Array<CourseFavourDetailVO>;
searchCount?: boolean;
size?: number;
total?: number;
};

@ -0,0 +1,19 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { CourseResources } from './CourseResources';
import type { OrderItem } from './OrderItem';
export type Page_CourseResources_ = {
countId?: string;
current?: number;
maxLimit?: number;
optimizeCountSql?: boolean;
orders?: Array<OrderItem>;
pages?: number;
records?: Array<CourseResources>;
searchCount?: boolean;
size?: number;
total?: number;
};

@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ResourceFavourAddRequest = {
resourceId?: number;
userId?: string;
};

@ -0,0 +1,13 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ResourceFavourQueryRequest = {
current?: number;
pageSize?: number;
sortField?: string;
sortOrder?: string;
type?: number;
userId?: string;
};

@ -0,0 +1,9 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type ResourceThumbAddRequest = {
resourceId?: number;
userId?: string;
};

@ -0,0 +1,13 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
*
*/
export type StudentCoursesDTO = {
course?: string;
id?: string;
student?: string;
};

@ -0,0 +1,18 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
* VO实体
*/
export type TeacherInfVO = {
/**
* name
*/
name?: string;
/**
* username
*/
username?: string;
};

@ -0,0 +1,15 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type UmsAdmin = {
createTime?: string;
icon?: string;
id?: number;
nickName?: string;
password?: string;
phone?: string;
status?: number;
username?: string;
};

@ -0,0 +1,12 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type UmsAdminParam = {
icon?: string;
nickName?: string;
password?: string;
phone?: string;
username?: string;
};

@ -0,0 +1,26 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type UmsStudentAndTeacherDTO = {
birthday?: string;
className?: string;
degree?: string;
education?: string;
emergencyContact?: string;
faculty?: string;
id?: number;
joinWorkTime?: string;
major?: string;
name?: string;
nationality?: string;
number?: string;
phone?: string;
politicalStatus?: string;
profession?: string;
professionalTitle?: string;
roleId?: number;
sex?: string;
yearAge?: string;
};

@ -0,0 +1,19 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type UpdateAdminPasswordParam = {
/**
*
*/
newPassword: string;
/**
*
*/
oldPassword: string;
/**
*
*/
username: string;
};

@ -0,0 +1,98 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_List_CourseResources_ } from '../models/BaseResponse_List_CourseResources_';
import type { BaseResponse_Page_ } from '../models/BaseResponse_Page_';
import type { BaseResponse_string_ } from '../models/BaseResponse_string_';
import type { CourseResources } from '../models/CourseResources';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class CourseResourceControllerService {
/**
* All
* @returns BaseResponse_List_CourseResources_ OK
* @throws ApiError
*/
public static allUsingGet1(): CancelablePromise<BaseResponse_List_CourseResources_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/courses/all',
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* deleteRecords
* @param ids ids
* @returns BaseResponse_string_ OK
* @throws ApiError
*/
public static deleteRecordsUsingDelete1(
ids: Array<number>,
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'DELETE',
url: '/api/courses/delete',
query: {
'ids': ids,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
},
});
}
/**
* getAll
* @param pagenum pagenum
* @param pagesize pagesize
* @param type type
* @returns BaseResponse_Page_ OK
* @throws ApiError
*/
public static getAllUsingGet1(
pagenum: number = 1,
pagesize: number = 10,
type?: string,
): CancelablePromise<BaseResponse_Page_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/courses/getall',
query: {
'pagenum': pagenum,
'pagesize': pagesize,
'type': type,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* saveCourseResource
* @param courseResources courseResources
* @returns BaseResponse_string_ OK
* @throws ApiError
*/
public static saveCourseResourceUsingGet1(
courseResources: CourseResources,
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/courses/save',
body: courseResources,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,47 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_Page_CourseResources_ } from '../models/BaseResponse_Page_CourseResources_';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class FavourInformationControllerService {
/**
* getInformation2
* @param resourceIdList resourceIdList
* @param type type
* @param current
* @param pageSize
* @param sortField
* @param sortOrder
* @returns BaseResponse_Page_CourseResources_ OK
* @throws ApiError
*/
public static getInformation2UsingGet1(
resourceIdList: Array<number>,
type: number,
current?: number,
pageSize?: number,
sortField?: string,
sortOrder?: string,
): CancelablePromise<BaseResponse_Page_CourseResources_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/Favour/get',
query: {
'current': current,
'pageSize': pageSize,
'sortField': sortField,
'sortOrder': sortOrder,
'resourceIdList': resourceIdList,
'type': type,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,97 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { Know } from '../models/Know';
import type { KnowQueryRequest } from '../models/KnowQueryRequest';
import type { KnowRequest } from '../models/KnowRequest';
import type { KnowupdateRequest } from '../models/KnowupdateRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class KnowControllerService {
/**
* add
* @param knowAddRequest knowAddRequest
* @returns boolean OK
* @returns any Created
* @throws ApiError
*/
public static addUsingPost1(
knowAddRequest: KnowRequest,
): CancelablePromise<boolean | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/know/add',
body: knowAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* deleteKnow
* @param ids ids
* @returns number OK
* @returns any Created
* @throws ApiError
*/
public static deleteKnowUsingPost1(
ids: Array<number>,
): CancelablePromise<number | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/know/delete',
body: ids,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* query
* @param knowQueryRequest knowQueryRequest
* @returns Know OK
* @returns any Created
* @throws ApiError
*/
public static queryUsingPost1(
knowQueryRequest: KnowQueryRequest,
): CancelablePromise<Array<Know> | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/know/query',
body: knowQueryRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* update
* @param knowAddRequest knowAddRequest
* @returns boolean OK
* @returns any Created
* @throws ApiError
*/
public static updateUsingPost1(
knowAddRequest: KnowupdateRequest,
): CancelablePromise<boolean | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/know/update',
body: knowAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,213 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_List_LearningRecords_ } from '../models/BaseResponse_List_LearningRecords_';
import type { BaseResponse_Page_ } from '../models/BaseResponse_Page_';
import type { BaseResponse_string_ } from '../models/BaseResponse_string_';
import type { LearningRecords } from '../models/LearningRecords';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class LearningRecordsControllerService {
/**
* All
* @returns BaseResponse_List_LearningRecords_ OK
* @throws ApiError
*/
public static allUsingGet3(): CancelablePromise<BaseResponse_List_LearningRecords_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/learningrecords/all',
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* deleteRecords
* @param ids ids
* @returns BaseResponse_string_ OK
* @throws ApiError
*/
public static deleteRecordsUsingDelete3(
ids: Array<number>,
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'DELETE',
url: '/api/learningrecords/delete',
query: {
'ids': ids,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
},
});
}
public static deleteCourseRecords(
ids: Array<number>,
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'DELETE',
url: '/api/courselearingrecord/delete',
query: {
'ids': ids,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
},
});
}
/**
* getAll
* @param userId userId
* @param pagenum pagenum
* @param pagesize pagesize
* @returns BaseResponse_Page_ OK
* @throws ApiError
*/
public static getAllUsingGet3(
userId: string,
pagenum: number = 1,
pagesize: number = 10,
): CancelablePromise<BaseResponse_Page_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/learningrecords/getall',
query: {
'pagenum': pagenum,
'pagesize': pagesize,
'userId': userId,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
//查询课程学习记录
public static courseLearningRecords(
userId: string,
pagenum: number = 1,
pagesize: number = 10,
): CancelablePromise<BaseResponse_Page_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/courselearingrecord/page',
query: {
'pagenum': pagenum,
'pagesize': pagesize,
'userId': userId,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
//查询知识点学习记录
public static knowlegdeLearningRecords(
userId: string,
courseId: string,
pagenum: number = 1,
pagesize: number = 10,
): CancelablePromise<BaseResponse_Page_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/knowledgelearning/page',
query: {
'pagenum': pagenum,
'pagesize': pagesize,
'userId': userId,
'courseId': courseId,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
//查询资源学习记录
public static resourceLearningRecords(
userId: string,
knowledgeId: string,
courseId: string,
pagenum: number = 1,
pagesize: number = 10,
): CancelablePromise<BaseResponse_Page_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/resourcelearningrecords/page',
query: {
'pagenum': pagenum,
'pagesize': pagesize,
'userId': userId,
'courseId': courseId,
'knowledgeId': knowledgeId,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
//播放
public static bf(
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/resourcelearningrecords/bf',
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
//文件上传
public static upload(
file : File
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/resourcelearningrecords/upload',
query:{
'file' : file
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* saveRecords
* @param learningRecords learningRecords
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static saveRecordsUsingPost1(
learningRecords: LearningRecords,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/learningrecords/saverecords',
body: learningRecords,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,58 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_string_ } from '../models/BaseResponse_string_';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class ResourceControllerService {
/**
* download
* @param id Id
* @param path path
* @returns BaseResponse_string_ OK
* @throws ApiError
*/
public static downloadUsingGet1(
id: string,
path: string,
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'GET',
url: '/download',
query: {
'Id': id,
'path': path,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* upload
* @param file file
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static uploadUsingPost1(
file?: Blob,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/upload',
formData: {
'file': file,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,99 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { BaseResponse_long_ } from '../models/BaseResponse_long_';
import type { BaseResponse_Page_CourseFavourDetailVO_ } from '../models/BaseResponse_Page_CourseFavourDetailVO_';
import type { CourseFavourAddRequest } from '../models/CourseFavourAddRequest';
import type { CourseFavourAllRequest } from '../models/CourseFavourAllRequest';
import type { CourseFavourQueryRequest } from '../models/CourseFavourQueryRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeCourseFavourControllerService {
/**
* doFavour
* @param courseFavourAddRequest courseFavourAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doFavourUsingPost1(
courseFavourAddRequest: CourseFavourAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/course_favour/add',
body: courseFavourAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* favourCount
* @param courseFavourAddRequest courseFavourAddRequest
* @returns BaseResponse_long_ OK
* @returns any Created
* @throws ApiError
*/
public static favourCountUsingPost1(
courseFavourAddRequest: CourseFavourAddRequest,
): CancelablePromise<BaseResponse_long_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/course_favour/count',
body: courseFavourAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* courseCount
* @param courseFavourAllRequest courseFavourAllRequest
* @returns BaseResponse_long_ OK
* @returns any Created
* @throws ApiError
*/
public static courseCountUsingPost1(
courseFavourAllRequest: CourseFavourAllRequest,
): CancelablePromise<BaseResponse_long_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/course_favour/countAll',
body: courseFavourAllRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* listPostByPage
* @param courseFavourQueryRequest courseFavourQueryRequest
* @returns BaseResponse_Page_CourseFavourDetailVO_ OK
* @returns any Created
* @throws ApiError
*/
public static listPostByPageUsingPost1(
courseFavourQueryRequest: CourseFavourQueryRequest,
): CancelablePromise<BaseResponse_Page_CourseFavourDetailVO_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/course_favour/list/page',
body: courseFavourQueryRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,54 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { BaseResponse_long_ } from '../models/BaseResponse_long_';
import type { CourseThumbAddRequest } from '../models/CourseThumbAddRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeCourseThumbControllerService {
/**
* doThumb
* @param courseThumbAddRequest courseThumbAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doThumbUsingPost1(
courseThumbAddRequest: CourseThumbAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/course_thumb/',
body: courseThumbAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* thumbCount
* @param courseThumbAddRequest courseThumbAddRequest
* @returns BaseResponse_long_ OK
* @returns any Created
* @throws ApiError
*/
public static thumbCountUsingPost1(
courseThumbAddRequest: CourseThumbAddRequest,
): CancelablePromise<BaseResponse_long_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/course_thumb/count',
body: courseThumbAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,32 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { KnowFavourAddRequest } from '../models/KnowFavourAddRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeKnowFavourControllerService {
/**
* doFavour
* @param knowFavourAddRequest knowFavourAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doFavourUsingPost3(
knowFavourAddRequest: KnowFavourAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/know_favour/add',
body: knowFavourAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,32 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { KnowThumbAddRequest } from '../models/KnowThumbAddRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeKnowThumbControllerService {
/**
* doThumb
* @param knowThumbAddRequest knowThumbAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doThumbUsingPost3(
knowThumbAddRequest: KnowThumbAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/know_thumb/add',
body: knowThumbAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,55 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { BaseResponse_Page_CourseResources_ } from '../models/BaseResponse_Page_CourseResources_';
import type { ResourceFavourAddRequest } from '../models/ResourceFavourAddRequest';
import type { ResourceFavourQueryRequest } from '../models/ResourceFavourQueryRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeResourceFavourControllerService {
/**
* doFavour
* @param resourceFavourAddRequest resourceFavourAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doFavourUsingPost5(
resourceFavourAddRequest: ResourceFavourAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/resource_favour/add',
body: resourceFavourAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* listPostByPage
* @param resourceFavourQueryRequest resourceFavourQueryRequest
* @returns BaseResponse_Page_CourseResources_ OK
* @returns any Created
* @throws ApiError
*/
public static listPostByPageUsingPost3(
resourceFavourQueryRequest: ResourceFavourQueryRequest,
): CancelablePromise<BaseResponse_Page_CourseResources_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/resource_favour/list/page',
body: resourceFavourQueryRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,32 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_boolean_ } from '../models/BaseResponse_boolean_';
import type { ResourceThumbAddRequest } from '../models/ResourceThumbAddRequest';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class SeResourceThumbControllerService {
/**
* doThumb
* @param resourceThumbAddRequest resourceThumbAddRequest
* @returns BaseResponse_boolean_ OK
* @returns any Created
* @throws ApiError
*/
public static doThumbUsingPost5(
resourceThumbAddRequest: ResourceThumbAddRequest,
): CancelablePromise<BaseResponse_boolean_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/resource_thumb/add',
body: resourceThumbAddRequest,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,512 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse } from '../models/BaseResponse';
import type { BaseResponse_CoursesDTO_ } from '../models/BaseResponse_CoursesDTO_';
import type { BaseResponse_List_CourseObjectivesTreeVO_ } from '../models/BaseResponse_List_CourseObjectivesTreeVO_';
import type { BaseResponse_List_ObjectivesType_ } from '../models/BaseResponse_List_ObjectivesType_';
import type { BaseResponse_Map_string_object_ } from '../models/BaseResponse_Map_string_object_';
import type { BaseResponse_ObjectiveContentKnowVO_ } from '../models/BaseResponse_ObjectiveContentKnowVO_';
import type { BaseResponse_ObjectiveContents_ } from '../models/BaseResponse_ObjectiveContents_';
import type { BaseResponse_PageDTO_CoursesVO_ } from '../models/BaseResponse_PageDTO_CoursesVO_';
import type { BaseResponse_string_ } from '../models/BaseResponse_string_';
import type { CourseObjectivesDTO } from '../models/CourseObjectivesDTO';
import type { CoursesDTO } from '../models/CoursesDTO';
import type { ObjectiveContentKnowDTO } from '../models/ObjectiveContentKnowDTO';
import type { ObjectiveContents_ } from '../models/ObjectiveContents_';
import type { ObjectivesType_ } from '../models/ObjectivesType_';
import type { StudentCoursesDTO } from '../models/StudentCoursesDTO';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class Service {
/**
*
* @param courseObjectivesDto courseObjectivesDTO
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static updateCourseObjectivesUsingPut1(
courseObjectivesDto: CourseObjectivesDTO,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'PUT',
url: '/api/course_objectives',
body: courseObjectivesDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* -
* @param courseObjectivesDto courseObjectivesDTO
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static saveCourseObjectivesUsingPost1(
courseObjectivesDto: CourseObjectivesDTO,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/course_objectives/addobjectives',
body: courseObjectivesDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param id id
* @returns BaseResponse_List_CourseObjectivesTreeVO_ OK
* @throws ApiError
*/
public static queryCourseObjectivesTreeUsingGet1(
id: string,
): CancelablePromise<BaseResponse_List_CourseObjectivesTreeVO_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/course_objectives/list/{id}',
path: {
'id': id,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* --
* @param id id
* @returns BaseResponse_string_ OK
* @throws ApiError
*/
public static deleteCourseObjectivesByIdsUsingDelete1(
id: string,
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'DELETE',
url: '/api/course_objectives/{id}',
path: {
'id': id,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
},
});
}
/**
* id修改课程
* @param coursesDto coursesDTO
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static editCourseUsingPut1(
coursesDto: CoursesDTO,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'PUT',
url: '/api/coursesteacher',
body: coursesDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* --
* @param coursesDto coursesDTO
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static saveCourseUsingPost1(
coursesDto: CoursesDTO,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/coursesteacher/addcourse',
body: coursesDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* word
* @returns any OK
* @throws ApiError
*/
public static testUsingGet1(): CancelablePromise<any> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/coursesteacher/down',
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param page page
* @param pageSize pageSize
* @returns BaseResponse_Map_string_object_ OK
* @throws ApiError
*/
public static getDataUsingGet1(
page: number,
pageSize: number,
): CancelablePromise<BaseResponse_Map_string_object_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/coursesteacher/index',
query: {
'page': page,
'pageSize': pageSize,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param username username
* @param assessmenttype
* @param category
* @param isAsc
* @param name
* @param nature
* @param pageNo
* @param pageSize
* @param sortBy
* @param teacher
* @returns BaseResponse_PageDTO_CoursesVO_ OK
* @throws ApiError
*/
public static getCoursesUsingGet1(
username: string,
assessmenttype?: string,
category?: string,
isAsc?: boolean,
name?: string,
nature?: string,
pageNo?: number,
pageSize?: number,
sortBy?: string,
teacher?: string,
): CancelablePromise<BaseResponse_PageDTO_CoursesVO_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/coursesteacher/page',
query: {
'assessmenttype': assessmenttype,
'category': category,
'isAsc': isAsc,
'name': name,
'nature': nature,
'pageNo': pageNo,
'pageSize': pageSize,
'sortBy': sortBy,
'teacher': teacher,
'username': username,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* id查询课程
* @param id id
* @returns BaseResponse_CoursesDTO_ OK
* @throws ApiError
*/
public static getByIdCourseUsingGet1(
id: string,
): CancelablePromise<BaseResponse_CoursesDTO_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/coursesteacher/{id}',
path: {
'id': id,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* id删除课程
* @param id id
* @returns BaseResponse OK
* @throws ApiError
*/
public static deleteCoursesUsingDelete1(
id: string,
): CancelablePromise<BaseResponse> {
return __request(OpenAPI, {
method: 'DELETE',
url: '/api/coursesteacher/{id}',
path: {
'id': id,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
},
});
}
/**
*
* @param objectiveContentKnowDto objectiveContentKnowDTO
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static saveKnowsWithObjectiveOrContentUsingPost1(
objectiveContentKnowDto: ObjectiveContentKnowDTO,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/objective_content_know/addknows',
body: objectiveContentKnowDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param objectiveId objectiveId
* @returns BaseResponse_ObjectiveContentKnowVO_ OK
* @throws ApiError
*/
public static getCountDataUsingGet1(
objectiveId: string,
): CancelablePromise<BaseResponse_ObjectiveContentKnowVO_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/objective_content_know/{objectiveId}',
path: {
'objectiveId': objectiveId,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param objectiveContents objectiveContents
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static saveContentUsingPost1(
objectiveContents: ObjectiveContents_,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/objective_contents/addcontent',
body: objectiveContents,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param objectiveContents objectiveContents
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static updateContentUsingPut1(
objectiveContents: ObjectiveContents_,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'PUT',
url: '/api/objective_contents/update',
body: objectiveContents,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* id查询目标内容
* @param id id
* @returns BaseResponse_ObjectiveContents_ OK
* @throws ApiError
*/
public static updateContentUsingGet1(
id: string,
): CancelablePromise<BaseResponse_ObjectiveContents_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/objective_contents/{id}',
path: {
'id': id,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param id id
* @returns BaseResponse_string_ OK
* @throws ApiError
*/
public static deleteContentUsingDelete1(
id: string,
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'DELETE',
url: '/api/objective_contents/{id}',
path: {
'id': id,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
},
});
}
/**
*
* @param objectivesType objectivesType
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static updateObjectivesUsingPut1(
objectivesType: ObjectivesType_,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'PUT',
url: '/api/objectives_type',
body: objectivesType,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param objectivesType objectivesType
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static saveObjectivesUsingPost1(
objectivesType: ObjectivesType_,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/objectives_type/addobjectives',
body: objectivesType,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param id id
* @returns BaseResponse_string_ OK
* @throws ApiError
*/
public static deleteObjectivesUsingDelete1(
id: string,
): CancelablePromise<BaseResponse_string_> {
return __request(OpenAPI, {
method: 'DELETE',
url: '/api/objectives_type/deleteobjectives/{id}',
path: {
'id': id,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
},
});
}
/**
*
* @returns BaseResponse_List_ObjectivesType_ OK
* @throws ApiError
*/
public static objectivesListUsingGet1(): CancelablePromise<BaseResponse_List_ObjectivesType_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/objectives_type/list',
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param studentCoursesDto studentCoursesDTO
* @returns BaseResponse_string_ OK
* @returns any Created
* @throws ApiError
*/
public static saveCoursesToStudentsUsingPost1(
studentCoursesDto: StudentCoursesDTO,
): CancelablePromise<BaseResponse_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/student_courses/addcoursess',
body: studentCoursesDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -0,0 +1,266 @@
/* generated using openapi-typescript-codegen -- do not edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { BaseResponse_List_TeacherInfVO_ } from '../models/BaseResponse_List_TeacherInfVO_';
import type { CommonResult } from '../models/CommonResult';
import type { CommonResult_string_ } from '../models/CommonResult_string_';
import type { CommonResult_UmsAdmin_ } from '../models/CommonResult_UmsAdmin_';
import type { UmsAdmin } from '../models/UmsAdmin';
import type { UmsAdminParam } from '../models/UmsAdminParam';
import type { UmsStudentAndTeacherDTO } from '../models/UmsStudentAndTeacherDTO';
import type { UpdateAdminPasswordParam } from '../models/UpdateAdminPasswordParam';
import type { CancelablePromise } from '../core/CancelablePromise';
import { OpenAPI } from '../core/OpenAPI';
import { request as __request } from '../core/request';
export class UmsAdminControllerService {
/**
*
* @param phone phone
* @returns CommonResult_string_ OK
* @returns any Created
* @throws ApiError
*/
public static sendVerifyCodeUsingPost1(
phone: string,
): CancelablePromise<CommonResult_string_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/user/code',
query: {
'phone': phone,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* username和name
* @returns BaseResponse_List_TeacherInfVO_ OK
* @throws ApiError
*/
public static getTeacherInfListUsingGet1(): CancelablePromise<BaseResponse_List_TeacherInfVO_> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/user/get_teacherinf_list',
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param name
* @returns CommonResult OK
* @throws ApiError
*/
public static getAdminInfoUsingGet1(
name?: string,
): CancelablePromise<CommonResult> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/user/info',
query: {
'name': name,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* token
* @param umsAdmin umsAdmin
* @returns CommonResult OK
* @returns any Created
* @throws ApiError
*/
public static loginUsingPost1(
umsAdmin: UmsAdmin,
): CancelablePromise<CommonResult | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/user/login',
body: umsAdmin,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param id id
* @returns CommonResult OK
* @returns any Created
* @throws ApiError
*/
public static getByIdPersonalInfoUsingPost1(
id: string,
): CancelablePromise<CommonResult | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/user/personal/info',
query: {
'id': id,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* token
* @param phone phone
* @returns CommonResult OK
* @returns any Created
* @throws ApiError
*/
public static phoneLoginUsingPost1(
phone: string,
): CancelablePromise<CommonResult | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/user/phone/login',
query: {
'phone': phone,
},
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param umsAdminParam umsAdminParam
* @returns CommonResult_UmsAdmin_ OK
* @returns any Created
* @throws ApiError
*/
public static phoneRegisterUsingPost1(
umsAdminParam: UmsAdminParam,
): CancelablePromise<CommonResult_UmsAdmin_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/user/phone/register',
body: umsAdminParam,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
* token
* @returns CommonResult OK
* @throws ApiError
*/
public static refreshTokenUsingGet1(): CancelablePromise<CommonResult> {
return __request(OpenAPI, {
method: 'GET',
url: '/api/user/refreshToken',
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param umsAdminParam umsAdminParam
* @returns CommonResult_UmsAdmin_ OK
* @returns any Created
* @throws ApiError
*/
public static registerUsingPost1(
umsAdminParam: UmsAdminParam,
): CancelablePromise<CommonResult_UmsAdmin_ | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/user/register',
body: umsAdminParam,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param umsadmin umsadmin
* @returns CommonResult OK
* @returns any Created
* @throws ApiError
*/
public static updateUmsUsingPost1(
umsadmin: UmsAdmin,
): CancelablePromise<CommonResult | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/user/update',
body: umsadmin,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param umsStudentAndTeacherDto umsStudentAndTeacherDTO
* @returns CommonResult OK
* @returns any Created
* @throws ApiError
*/
public static updatePersonalInfoUsingPost1(
umsStudentAndTeacherDto: UmsStudentAndTeacherDTO,
): CancelablePromise<CommonResult | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/user/update/PersonalInfo',
body: umsStudentAndTeacherDto,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
/**
*
* @param updatePasswordParam updatePasswordParam
* @returns CommonResult OK
* @returns any Created
* @throws ApiError
*/
public static updatePasswordUsingPost1(
updatePasswordParam: UpdateAdminPasswordParam,
): CancelablePromise<CommonResult | any> {
return __request(OpenAPI, {
method: 'POST',
url: '/api/user/updatePassword',
body: updatePasswordParam,
errors: {
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
},
});
}
}

@ -1,15 +1,20 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>教学一体化后师生后台</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r134/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.globe.min.js"></script>
</body>
</html>
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>教学一体化后师生后台</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r121/three.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vanta/0.5.21/vanta.globe.min.js"></script>
<!-- <script src="https://cdn.jsdelivr.net/npm/vanta@0.5.21/dist/vanta.globe.min.js"></script> -->
</body>
</html>

@ -10,7 +10,19 @@ function createUserList() {
desc: '平台管理员',
roles: ['平台管理员'],
buttons: ['cuser.detail'],
routes: ['Home', 'Course', 'Student', 'Group', 'Message'],
routes: [
'Home',
'Course',
'Student',
'Group',
'Message',
'BasicCourseInformation',
'CourseObjectives',
'CourseChapters',
'KnowledgePoints',
'CurriculumMap',
'knowledgeAtlas',
], //老师权限
token: 'Admin Token',
},
{
@ -22,7 +34,20 @@ function createUserList() {
desc: '系统管理员',
roles: ['系统管理员'],
buttons: ['cuser.detail', 'cuser.user'],
routes: ['Home', 'MyCourseStudy', 'CourseResources', 'Message'],
routes: [
'Home',
'MyCourseStudy',
'CourseResources',
'Message',
'LearningProcess',
'CourseCollections',
'Courselikes',
'WebHome',
'CourseHome',
'LearningPathRecommendations',
'KnowledgePointLearning',
'CourseReports',
], //学生权限
token: 'System Token',
},
]

@ -0,0 +1,93 @@
//用户信息数据
function createUserList() {
return [
{
userId: 1,
avatar:
'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
username: 'admin',
password: '111111',
desc: '平台管理员',
roles: ['平台管理员'],
buttons: ['cuser.detail'],
routes: [
'Home',
'Course',
'Student',
'Group',
'Message',
'BasicCourseInformation',
'CourseObjectives',
'CourseChapters',
'KnowledgePoints',
'CurriculumMap',
], //老师权限
token: 'Admin Token',
},
{
userId: 2,
avatar:
'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
username: 'student',
password: '111111',
desc: '系统管理员',
roles: ['系统管理员'],
buttons: ['cuser.detail', 'cuser.user'],
routes: [
'Home',
'MyCourseStudy',
'CourseResources',
'Message',
'LearningProcess',
'CourseCollections',
'Courselikes',
'WebHome',
'CourseHome',
'LearningPathRecommendations',
'KnowledgePointLearning',
'CourseReports',
], //学生权限
token: 'System Token',
},
]
}
export default [
// 用户登录接口
{
url: '/api/user/login', //请求地址
method: 'post', //请求方式
response: ({ body }) => {
//获取请求体携带过来的用户名与密码
const { username, password } = body
//调用获取用户信息函数,用于判断是否有此用户
const checkUser = createUserList().find(
(item) => item.username === username && item.password === password,
)
//没有用户返回失败信息
if (!checkUser) {
return { code: 201, data: { message: '账号或者密码不正确' } }
}
//如果有返回成功信息
const { token } = checkUser
return { code: 200, data: { token } }
},
},
// 获取用户信息
{
url: '/api/user/info',
method: 'get',
response: (request) => {
//获取请求头携带token
const token = request.headers.token
//查看用户信息是否包含有次token用户
const checkUser = createUserList().find((item) => item.token === token)
//没有返回失败的信息
if (!checkUser) {
return { code: 201, data: { message: '获取用户信息失败' } }
}
//如果有返回成功信息
return { code: 200, data: { checkUser } }
},
},
]

@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"dev": "vite --open",
"build": "vue-tsc && vite build",
"build": "vite build",
"preview": "vite preview",
"build:test": "vue-tsc && vite build --mode test",
"build:pro": "vue-tsc && vite build --mode production",
@ -17,14 +17,31 @@
"preinstall": "node ./scripts/preinstall.js"
},
"dependencies": {
"3d-force-graph": "^1.73.3",
"@element-plus/icons-vue": "^2.3.1",
"@vueup/vue-quill": "^1.2.0",
"@vueuse/core": "^10.9.0",
"ajax": "^0.0.4",
"ali-oss": "^6.20.0",
"axios": "^1.6.8",
"d3": "^5.16.0",
"echarts": "^5.5.0",
"echarts-liquidfill": "^3.1.0",
"element-plus": "^2.6.0",
"element-ui": "^2.15.14",
"form-data": "^4.0.0",
"jquery": "^3.7.1",
"jwt-decode": "^4.0.0",
"nanoid": "^5.0.7",
"nprogress": "^0.2.0",
"pinia": "^2.1.7",
"vue": "^3.4.19",
"vue-router": "^4.3.0"
"three": "^0.163.0",
"vue": "^3.4.27",
"vue-echarts": "^6.7.2",
"vue-quill": "^1.5.1",
"vue-router": "^4.3.0",
"vue-video-player": "^6.0.0",
"vue3-video-play": "^1.3.2"
},
"devDependencies": {
"@babel/eslint-parser": "^7.23.10",
@ -38,6 +55,8 @@
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-vue": "^9.22.0",
"mockjs": "^1.1.0",
"openapi-typescript-codegen": "^0.29.0",
"pinia-plugin-persistedstate": "^3.2.1",
"postcss": "^8.4.35",
"postcss-html": "^1.6.0",
"postcss-scss": "^4.0.9",

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

@ -0,0 +1,266 @@
{
"nodes": [
{ "id": "node1", "label": "计算机", "color": "#4682B4", "classID": 0 },
{
"id": "node2",
"label": "前端",
"color": "rgba(254, 241, 0, 1)",
"classID": 1
},
{
"id": "node3",
"label": "js",
"color": "rgba(239, 242, 18, 1)",
"classID": 2
},
{
"id": "node4",
"label": "html",
"color": "rgba(230, 234, 10, 1)",
"classID": 3
},
{
"id": "node5",
"label": "css",
"color": "rgba(244, 231, 0, 1)",
"classID": 4
},
{
"id": "node6",
"label": "less",
"color": "rgba(15, 245, 57, 1)",
"classID": 5
},
{
"id": "node7",
"label": "scss",
"color": "rgba(133, 255, 11, 1)",
"classID": 6
},
{
"id": "node8",
"label": "VUE",
"color": "rgba(42, 255, 0, 1)",
"classID": 7
},
{
"id": "node9",
"label": "React",
"color": "rgba(76, 73, 245, 1)",
"classID": 8
},
{ "id": "node10", "label": "模块化", "color": "#4682B4", "classID": 9 },
{ "id": "node11", "label": "webpack", "color": "#4682B4", "classID": 10 },
{ "id": "node12", "label": "vite", "color": "#4682B4", "classID": 11 },
{
"id": "node13",
"label": "uniapp",
"color": "rgba(77, 255, 0, 1)",
"classID": 12
},
{
"id": "node14",
"label": "element",
"color": "rgba(33, 162, 255, 1)",
"classID": 13
},
{
"id": "node15",
"label": "web3",
"color": "rgba(255, 0, 251, 1)",
"classID": 14
},
{
"id": "node16",
"label": "webGl",
"color": "rgba(208, 0, 249, 1)",
"classID": 15
},
{
"id": "node17",
"label": "three",
"color": "rgba(225, 0, 255, 1)",
"classID": 16
},
{
"id": "node18",
"label": "后端",
"color": "rgba(0, 229, 255, 1)",
"classID": 17
},
{
"id": "node19",
"label": "java",
"color": "rgba(237, 229, 85, 1)",
"classID": 18
},
{
"id": "node20",
"label": "PHP",
"color": "rgba(195, 206, 215, 1)",
"classID": 19
},
{
"id": "node21",
"label": "Go",
"color": "rgba(255, 0, 0, 1)",
"classID": 20
},
{
"id": "node22",
"label": "Python",
"color": "rgba(109, 238, 180, 1)",
"classID": 21
},
{ "id": "node23", "label": "MySQL", "color": "#4682B4", "classID": 22 },
{
"id": "node24",
"label": "人工智能",
"color": "rgba(180, 5, 255, 1)",
"classID": 23
},
{
"id": "node25",
"label": "python",
"color": "rgba(255, 8, 8, 1)",
"classID": 24
},
{
"id": "node26",
"label": "AI模型",
"color": "rgba(10, 138, 244, 1)",
"classID": 25
},
{
"id": "node27",
"label": "Spring Framework",
"color": "rgba(242, 238, 14, 1)",
"classID": 26
},
{
"id": "node28",
"label": "Hibernate",
"color": "rgba(242, 238, 14, 1)",
"classID": 27
},
{
"id": "node29",
"label": "Spring MVC",
"color": "rgba(242, 238, 14, 1)",
"classID": 28
},
{
"id": "node30",
"label": "Gin",
"color": "rgba(255, 0, 0, 1)",
"classID": 29
},
{
"id": "node31",
"label": "Echo",
"color": "rgba(255, 0, 0, 1)",
"classID": 30
},
{
"id": "node32",
"label": "Beego",
"color": "rgba(255, 8, 0, 1)",
"classID": 31
},
{
"id": "node33",
"label": "Laravel",
"color": "rgba(200, 209, 217, 1)",
"classID": 32
},
{
"id": "node34",
"label": "Symfony",
"color": "rgba(182, 194, 204, 1)",
"classID": 33
},
{
"id": "node35",
"label": "CodeIgniter",
"color": "rgba(188, 197, 204, 1)",
"classID": 34
},
{
"id": "node36",
"label": "Django",
"color": "rgba(36, 245, 144, 1)",
"classID": 35
},
{
"id": "node37",
"label": "Flask",
"color": "rgba(41, 244, 176, 1)",
"classID": 36
},
{
"id": "node38",
"label": "FastAPI",
"color": "rgba(58, 244, 142, 1)",
"classID": 37
}
],
"links": [
{ "source": "node2", "target": "node3", "label": "", "classID": 0 },
{ "source": "node2", "target": "node5", "label": "", "classID": 1 },
{ "source": "node2", "target": "node4", "label": "", "classID": 2 },
{ "source": "node1", "target": "node2", "label": "前端方向", "classID": 3 },
{ "source": "node5", "target": "node6", "label": "", "classID": 4 },
{ "source": "node5", "target": "node7", "label": "", "classID": 5 },
{ "source": "node3", "target": "node8", "label": "", "classID": 6 },
{ "source": "node3", "target": "node9", "label": "", "classID": 7 },
{ "source": "node3", "target": "node10", "label": "", "classID": 8 },
{ "source": "node10", "target": "node11", "label": "", "classID": 9 },
{ "source": "node10", "target": "node12", "label": "", "classID": 10 },
{ "source": "node11", "target": "node9", "label": "", "classID": 11 },
{ "source": "node11", "target": "node8", "label": "", "classID": 12 },
{ "source": "node12", "target": "node8", "label": "", "classID": 13 },
{ "source": "node8", "target": "node13", "label": "", "classID": 14 },
{ "source": "node8", "target": "node14", "label": "", "classID": 15 },
{ "source": "node11", "target": "node13", "label": "", "classID": 16 },
{ "source": "node12", "target": "node13", "label": "", "classID": 17 },
{ "source": "node2", "target": "node15", "label": "", "classID": 18 },
{ "source": "node15", "target": "node16", "label": "", "classID": 19 },
{ "source": "node16", "target": "node17", "label": "", "classID": 20 },
{ "source": "node1", "target": "node1", "label": "", "classID": 21 },
{
"source": "node1",
"target": "node18",
"label": "后端方向",
"classID": 22
},
{ "source": "node18", "target": "node21", "label": "", "classID": 23 },
{ "source": "node18", "target": "node20", "label": "", "classID": 24 },
{ "source": "node18", "target": "node19", "label": "", "classID": 25 },
{ "source": "node18", "target": "node22", "label": "", "classID": 26 },
{ "source": "node22", "target": "node23", "label": "", "classID": 27 },
{ "source": "node19", "target": "node23", "label": "", "classID": 28 },
{ "source": "node20", "target": "node23", "label": "", "classID": 29 },
{ "source": "node21", "target": "node23", "label": "", "classID": 30 },
{
"source": "node1",
"target": "node24",
"label": "人工智能方向",
"classID": 31
},
{ "source": "node24", "target": "node25", "label": "", "classID": 32 },
{ "source": "node24", "target": "node26", "label": "", "classID": 33 },
{ "source": "node12", "target": "node9", "label": "", "classID": 34 },
{ "source": "node19", "target": "node27", "label": "", "classID": 35 },
{ "source": "node19", "target": "node28", "label": "", "classID": 36 },
{ "source": "node19", "target": "node29", "label": "", "classID": 37 },
{ "source": "node21", "target": "node30", "label": "", "classID": 38 },
{ "source": "node21", "target": "node31", "label": "", "classID": 39 },
{ "source": "node21", "target": "node32", "label": "", "classID": 40 },
{ "source": "node20", "target": "node33", "label": "", "classID": 41 },
{ "source": "node20", "target": "node34", "label": "", "classID": 42 },
{ "source": "node20", "target": "node35", "label": "", "classID": 43 },
{ "source": "node22", "target": "node36", "label": "", "classID": 44 },
{ "source": "node22", "target": "node37", "label": "", "classID": 45 },
{ "source": "node22", "target": "node38", "label": "", "classID": 46 }
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

@ -3,7 +3,20 @@
</template>
<script lang="ts" setup>
import {} from 'vue'
// import { useRouter, useRoute } from 'vue-router'
// vue3 compositionAPI
// 1. router useRouter
// const router = userRouter()
// 2. route useRoute()
// const route = useRooute()
// const router = useRouter()
// const goList = () => {
// router.push('/')
// }
// import {} from 'vue'
// import { useUserStore } from '@/stores/user.js'
// const userStore = useUserStore()
</script>
<style lang="scss" scoped></style>

@ -0,0 +1,45 @@
import request from '@/utils/request'
import { tool } from '../utils/alioss.js'
import { ElLoading, ElMessage } from 'element-plus'
enum Api {
get系统配置 = '/api/systemSettings/save',
put系统配置 = '/api/systemSettings',
}
// 提示批量处理
const initOptions = { text: '加载中', success: '成功', error: '失败' }
function proxRequest(request, options: any = initOptions) {
return async (...arg) => {
if (!options) return request(...arg)
const loadingInstance = ElLoading.service({ text: options.text })
try {
await request(...arg)
ElMessage.success(options.success)
} catch (error) {
ElMessage.error(options.error)
} finally {
loadingInstance.close()
}
return request
}
}
export function uploadApi(file: File) {
if (file instanceof Object) return tool.oss.upload(file).then(res => res.url)
else return Promise.resolve(file)
}
export function getSysSettingApi() {
return request.get(Api.get系统配置)
}
export const proxGetSysSettingApi = proxRequest(getSysSettingApi)
export function putSysSettingApi(params: any) {
return request.put(Api.put系统配置, params)
}
export const proxPutSysSettingApi = proxRequest(putSysSettingApi, { success: '保存成功', error: '保存失败' })

@ -0,0 +1,124 @@
import request from '@/utils/request'
/**
*
*/
export function getAssApi(params: {
page: number
pageSize: number
resourceIdList: string
type: 1 | 2 | 3 | 4 | 5
userId: string
}) {
return request.get('/Favour/get', {
params,
})
}
/**
*
* @param par
*/
export function aaaApi(par: any) {
if (par) return request.get(`url${par}`)
else return request.get(`url`)
}
export const uploadFile = (data: any) => {
return request({
url: '/upload',
method: 'POST',
data,
})
}
/**
*
* @returns
*/
export function getLearnInfoApi() {
return new Promise((resolve) => {
const data = [
{ name: '总学时', value: '36学时' },
{ name: '已分配学时', value: '20学时' },
{ name: '总学分', value: '2.0分' },
{ name: '章节数', value: '10章' },
{ name: '未分配学时', value: '' },
{ name: '知识点总数', value: '33个' },
]
setTimeout(() => resolve(data), 500 * Math.random())
})
}
/**
*
* @returns
*/
export function getOrogramObjectiveApi() {
return new Promise((resolve) => {
const data = {
con: '内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容',
}
setTimeout(() => resolve(data), 500 * Math.random())
})
}
// 获取课程列表
export const getCourseList = (params: any) => {
return request({
url: '/api/course_objectives/list/' + params.id,
params,
})
}
// 添加分目标
export const addCourse = (data: any) => {
return request({
url: '/api/objective_contents/addcontent',
method: 'POST',
data,
})
}
// 编辑目标
export const editCourse = (data: any) => {
return request({
url: '/api/objective_contents/update',
method: 'PUT',
data,
})
}
//删除课程目标
export const deleteCourse = (params: any) => {
return request({
url: '/api/objective_contents/' + params.id,
method: 'DELETE',
})
}
// /objective_contents/
// 获取详情
export const getCourseInfo = (params: any) => {
return request({
url: '/api/objective_contents/' + params.id,
// method: 'get',
})
}
// 获取课程图谱
export const getCourseAtlas = (params: object) => {
return request({
url: '/api/knowNeo/getAllKnowByCourseId',
params,
})
}
// 获取课程下的知识点
export const getKonwledgeMangment = (params:any) => {
return request({
url:'/api/knowNeo/getAllKnowByCourseId',
params
})
}
// 批量修改知识点关系
export const editKonledgeMangment = (data:any) => {
return request({
url:'/api/knowNeo/updateLinks',
method:"POST",
data
})
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save