Преглед изворни кода

update: 项目交接内容

KELECHUAN пре 2 година
родитељ
комит
a422926df1
100 измењених фајлова са 931 додато и 271 уклоњено
  1. BIN
      .vs/slnx.sqlite
  2. BIN
      .vs/teammodelwxapp/v17/.suo
  3. BIN
      .vs/teammodelwxapp/v17/workspaceFileList.bin
  4. 1 0
      common/global_js/MockData.js
  5. 5 2
      common/global_scss/pages_style.scss
  6. 1 0
      common/global_scss/theme_style.scss
  7. 1 0
      components/loading/loading.vue
  8. 1 0
      components/th-autograph/th-autograph.vue
  9. 1 0
      components/th-autograph/th-color.vue
  10. 1 0
      components/th-autograph/th-line.vue
  11. 3 2
      components/top-info/top-info.vue
  12. 1 0
      components/top-return/top-return.vue
  13. 1 0
      components/top-semester/top-semester.vue
  14. 1 0
      components/z-calendar/dateBox.vue
  15. 1 0
      components/z-calendar/zsy-calendar.vue
  16. 1 1
      main.js
  17. 1 0
      pages/init/init.vue
  18. 49 4
      pages/style/tab_pages.scss
  19. 20 17
      pages/tab_exam/tab_exam.vue
  20. 61 36
      pages/tab_home/tab_home.vue
  21. 1 5
      pages/tab_mine/tab_mine.vue
  22. 33 25
      pages/tab_swap/tab_swap.vue
  23. 21 17
      pages/tab_work/tab_work.vue
  24. 3 4
      static/iconfont/iconfont-font.css
  25. 30 66
      static/iconfont/iconfont-weapp-icon.css
  26. 1 0
      subpkg/datalist/data_pages.scss
  27. 3 2
      subpkg/datalist/examList.vue
  28. 2 0
      subpkg/datalist/examReport.vue
  29. 2 1
      subpkg/datalist/swapList.vue
  30. 1 0
      subpkg/datalist/swapReport.vue
  31. 1 0
      subpkg/datalist/top_info.scss
  32. 5 3
      subpkg/datalist/workList.vue
  33. 1 0
      subpkg/datalist/workReport.vue
  34. 2 2
      subpkg/exam/examPractice.vue
  35. 1 0
      subpkg/exam/gradelist_pages.scss
  36. 1 0
      subpkg/exam/level.vue
  37. 1 0
      subpkg/exam/rank.vue
  38. 1 0
      subpkg/exam/single.vue
  39. 1 0
      subpkg/exam/subject.vue
  40. 1 0
      subpkg/exam/total.vue
  41. 1 0
      subpkg/home/classList.vue
  42. 1 1
      subpkg/home/clockStats.vue
  43. 1 0
      subpkg/home/courseRecommend.vue
  44. 1 1
      subpkg/mine/childInfo.vue
  45. 1 0
      subpkg/mine/msgList.vue
  46. 4 3
      subpkg/mine/parentInfo.vue
  47. 1 0
      subpkg/mine/subInfo.vue
  48. 13 2
      subpkg/startup/guide.vue
  49. 1 1
      subpkg/startup/login.vue
  50. 86 34
      subpkg/startup/options.vue
  51. 1 0
      subpkg/startup/startup_pages.scss
  52. 1 0
      subpkg/swap/swapStats.vue
  53. 1 0
      subpkg/work/workStats.vue
  54. 1 1
      subpkg/work/wrongBook.vue
  55. 16 0
      uni_modules/uni-notice-bar/changelog.md
  56. 395 0
      uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue
  57. 90 0
      uni_modules/uni-notice-bar/package.json
  58. 13 0
      uni_modules/uni-notice-bar/readme.md
  59. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  60. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  61. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  62. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/loading/loading.js.map
  63. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/th-autograph/th-autograph.js.map
  64. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/th-autograph/th-color.js.map
  65. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/th-autograph/th-line.js.map
  66. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/top-info/top-info.js.map
  67. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/top-return/top-return.js.map
  68. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/top-semester/top-semester.js.map
  69. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/z-calendar/dateBox.js.map
  70. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/z-calendar/zsy-calendar.js.map
  71. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/init/init.js.map
  72. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_exam/tab_exam.js.map
  73. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_home/tab_home.js.map
  74. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_mine/tab_mine.js.map
  75. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_swap/tab_swap.js.map
  76. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_work/tab_work.js.map
  77. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/examReport.js.map
  78. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/examlist.js.map
  79. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/swapReport.js.map
  80. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/swaplist.js.map
  81. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/workReport.js.map
  82. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/worklist.js.map
  83. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/examPractice.js.map
  84. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/level.js.map
  85. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/rank.js.map
  86. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/single.js.map
  87. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/subject.js.map
  88. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/total.js.map
  89. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/home/classlist.js.map
  90. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/home/clockstats.js.map
  91. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/childinfo.js.map
  92. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/msgList.js.map
  93. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/parentinfo.js.map
  94. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/subInfo.js.map
  95. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/guide.js.map
  96. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/login.js.map
  97. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/options.js.map
  98. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/swap/swapstats.js.map
  99. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/work/workstats.js.map
  100. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/work/wrongBook.js.map

BIN
.vs/teammodelwxapp/v17/.suo


BIN
.vs/teammodelwxapp/v17/workspaceFileList.bin


+ 1 - 0
common/global_js/MockData.js

