Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Hooke
/
mlaj
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
hookehuyr
2025-12-03 13:44:56 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
e62604bfdbdb6139bb69f25e688eed6741629e4a
e62604bf
1 parent
a0084280
docs: 统一将"课程章节"改为"课程目录"以保持术语一致性
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
15 additions
and
15 deletions
src/api/course.js
src/api/favorite.js
src/api/record.js
src/api/teacher.js
src/views/teacher/formPage.vue
src/api/course.js
View file @
e62604b
...
...
@@ -34,7 +34,7 @@ export const getCourseListAPI = (params) => fn(fetch.get(Api.GET_COURSE_LIST, p
* @description: 获取课程详情
* @param: i 课程 ID
* @return: data: [{ id, title, price, original_price, feature, highlights, learning_goal, schedule}]
* @return: schedule: [{ id, schedule_time, seq, title, duration}] 课程
章节
* @return: schedule: [{ id, schedule_time, seq, title, duration}] 课程
目录
*/
export
const
getCourseDetailAPI
=
(
params
)
=>
fn
(
fetch
.
get
(
Api
.
GET_COURSE_DETAIL
,
params
))
...
...
@@ -55,7 +55,7 @@ export const getScheduleCombinationListAPI = (params) => fn(fetch.get(Api.GET_SC
/**
* @description: 获取课程评论列表
* @param: i 课程 ID
* @param: schedule_id 章节ID,非必须,在课程
章节
内查询时需要
* @param: schedule_id 章节ID,非必须,在课程
目录
内查询时需要
* @param: limit 每页数量 默认10
* @param: page 页码
* @return: data: { comment_score 课程评论分数, comment_count 评论数量, comment_list [{ id 评论id, created_by 评论人ID, name 评论人姓名, note 评论内容, score 分数, create_time 评论时间}] 评论列表}
...
...
@@ -65,7 +65,7 @@ export const getGroupCommentListAPI = (params) => fn(fetch.get(Api.GET_GROUP_COM
/**
* @description: 添加课程评论
* @param: i 课程 ID
* @param: schedule_id 章节ID,非必须,在课程
章节
添加时需要
* @param: schedule_id 章节ID,非必须,在课程
目录
添加时需要
* @param: note 评论内容
* @param: score 分数
* @return: data: ''
...
...
src/api/favorite.js
View file @
e62604b
...
...
@@ -17,7 +17,7 @@ const Api = {
* @description: 获取课程收藏列表
* @param: page 页码
* @param: limit 每页数量
* @return: data: { id: 收藏ID, title: 课程名称, price: 优惠价格, original_price: 原价, feature: 课程特色, highlights: 课程亮点, learning_goal: 学习目标, count: 课程
章节
数, cover: 封面图 }
* @return: data: { id: 收藏ID, title: 课程名称, price: 优惠价格, original_price: 原价, feature: 课程特色, highlights: 课程亮点, learning_goal: 学习目标, count: 课程
目录
数, cover: 封面图 }
*/
export
const
getGroupFavoriteListAPI
=
(
params
)
=>
fn
(
fetch
.
get
(
Api
.
GROUP_FAVORITE_LIST
,
params
))
...
...
src/api/record.js
View file @
e62604b
...
...
@@ -23,8 +23,8 @@ export const getStudyRecordListAPI = (params) => fn(fetch.get(Api.STUDY_RECORD_L
/**
* @description: 添加记录
* @param: schedule_id 课程
章节
ID
* @param: meta_id 课程
章节
的视频、音频的ID
* @param: schedule_id 课程
目录
ID
* @param: meta_id 课程
目录
的视频、音频的ID
* @param: media_duration 视频、音频的时长
* @param: playback_position 视频、音频当前播放位置
* @param: playback_id 某一轮播放的ID,需要区分不同轮次播放的开始和结束,最终用来统计播放时长
...
...
src/api/teacher.js
View file @
e62604b
...
...
@@ -52,7 +52,7 @@ export const getTeacherFindSettingsAPI = (params) => fn(fetch.get(Api.TEACHER_FI
* @param {*} frequency 每周期提交数量
* @param {*} attachment_type 提交类型, text=文本 image=图片 video=视频 audio=音频
* @param {*} target_number 目标总数
* @param {*} schedule[{id, begin_date, end_date}] 批量设置课程
章节
的作业
* @param {*} schedule[{id, begin_date, end_date}] 批量设置课程
目录
的作业
* @returns {Object} data { id }
*/
export
const
setTeacherTaskAPI
=
(
params
)
=>
fn
(
fetch
.
post
(
Api
.
TEACHER_ADD_TASK
,
params
))
...
...
src/views/teacher/formPage.vue
View file @
e62604b
...
...
@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2025-01-20 10:00:00
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-1
0-28 10:15:33
* @LastEditTime: 2025-1
2-03 13:44:41
* @FilePath: /mlaj/src/views/teacher/formPage.vue
* @Description: 教师作业新增表单页面
-->
...
...
@@ -158,13 +158,13 @@
<van-icon name="arrow" class="arrow-icon" @click="showClassPicker = true" />
</div>
</div>
<!-- 仅在完成班级选择后,允许进行课程
章节
选择 -->
<!-- 仅在完成班级选择后,允许进行课程
目录
选择 -->
<div class="select-row" v-if="formData.class_id && courseChapters[formData.course]?.length">
<div class="select-item">
<van-icon name="bookmark-o" class="select-icon" />
<span class="select-label">课程
章节
:</span>
<span class="select-label">课程
目录
:</span>
<span class="select-value" @click="showChapterPicker = true">
{{ selectedChaptersDisplay || '请选择
章节
' }}
{{ selectedChaptersDisplay || '请选择
目录
' }}
</span>
<van-icon name="arrow" class="arrow-icon" @click="showChapterPicker = true" />
</div>
...
...
@@ -265,11 +265,11 @@
</div>
</van-popup>
<!-- 课程
章节
选择器 -->
<!-- 课程
目录
选择器 -->
<van-popup v-model:show="showChapterPicker" position="bottom" class="chapter-picker-popup">
<div class="chapter-picker-container">
<div class="picker-header">
<h3>批量设置课程
章节
</h3>
<h3>批量设置课程
目录
</h3>
<van-search v-model="chapterSearchValue" placeholder="搜索章节" @search="searchChapter" />
</div>
...
...
@@ -922,7 +922,7 @@ const handleSubmit = async (values) => {
return;
}
// 准备提交的数据,包含课程
章节
选择和格式化的日期
// 准备提交的数据,包含课程
目录
选择和格式化的日期
const submitData = {
...formData.value,
// 格式化日期为YYYY-MM-DD格式
...
...
@@ -931,7 +931,7 @@ const handleSubmit = async (values) => {
// 处理每周期提交数量和目标总数,当值为0时转换为空值
frequency: formData.value.frequency === 0 ? null : formData.value.frequency,
target_number: formData.value.target_number === 0 ? null : formData.value.target_number,
// 添加课程
章节
选择数据
// 添加课程
目录
选择数据
schedule: selectedChapters.value.map(chapter => ({
id: chapter.id,
name: chapter.name,
...
...
Please
register
or
login
to post a comment