Procházet zdrojové kódy

update: 课程推荐模块,优化当前课程统计

KELECHUAN před 3 roky
rodič
revize
1b1957d986
42 změnil soubory, kde provedl 526 přidání a 161 odebrání
  1. 6 0
      .vs/VSWorkspaceState.json
  2. binární
      .vs/slnx.sqlite
  3. binární
      .vs/teammodelwxapp/v17/.suo
  4. binární
      .vs/teammodelwxapp/v17/workspaceFileList.bin
  5. 2 0
      common/global_scss/pages_style.scss
  6. 16 6
      pages/style/tab_pages.scss
  7. 3 4
      pages/tab_exam/tab_exam.vue
  8. 94 35
      pages/tab_home/tab_home.vue
  9. 3 4
      pages/tab_swap/tab_swap.vue
  10. 3 4
      pages/tab_work/tab_work.vue
  11. 84 0
      static/iconfont/iconfont-weapp-icon.css
  12. 7 1
      store/children.js
  13. 1 2
      subpkg/datalist/classdetail.vue
  14. 39 24
      subpkg/userinfo/childinfo.vue
  15. 7 22
      subpkg/userinfo/parentinfo.vue
  16. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  17. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_exam/tab_exam.js.map
  18. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_home/tab_home.js.map
  19. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_swap/tab_swap.js.map
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_work/tab_work.js.map
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/classdetail.js.map
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/userinfo/childinfo.js.map
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/userinfo/parentinfo.js.map
  24. 65 0
      unpackage/dist/dev/mp-weixin/common/main.wxss
  25. 1 1
      unpackage/dist/dev/mp-weixin/common/vendor.js
  26. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxml
  27. 13 6
      unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxss
  28. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.js
  29. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxml
  30. 26 8
      unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxss
  31. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxml
  32. 13 6
      unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxss
  33. 1 1
      unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxml
  34. 13 6
      unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxss
  35. 84 0
      unpackage/dist/dev/mp-weixin/static/iconfont/iconfont-weapp-icon.css
  36. 1 2
      unpackage/dist/dev/mp-weixin/subpkg/datalist/classdetail.wxss
  37. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.js
  38. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.wxml
  39. 0 6
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.wxss
  40. 1 1
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/parentinfo.wxml
  41. 1 7
      unpackage/dist/dev/mp-weixin/subpkg/userinfo/parentinfo.wxss
  42. 28 1
      utils/RequestHandler.js

+ 6 - 0
.vs/VSWorkspaceState.json

@@ -0,0 +1,6 @@
+{
+  "ExpandedNodes": [
+    ""
+  ],
+  "PreviewInSolutionExplorer": false
+}

binární
.vs/slnx.sqlite


binární
.vs/teammodelwxapp/v17/.suo


binární
.vs/teammodelwxapp/v17/workspaceFileList.bin


+ 2 - 0
common/global_scss/pages_style.scss