@@ -1,3 +1,4 @@
+//模拟数据
 const subjectData = [
 	{
 		categories: [

+ 5 - 2
common/global_scss/pages_style.scss

@@ -1,3 +1,4 @@
+//全局样式
 page{
 	background-color: $page-color;
 }
@@ -144,7 +145,8 @@ page{
 	height: 800rpx;
 	background-size: 100%;
 	background-repeat: no-repeat;
-	background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 45%),url('https://image.meiye.art/pic_1628634662880');
+	background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 45%),url('https://image.meiye.art/pic_1628493211729');
+	z-index: -1;
 }
 .bg-box2{
 	position: fixed;
@@ -152,5 +154,6 @@ page{
 	height: 800rpx;
 	background-size: 100%;
 	background-repeat: no-repeat;
-	background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 45%),url('https://image.meiye.art/pic_1628634712718');
+	background-image: linear-gradient(to top, #f3f4f9, rgba(255, 255, 255, 0) 45%),url('https://image.meiye.art/pic_1628493325426');
+	z-index: -1;
 }

+ 1 - 0
common/global_scss/theme_style.scss

@@ -1,3 +1,4 @@
+//全局主题
 //主题色
 $color-blue: #4169E1;
 $color-green: #23b46c;

+ 1 - 0
components/loading/loading.vue

@@ -1,3 +1,4 @@
+<!-- 加载动画组件 -->
 <template>
 	<view class="flex">
 		<view class="sk-folding-cube">

+ 1 - 0
components/th-autograph/th-autograph.vue

@@ -1,3 +1,4 @@
+<!-- 草稿卡片组件 -->
 <template>
 	<view class="autograph-box">
 		<canvas class="autograph" :canvas-id="canvasId" :id="canvasId" @touchstart="canvasStart($event)" @touchmove="canvasMove($event)">

+ 1 - 0
components/th-autograph/th-color.vue

@@ -1,3 +1,4 @@
+<!-- 草稿卡片笔颜色 -->
 <template>
 	<view class="th-color" v-if="colorShow" @click="checkModel">
 		<view :class="[colorShow?'open-color':'close-color']" @click.stop="()=>{}">

+ 1 - 0
components/th-autograph/th-line.vue

@@ -1,3 +1,4 @@
+<!-- 草稿线粗细 -->
 <template>
 	<view class="th-line" v-if="lineShow" @click="checkModel">
 		<view :class="[lineShow?'open-line':'close-line']" @click.stop="()=>{}">

+ 3 - 2
components/top-info/top-info.vue

@@ -1,3 +1,4 @@
+<!-- 头部孩子个人信息组件 -->
 <template>
 	<view>
 		<view class="info-box">
@@ -104,13 +105,13 @@
 			align-items: center;
 			justify-content: space-around;
 			margin-left: auto;
-			height: 120rpx;
+			height: 100rpx;
 
 			.sub-tag {
 				display: flex;
 				align-items: center;
 				border-radius: 6rpx;
-				padding: 2rpx 12rpx;
+				padding: 6rpx 12rpx;
 				transform: skew(-5deg);
 				background: #2f3137;
 				z-index: 99;

+ 1 - 0
components/top-return/top-return.vue

@@ -1,3 +1,4 @@
+<!-- 头部返回按钮组件 -->
 <template>
 	<view class="back" :style="{height: capsuleHeight+ 'px',top:capsuleTop+'px'}">
 		<view v-if="!refresh">

+ 1 - 0
components/top-semester/top-semester.vue

@@ -1,3 +1,4 @@
+<!-- 头部学期描述组件 -->
 <template>
 	<view>
 		<!-- 页面标题内容 -->

+ 1 - 0
components/z-calendar/dateBox.vue

@@ -1,3 +1,4 @@
+<!-- 日历日期数据组件 -->
 <template>
 	<!-- 日期显示 -->
 	<view class="date_box">

+ 1 - 0
components/z-calendar/zsy-calendar.vue

@@ -1,3 +1,4 @@
+<!-- 日历组件 -->
 <template>
 	<!-- 日历滚动插件 -->
 	<view class="zsy_calendar">

+ 1 - 1
main.js

@@ -4,7 +4,7 @@ import uView from '@/uni_modules/uview-ui'
 import store from '@/store/store.js'
 import Common from '@/utils/CommonMethods.js'
 import Request from '@/utils/RequestHandler.js'
-import apiTools from '@/utils/Api.js'
+import apiTools from '@/utils/ApiTools.js'
 //挂载全局方法
 Date.prototype.format = Common.dateUtil
 Vue.prototype.$noMultipleClicks = Common.noMultipleClicks

+ 1 - 0
pages/init/init.vue

@@ -1,3 +1,4 @@
+<!-- 初始化页面 -->
 <template>
 	<view>
 		<loading></loading>

+ 49 - 4
pages/style/tab_pages.scss

@@ -1,9 +1,8 @@
-	//头部背景
+// tabbar公共样式
 	.bg1 {
 		display: flex;
 		flex-direction: column;
 		margin-top: -400rpx;
-		// width: 1000rpx;
 		height: 1200rpx;
 		border-radius: 100rpx;
 		border-bottom-right-radius: 0;
@@ -48,6 +47,54 @@
 			}
 		}
 	}
+	.subbg {
+		display: flex;
+		flex-direction: column;
+		margin-top: -400rpx;
+		// width: 1000rpx;
+		height: 1100rpx;
+		border-radius: 50rpx;
+		background-color: $color-blue;
+		z-index: 2;
+	
+		.scroll-view {
+			white-space: nowrap;
+			height: 320rpx;
+			margin: auto 0 50rpx 0;
+	
+			.view-box{
+				margin: 0 50rpx;
+				.scroll-view-item {
+					position: relative;
+					display: inline-block;
+					vertical-align: top;
+					margin: 0 50rpx 0 0rpx;
+					width: 280rpx;
+					height: 320rpx;
+					border-radius: 30rpx;
+					background-color: #FFF;
+					
+					.card-info {
+						position: relative;
+						display: flex;
+						align-items: center;
+						padding: 20rpx;
+					
+						.title {
+							font-size: 30rpx;
+							line-height: 40rpx;
+							margin-left: 20rpx;
+						}
+					}
+					
+					.chart-box {
+						width: 100%;
+						height: 240rpx;
+					}
+				}
+			}
+		}
+	}
 	//数据表列
 	.data-list {
 		display: flex;
@@ -178,7 +225,6 @@
 		background-clip: padding-box, border-box;
 		background-origin: padding-box, border-box;
 		background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(0deg, #FFF -75%, rgba(255, 255, 255, 0.0));
-		z-index: 2;
 	}
 	.circle-line3 {
 		position: absolute;
@@ -191,7 +237,6 @@
 		background-clip: padding-box, border-box;
 		background-origin: padding-box, border-box;
 		background-image: linear-gradient(to right, #4169E1, #4169E1), linear-gradient(-90deg, #FFF -100%, rgba(255, 255, 255, 0.0));
-		z-index: 3;
 	}
 	
 	.image-box{

+ 20 - 17
pages/tab_exam/tab_exam.vue

@@ -1,7 +1,8 @@
+<!-- tabbar评测页面 -->
 <template>
 	<view class="page-view">
 		<!-- 统计 -->
-		<view class="bg1">
+		<view class="subbg">
 			<view class="circle-line1"></view>
 			<view class="circle-line2"></view>
 			<view class="circle-line3"></view>
@@ -55,22 +56,25 @@
 				<view class="data-list">
 					<view class="data-item" :style="{borderImage: none}" v-for="(item,index) in examData" :key="index"
 						@click="navExamReport(index)" v-if="examData.length != 0">
-						<view class="flex-row" style="margin: 0 20rpx;">
-							<view class="t-icon t-icon-examicon" style="width: 60rpx; height: 60rpx;"></view>
-							<view class="flex-column" style="height:92rpx;justify-content: space-between;">
+						<view class="flex-row">
+							<view class="t-icon t-icon-a-006-exam" style="width: 60rpx; height: 60rpx;"></view>
+							<view class="flex-column" style="height:100rpx;justify-content: space-between;">
 								<view class="flex-row" style="margin-left: 20rpx;">
 									<view class="item-title">{{item.examInfo.name}}</view>
 								</view>
 								<view class="flex-row">
 									<view class="tag-fill">
+										<uni-icons type="map" color="#4169E1" size="15"></uni-icons>
 										<view class="tag-text">{{item.examInfo.subjects[0].name}}</view>
 									</view>
 									<view class="tag-fill">
+										<uni-icons type="flag" color="#4169E1" size="15"></uni-icons>
 										<view class="tag-text">{{item.examInfo.examType.name}}</view>
 									</view>
 									<view class="tag-fill"
 										:style="{backgroundColor: item.examInfo.progress === 'finish'? '#23b46c':'#ff5959'}">
-										<view class="tag-text">{{item.examInfo.progress === 'finish' ? '已完成' : '进行中'}}
+										<uni-icons type="paperplane" color="#FFF" size="15"></uni-icons>
+										<view class="tag-text" style="color: #FFF;">{{item.examInfo.progress === 'finish' ? '已完成' : '进行中'}}
 										</view>
 									</view>
 								</view>
@@ -83,12 +87,6 @@
 					</view>
 				</view>
 			</view>
-			
-			
-			
-			
-			
-
 			<view class="flex-column" style="margin: 15rpx 0 10rpx 20rpx;">
 				<view class="title" style="font-size: 32rpx;">评测练习</view>
 				<view class="bottom-tag"></view>
@@ -145,22 +143,22 @@
 					data: ''
 				}, {
 					icon: 't-icon t-icon-shuju',
-					title: '单次考试分析',
+					title: '单次考试',
 					type: 'mini-column',
 					data: ''
 				}, {
 					icon: 't-icon t-icon-jiangzhang',
-					title: '排行占比分析',
+					title: '排行占比',
 					type: 'mini-area',
 					data: ''
 				}, {
 					icon: 't-icon t-icon-yingyong',
-					title: '优劣科目分析',
+					title: '优劣科目',
 					type: 'mini-rose',
 					data: ''
 				}, {
 					icon: 't-icon t-icon-yunwei',
-					title: '考试能力分析',
+					title: '考试能力',
 					type: 'mini-column',
 					data: ''
 				}],
@@ -286,13 +284,18 @@
 <style lang="scss">
 	@import '@/pages/style/tab_pages.scss';
 
-	.bg1 {
+	.subbg {
 		background-color: $color-pink;
 	}
 
 	.tag-fill {
-		background-color: $color-pink;
+		background-color: #d8deff;
+		width: fit-content;
 		margin-left: 20rpx;
+		padding: 5rpx 10rpx;
+		.tag-text {
+			color: #4169E1;
+		}
 	}
 
 	.circle-line1 {

+ 61 - 36
pages/tab_home/tab_home.vue

@@ -1,9 +1,8 @@
+<!-- tabbar首页 -->
 <template>
 	<view>
-		<view v-if="!isHomeLoad">
-			<loading></loading>
-		</view>
-		<view class="page-view" v-if="isHomeLoad">
+		<view class="page-view">
+			<view class="background-white"></view>
 			<!-- 成绩统计 -->
 			<view class="bg1">
 				<view class="circle-line1"></view>
@@ -27,10 +26,13 @@
 				</scroll-view>
 			</view>
 			<!-- 通知 -->
-			<view class="bg2">
-				<view class="notice">
-					<u-notice-bar :text="noticeData" bgColor="rgba(65,105,225,0.4)" color="#FFF"
-						url="/subpkg/mine/msgList"></u-notice-bar>
+			<view class="notice-card">
+				<view class="notice" @click="navMsgListPage">
+					<uni-notice-bar show-icon scrollable speed="50" color="#FFF" backgroundColor="rgba(65,105,225,0.4)"
+						:text="noticeData" />
+				</view>
+				<view class="square">
+					<view class="circle"></view>
 				</view>
 			</view>
 			<!-- 课程 -->
@@ -49,7 +51,7 @@
 						<!-- 上上节 -->
 						<view class="data-item" v-if="classCurrent === classList.length">
 							<view class="flex-row">
-								<view class="t-icon t-icon-classicon-copy" style="width: 60rpx; height: 60rpx;"></view>
+								<view class="t-icon t-icon-a-003-book" style="width: 60rpx; height: 60rpx;"></view>
 								<view class="flex-column">
 									<view class="row-margin">
 										<view class="item-title">{{classList[classCurrent - 3].title}}</view>
@@ -78,7 +80,7 @@
 						<!-- 上节 -->
 						<view class="data-item" v-if="classCurrent >= 2">
 							<view class="flex-row">
-								<view class="t-icon t-icon-classicon-copy" style="width: 60rpx; height: 60rpx;"></view>
+								<view class="t-icon t-icon-a-003-book" style="width: 60rpx; height: 60rpx;"></view>
 								<view class="flex-column">
 									<view class="row-margin">
 										<view class="item-title">{{classList[classCurrent - 2].title}}</view>
@@ -107,7 +109,7 @@
 						<!-- 当前 -->
 						<view class="data-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="t-icon t-icon-a-003-book" style="width: 60rpx; height: 60rpx;"></view>
 								<view class="flex-column">
 									<view class="row-margin">
 										<view class="item-title" style="color: #4169E1;">
@@ -138,7 +140,7 @@
 						<!-- 下节 -->
 						<view class="data-item" v-if="classCurrent != classList.length">
 							<view class="flex-row">
-								<view class="t-icon t-icon-classicon-noarrive" style="width: 60rpx; height: 60rpx;">
+								<view class="t-icon t-icon-a-003-book" style="width: 60rpx; height: 60rpx;">
 								</view>
 								<view class="flex-column">
 									<view class="row-margin">
@@ -167,7 +169,7 @@
 						<!-- 下下节 -->
 						<view class="data-item" v-if="classCurrent === 1">
 							<view class="flex-row">
-								<view class="t-icon t-icon-classicon-noarrive" style="width: 60rpx; height: 60rpx;">
+								<view class="t-icon t-icon-a-003-book" style="width: 60rpx; height: 60rpx;">
 								</view>
 								<view class="flex-column">
 									<view class="row-margin">
@@ -436,13 +438,11 @@
 				//打卡状态image
 				image1: 'https://ouch-cdn2.icons8.com/2farWQUdLe8J4mb4oQoEvJpl5OFXtM5P7AZi8nhuOxk/rs:fit:912:912/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9zdmcvOTYz/L2VkZGEwNzAzLTAw/MWYtNGZiZS1hY2I3/LTVlNjRhZGYzNTAx/Mi5zdmc.png',
 				image2: 'https://ouch-cdn2.icons8.com/6CkTSZQdyBYaGiqmNJRhbqoYi8QDcLFn-04VEQyQaCo/rs:fit:962:912/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9zdmcvNzMz/LzlhYmUzYjIyLTRl/ZGQtNDVkMi1iYWEw/LTVjYjk2NThmNDJi/OC5zdmc.png',
-				//当前页面加载是否完成
-				isHomeLoad: false,
 				//今日课程是否上完
 				isAfterDayClass: false
 			};
 		},
-		onLoad() {
+		created() {
 			this.init()
 		},
 		//刷新页面
@@ -463,7 +463,6 @@
 				this.getNoticeData()
 				this.getClockData()
 				this.getClassAttendance()
-				this.isHomeLoad = true
 			},
 
 			//计算出当前课程
@@ -621,13 +620,6 @@
 					this.clockTime = '无记录'
 				}
 			},
