index.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <template>
  2. <view class="ezy-xuexi-page">
  3. <view class="icon-title-navBar-box">
  4. <text class="nav-bar-title">学习</text>
  5. </view>
  6. <chanpin1 v-if="chanpinId==1" ref="chanpin1Ref"></chanpin1>
  7. <!-- 底部 tabBar -->
  8. <custom-tab-bar :show="true" :current-index="currentTabIndex" />
  9. </view>
  10. </template>
  11. <script>
  12. import CustomTabBar from '@/components/custom-tabbar/index.vue';
  13. import cacheManager from "@/utils/cacheManager.js";
  14. import {
  15. onLoad,
  16. onShow,
  17. onHide,
  18. onUnload
  19. } from "@dcloudio/uni-app"
  20. import {
  21. toast
  22. } from '../../utils/common';
  23. import chanpin1 from './chanpin1'
  24. import {
  25. banbenImpinfo
  26. } from "@/api/login.js"
  27. export default {
  28. data() {
  29. return {
  30. currentTabIndex: 1,
  31. banbenId: '',
  32. chanpinId: ''
  33. }
  34. },
  35. components: {
  36. CustomTabBar,
  37. chanpin1
  38. },
  39. onLoad(options) {
  40. uni.hideTabBar()
  41. },
  42. onShow() {
  43. this.currentTabIndex = 1
  44. const cacheData = cacheManager.get('contentInfo');
  45. if (cacheData) {
  46. console.log('使用缓存数据');
  47. this.chanpinId = cacheData.chanpinId
  48. this.switchUseCache(cacheData)
  49. } else {
  50. console.log('重新请求数据,请求版本内容详情接口');
  51. this.getBanbenInfo();
  52. }
  53. },
  54. onHide() {
  55. console.log('学习页面隐藏')
  56. },
  57. onUnload() {
  58. // 页面卸载无需特殊处理
  59. },
  60. methods: {
  61. switchUseCache(data){
  62. switch (Number(data.chanpinId)) {
  63. case 1:
  64. this.$nextTick(() => {
  65. this.$refs.chanpin1Ref.initData()
  66. })
  67. break;
  68. case 2:
  69. break;
  70. default:
  71. }
  72. },
  73. switchGetNeiRongInfo(data) {
  74. switch (Number(data.chanpinId)) {
  75. case 1:
  76. const banbenId = data.banbenId
  77. this.$nextTick(() => {
  78. this.$refs.chanpin1Ref.initData(banbenId)
  79. })
  80. break;
  81. case 2:
  82. break;
  83. default:
  84. }
  85. },
  86. getBanbenInfo() {
  87. banbenImpinfo({}).then(res => {
  88. if (res.code == 0) {
  89. this.chanpinId = res.data.chanpinId
  90. this.switchGetNeiRongInfo(res.data)
  91. } else {
  92. toast('请求版本内容详情接口数据异常')
  93. return
  94. }
  95. }).catch(() => {
  96. toast('请求版本内容详情接口数据异常')
  97. return false
  98. })
  99. },
  100. },
  101. computed: {}
  102. }
  103. </script>