wangguoyu 1 month ago
parent
commit
794d5ef907
2 changed files with 101 additions and 22 deletions
  1. 12 0
      api/chanpinneirong.js
  2. 89 22
      pages/chanpinneirong/index.vue

+ 12 - 0
api/chanpinneirong.js

@@ -22,3 +22,15 @@ export function shuxueChanpinBanbenInfo(data = {}) {
     timeout: 20000
   })
 }
+
+export function shuxueSave(data = {}) {
+  return request({
+    'url': '/app/shuxue/chanpin/save',
+    headers: {
+      isToken: true
+    },
+    method: 'post',
+    data,
+    timeout: 20000
+  })
+}

+ 89 - 22
pages/chanpinneirong/index.vue

@@ -31,7 +31,7 @@
 							<progress :percent="curProcess" class="xx-progress" stroke-width="10"
 								backgroundColor="#3c7dfd" activeColor="#ffd11c" />
 						</view>
-						<view class="jxxx-btn" @click="handlePlay(banbenInfo,'jixu')"></view>
+						<view class="jxxx-btn" @click="handlePlay(banbenInfo,'jixu')">继续学习</view>
 					</view>
 				</view>
 			</view>
@@ -69,7 +69,8 @@
 	import CustomTabBar from '@/components/custom-tabbar/custom-tabbar.vue';
 	import cacheManager from "@/utils/cacheManager.js";
 	import {
-		shuxueChanpinBanbenInfo
+		shuxueChanpinBanbenInfo,
+		shuxueSave
 	} from "@/api/chanpinneirong.js"
 	import danyuanInfoVue from '@/pages/xinshuxue/components/danyuanInfo.vue';
 	import {
@@ -98,7 +99,7 @@
 		},
 		onShow() {
 			console.log('学习页面显示,尝试恢复滚动位置')
-				console.log('this.isFirstFlag', this.isFirstFlag);
+			console.log('this.isFirstFlag', this.isFirstFlag);
 			if (!this.isFirstFlag) {
 				return false
 			}
@@ -115,8 +116,8 @@
 		},
 		onHide() {
 			console.log('学习页面隐藏,保存滚动位置')
-			this.isFirstFlag  = true
-		
+			this.isFirstFlag = true
+
 		},
 		onLoad(options) {
 			if (this.isFirstFlag) {
@@ -182,8 +183,23 @@
 				})
 			},
 
-
+			getJieAndDanyuan(data, jieId) {
+				// 循环单元
+				for (let danyuan of data.danyuanList) {
+					// 循环节
+					for (let jie of danyuan.jieList) {
+						if (jie.jieId == jieId) {
+							return {
+								danyuan: danyuan,
+								jie: jie
+							}
+						}
+					}
+				}
+				return null;
+			},
 			handlePlay(da, code) {
+				console.log('da', da);
 				let jieId = null;
 				if (code == 'jixu') {
 					if (!da.curJieId) {
@@ -191,26 +207,77 @@
 						return;
 					}
 					jieId = da.curJieId;
-					if (da.type == 1) {
-						uni.navigateTo({
-							url: `/pages/xinshuxue/lookShipin?jieId=${jieId}`
-						})
-					} else {
-						uni.navigateTo({
-							url: `/pages/xinshuxue/unitTest?jieId=${jieId}`
-						})
+
+					let req = {
+						"banbenId": this.banbenId,
+						"danyuanId": this.danyuanId,
+						"jieId": jieId
 					}
+					shuxueSave(req).then(res => {
+						console.log('res', res);
+						if (res.code == 0 && res.data) {
+							let curJieAndDanyuan = this.getJieAndDanyuan(da, jieId)
+							console.log('curJieAndDanyuan', curJieAndDanyuan);
+							if (!curJieAndDanyuan) {
+								toast("curJieAndDanyuan没找到")
+								return false
+							}
+							cacheManager.updateObject('xuexi-shuxue', {
+								curDanyuanName: curJieAndDanyuan.danyuan.danyuanName,
+								curKechengName: curJieAndDanyuan.danyuan.danyuanIntro,
+								curJieId: jieId,
+								type: curJieAndDanyuan.jie.type
+							})
+							if (da.type == 1) {
+								uni.navigateTo({
+									url: `/pages/xinshuxue/lookShipin?jieId=${jieId}`
+								})
+							} else {
+								uni.navigateTo({
+									url: `/pages/xinshuxue/unitTest?jieId=${jieId}`
+								})
+							}
+						} else {
+							toast("save位置出错")
+							return false
+						}
+					})
 				} else {
 					jieId = da.jieId;
-					if (da.type == 1) {
-						uni.navigateTo({
-							url: `/pages/xinshuxue/lookShipin?jieId=${jieId}`
-						})
-					} else {
-						uni.navigateTo({
-							url: `/pages/xinshuxue/unitTest?jieId=${jieId}`
-						})
+					let req = {
+						"banbenId": this.banbenId,
+						"danyuanId": this.danyuanId,
+						"jieId": jieId
 					}
+					shuxueSave(req).then(res => {
+						console.log('res', res);
+						if (res.code == 0 && res.data) {
+							let curJieAndDanyuan = this.getJieAndDanyuan(this.banbenInfo, jieId)
+							console.log('curJieAndDanyuan', curJieAndDanyuan);
+							if (!curJieAndDanyuan) {
+								toast("curJieAndDanyuan没找到")
+								return false
+							}
+							cacheManager.updateObject('xuexi-shuxue', {
+								curDanyuanName: curJieAndDanyuan.danyuan.danyuanName,
+								curKechengName: curJieAndDanyuan.danyuan.danyuanIntro,
+								curJieId: jieId,
+								type: curJieAndDanyuan.jie.type
+							})
+							if (da.type == 1) {
+								uni.navigateTo({
+									url: `/pages/xinshuxue/lookShipin?jieId=${jieId}`
+								})
+							} else {
+								uni.navigateTo({
+									url: `/pages/xinshuxue/unitTest?jieId=${jieId}`
+								})
+							}
+						} else {
+							toast("save位置出错")
+							return false
+						}
+					})
 				}
 			},
 			handleClickDanyuan() {