@@ -52,6 +52,8 @@ page{
 }
 //标签
 .tag_fill{
+	display: flex;
+	align-items: center;
 	border-radius: 6rpx;
 	background-color: $color-blue;
 	padding: 5rpx 16rpx;

+ 16 - 6
pages/style/tab_pages.scss

@@ -53,19 +53,21 @@
 		display: flex;
 		flex-direction: column;
 		justify-content: space-between;
-		margin: 0 20rpx 20rpx 20rpx;
+		margin: 0 30rpx 20rpx 30rpx;
 
 		.class_item {
 			display: flex;
 			flex-direction: column;
 			justify-content: space-around;
 			margin: 10rpx 0;
-			padding: 10rpx;
+			padding: 6rpx 0;
 			height: 120rpx;
-			border-radius: $border-radius;
-			background: linear-gradient(135deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px), linear-gradient(225deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px)0 64px;
-			background-color: $page-color;
-			background-size: 64px 128px;
+			border-bottom: 4rpx solid #f3f4f9;
+			border-top: 4rpx solid #f3f4f9;
+			border-image: linear-gradient(to right, #FFF, #d5d5d5) 1;
+			// background: linear-gradient(135deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px), linear-gradient(225deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px)0 64px;
+			// background-color: $page-color;
+			// background-size: 64px 128px;
 
 			&_title {
 				font-size: 32rpx;
@@ -153,6 +155,14 @@
 					z-index: 50;
 				}
 			}
+			.desc{
+				line-height: 26rpx;
+				font-size: 26rpx;
+				color: #909399;
+				white-space: nowrap;
+				overflow: hidden;
+				text-overflow: ellipsis;
+			}
 		}
 		._item{
 			margin: 0 20rpx;

+ 3 - 4
pages/tab_exam/tab_exam.vue

@@ -54,9 +54,8 @@
 					</view>
 				</view>
 				<view class="class_list">
-					<view class="class_item" v-for="(item,index) in examData" :key="index"
-						style="linear-gradient(90deg, #f3f4f9, #FFF);" @click="navExamData(index)">
-						<view class="flex_row" style="margin: 5rpx 20rpx;">
+					<view class="class_item" :style="{borderImage: item.examInfo.progress === 'finish'?none:'linear-gradient(to right, #ff8caf, #FFF) 1'}" v-for="(item,index) in examData" :key="index" @click="navExamData(index)">
+						<view class="flex_row" style="margin: 0 20rpx;">
 							<view class="t-icon t-icon-examicon" style="width: 60rpx; height: 60rpx;"></view>
 							<view class="flex_cloumn" style="height:92rpx;justify-content: space-between;">
 								<view class="flex_row" style="margin-left: 20rpx;">
@@ -70,7 +69,7 @@
 										<view class="tag_text">{{item.examInfo.examType.name}}</view>
 									</view>
 									<view class="tag_fill"
-										:style="{backgroundColor: item.examInfo.progress === 'finish'? '#23b46c':'#ff8caf'}">
+										:style="{backgroundColor: item.examInfo.progress === 'finish'? '#23b46c':'#ff5959'}">
 										<view class="tag_text">{{item.examInfo.progress === 'finish' ? '已完成' : '进行中'}}
 										</view>
 									</view>

+ 94 - 35
pages/tab_home/tab_home.vue

@@ -52,7 +52,7 @@
 							<view class="flex_row">
 								<view class="t-icon t-icon-classicon-copy" style="width: 60rpx; height: 60rpx;"></view>
 								<view class="flex_cloumn">
-									<view class="flex_row">
+									<view class="flex_row_home">
 										<view class="class_item_title">{{classList[classCurrent - 3].title}}</view>
 										<view class="tag">
 											<view class="tag_text">{{classList[classCurrent - 3].name}}</view>
@@ -61,7 +61,7 @@
 											<view class="tag_text">{{classList[classCurrent - 3].teacher}}</view>
 										</view>
 									</view>
-									<view class="flex_row">
+									<view class="flex_row_home">
 										<view class="class_item_subtitle">上节</view>
 										<view class="class_item_detail" style="font-size: 32rpx;">
 											{{classList[classCurrent - 3].time}}
@@ -80,7 +80,7 @@
 							<view class="flex_row">
 								<view class="t-icon t-icon-classicon-copy" style="width: 60rpx; height: 60rpx;"></view>
 								<view class="flex_cloumn">
-									<view class="flex_row">
+									<view class="flex_row_home">
 										<view class="class_item_title">{{classList[classCurrent - 2].title}}</view>
 										<view class="tag">
 											<view class="tag_text">{{classList[classCurrent - 2].name}}</view>
@@ -89,7 +89,7 @@
 											<view class="tag_text">{{classList[classCurrent - 2].teacher}}</view>
 										</view>
 									</view>
-									<view class="flex_row">
+									<view class="flex_row_home">
 										<view class="class_item_subtitle">上节</view>
 										<view class="class_item_detail" style="font-size: 32rpx;">
 											{{classList[classCurrent - 2].time}}
@@ -104,11 +104,11 @@
 							</view>
 						</view>
 						<!-- 当前 -->
-						<view class="class_item" style="background-color: #FFF;background: #FFF;">
+						<view class="class_item" style="border-image: linear-gradient(to right, #4169E1, #FFF) 1;">
 							<view class="flex_row">
 								<view class="t-icon t-icon-classicon-copy" style="width: 60rpx; height: 60rpx;"></view>
 								<view class="flex_cloumn">
-									<view class="flex_row">
+									<view class="flex_row_home">
 										<view class="class_item_title" style="color: #4169E1;">
 											{{classList[classCurrent - 1].title}}
 										</view>
@@ -119,7 +119,7 @@
 											<view class="tag_text">{{classList[classCurrent - 1].teacher}}</view>
 										</view>
 									</view>
-									<view class="flex_row">
+									<view class="flex_row_home">
 										<view class="class_item_subtitle" style="color: #4169E1;">当前</view>
 										<view class="class_item_detail" style="font-size: 32rpx;color: #4169E1;">
 											{{classList[classCurrent - 1].time}}
@@ -139,7 +139,7 @@
 								<view class="t-icon t-icon-classicon-noarrive" style="width: 60rpx; height: 60rpx;">
 								</view>
 								<view class="flex_cloumn">
-									<view class="flex_row">
+									<view class="flex_row_home">
 										<view class="class_item_title">{{classList[classCurrent].title}}</view>
 										<view class="tag">
 											<view class="tag_text">{{classList[classCurrent].name}}</view>
@@ -148,7 +148,7 @@
 											<view class="tag_text">{{classList[classCurrent].teacher}}</view>
 										</view>
 									</view>
-									<view class="flex_row">
+									<view class="flex_row_home">
 										<view class="class_item_subtitle">下节</view>
 										<view class="class_item_detail" style="font-size: 32rpx;">
 											{{classList[classCurrent].time}}
@@ -168,7 +168,7 @@
 								<view class="t-icon t-icon-classicon-noarrive" style="width: 60rpx; height: 60rpx;">
 								</view>
 								<view class="flex_cloumn">
-									<view class="flex_row">
+									<view class="flex_row_home">
 										<view class="class_item_title">{{classList[classCurrent+1].title}}</view>
 										<view class="tag">
 											<view class="tag_text">{{classList[classCurrent+1].name}}</view>
@@ -177,7 +177,7 @@
 											<view class="tag_text">{{classList[classCurrent+1].teacher}}</view>
 										</view>
 									</view>
-									<view class="flex_row">
+									<view class="flex_row_home">
 										<view class="class_item_subtitle">下节</view>
 										<view class="class_item_detail" style="font-size: 32rpx;">
 											{{classList[classCurrent+1].time}}
@@ -202,13 +202,13 @@
 					<view class="detail_image" :style="{backgroundImage:`url(${image})`}"></view>
 					<view class="class_list">
 						<view class="class_item" style="height: 120rpx;">
-							<view class="flex_row" style="justify-content: space-around;">
+							<view class="flex_row_home" style="justify-content: space-around;">
 								<view class="class_item_title">{{classList.length === 0 ? '自由安排' : '准备上课'}}</view>
 								<view class="tag" style="margin: 0;">
 									<view class="tag_text">{{classList.length === 0 ? '无课程' : '已下课'}}</view>
 								</view>
 								<view class="class_item_subtitle">{{classList.length === 0 ? '假期' : '课间'}}</view>
-								<view class="flex_row" @click="navClassDetail">
+								<view class="flex_row_home" @click="navClassDetail">
 									<view class="t-icon t-icon-fenlei"></view>
 									<view class="class_item_title" style="color: #4169E1;margin-left: 10rpx;">课程列表
 									</view>
@@ -270,7 +270,7 @@
 				<!-- 今日出席模块 -->
 				<view class="card_item" style="background-color: #f3f4f9;justify-content: space-between;">
 					<!-- 当前课程 -->
-					<view class="item_box">
+					<view class="item_box1">
 						<view class="icon_box" style="background-color: #d8deff; margin-left: 20rpx;">
 							<view class="t-icon t-icon-shangke-"></view>
 						</view>
@@ -298,16 +298,16 @@
 						</view>
 					</view>
 					<!-- 出勤课程统计 -->
-					<view class="item_box">
+					<view class="item_box2">
 						<view class="icon_box" style="background-color: #d8deff;margin-left: 20rpx;">
 							<view class="t-icon t-icon-shangkejilu"></view>
 						</view>
 						<view class="flex_cloumn"
 							style="align-items: center;justify-content: space-around;height: 80rpx;">
 							<view class="subtitle" style="font-size: 24rpx;">出勤课程</view>
-							<view class="title" style="font-size: 32rpx;" v-if="classCurrent!=-1">{{finishClassNum}} 节
+							<view class="title" style="font-size: 32rpx;" v-if="classList">{{finishClassNum}} 节
 							</view>
-							<view class="title" style="font-size: 32rpx;" v-if="classCurrent===-1">无统计</view>
+							<view class="title" style="font-size: 32rpx;" v-if="!classList">0 节</view>
 						</view>
 						<view v-if="classList">
 							<view class="icon_box" style="margin-right: 20rpx;"
@@ -326,7 +326,7 @@
 					</view>
 				</view>
 
-				<!-- 课例列表 -->
+				<!-- 推荐课例列表 -->
 				<view class="flex_cloumn" style="margin: 15rpx 0 10rpx 20rpx;">
 					<view class="title" style="font-size: 32rpx;">课程推荐</view>
 					<view class="bottom_tag"></view>
@@ -340,12 +340,27 @@
 						<view style="display: flex; width: 100%;height: 100%;">
 							<view class="image_item" :style="{backgroundImage: `url(${classItem.coverImage})`}">
 							</view>
-							<view class="flex_cloumn" style="margin-left: 30rpx;">
-								<view class="title">{{classItem.title}}</view>
+							<view class="flex_cloumn"
+								style="margin: 20rpx 20rpx 20rpx 30rpx;justify-content: space-between;width: 400rpx;">
+								<view class="title" style="font-size: 32rpx;">{{classItem.title}}</view>
+								<view style="display: flex;align-items: center;">
+									<view class="tag_fill" style="background-color: #d8deff;width:fit-content;">
+										<view class="t-icon t-icon-a-wangluokechengzaixianjiaoyu"
+											style="width: 30rpx;height: 30rpx;margin-right: 5rpx;"></view>
+										<view class="tag_text" style="color: #4169E1;">{{classItem.classHour}} 学时</view>
+									</view>
+									<view class="tag_fill"
+										style="background-color: #d8deff;width:fit-content;margin-left: 20rpx;">
+										<view class="t-icon t-icon-xiaoyuanredian"
+											style="width: 30rpx;height: 30rpx;margin-right: 5rpx;"></view>
+										<view class="tag_text" style="color: #4169E1;">{{classItem.learnNum}} 已学</view>
+									</view>
+								</view>
+								<view class="desc">{{classItem.description}}</view>
 							</view>
 						</view>
 					</view>
-					
+
 				</view>
 			</scroll-view>
 		</view>
@@ -367,7 +382,7 @@
 		data() {
 			return {
 				cardList: [{
-					icon: 't-icon t-icon-wenjian',
+					icon: 't-icon t-icon-chakandingdan',
 					title: '今日评测',
 					canvasId: 'tab_home_chart1',
 					data: {
@@ -379,7 +394,7 @@
 					},
 					chartOpts: {}
 				}, {
-					icon: 't-icon t-icon-yaoqing',
+					icon: 't-icon t-icon-renwu',
 					title: '今日作业',
 					canvasId: 'tab_home_chart2',
 					data: {
@@ -391,7 +406,7 @@
 					},
 					chartOpts: {}
 				}, {
-					icon: 't-icon t-icon-bianji',
+					icon: 't-icon t-icon-wenjian',
 					title: '今日活动',
 					canvasId: 'tab_home_chart3',
 					data: {
@@ -407,7 +422,7 @@
 				//当前课程索引
 				classCurrent: '',
 				//已上课程
-				finishClassNum: '',
+				finishClassNum: 0,
 				//课程缺省image
 				image: 'https://image.meiye.art/pic_1631411820764Vm5iw82gnV2lVKWRokFmU',
 				//时间戳
@@ -468,7 +483,21 @@
 					}
 					return false
 				}
-				//获取当前课程索引值
+				//当前时间戳是否在课程开始时间之前
+				function CompareDateStart(start) {
+					//获得当前时间时间戳
+					let timeNow = (new Date()).format("yyyy-MM-dd hh:mm").replace(new RegExp("-", "gm"), "/")
+					let timeHaoMiao = (new Date(timeNow)).getTime()
+					//获得课程开始结束时间戳
+					let today = (new Date()).format("yyyy-MM-dd ")
+					let classStart = (today + start).replace(new RegExp("-", "gm"), "/")
+					let classStartHaoMiao = (new Date(classStart)).getTime()
+					//比较
+					if (timeHaoMiao < classStartHaoMiao)
+						return true
+					return false
+				}
+				//获取当前课程索引值(在课程中)
 				let i = 1
 				for (let item of this.classList) {
 					let timeArr = item.time.split("-")
@@ -478,12 +507,29 @@
 					}
 					i++
 				}
-				//存入已上课程
-				this.finishClassNum = i
-				//判断是否不在任意一个时间段内
+				//判断是否不在任意一个时间段内并存入已上课程
 				if (i > this.classList.length) {
-					i = -1
+					let j = 1
+					this.classList.forEach((item, index) => {
+						let timeArr = item.time.split("-")
+						let res = CompareDateStart(timeArr[0])
+						if (res) {
+							j = index -1
+							i = -1
+						}else {
+							j = this.classList.length
+							i = -1
+						}
+					})
+					this.finishClassNum = j
+					console.log('j',j);
+					console.log('i',i);
 				}
+
+				//判断是否不在任意一个时间段内
+				// if (i > this.classList.length) {
+				// 	i = -1
+				// }
 				//判断有无课程
 				if (this.classList.length === 0) {
 					i = -1
@@ -575,14 +621,14 @@
 				let finishClassData = []
 				for (let i = 0; i < this.finishClassNum; i++) {
 					finishClassData.push(this.classList[i])
+					console.log('单个课程', this.classList[i]);
+
 				}
+				console.log('完成课程', finishClassData);
 				if (finishClassData.length != 0) {
 					let isAttendArr = finishClassData.filter(x => x.attendance === true)
 					this.classAttendanceQuality = isAttendArr.length === this.finishClassNum ? '全勤' : '缺勤'
 				}
-				// else{
-				// 	this.classAttendanceQuality = '假期'
-				// }
 			},
 			//导航
 			navClassDetail() {
@@ -634,7 +680,9 @@
 		}
 	}
 
-	.flex_row {
+	.flex_row_home {
+		display: flex;
+		align-items: center;
 		margin: 10rpx 20rpx;
 	}
 
@@ -646,7 +694,17 @@
 		margin-top: -80rpx;
 	}
 
-	.item_box {
+	.item_box1 {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		width: 100%;
+		height: 140rpx;
+		background-color: #FFF;
+		border-radius: $border-radius;
+	}
+
+	.item_box2 {
 		display: flex;
 		align-items: center;
 		justify-content: space-between;
@@ -656,6 +714,7 @@
 		border-radius: $border-radius;
 	}
 
+
 	.icon_box {
 		display: flex;
 		align-items: center;

+ 3 - 4
pages/tab_swap/tab_swap.vue

@@ -52,9 +52,8 @@
 					</view>
 				</view>
 				<view class="class_list">
-					<view class="class_item" v-for="(item,index) in swapData" :key="index"
-						style="linear-gradient(90deg, #f3f4f9, #FFF);" @click="navSwapData(index)">
-						<view class="flex_row">
+					<view class="class_item" :style="{borderImage: item.survey.progress === 'finish' || item.vote.progress === 'finish'?none:'linear-gradient(to right, #FF6D31, #FFF) 1'}" v-for="(item,index) in swapData" :key="index" @click="navSwapData(index)">
+						<view class="flex_row" style="margin: 0 20rpx;">
 							<view class="t-icon t-icon-swapfont" style="width: 60rpx; height: 60rpx;"></view>
 							<view class="flex_cloumn">
 								<view class="flex_row">
@@ -65,7 +64,7 @@
 										</view>
 									</view>
 									<view class="tag_fill"
-										:style="{backgroundColor: item.survey.progress === 'finish' || item.vote.progress === 'finish'? '#23b46c':'#FF6D31'}">
+										:style="{backgroundColor: item.survey.progress === 'finish' || item.vote.progress === 'finish'? '#23b46c':'#ff5959'}">
 										<view class="tag_text">
 											{{item.survey.progress === 'finish' || item.vote.progress === 'finish' ? '已完成' : '进行中'}}
 										</view>

+ 3 - 4
pages/tab_work/tab_work.vue

@@ -52,9 +52,8 @@
 					</view>
 				</view>
 				<view class="class_list">
-					<view class="class_item" v-for="(item,index) in workData" :key="index"
-						style="linear-gradient(90deg, #f3f4f9, #FFF);" @click="navWorkData(index)">
-						<view class="flex_row">
+					<view class="class_item" :style="{borderImage: item.work.progress === 'finish'?none:'linear-gradient(to right, #f9c752, #FFF) 1'}" v-for="(item,index) in workData" :key="index" @click="navWorkData(index)">
+						<view class="flex_row" style="margin: 0 20rpx;">
 							<view class="t-icon t-icon-workicon" style="width: 60rpx; height: 60rpx;"></view>
 							<view class="flex_cloumn">
 								<view class="flex_row">
@@ -63,7 +62,7 @@
 										<view class="tag_text">{{item.work.scope === 'private' ? '个人':'学校'}}</view>
 									</view>
 									<view class="tag_fill"
-										:style="{backgroundColor: item.work.progress === 'finish'? '#23b46c':'#f9c752'}">
+										:style="{backgroundColor: item.work.progress === 'finish'? '#23b46c':'#ff5959'}">
 										<view class="tag_text">{{item.work.progress === 'finish' ? '已完成' : '进行中'}}
 										</view>
 									</view>

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 84 - 0
static/iconfont/iconfont-weapp-icon.css


+ 7 - 1
store/children.js

@@ -13,7 +13,9 @@ export default {
 		//活动数据
 		swapData: '',
 		//打卡数据
-		clockData: ''
+		clockData: '',
+		//勋章数据
+		medalData: '',
 	}),
 	mutations: {
 		//更新当前孩子信息
@@ -40,6 +42,10 @@ export default {
 		//更新打卡记录
 		updateClockData(state, clockData){
 			state.clockData = clockData
+		},
+		//更新勋章数据
+		updateMedalData(state, medalData){
+			state.medalData = medalData
 		}
 	}
 }

+ 1 - 2
subpkg/datalist/classdetail.vue

@@ -206,12 +206,11 @@
 				}
 
 				._title {
-					font-size: 36rpx;
+					font-size: 34rpx;
 					color: $title;
 				}
 
 				._day {
-					margin-top: -10rpx;
 					font-size: 50rpx;
 					font-weight: bold;
 					color: $title;

+ 39 - 24
subpkg/userinfo/childinfo.vue

@@ -5,44 +5,64 @@
 			:style="{backgroundImage:`linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0)),url(${image})`}"></view>
 		<!-- 孩子头部信息 -->
 		<view class="top_info">
-			<image class="top_avatar" v-if="childInfo.avatar === '默认'" :src="childInfo.gender==='男'?'/static/default_icons/boy_avatar.svg':'/static/default_icons/girl_avatar.svg'"></image>
+			<image class="top_avatar" v-if="childInfo.avatar === '默认'"
+				:src="childInfo.gender==='男'?'/static/default_icons/boy_avatar.svg':'/static/default_icons/girl_avatar.svg'">
+			</image>
 			<image class="top_avatar" v-if="childInfo.avatar != '默认'" :src="childInfo.avatar"></image>
 			<view class="top_name">
-				<text class="name">{{childInfo.name}}</text>
-				<text class="detail">{{childInfo.school}}</text>
+				<view class="flex_baseline">
+					<text class="name">{{childInfo.name}}</text>
+					<view class="tag_fill"
+						style="background-color: #d8deff;width:fit-content;z-index: 99;margin-left: 30rpx;">
+						<view class="t-icon t-icon-xueshengziliao"
+							style="width: 32rpx;height: 32rpx;margin-right: 5rpx;"></view>
+						<view class="tag_text" style="color: #4169E1;font-size: 28rpx;">{{childInfo.gender}}</view>
+					</view>
+					<view class="tag_fill"
+						style="background-color: #d8deff;width:fit-content;z-index: 99;margin-left: 10rpx;">
+						<view class="t-icon t-icon-nongyekeji2" style="width: 32rpx;height: 32rpx;margin-right: 5rpx;">
+						</view>
+						<view class="tag_text" style="color: #4169E1;font-size: 28rpx;">{{childInfo.age}}岁</view>
+					</view>
+				</view>
+				<view class="tag_fill" style="background-color: #d8deff;width:fit-content;z-index: 99;">
+					<view class="t-icon t-icon-xuewei1" style="width: 32rpx;height: 32rpx;margin-right: 5rpx;"></view>
+					<view class="tag_text" style="color: #4169E1;font-size: 28rpx;">{{childInfo.tmdid}} 绑定学号</view>
+				</view>
+
 			</view>
 		</view>
 		<!-- 卡片信息 -->
 		<view class="main_card">
 			<view class="flex_row">
-				<view class="t-icon t-icon-baohu"></view>
+				<view class="t-icon t-icon-biaoqian"></view>
 				<view class="flex_cloumn">
-					<view class="subtitle">基础信息</view>
-					<view class="title" style="margin-top: 10rpx;">性别 {{childInfo.gender}} 年龄 {{childInfo.age}}岁</view>
+					<view class="subtitle">就读学校</view>
+					<view class="title" style="margin-top: 10rpx;">{{childInfo.school}}</view>
 				</view>
 			</view>
 			<view class="flex_row" style="margin-top: 50rpx;">
 				<view class="t-icon t-icon-fenlei1"></view>
 				<view class="flex_cloumn">
-					<view class="subtitle">孩子班级</view>
+					<view class="subtitle">所在班级</view>
 					<view class="title">{{childInfo.class}}</view>
 				</view>
 			</view>
 			<view class="flex_row" style="margin-top: 50rpx;">
 				<view class="t-icon t-icon-jiaoyu"></view>
 				<view class="flex_cloumn">
-					<view class="subtitle">学期信息</view>
+					<view class="subtitle">当前学期</view>
 					<view class="title">{{childInfo.semester}}</view>
 				</view>
 			</view>
-			
+
 			<view class="card_view" style="margin-top: 40rpx;">
 				<view class="flex_cloumn_box" style="margin:0 auto 0 -40rpx;">
 					<view class="cloumn_title">勋章卡片</view>
 					<view class="bottom_tag"></view>
 				</view>
 			</view>
-			
+
 			<u-avatar-group :urls="medals" size="40" gap="0.2"></u-avatar-group>
 		</view>
 
@@ -59,9 +79,9 @@
 		},
 		data() {
 			return {
-				image: 'https://images.unsplash.com/photo-1648522102128-ef9759d8d27c?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=764&q=80',
+				image: 'https://images.unsplash.com/photo-1520454974749-611b7248ffdb?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1000&q=80',
 				medals: [
-					
+
 				],
 				childInfo: ''
 			};
@@ -136,13 +156,6 @@
 				font-weight: bold;
 				z-index: 55;
 			}
-
-			.detail {
-				color: $subtitle;
-				font-size: 32rpx;
-				font-weight: bold;
-				z-index: 55;
-			}
 		}
 	}
 
@@ -185,17 +198,19 @@
 		font-weight: bold;
 		color: $title;
 	}
