index.vue 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. <template>
  2. <view class="ezy-study-page">
  3. <shuxueZhangjie @clickGradeTerm="clickGradeTerm" @onLeft="onLeft" @onRight="onRight"
  4. @handleCheckCatalogue="handleCheckCatalogue" :options="infoData">
  5. </shuxueZhangjie>
  6. <!-- 蛋 -->
  7. <egg-dialog ref="eggDialogRef" @eggBtn="eggBtn"></egg-dialog>
  8. <catalogue ref="catalogueRef" @change-zhang="handleChangeZhang"></catalogue>
  9. <CustomTabBar></CustomTabBar>
  10. </view>
  11. </template>
  12. <script setup>
  13. import {
  14. userZhangInfo,
  15. userLocate,
  16. userZhangForntInfo,
  17. userZhangNextInfo,
  18. getCommonZhangInfo
  19. } from "@/api/learnPlan.js"
  20. import {
  21. reactive,
  22. ref,
  23. getCurrentInstance,
  24. onMounted
  25. } from "vue";
  26. import {
  27. onLoad
  28. } from '@dcloudio/uni-app';
  29. import catalogue from "@/components/catalogue/catalogue.vue";
  30. import CustomTabBar from '@/components/custom-tabbar/custom-tabbar.vue';
  31. import shuxueZhangjie from './product/shuxue.vue';
  32. import {
  33. useTabBarHistory
  34. } from '@/utils/emitEvents.js';
  35. import eggDialog from './eggDialog.vue'
  36. import {
  37. toast
  38. } from "../../utils/common";
  39. import cacheManager ,{useXuekeNianji}from "@/utils/cacheManager.js";
  40. const {
  41. updateXueke,
  42. getXueke
  43. } = useXuekeNianji();
  44. const eggDialogRef = ref(null);
  45. const catalogueRef = ref(null);
  46. const selectZhang = ref(null);
  47. let infoData = reactive({
  48. jieList: [],
  49. haveFlag: '',
  50. nianji: '',
  51. number: '',
  52. cardId: '',
  53. zhangId: '',
  54. zhangName: '',
  55. numberStr: '',
  56. });
  57. onLoad(() => {
  58. // 获取路由参数
  59. init()
  60. })
  61. function init(){
  62. if (cacheManager.get('auth')) {
  63. //会员 取auth
  64. selectZhang.value = cacheManager.get('auth');
  65. console.log(selectZhang.value);
  66. // 已登录
  67. // 选择年级进入调用此接口
  68. //options.flag == 'selectGrades'
  69. getZhangInfo()
  70. // 蛋
  71. // eggDialogRef.value.eggShow();
  72. } else {
  73. // 未登录 游客
  74. getCommonZhang()
  75. }
  76. }
  77. function getZhangInfo(data) {
  78. let req = {
  79. nianji: selectZhang.value.nianji,
  80. cardId: selectZhang.value.cardId,
  81. zhangId: selectZhang.value.zhangId,
  82. }
  83. userZhangInfo(req).then(res => {
  84. cacheManager.set('zhangInfo', res.data)
  85. infoData.jieList = res.data.jieList
  86. infoData.haveFlag = res.data.haveFlag
  87. infoData.nianji = res.data.nianji
  88. infoData.number = res.data.number
  89. infoData.numberStr = res.data.numberStr
  90. infoData.cardId = res.data.cardId
  91. infoData.zhangId = res.data.zhangId
  92. infoData.zhangName = res.data.zhangName
  93. recordZhangJie()
  94. getNewData()
  95. // if (cacheManager.get('zhangInfo')) {
  96. // cacheManager.remove('zhangInfo')
  97. // cacheManager.set('zhangInfo', res.data)
  98. // } else {
  99. // cacheManager.set('zhangInfo', res.data)
  100. // }
  101. })
  102. }
  103. function getCommonZhang(data) {
  104. let req = {
  105. nianji: getXueke().nianji,
  106. cardId: getXueke().cardId,
  107. zhangId: selectZhang.value? selectZhang.value.zhangId :0,
  108. }
  109. getCommonZhangInfo(req).then(res => {
  110. infoData.jieList = res.data.jieList
  111. infoData.haveFlag = res.data.haveFlag
  112. infoData.nianji = res.data.nianji
  113. infoData.number = res.data.number
  114. infoData.numberStr = res.data.numberStr
  115. infoData.cardId = res.data.cardId
  116. infoData.zhangId = res.data.zhangId
  117. infoData.zhangName = res.data.zhangName
  118. //getNewData()
  119. })
  120. }
  121. function onLeft(event) {
  122. console.log('用户左滑了');
  123. let req = {
  124. nianji: selectZhang.value.nianji,
  125. zhangId: selectZhang.value.zhangId,
  126. cardId: selectZhang.value.cardId,
  127. }
  128. userZhangForntInfo(req).then(res => {
  129. cacheManager.set('zhangInfo', res.data)
  130. infoData.jieList = res.data.jieList
  131. infoData.haveFlag = res.data.haveFlag
  132. infoData.nianji = res.data.nianji
  133. infoData.number = res.data.number
  134. infoData.numberStr = res.data.numberStr
  135. infoData.cardId = res.data.cardId
  136. infoData.zhangId = res.data.zhangId
  137. infoData.zhangName = res.data.zhangName
  138. recordZhangJie()
  139. getNewData()
  140. })
  141. }
  142. function onRight(event) {
  143. console.log('用户又滑了');
  144. let req = {
  145. nianji: selectZhang.value.nianji,
  146. zhangId: selectZhang.value.zhangId,
  147. cardId: selectZhang.value.cardId,
  148. }
  149. userZhangNextInfo(req).then(res => {
  150. cacheManager.set('zhangInfo', res.data)
  151. infoData.jieList = res.data.jieList
  152. infoData.haveFlag = res.data.haveFlag
  153. infoData.nianji = res.data.nianji
  154. infoData.number = res.data.number
  155. infoData.numberStr = res.data.numberStr
  156. infoData.cardId = res.data.cardId
  157. infoData.zhangId = res.data.zhangId
  158. infoData.zhangName = res.data.zhangName
  159. recordZhangJie()
  160. getNewData()
  161. })
  162. }
  163. function getNewData() {
  164. selectZhang.value.zhangId = cacheManager.get('zhangInfo').zhangId;
  165. selectZhang.value.cardId = cacheManager.get('zhangInfo').cardId;
  166. selectZhang.value.nianji = cacheManager.get('zhangInfo').nianji;
  167. }
  168. function recordZhangJie() {
  169. let req = {
  170. nianji: selectZhang.value.nianji,
  171. userId: cacheManager.get('auth').userId,
  172. zhangId: infoData.zhangId,
  173. cardId: selectZhang.value.cardId,
  174. }
  175. userLocate(req).then(res => {
  176. })
  177. }
  178. function handleChangeZhang(data) {
  179. selectZhang.value = data;
  180. init()
  181. }
  182. function goKaoshi(data) {
  183. let zhangId = selectZhang.value ? selectZhang.value.zhangId : infoData.zhangId;
  184. let nianji = selectZhang.value.nianji;
  185. let cardId = selectZhang.value.cardId;
  186. uni.navigateTo({
  187. url: `/pages/unitTest/index?jieId=${data.jieId}&zhangId=${zhangId}&nianji=${nianji}&cardId=${cardId}`
  188. })
  189. }
  190. function goLookShipin(data) {
  191. data.progressMarkers = [{
  192. offset: 30,
  193. isCustomized: true,
  194. coverUrl: 'https://alivc-demo-vod.aliyuncs.com/image/cover/9A3F562E595E4764AD1DD546FA52C6E5-6-2.png',
  195. title: '变式1',
  196. time: '00:00:30',
  197. describe: 'test string',
  198. }, {
  199. offset: 120,
  200. isCustomized: true,
  201. coverUrl: 'https://alivc-demo-vod.aliyuncs.com/image/cover/1E7F402241CD4C0F94AD2BBB5CCC3EC7-6-2.png',
  202. title: '变式2',
  203. time: '00:02:00',
  204. describe: 'test string',
  205. }, {
  206. offset: 300,
  207. isCustomized: true,
  208. coverUrl: 'https://alivc-demo-vod.aliyuncs.com/image/cover/553AEA01161342C8A2B1756E83B69B5B-6-2.png',
  209. title: '变式3',
  210. time: '00:05:00',
  211. describe: 'test string',
  212. }]
  213. data.zhangId = infoData.zhangId
  214. data.nianji = infoData.nianji
  215. data.cardId = infoData.cardId
  216. uni.navigateTo({
  217. //url: '/pages/study/lookShipin?studyData=' + JSON.stringify(pageData)
  218. url: '/pages/study/lookShipin?studyData=' + JSON.stringify(data)
  219. })
  220. }
  221. function listClick(data, index) {
  222. if (!cacheManager.get('auth')) {
  223. toast("当前为游客模式请登录!")
  224. uni.redirectTo({
  225. url: '/pages/login/index'
  226. })
  227. return;
  228. }
  229. // if(index !=0&&data.jieId!=79){
  230. // toast("付费章节!")
  231. // return false
  232. // }
  233. if (!data.vipFlag) {
  234. toast("付费章节!")
  235. return false
  236. }
  237. if (index == infoData.jieList.length - 1) {
  238. // 最后一项
  239. goKaoshi(data)
  240. } else {
  241. goLookShipin(data)
  242. }
  243. }
  244. function handleCheckCatalogue() {
  245. catalogueRef.value.showPopup();
  246. }
  247. function clickGradeTerm() {
  248. uni.navigateTo({
  249. url: `/pages/selectGradesTerms/index`,
  250. })
  251. }
  252. function eggBtn() {
  253. console.log('点击:开启提分之旅');
  254. }
  255. </script>
  256. <style>
  257. </style>