-			//获取滚动通知
-			getNoticeData() {
-				if (this.userData.msgList)
-					this.noticeData = `您有 ${this.userData.msgList.length} 条通知,请点击查看`
-				if (!this.userData.msgList)
-					this.noticeData = `您已查看全部通知`
-			},
 			//获取出勤课程统计
 			getClassAttendance() {
 				let finishClassData = []
@@ -639,7 +631,19 @@
 					this.classAttendanceQuality = isAttendArr.length === this.finishClassNum ? '全勤' : '缺勤'
 				}
 			},
+			//获取滚动通知
+			getNoticeData() {
+				if (this.userData.msgList)
+					this.noticeData = `您有 ${this.userData.msgList.length} 条通知,请点击查看`
+				if (!this.userData.msgList)
+					this.noticeData = `您已查看全部通知`
+			},
 			//导航
+			navMsgListPage() {
+				uni.navigateTo({
+					url: "/subpkg/mine/msgList"
+				})
+			},
 			navClassList() {
 				let current = this.classCurrent
 				uni.navigateTo({
@@ -672,18 +676,40 @@
 
 <style lang="scss">
 	@import '@/pages/style/tab_pages.scss';
-
-	.bg2 {
-		margin-top: -1065rpx;
-		height: 1200rpx;
-		border-radius: 100rpx;
-		border-bottom-left-radius: 0;
+	
+	.background-white {
+		position: absolute;
+		width: 100%;
+		height: 900rpx;
+		border-bottom-left-radius: 100rpx;
 		background-color: #FFF;
-		z-index: 1;
-
+	}
+	.notice-card {
+		display: flex;
+		align-items: center;
+	
 		.notice {
-			margin: 1095rpx 50rpx 20rpx 50rpx;
+			margin-left: 50rpx;
+			margin-right: -50rpx;
 			width: 650rpx;
+			height: 58rpx;
+			z-index: 2;
+		}
+	
+		.square {
+			position: relative;
+			margin-left: auto;
+			width: 100rpx;
+			height: 100rpx;
+			background-color: $color-blue;
+	
+			.circle {
+				position: relative;
+				width: 100rpx;
+				height: 100rpx;
+				border-radius: 0 100rpx 0 0;
+				background-color: #FFF;
+			}
 		}
 	}
 
@@ -759,9 +785,8 @@
 
 		.state-text {
 			color: #FFF;
-			font-size: 24rpx;
-			font-weight: bold;
-			transform: skew(-10deg);
+			font-size: 30rpx;
+			font-family: YSfont;
 		}
 	}
 

+ 1 - 5
pages/tab_mine/tab_mine.vue

@@ -1,3 +1,4 @@
+<!-- tabbar个人页面 -->
 <template>
 	<view>
 		<view class="content">
@@ -258,11 +259,6 @@
 				&:active {
 					background: #f2f2f2;
 				}
-
-				&:last-child {
-					border-bottom: none !important;
-				}
-
 				.cell-left {
 					display: flex;
 					align-items: center;

+ 33 - 25
pages/tab_swap/tab_swap.vue

@@ -1,7 +1,8 @@
+<!-- tabbar家校页面 -->
 <template>
 	<view class="page-view">
 		<!-- 统计 -->
-		<view class="bg1">
+		<view class="subbg">
 			<view class="circle-line1"></view>
 			<view class="circle-line2"></view>
 			<view class="circle-line3"></view>
@@ -54,19 +55,21 @@
 				<view class="data-list">
 					<view class="data-item" :style="{borderImage: none}" v-for="(item,index) in swapData" :key="index"
 						@click="navSwapReport(index)" v-if="swapData.length != 0">
-						<view class="flex-row" style="margin: 0 20rpx;">
-							<view class="t-icon t-icon-swapfont" style="width: 60rpx; height: 60rpx;"></view>
-							<view class="flex-column">
-								<view class="flex-row">
+						<view class="flex-row">
+							<view class="t-icon t-icon-a-041-clipboard" style="width: 60rpx; height: 60rpx;"></view>
+							<view class="flex-column" style="height:100rpx;justify-content: space-between;">
+								<view class="flex-row" style="margin-left: 20rpx;">
 									<view class="item-title">{{item.survey.name || item.vote.name}}</view>
-									<view class="tag-fill" style="background-color: #FF6D31;">
+									<view class="tag-fill">
+										<uni-icons type="staff" color="#4169E1" size="15"></uni-icons>
 										<view class="tag-text">
-											{{item.survey.scope === 'private' ? '个人':'学校' || item.vote.scope === 'private' ? '个人':'学校'}}
+											{{item.survey.scope === 'private' ? '个人':'学校' || item.vote.scope === 'private' ? '班级':'校级'}}
 										</view>
 									</view>
 									<view class="tag-fill"
 										:style="{backgroundColor: item.survey.progress === 'finish' || item.vote.progress === 'finish'? '#23b46c':'#ff5959'}">
-										<view class="tag-text">
+										<uni-icons type="paperplane" color="#FFF" size="15"></uni-icons>
+										<view class="tag-text" style="color: #FFF;">
 											{{item.survey.progress === 'finish' || item.vote.progress === 'finish' ? '已完成' : '进行中'}}
 										</view>
 									</view>
@@ -122,32 +125,32 @@
 				//图表卡片列表
 				cardList: [{
 					icon: 't-icon t-icon-zoushi1',
-					title: '近期学习对比',
+					title: '学习对比',
 					type: 'mini-column',
 					data: '',
 				}, {
 					icon: 't-icon t-icon-lishijilu',
-					title: '近期运动记录',
+					title: '运动记录',
 					type: 'pie',
 					data: '',
 				}, {
 					icon: 't-icon t-icon-naozhong',
-					title: '近期睡眠记录',
+					title: '睡眠记录',
 					type: 'ring',
 					data: '',
 				}],
 				interchangeData: [{
 					name: '请假申请',
-					icon: 't-icon t-icon-wj-qjd'
+					icon: 't-icon t-icon-zhangdan_xiangqing'
 				}, {
 					name: '体温记录',
-					icon: 't-icon t-icon-wj-jzbg'
+					icon: 't-icon t-icon-wenshiduchuanganqi'
 				}, {
 					name: '假期表现',
-					icon: 't-icon t-icon-wj-by'
+					icon: 't-icon t-icon-daibanrenwu'
 				}, {
 					name: '缴费概览',
-					icon: 't-icon t-icon-wj-zd'
+					icon: 't-icon t-icon-zhangdan'
 				}],
 				image: 'https://ouch-cdn2.icons8.com/LW70TMgW1cGfYeGNSTEp7__kiKVgIhwdZwUmykdLYMY/rs:fit:912:912/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9wbmcvOTI0/LzU3MWU4ZDZkLTg0/NzEtNGM5YS04MDJk/LTEzNTM5YmZmZTM2/YS5wbmc.png',
 				//完成情况
@@ -257,14 +260,10 @@
 <style lang="scss">
 	@import '@/pages/style/tab_pages.scss';
 
-	.bg1 {
+	.subbg {
 		background-color: $color-orange;
 	}
 
-	.flex-row {
-		margin: 5rpx 20rpx;
-	}
-
 	.row-desc {
 		margin: 5rpx 20rpx;
 		display: flex;
@@ -276,8 +275,14 @@
 	}
 
 	.tag-fill {
-		background-color: $color-orange;
+		background-color: #d8deff;
+		width: fit-content;
 		margin-left: 20rpx;
+		padding: 5rpx 10rpx;
+
+		.tag-text {
+			color: #4169E1;
+		}
 	}
 
 	.circle-line1 {
@@ -304,18 +309,21 @@
 			height: 120rpx;
 			width: 220rpx;
 			border-radius: $border-radius;
-			background-image: linear-gradient(to right, #FF6D31, rgba(255,109,49,0.5));
-			.t-icon{
+			background-image: linear-gradient(to right, #FF6D31, rgba(255, 109, 49, 0.5));
+
+			.t-icon {
 				width: 55rpx;
 				height: 55rpx;
 			}
-			.icon-box-title{
+
+			.icon-box-title {
 				line-height: 40rpx;
 				font-size: 40rpx;
 				color: #FFF;
 				font-family: YSfont;
 			}
-			.icon-box-subtitle{
+
+			.icon-box-subtitle {
 				line-height: 30rpx;
 				font-size: 30rpx;
 				color: #FFF;

+ 21 - 17
pages/tab_work/tab_work.vue

@@ -1,7 +1,8 @@
+<!-- tabbar作业页面 -->
 <template>
 	<view class="page-view">
 		<!-- 统计 -->
-		<view class="bg1">
+		<view class="subbg">
 			<view class="circle-line1"></view>
 			<view class="circle-line2"></view>
 			<view class="circle-line3"></view>
@@ -56,17 +57,19 @@
 						:style="{borderImage: none}"
 						v-for="(item,index) in workData" :key="index" @click="navWorkReport(index)"
 						v-if="workData.length != 0">
-						<view class="flex-row" style="margin: 0 20rpx;">
-							<view class="t-icon t-icon-workicon" style="width: 60rpx; height: 60rpx;"></view>
-							<view class="flex-column">
-								<view class="flex-row">
+						<view class="flex-row">
+							<view class="t-icon t-icon-a-004-notebook" style="width: 60rpx; height: 60rpx;"></view>
+							<view class="flex-column" style="height:100rpx;justify-content: space-between;">
+								<view class="flex-row" style="margin-left: 20rpx;">
 									<view class="item-title">{{item.work.name}}</view>
-									<view class="tag-fill" style="background-color: #f9c752;">
-										<view class="tag-text">{{item.work.scope === 'private' ? '个人':'学校'}}</view>
+									<view class="tag-fill">
+										<uni-icons type="staff" color="#4169E1" size="15"></uni-icons>
+										<view class="tag-text">{{item.work.scope === 'private' ? '班级':'校级'}}</view>
 									</view>
 									<view class="tag-fill"
 										:style="{backgroundColor: item.work.progress === 'finish'? '#23b46c':'#ff5959'}">
-										<view class="tag-text">{{item.work.progress === 'finish' ? '已完成' : '进行中'}}
+										<uni-icons type="paperplane" color="#FFF" size="15"></uni-icons>
+										<view class="tag-text" style="color: #FFF;">{{item.work.progress === 'finish' ? '已完成' : '进行中'}}
 										</view>
 									</view>
 								</view>
@@ -124,12 +127,12 @@
 			return {
 				cardList: [{
 					icon: 't-icon t-icon-gongzuo',
-					title: '近期作业完成',
+					title: '作业完成',
 					type: 'mini-column',
 					data: ''
 				}, {
 					icon: 't-icon t-icon-renzheng',
-					title: '近期作业得分',
+					title: '作业得分',
 					type: 'mini-area',
 					data: ''
 				}],
@@ -207,13 +210,9 @@
 <style lang="scss">
 	@import '@/pages/style/tab_pages.scss';
 
-	.bg1 {
+	.subbg {
 		background-color: $color-yellow;
 	}
-
-	.flex-row {
-		margin: 5rpx 20rpx;
-	}
 	.row-desc{
 		margin: 5rpx 20rpx;
 		display: flex;
@@ -225,8 +224,13 @@
 	}
 
 	.tag-fill {
-		background-color: $color-pink;
+		background-color: #d8deff;
+		width: fit-content;
 		margin-left: 20rpx;
+		padding: 5rpx 10rpx;
+		.tag-text {
+			color: #4169E1;
+		}
 	}
 
 	.image {
@@ -271,7 +275,7 @@
 
 	.bg-title {
 		position: absolute;
-		margin-top: 60rpx;
+		margin-top: 40rpx;
 		margin-left: 80rpx;
 		font-size: 130rpx;
 		font-weight: 600;

Разлика између датотеке није приказан због своје велике величине
+ 3 - 4
static/iconfont/iconfont-font.css


Разлика између датотеке није приказан због своје велике величине
+ 30 - 66
static/iconfont/iconfont-weapp-icon.css


+ 1 - 0
subpkg/datalist/data_pages.scss

@@ -1,3 +1,4 @@
+	// 详情列表页面公共样式
 	.card-view{
 		.card-item {
 			width: 100%;

+ 3 - 2
subpkg/datalist/examList.vue

@@ -1,3 +1,4 @@
+<!-- 评测详情列表页 -->
 <template>
 	<view class="page-view">
 		<top-return :color="'#FFF'" text="评测列表"></top-return>
@@ -24,7 +25,7 @@
 			<view class="card-item" v-for="(item,index) in examData" :key="index"
 				@click="navExamReport(index)">
 				<view class="card-title">
-					<view class="t-icon t-icon-examicon"></view>
+					<view class="t-icon t-icon-a-006-exam"></view>
 					<view class="YS-title" style="font-size: 45rpx;">{{item.examInfo.name}}</view>
 					<view
 						:class="[item.examInfo.progress === 'finish'?'t-icon t-icon-yiwancheng1':'t-icon t-icon-jinhangzhong','state-seal']">
@@ -43,7 +44,7 @@
 					</view>
 					<view class="flex-baseline" style="margin-top: 20rpx;">
 						<view class="info-type">布置老师:</view>
-						<view class="YS-title" style="margin-left: 10rpx;">{{item.examInfo.creatorId}}
+						<view class="YS-title" style="margin-left: 10rpx;">{{item.examInfo.creator}}
 						</view>
 						<view class="info-type" style="margin-left: 20rpx;">截止时间:</view>
 						<view class="YS-title" style="margin-left: 10rpx;">

+ 2 - 0
subpkg/datalist/examReport.vue

@@ -1,3 +1,4 @@
+<!-- 评测分析报告页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF"></top-return>
@@ -456,6 +457,7 @@
 		background-size: 100%;
 		background-repeat: no-repeat;
 		background-image: linear-gradient(to top, #f3f4f9, #ff8caf);
+		z-index: -1;
 	}
 
 	.detail-image1 {

+ 2 - 1
subpkg/datalist/swapList.vue

@@ -1,3 +1,4 @@
+<!-- 家校详情列表页 -->
 <template>
 	<view class="page-view">
 		<top-return :color="'#FFF'" text="活动列表"></top-return>
@@ -24,7 +25,7 @@
 		<view class="card-view">
 			<view class="card-item" v-for="(item,index) in swapData" :key="index" @click="navSwapReport(index)">
 				<view class="card-title">
-					<view class="t-icon t-icon-swapfont"></view>
+					<view class="t-icon t-icon-a-041-clipboard"></view>
 					<view class="YS-title" style="font-size: 45rpx;">{{item.survey.name||item.vote.name}}</view>
 					<view
 						:class="[item.survey.progress === 'finish'||item.vote.progress === 'finish'?'t-icon t-icon-yiwancheng1':'t-icon t-icon-jinhangzhong-copy','state-seal']"

+ 1 - 0
subpkg/datalist/swapReport.vue

@@ -1,3 +1,4 @@
+<!-- 活动分析报告页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF"></top-return>

+ 1 - 0
subpkg/datalist/top_info.scss

@@ -1,3 +1,4 @@
+	// 页面头部信息公共样式
 	.top-box {
 		display: flex;
 		flex-direction: column;

+ 5 - 3
subpkg/datalist/workList.vue

@@ -1,3 +1,4 @@
+<!-- 作业详情列表页 -->
 <template>
 	<view class="page-view">
 		<top-return :color="'#FFF'" text="作业列表"></top-return>
@@ -24,7 +25,7 @@
 		<view class="card-view">
 			<view class="card-item" v-for="(item,index) in workData" :key="index" @click="navWorkReport(index)">
 				<view class="card-title">
-					<view class="t-icon t-icon-workicon">
+					<view class="t-icon t-icon-a-004-notebook">
 					</view>
 					<view class="YS-title" style="font-size: 45rpx;">{{item.work.name}}</view>
 					<view
@@ -53,11 +54,12 @@
 					</view>
 					<view v-for="(attachment,i) in item.work.attachments" :key="i">
 						<view class="attachment-box">
-							<view v-if="attachment.type == 'word'" class="t-icon t-icon-WORD"></view>
+							<!-- <view v-if="attachment.type == 'word'" class="t-icon t-icon-WORD"></view>
 							<view v-if="attachment.type == 'excel'" class="t-icon t-icon-ECEL"></view>
 							<view v-if="attachment.type == 'pdf'" class="t-icon t-icon-PDF"></view>
 							<view v-if="attachment.type == 'image'" class="t-icon t-icon-tupianziliao"></view>
-							<view v-if="attachment.type == 'ppt'" class="t-icon t-icon-PPT"></view>
+							<view v-if="attachment.type == 'ppt'" class="t-icon t-icon-PPT"></view> -->
+							<view :class="attachment.type == 'word'?'t-icon t-icon-WORD':attachment.type == 'excel'?'t-icon t-icon-ECEL':attachment.type == 'pdf'?'t-icon t-icon-PDF':attachment.type == 'image'?'t-icon t-icon-PNG':'t-icon t-icon-PPT'"></view>
 							<view class="attachment-info" style="margin-left: 20rpx;">
 								<view class="content-detail">文件名: {{attachment.name}}</view>
 								<view class="content-subtitle">文件大小: {{fixNum(attachment.size/8/1024)}}KB</view>

+ 1 - 0
subpkg/datalist/workReport.vue

@@ -1,3 +1,4 @@
+<!-- 作业分析报告页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF"></top-return>

+ 2 - 2
subpkg/exam/examPractice.vue

@@ -1,3 +1,4 @@
+<!-- 评测练习题页面 -->
 <template>
 	<view class="page-view">
 		<top-return text="评测练习"></top-return>
@@ -449,7 +450,6 @@
 				let query = uni.createSelectorQuery().in(this)
 				query.select('#card' + this.curr).boundingClientRect(data => {
 					this.clientHeight = data.height + 40
-					console.log('swiper高度', this.clientHeight);
 				}).exec();
 			},
 			setCurr(e) {
@@ -467,7 +467,7 @@
 						}
 						this.answerList.push(answer)
 					})
-					console.log(this.answerList);
+					console.log('答题卡',this.answerList);
 				}
 			},
 			//选择选项

+ 1 - 0
subpkg/exam/gradelist_pages.scss

@@ -1,3 +1,4 @@
+	// 成绩图表页面公共样式
 	.chart-box{
 		width: 100%;
 		height: 550rpx;

+ 1 - 0
subpkg/exam/level.vue

@@ -1,3 +1,4 @@
+<!-- 考试能力图表页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF" text="考试能力"></top-return>

+ 1 - 0
subpkg/exam/rank.vue

@@ -1,3 +1,4 @@
+<!-- 考试排行图表页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF" text="排行占比"></top-return>

+ 1 - 0
subpkg/exam/single.vue

@@ -1,3 +1,4 @@
+<!-- 单次考试分析图表页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF" text="单次考试"></top-return>

+ 1 - 0
subpkg/exam/subject.vue

@@ -1,3 +1,4 @@
+<!-- 考试科目分析图表页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF" text="优劣科目"></top-return>

+ 1 - 0
subpkg/exam/total.vue

@@ -1,3 +1,4 @@
+<!-- 总成绩分析图表页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF" text="成绩走势"></top-return>

+ 1 - 0
subpkg/home/classList.vue

@@ -1,3 +1,4 @@
+<!-- 课程详情列表页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF" text="课程详情"></top-return>

+ 1 - 1
subpkg/home/clockStats.vue

@@ -1,3 +1,4 @@
+<!-- 打卡详情页面 -->
 <template>
 	<view class="page-view">
 		<top-return text="打卡详情" color="#FFF"></top-return>
@@ -175,7 +176,6 @@
 				}
 				//点击当日信息
 				this.currentTodayData = e
-				console.log("日历点击",this.currentTodayData);
 				//日历月份
 				this.calendarMonth = e.month
 				//当前日历月份打卡数

+ 1 - 0
subpkg/home/courseRecommend.vue

@@ -1,3 +1,4 @@
+<!-- 课程推荐页面 -->
 <template>
 	<view>
 		<top-return text="课程推荐"></top-return>

+ 1 - 1
subpkg/mine/childInfo.vue

@@ -1,3 +1,4 @@
+<!-- 孩子信息页面 -->
 <template>
 	<view class="page-view" style="width: 100vw;height: 100vh;">
 		<top-return text="孩子名片" color="#FFF"></top-return>
@@ -92,7 +93,6 @@
 					count: 1, //默认1个图片
 					sourceType: ['album'], //从相册选择
 					success: function(res) {
-						console.log(JSON.stringify(res.tempFilePaths));
 					}
 				})
 			},

+ 1 - 0
subpkg/mine/msgList.vue

@@ -1,3 +1,4 @@
+<!-- 信息列表页面 -->
 <template>
 	<view class="page-view">
 		<top-return :color="'#FFF'" text="个人通知"></top-return>

+ 4 - 3
subpkg/mine/parentInfo.vue

@@ -1,3 +1,4 @@
+<!-- 家长信息页面 -->
 <template>
 	<view class="page-view" style="width: 100vw;height: 100vh;">
 		<top-return text="个人信息" color="#FFF"></top-return>
@@ -10,8 +11,8 @@
 			<view class="top-name">
 				<text class="name">{{parentInfo.nickName}}</text>
 				<view class="tag-fill">
-					<view class="t-icon t-icon-lianmengzhuanjia"></view>
-					<view class="tag-text" style="color: #4169E1;font-size: 28rpx;">{{phoneNumber}} 绑定手机</view>
+					<view class="t-icon t-icon-xueshengziliao"></view>
+					<view class="tag-text" style="color: #4169E1;font-size: 28rpx;">手机号:{{phoneNumber}}</view>
 				</view>
 			</view>
 		</view>
@@ -55,7 +56,7 @@
 							<view class="card-title">{{item.periodName}}学段</view>
 						</view>
 						<view class="flex-row">
-							<view class="t-icon t-icon-xuewei1"></view>
+							<view class="t-icon t-icon-xiaoyuanfengjing"></view>
 							<view class="card-subtitle">{{item.schoolName}}</view>
 							<view class="t-icon t-icon-zhengceguizhang2" style="margin-left: 20rpx;"></view>
 							<view class="card-subtitle">{{item.className}}</view>

+ 1 - 0
subpkg/mine/subInfo.vue

@@ -1,3 +1,4 @@
+<!-- 订阅页面 -->
 <template>
 	<view>
 		<top-return text="订阅中心" color="#FFF"></top-return>

+ 13 - 2
subpkg/startup/guide.vue

@@ -1,3 +1,4 @@
+<!-- 引导页 -->
 <template>
 	<view class="flex-column">
 		<!-- 标题 -->
@@ -29,6 +30,18 @@
 				isClick: false
 			}
 		},
+		onLoad() {
+			uni.checkSession({
+				success: function(res) {
+					console.log(res);
+				},
+				fail: function(){
+					uni.redirectTo({
+						url: '/subpkg/startup/login'
+					})
+				}
+			})
+		},
 		methods: {
 			...mapMutations('m_parent', ['updateChildrenData', 'updateUserData', 'updatePhoneNumber']),
 			//获取用户手机号
@@ -53,7 +66,6 @@
 								this.$api.getChildrenInfo({
 									mobile: '17711533106'
 								}).then(res => {
-									console.log('返回数据', res);
 									this.updateChildrenData(res.data.guardian.students)
 								}).catch(err => {
 									uni.showToast({
@@ -64,7 +76,6 @@
 								this.$api.getUserData({
 									phoneNumber: numData.phoneNumber
 								}).then(res => {
-									console.log('返回数据', res);
 									this.updateUserData(res.data)
 								}).catch(err => {
 									uni.showToast({

+ 1 - 1
subpkg/startup/login.vue

@@ -1,3 +1,4 @@
+<!-- 登录页面 -->
 <template>
 	<view>
 		<!-- 登录 -->
@@ -40,7 +41,6 @@
 								this.$api.getUserToken({
 									js_code: loginRes.code
 								}).then(res => {
-									console.log(res);
 									this.updateToken(res.data)
 									// uni.setStorageSync('tokenKey',res.data.token)
 								}).catch(err => {

+ 86 - 34
subpkg/startup/options.vue

@@ -1,22 +1,38 @@
+<!-- 孩子选择页面 -->
 <template>
 	<view>
 		<top-return></top-return>
 		<view class="top">
 			<view class="YS-title" style="color: #4169E1;">选择您的孩子</view>
+			<view class="YS-subtitle">查看孩子优秀表现</view>
 		</view>
 
-		<!-- 孩子选择界面 -->
-		<view class="card-box">
-			<view class="card" v-for="(item,index) in childrenData" :key="index" @click="chooseChild(item)">
-				<view class="flex-row" style="width: 100%;">
-					<view class="front-tag"></view>
-					<view class="card-title">{{item.name}}</view>
+		<swiper class="card-swiper" previous-margin="100rpx" next-margin="100rpx" @change="changeCard">
+			<swiper-item class="swiper-item" v-for="(item, index) in childrenData" :key="index">
+				<view class="card-item" @click="chooseChild(item)">
+					<view class="insert-box">
+						<view class="insert-image"
+							:style="{backgroundImage:item.gender==='M'?`url(${avatarBoy})`:item.gender===null?`url(${avatarBoy})`:`url(${avatarGirl})`}">
+						</view>
+					</view>
+					<view class="info-box">
+						<view class="flex-row">
+							<view class="t-icon t-icon-xiaoyuanfengjing"></view>
+							<view class="info-title">{{item.schoolName}}</view>
+						</view>
+						<view class="flex-row">
+							<view class="t-icon t-icon-xueshengziliao"></view>
+							<view class="info-title">{{item.className}}</view>
+						</view>
+						<view class="flex-row">
+							<view class="t-icon t-icon-xuewei1"></view>
+							<view class="info-title">{{item.name}}</view>
+						</view>
+					</view>
 				</view>
-				<view class="avatar-box">
-						<image class="avatar" :src="item.gender==='M'?'/static/default_icons/boy_avatar.svg':item.gender===null?'/static/default_icons/boy_avatar.svg':'/static/default_icons/girl_avatar.svg'"></image>
-				</view>
-			</view>
-		</view>
+			</swiper-item>
+		</swiper>
+
 
 		<!-- 动画 -->
 		<view class="ocean"></view>
@@ -34,7 +50,9 @@
 		},
 		data() {
 			return {
-
+				currentCardIndex: 0,
+				avatarBoy: 'https://ouch-cdn2.icons8.com/WQfnHYR8J3nbibE5WAKCNh05Q82_YGkxh-Nl_gdj_lI/rs:fit:561:456/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9wbmcvMjky/LzA0MWM2NjI0LWE5/ZjUtNDkxYy1hNTUw/LTUxNjQyYzYwMGNi/OS5wbmc.png',
+				avatarGirl: 'https://ouch-cdn2.icons8.com/uhr0NQorlDNyCsKg56FIzN3NAVwEXJLG5nC6uCZkC5s/rs:fit:552:456/czM6Ly9pY29uczgu/b3VjaC1wcm9kLmFz/c2V0cy9wbmcvOTg3/Lzk3OTkyOTNkLWVi/ODMtNGU5Ny1iZDdl/LTMwNGMyMmQ2MTUz/MS5wbmc.png'
 			};
 		},
 		onLoad() {},
@@ -48,7 +66,9 @@
 					url: '/pages/tab_home/tab_home'
 				})
 			},
-
+			changeCard(e) {
+				this.currentCardIndex = e.detail.current
+			}
 
 		}
 	}
@@ -57,41 +77,73 @@
 <style lang="scss">
 	@import 'startup_pages.scss';
 
-	.card-box {
+	.card-swiper {
+		position: fixed;
 		display: flex;
-		justify-content: center;
-		align-items: center;
-		flex-wrap: wrap; //元素换行
-		margin: 250rpx 0 0 0;
+		width: 100vw;
+		height: 750rpx; // 轮播图片的高度
+		background: #FFF;
+		margin-top: 320rpx;
+		z-index: 99;
 
-		.card {
-			width: 280rpx;
-			height: 280rpx;
-			margin: 20rpx;
-			padding: 20rpx;
+		.swiper-item {
 			display: flex;
-			flex-direction: column;
 			justify-content: center;
 			align-items: center;
+		}
+
+		.card-item {
+			position: fixed;
+			display: flex;
+			flex-direction: column;
+			width: 450rpx;
+			height: 650rpx;
+			padding: 30rpx;
 			box-shadow: $box-shadow;
-			background-color: #FFFFFF;
+			background-color: #FFF;
 			border-radius: $border-radius;
-			z-index: 99;
 
 			.card-title {
-				line-height: 35rpx;
-				font-size: 35rpx;
+				line-height: 36rpx;
+				font-size: 36rpx;
 				font-weight: bold;
 				color: $title;
 			}
-
-			.avatar-box {
-				padding-top: 10rpx;
-				.avatar {
-					width: 240rpx;
-					height: 240rpx;
+			.info-box{
+				height: 450rpx;
+				display: flex;
+				flex-direction: column;
+				justify-content: space-around;
+				padding: 0 50rpx 20rpx 50rpx;
+				.info-title{
+					line-height: 40rpx;
+					font-size: 40rpx;
+					color: $title;
+					font-family: YSfont;
+				}
+				.t-icon{
+					width: 40rpx;
+					height: 40rpx;
+					margin-right: 20rpx;
 				}
 			}
 		}
 	}
+
+	.insert-box {
+		height: 100%;
+		width: 100%;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+
+		.insert-image {
+			position: absolute;
+			width: 320rpx;
+			height: 320rpx;
+			background-size: 100%;
+			background-repeat: no-repeat;
+			z-index: 51;
+		}
+	}
 </style>

+ 1 - 0
subpkg/startup/startup_pages.scss

@@ -1,3 +1,4 @@
+// 登录流程页面公共样式
 .top {
 	position: absolute;
 	top:200rpx;

+ 1 - 0
subpkg/swap/swapStats.vue

@@ -1,3 +1,4 @@
+<!-- 记录页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF" text="日常记录" refresh="true"></top-return>

+ 1 - 0
subpkg/work/workStats.vue

@@ -1,3 +1,4 @@
+<!-- 作业统计页面 -->
 <template>
 	<view class="page-view">
 		<top-return color="#FFF" text="作业统计"></top-return>

+ 1 - 1
subpkg/work/wrongBook.vue

@@ -1,3 +1,4 @@
+<!-- 错题本页面 -->
 <template>
 	<view class="page-view">
 		<top-return text="错题本"></top-return>
@@ -448,7 +449,6 @@
 				let query = uni.createSelectorQuery().in(this)
 				query.select('#card' + this.curr).boundingClientRect(data => {
 					this.clientHeight = data.height + 40
-					console.log('swiper高度', this.clientHeight);
 				}).exec();
 			},
 			setCurr(e) {

+ 16 - 0
uni_modules/uni-notice-bar/changelog.md

@@ -0,0 +1,16 @@
+## 1.2.0(2021-11-19)
+- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-notice-bar](https://uniapp.dcloud.io/component/uniui/uni-notice-bar)
+## 1.1.1(2021-11-09) 
+- 新增 提供组件设计资源,组件样式调整
+## 1.1.0(2021-07-30)
+- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
+## 1.0.9(2021-05-12)
+- 新增 组件示例地址
+## 1.0.8(2021-04-21)
+- 优化 添加依赖 uni-icons, 导入后自动下载依赖
+## 1.0.7(2021-02-05)
+- 优化 组件引用关系,通过uni_modules引用组件
+
+## 1.0.6(2021-02-05)
+- 调整为uni_modules目录规范

+ 395 - 0
uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue

@@ -0,0 +1,395 @@
+<template>
+	<view v-if="show" class="uni-noticebar" :style="{ backgroundColor: backgroundColor }" @click="onClick">
+		<uni-icons v-if="showIcon === true || showIcon === 'true'" class="uni-noticebar-icon" type="sound"
+			:color="color" size="22" />
+		<view ref="textBox" class="uni-noticebar__content-wrapper"
+			:class="{'uni-noticebar__content-wrapper--scrollable':scrollable, 'uni-noticebar__content-wrapper--single':!scrollable && (single || moreText)}">
+			<view :id="elIdBox" class="uni-noticebar__content"
+				:class="{'uni-noticebar__content--scrollable':scrollable, 'uni-noticebar__content--single':!scrollable && (single || moreText)}">
+				<text :id="elId" ref="animationEle" class="uni-noticebar__content-text"
+					:class="{'uni-noticebar__content-text--scrollable':scrollable,'uni-noticebar__content-text--single':!scrollable && (single || showGetMore)}"
+					:style="{color:color, width:wrapWidth+'px', 'animationDuration': animationDuration, '-webkit-animationDuration': animationDuration ,animationPlayState: webviewHide?'paused':animationPlayState,'-webkit-animationPlayState':webviewHide?'paused':animationPlayState, animationDelay: animationDelay, '-webkit-animationDelay':animationDelay}">{{text}}</text>
+			</view>
+		</view>
+		<view v-if="showGetMore === true || showGetMore === 'true'" class="uni-noticebar__more uni-cursor-point"
+			@click="clickMore">
+			<text v-if="moreText.length > 0" :style="{ color: moreColor }" class="uni-noticebar__more-text">{{ moreText }}</text>
+			<uni-icons v-else type="right" :color="moreColor" size="16" />
+		</view>
+		<view class="uni-noticebar-close uni-cursor-point" v-if="(showClose === true || showClose === 'true') && (showGetMore === false || showGetMore === 'false')">
+			<uni-icons
+				type="closeempty" :color="color" size="16" @click="close" />
+		</view>
+	</view>
+</template>
+
+<script>
+	// #ifdef APP-NVUE
+	const dom = weex.requireModule('dom');
+	const animation = weex.requireModule('animation');
+	// #endif
+
+	/**
+	 * NoticeBar 自定义导航栏
+	 * @description 通告栏组件
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=30
+	 * @property {Number} speed 文字滚动的速度,默认100px/秒
+	 * @property {String} text 显示文字
+	 * @property {String} backgroundColor 背景颜色
+	 * @property {String} color 文字颜色
+	 * @property {String} moreColor 查看更多文字的颜色
+	 * @property {String} moreText 设置“查看更多”的文本
+	 * @property {Boolean} single = [true|false] 是否单行
+	 * @property {Boolean} scrollable = [true|false] 是否滚动,为true时,NoticeBar为单行
+	 * @property {Boolean} showIcon = [true|false] 是否显示左侧喇叭图标
+	 * @property {Boolean} showClose = [true|false] 是否显示左侧关闭按钮
+	 * @property {Boolean} showGetMore = [true|false] 是否显示右侧查看更多图标,为true时,NoticeBar为单行
+	 * @event {Function} click 点击 NoticeBar 触发事件
+	 * @event {Function} close 关闭 NoticeBar 触发事件
+	 * @event {Function} getmore 点击”查看更多“时触发事件
+	 */
+
+	export default {
+		name: 'UniNoticeBar',
+		emits: ['click', 'getmore', 'close'],
+		props: {
+			text: {
+				type: String,
+				default: ''
+			},
+			moreText: {
+				type: String,
+				default: ''
+			},
+			backgroundColor: {
+				type: String,
+				default: '#FFF9EA'
+			},
+			speed: {
+				// 默认1s滚动100px
+				type: Number,
+				default: 100
+			},
+			color: {
+				type: String,
+				default: '#FF9A43'
+			},
+			moreColor: {
+				type: String,
+				default: '#FF9A43'
+			},
+			single: {
+				// 是否单行
+				type: [Boolean, String],
+				default: false
+			},
+			scrollable: {
+				// 是否滚动,添加后控制单行效果取消
+				type: [Boolean, String],
+				default: false
+			},
+			showIcon: {
+				// 是否显示左侧icon
+				type: [Boolean, String],
+				default: false
+			},
+			showGetMore: {
+				// 是否显示右侧查看更多
+				type: [Boolean, String],
+				default: false
+			},
+			showClose: {
+				// 是否显示左侧关闭按钮
+				type: [Boolean, String],
+				default: false
+			}
+		},
+		data() {
+			const elId = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
+			const elIdBox = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
+			return {
+				textWidth: 0,
+				boxWidth: 0,
+				wrapWidth: '',
+				webviewHide: false,
+				// #ifdef APP-NVUE
+				stopAnimation: false,
+				// #endif
+				elId: elId,
+				elIdBox: elIdBox,
+				show: true,
+				animationDuration: 'none',
+				animationPlayState: 'paused',
+				animationDelay: '0s'
+			}
+		},
+		mounted() {
+			// #ifdef APP-PLUS
+			var pages = getCurrentPages();
+			var page = pages[pages.length - 1];
+			var currentWebview = page.$getAppWebview();
+			currentWebview.addEventListener('hide', () => {
+				this.webviewHide = true
+			})
+			currentWebview.addEventListener('show', () => {
+				this.webviewHide = false
+			})
+			// #endif
+			this.$nextTick(() => {
+				this.initSize()
+			})
+		},
+		// #ifdef APP-NVUE
+		beforeDestroy() {
+			this.stopAnimation = true
+		},
+		// #endif
+		methods: {
+			initSize() {
+				if (this.scrollable) {
+					// #ifndef APP-NVUE
+					let query = [],
+						boxWidth = 0,
+						textWidth = 0;
+					let textQuery = new Promise((resolve, reject) => {
+						uni.createSelectorQuery()
+							// #ifndef MP-ALIPAY
+							.in(this)
+							// #endif
+							.select(`#${this.elId}`)
+							.boundingClientRect()
+							.exec(ret => {
+								this.textWidth = ret[0].width
+								resolve()
+							})
+					})
+					let boxQuery = new Promise((resolve, reject) => {
+						uni.createSelectorQuery()
+							// #ifndef MP-ALIPAY
+							.in(this)
+							// #endif
+							.select(`#${this.elIdBox}`)
+							.boundingClientRect()
+							.exec(ret => {
+								this.boxWidth = ret[0].width
+								resolve()
+							})
+					})
+					query.push(textQuery)
+					query.push(boxQuery)
+					Promise.all(query).then(() => {
+						this.animationDuration = `${this.textWidth / this.speed}s`
+						this.animationDelay = `-${this.boxWidth / this.speed}s`
+						setTimeout(() => {
+							this.animationPlayState = 'running'
+						}, 1000)
+					})
+					// #endif
+					// #ifdef APP-NVUE
+					dom.getComponentRect(this.$refs['animationEle'], (res) => {
+						let winWidth = uni.getSystemInfoSync().windowWidth
+						this.textWidth = res.size.width
+						animation.transition(this.$refs['animationEle'], {
+							styles: {
+								transform: `translateX(-${winWidth}px)`
+							},
+							duration: 0,
+							timingFunction: 'linear',
+							delay: 0
+						}, () => {
+							if (!this.stopAnimation) {
+								animation.transition(this.$refs['animationEle'], {
+									styles: {
+										transform: `translateX(-${this.textWidth}px)`
+									},
+									timingFunction: 'linear',
+									duration: (this.textWidth - winWidth) / this.speed * 1000,
+									delay: 1000
+								}, () => {
+									if (!this.stopAnimation) {
+										this.loopAnimation()
+									}
+								});
+							}
+						});
+					})
+					// #endif
+				}
+				// #ifdef APP-NVUE
+				if (!this.scrollable && (this.single || this.moreText)) {
+					dom.getComponentRect(this.$refs['textBox'], (res) => {
+						this.wrapWidth = res.size.width
+					})
+				}
+				// #endif
+			},
+			loopAnimation() {
+				// #ifdef APP-NVUE
+				animation.transition(this.$refs['animationEle'], {
+					styles: {
+						transform: `translateX(0px)`
+					},
+					duration: 0
+				}, () => {
+					if (!this.stopAnimation) {
+						animation.transition(this.$refs['animationEle'], {
+							styles: {
+								transform: `translateX(-${this.textWidth}px)`
+							},
+							duration: this.textWidth / this.speed * 1000,
+							timingFunction: 'linear',
+							delay: 0
+						}, () => {
+							if (!this.stopAnimation) {
+								this.loopAnimation()
+							}
+						});
+					}
+				});
+				// #endif
+			},
+			clickMore() {
+				this.$emit('getmore')
+			},
+			close() {
+				this.show = false;
+				this.$emit('close')
+			},
+			onClick() {
+				this.$emit('click')
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.uni-noticebar {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		width: 100%;
+		box-sizing: border-box;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		padding:6rpx 14rpx;
+		border-radius: 100rpx;
+	}
+
+	.uni-cursor-point {
+		/* #ifdef H5 */
+		cursor: pointer;
+		/* #endif */
+	}
+
+	.uni-noticebar-close {
+		margin-left: 8px;
+		margin-right: 5px;
+	}
+
+	.uni-noticebar-icon {
+		margin-right: 5px;
+	}
+
+	.uni-noticebar__content-wrapper {
+		flex: 1;
+		flex-direction: column;
+		overflow: hidden;
+	}
+
+	.uni-noticebar__content-wrapper--single {
+		/* #ifndef APP-NVUE */
+		line-height: 18px;
+		/* #endif */
+	}
+
+	.uni-noticebar__content-wrapper--single,
+	.uni-noticebar__content-wrapper--scrollable {
+		flex-direction: row;
+	}
+
+	/* #ifndef APP-NVUE */
+	.uni-noticebar__content-wrapper--scrollable {
+		position: relative;
+		height: 18px;
+	}
+
+	/* #endif */
+
+	.uni-noticebar__content--scrollable {
+		/* #ifdef APP-NVUE */
+		flex: 0;
+		/* #endif */
+		/* #ifndef APP-NVUE */
+		flex: 1;
+		display: block;
+		overflow: hidden;
+		/* #endif */
+	}
+
+	.uni-noticebar__content--single {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		flex: none;
+		width: 100%;
+		justify-content: center;
+		/* #endif */
+	}
+
+	.uni-noticebar__content-text {
+		font-size: 13px;
+		line-height: 15px;
+		/* #ifndef APP-NVUE */
+		word-break: break-all;
+		/* #endif */
+	}
+
+	.uni-noticebar__content-text--single {
+		/* #ifdef APP-NVUE */
+		lines: 1;
+		/* #endif */
+		/* #ifndef APP-NVUE */
+		display: block;
+		width: 100%;
+		white-space: nowrap;
+		/* #endif */
+		overflow: hidden;
+		text-overflow: ellipsis;
+	}
+
+	.uni-noticebar__content-text--scrollable {
+		/* #ifdef APP-NVUE */
+		lines: 1;
+		padding-left: 750rpx;
+		/* #endif */
+		/* #ifndef APP-NVUE */
+		position: absolute;
+		display: block;
+		height: 18px;
+		line-height: 18px;
+		white-space: nowrap;
+		padding-left: 100%;
+		animation: notice 10s 0s linear infinite both;
+		animation-play-state: paused;
+		/* #endif */
+	}
+
+	.uni-noticebar__more {
+		/* #ifndef APP-NVUE */
+		display: inline-flex;
+		/* #endif */
+		flex-direction: row;
+		flex-wrap: nowrap;
+		align-items: center;
+		padding-left: 5px;
+	}
+
+	.uni-noticebar__more-text {
+		font-size: 14px;
+	}
+
+	@keyframes notice {
+		100% {
+			transform: translate3d(-100%, 0, 0);
+		}
+	}
+</style>

+ 90 - 0
uni_modules/uni-notice-bar/package.json

@@ -0,0 +1,90 @@
+{
+  "id": "uni-notice-bar",
+  "displayName": "uni-notice-bar 通告栏",
+  "version": "1.2.0",
+  "description": "NoticeBar 通告栏组件,常用于展示公告信息,可设为滚动公告",
+  "keywords": [
+    "uni-ui",
+    "uniui",
+    "通告栏",
+    "公告",
+    "跑马灯"
+],
+  "repository": "https://github.com/dcloudio/uni-ui",
+  "engines": {
+    "HBuilderX": ""
+  },
+  "directories": {
+    "example": "../../temps/example_temps"
+  },
+  "dcloudext": {
+    "category": [
+      "前端组件",
+      "通用组件"
+    ],
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+  },
+  "uni_modules": {
+    "dependencies": [
+			"uni-scss",
+			"uni-icons"
+		],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "y",
+          "app-nvue": "y"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "微信浏览器(Android)": "y",
+          "QQ浏览器(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "y",
+          "Edge": "y",
+          "Firefox": "y",
+          "Safari": "y"
+        },
+        "小程序": {
+          "微信": "y",
+          "阿里": "y",
+          "百度": "y",
+          "字节跳动": "y",
+          "QQ": "y"
+        },
+        "快应用": {
+          "华为": "u",
+          "联盟": "u"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "y"
+        }
+      }
+    }
+  }
+}

+ 13 - 0
uni_modules/uni-notice-bar/readme.md

@@ -0,0 +1,13 @@
+
+
+## NoticeBar 通告栏
+> **组件名:uni-notice-bar**
+> 代码块: `uNoticeBar`
+
+
+通告栏组件 。
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-notice-bar)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 
+
+

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/loading/loading.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/th-autograph/th-autograph.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/th-autograph/th-color.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/th-autograph/th-line.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/top-info/top-info.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/top-return/top-return.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/top-semester/top-semester.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/z-calendar/dateBox.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/z-calendar/zsy-calendar.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/init/init.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_exam/tab_exam.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_home/tab_home.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_mine/tab_mine.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_swap/tab_swap.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/tab_work/tab_work.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/examReport.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/examlist.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/swapReport.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/swaplist.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/workReport.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/datalist/worklist.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/examPractice.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/level.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/rank.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/single.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/subject.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/exam/total.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/home/classlist.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/home/clockstats.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/childinfo.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/msgList.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/parentinfo.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/mine/subInfo.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/guide.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/login.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/startup/options.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/swap/swapstats.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/work/workstats.js.map


+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/subpkg/work/wrongBook.js.map


Неке датотеке нису приказане због велике количине промена