-	
-	.flex_cloumn_box{
-		display:flex;
+
+	.flex_cloumn_box {
+		display: flex;
 		flex-direction: column;
-		.cloumn_title{
+
+		.cloumn_title {
 			line-height: 35rpx;
 			font-size: 32rpx;
 			font-weight: bold;
 			color: $title;
 		}
-		.bottom_tag{
+
+		.bottom_tag {
 			margin-top: -10rpx;
 			margin-left: 20%;
 			height: 20rpx;

+ 7 - 22
subpkg/userinfo/parentinfo.vue

@@ -8,7 +8,11 @@
 			<image class="top_avatar" :src="parentInfo.avatarUrl"></image>
 			<view class="top_name">
 				<text class="name">{{parentInfo.nickName}}</text>
-				<text class="detail" style="color:#FFF">账号: {{phoneNumber}}</text>
+				<view class="tag_fill" style="background-color: #d8deff;width:fit-content;z-index: 99;">
+					<view class="t-icon t-icon-lianmengzhuanjia"
+						style="width: 32rpx;height: 32rpx;margin-right: 5rpx;"></view>
+					<view class="tag_text" style="color: #4169E1;font-size: 28rpx;" >{{phoneNumber}} 绑定手机</view>
+				</view>
 			</view>
 		</view>
 		<!-- 卡片信息 -->
@@ -37,23 +41,11 @@
 
 			<view class="card_view" style="margin-top: 40rpx;">
 				<view class="flex_cloumn_box" style="margin:0 auto 0 -40rpx;">
-					<view class="cloumn_title">孩子片</view>
+					<view class="cloumn_title">孩子片</view>
 					<view class="bottom_tag"></view>
 				</view>
 			</view>
 
-			<!-- <view class="card_box">
-				<view class="card" v-for="(item,index) in childrenData" :key="index">
-					<view class="flex_row" style="width: 100%;">
-						<view class="front_tag"></view>
-						<view class="card_title">{{item.name}}</view>
-					</view>
-					<view class="avatar_box">
-						<image class="avatar" v-if="item.avatar === '默认'" :src="item.gender==='男'?'/static/default_icons/boy_avatar.svg':'/static/default_icons/girl_avatar.svg'"></image>
-						<image class="avatar" v-if="item.avatar != '默认'" :src="item.avatar"></image>
-					</view>
-				</view>
-			</view> -->
 			<view class="card_box">
 				<view class="card" v-for="(item,index) in childrenData" :key="index" @click="navChildInfo(index)">
 					<image class="avatar" v-if="item.avatar === '默认'"
@@ -154,13 +146,6 @@
 				font-weight: bold;
 				z-index: 55;
 			}
-
-			.detail {
-				color: $subtitle;
-				font-size: 32rpx;
-				font-weight: bold;
-				z-index: 55;
-			}
 		}
 	}
 
@@ -237,7 +222,7 @@
 			padding: 20rpx;
 			display: flex;
 			align-items: center;
-			box-shadow: $box-shadow;
+			border: 2rpx solid #f3f4f9;
 			background-color: #FFFFFF;
 			border-radius: $border-radius;
 			z-index: 99;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_exam/tab_exam.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_home/tab_home.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_swap/tab_swap.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_work/tab_work.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/classdetail.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/userinfo/childinfo.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/userinfo/parentinfo.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 65 - 0
unpackage/dist/dev/mp-weixin/common/main.wxss


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/common/vendor.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxml


+ 13 - 6
unpackage/dist/dev/mp-weixin/pages/tab_exam/tab_exam.wxss

@@ -45,19 +45,18 @@
   display: flex;
   flex-direction: column;
   justify-content: space-between;
-  margin: 0 20rpx 20rpx 20rpx;
+  margin: 0 30rpx 20rpx 30rpx;
 }
 .class_list .class_item {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
   margin: 10rpx 0;
-  padding: 10rpx;
+  padding: 6rpx 0;
   height: 120rpx;
-  border-radius: 12rpx;
-  background: linear-gradient(135deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px), linear-gradient(225deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px) 0 64px;
-  background-color: #f3f4f9;
-  background-size: 64px 128px;
+  border-bottom: 4rpx solid #f3f4f9;
+  border-top: 4rpx solid #f3f4f9;
+  border-image: linear-gradient(to right, #FFF, #d5d5d5) 1;
 }
 .class_list .class_item_title {
   font-size: 32rpx;
@@ -140,6 +139,14 @@
   background-repeat: no-repeat;
   z-index: 50;
 }
+.scroll_view_bottom ._item_box .desc {
+  line-height: 26rpx;
+  font-size: 26rpx;
+  color: #909399;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
 .scroll_view_bottom ._item {
   margin: 0 20rpx;
   display: inline-block;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxml


+ 26 - 8
unpackage/dist/dev/mp-weixin/pages/tab_home/tab_home.wxss

@@ -45,19 +45,18 @@
   display: flex;
   flex-direction: column;
   justify-content: space-between;
-  margin: 0 20rpx 20rpx 20rpx;
+  margin: 0 30rpx 20rpx 30rpx;
 }
 .class_list .class_item {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
   margin: 10rpx 0;
-  padding: 10rpx;
+  padding: 6rpx 0;
   height: 120rpx;
-  border-radius: 12rpx;
-  background: linear-gradient(135deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px), linear-gradient(225deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px) 0 64px;
-  background-color: #f3f4f9;
-  background-size: 64px 128px;
+  border-bottom: 4rpx solid #f3f4f9;
+  border-top: 4rpx solid #f3f4f9;
+  border-image: linear-gradient(to right, #FFF, #d5d5d5) 1;
 }
 .class_list .class_item_title {
   font-size: 32rpx;
@@ -140,6 +139,14 @@
   background-repeat: no-repeat;
   z-index: 50;
 }
+.scroll_view_bottom ._item_box .desc {
+  line-height: 26rpx;
+  font-size: 26rpx;
+  color: #909399;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
 .scroll_view_bottom ._item {
   margin: 0 20rpx;
   display: inline-block;
@@ -209,7 +216,9 @@
   margin: 1095rpx 50rpx 20rpx 50rpx;
   width: 650rpx;
 }
-.flex_row {
+.flex_row_home {
+  display: flex;
+  align-items: center;
   margin: 10rpx 20rpx;
 }
 .tag {
@@ -218,7 +227,16 @@
 .detail_image {
   margin-top: -80rpx;
 }
-.item_box {
+.item_box1 {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  width: 100%;
+  height: 140rpx;
+  background-color: #FFF;
+  border-radius: 12rpx;
+}
+.item_box2 {
   display: flex;
   align-items: center;
   justify-content: space-between;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxml


+ 13 - 6
unpackage/dist/dev/mp-weixin/pages/tab_swap/tab_swap.wxss

@@ -45,19 +45,18 @@
   display: flex;
   flex-direction: column;
   justify-content: space-between;
-  margin: 0 20rpx 20rpx 20rpx;
+  margin: 0 30rpx 20rpx 30rpx;
 }
 .class_list .class_item {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
   margin: 10rpx 0;
-  padding: 10rpx;
+  padding: 6rpx 0;
   height: 120rpx;
-  border-radius: 12rpx;
-  background: linear-gradient(135deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px), linear-gradient(225deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px) 0 64px;
-  background-color: #f3f4f9;
-  background-size: 64px 128px;
+  border-bottom: 4rpx solid #f3f4f9;
+  border-top: 4rpx solid #f3f4f9;
+  border-image: linear-gradient(to right, #FFF, #d5d5d5) 1;
 }
 .class_list .class_item_title {
   font-size: 32rpx;
@@ -140,6 +139,14 @@
   background-repeat: no-repeat;
   z-index: 50;
 }
+.scroll_view_bottom ._item_box .desc {
+  line-height: 26rpx;
+  font-size: 26rpx;
+  color: #909399;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
 .scroll_view_bottom ._item {
   margin: 0 20rpx;
   display: inline-block;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxml


+ 13 - 6
unpackage/dist/dev/mp-weixin/pages/tab_work/tab_work.wxss

@@ -45,19 +45,18 @@
   display: flex;
   flex-direction: column;
   justify-content: space-between;
-  margin: 0 20rpx 20rpx 20rpx;
+  margin: 0 30rpx 20rpx 30rpx;
 }
 .class_list .class_item {
   display: flex;
   flex-direction: column;
   justify-content: space-around;
   margin: 10rpx 0;
-  padding: 10rpx;
+  padding: 6rpx 0;
   height: 120rpx;
-  border-radius: 12rpx;
-  background: linear-gradient(135deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px), linear-gradient(225deg, #f3f4f9 21px, #FFF 22px, #FFF 24px, transparent 24px, transparent 67px, #FFF 67px, #FFF 69px, transparent 69px) 0 64px;
-  background-color: #f3f4f9;
-  background-size: 64px 128px;
+  border-bottom: 4rpx solid #f3f4f9;
+  border-top: 4rpx solid #f3f4f9;
+  border-image: linear-gradient(to right, #FFF, #d5d5d5) 1;
 }
 .class_list .class_item_title {
   font-size: 32rpx;
@@ -140,6 +139,14 @@
   background-repeat: no-repeat;
   z-index: 50;
 }
+.scroll_view_bottom ._item_box .desc {
+  line-height: 26rpx;
+  font-size: 26rpx;
+  color: #909399;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
 .scroll_view_bottom ._item {
   margin: 0 20rpx;
   display: inline-block;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 84 - 0
unpackage/dist/dev/mp-weixin/static/iconfont/iconfont-weapp-icon.css


+ 1 - 2
unpackage/dist/dev/mp-weixin/subpkg/datalist/classdetail.wxss

@@ -57,11 +57,10 @@
   color: #FFF;
 }
 .week_view .week_item_select .item_box ._title {
-  font-size: 36rpx;
+  font-size: 34rpx;
   color: #303133;
 }
 .week_view .week_item_select .item_box ._day {
-  margin-top: -10rpx;
   font-size: 50rpx;
   font-weight: bold;
   color: #303133;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.wxml


+ 0 - 6
unpackage/dist/dev/mp-weixin/subpkg/userinfo/childinfo.wxss

@@ -44,12 +44,6 @@
   font-weight: bold;
   z-index: 55;
 }
-.top_info .top_name .detail {
-  color: #909399;
-  font-size: 32rpx;
-  font-weight: bold;
-  z-index: 55;
-}
 .main_card {
   display: flex;
   flex-direction: column;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/subpkg/userinfo/parentinfo.wxml


+ 1 - 7
unpackage/dist/dev/mp-weixin/subpkg/userinfo/parentinfo.wxss

@@ -44,12 +44,6 @@
   font-weight: bold;
   z-index: 55;
 }
-.top_info .top_name .detail {
-  color: #909399;
-  font-size: 32rpx;
-  font-weight: bold;
-  z-index: 55;
-}
 .main_card {
   display: flex;
   flex-direction: column;
@@ -115,7 +109,7 @@
   padding: 20rpx;
   display: flex;
   align-items: center;
-  box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.1);
+  border: 2rpx solid #f3f4f9;
   background-color: #FFFFFF;
   border-radius: 12rpx;
   z-index: 99;

+ 28 - 1
utils/RequestHandler.js

@@ -981,7 +981,7 @@ function initHome() {
 		title: '科学学习实验',
 		name: '科学',
 		teacher: '张老师',
-		time: '17:55-20:50',
+		time: '17:55-17:56',
 		timeFrame: '上午第三节',
 		resource: 'https://klxxcdn.oss-cn-hangzhou.aliyuncs.com/histudy/hrm/media/bg3.mp4',
 		attendance: true
@@ -1000,40 +1000,67 @@ function initHome() {
 			coverImage: 'https://marketplace.canva.cn/EAEAoxTcVrg/3/0/1003w/canva-YsJetSS4oHs.jpg',
 			resource: '',
 			title: '应用数学题',
+			classHour: 3,
+			learnNum: 370,
+			description: '在课程中让孩子练习掌握应用数学题的解法与思路'
 		}, {
 			coverImage: 'https://marketplace.canva.cn/EADjuhwxZWc/7/0/1003w/canva-xsv0lKONlIA.jpg',
 			resource: '',
 			title: '科学小知识',
+			classHour: 6,
+			learnNum: 643,
+			description: '通过有趣的讲解与实验带领孩子了解各种科学小知识,激发孩子对科学的兴趣'
 		}, {
 			coverImage: 'https://marketplace.canva.cn/EAEAo7AZjBQ/2/0/1003w/canva-IoLRlod_dOE.jpg',
 			resource: '',
 			title: '油画基础入门',
+			classHour: 2,
+			learnNum: 88,
+			description: '油画基础入门课程,细致入微地带领孩子系统的学习油画相关知识与画油画练习'
 		}],
 		[{
 			coverImage: 'https://marketplace.canva.cn/EAEAo091-28/2/0/1003w/canva-x9LIziZcH68.jpg',
 			resource: '',
 			title: '小太阳幼儿园',
+			classHour: 6,
+			learnNum: 334,
+			description: '幼儿园孩子必备课程,在幼儿园阶段为孩子建立起良好的习惯与学习生活小技巧'
 		}, {
 			coverImage: 'https://marketplace.canva.cn/EAEAowi6rQU/1/0/1003w/canva-RaCVbz0F4sM.jpg',
 			resource: '',
 			title: '刻意学习,持续行动',
+			classHour: 3,
+			learnNum: 256,
+			description: '怎样才能达到学者的思想境界与知识储备水平?本课程从新颖的角度介绍与论证刻意学习,持续行动的重要性与可行性'
 		}, {
 			coverImage: 'https://marketplace.canva.cn/EAEAozL5pxw/2/0/1003w/canva-9w9Dy9opNkE.jpg',
 			resource: '',
 			title: '总有一个适合孩子的特长',
+			classHour: 7,
+			learnNum: 366,
+			description: '在轻松愉快的课程中介绍各种特长的优点与难点,吸引孩子学习兴趣'
 		}],
 		[{
 			coverImage: 'https://marketplace.canva.cn/EAEAo9pbRQU/2/0/1003w/canva-L1TJidwAUEA.jpg',
 			resource: '',
 			title: '收益一生的哲理故事',
+			classHour: 12,
+			learnNum: 1343,
+			description: '以故事启发孩子,以哲理受益人生'
 		}, {
 			coverImage: 'https://marketplace.canva.cn/EAEAoyJLMsA/2/0/1003w/canva-LSrk4pHUaS4.jpg',
 			resource: '',
 			title: '图解小学数学',
+			classHour: 5,
+			learnNum: 1230,
+			description: '通过例题与图画全面分析与教学小学数学,提高孩子学习热情'
 		}, {
 			coverImage: 'https://marketplace.canva.cn/EAEAo2_-R0U/2/0/1003w/canva-Fd092WF6yNA.jpg',
 			resource: '',
 			title: '每日一练随堂检测',
+			classHour: 8,
+			learnNum: 143,
+			description: '课堂例题引入学习,每日一练提高成绩'
 		}],
 	]
 	this.$store.commit('m_parent/updateClassData', recommendClassList);