demandCourses.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. const app = require('../../utils/util.js');
  2. const tools = require('../../utils/tools.js');
  3. Page({
  4. data: {
  5. lbArr: [],
  6. showNull: false,
  7. sfmArr: [],
  8. currentId: null,
  9. currentName: ""
  10. },
  11. // 点击按跳转
  12. goIn(e) {
  13. let id = e.currentTarget.dataset.item.id
  14. console.log(this.data.classId)
  15. if (this.data.classId != -1) {
  16. if (this.data.currentId != null) {
  17. // 没学或者没学完
  18. if (e.currentTarget.dataset.item.isDone == 0) {
  19. if (id == this.data.currentId) {
  20. wx.navigateTo({
  21. url: '../dbDetails/dbDetails?id=' + id
  22. })
  23. } else {
  24. // 有未完成的但不是我 就不能跳转
  25. wx.showModal({
  26. showCancel: false,
  27. content: "您的" + this.data.currentName + "课还未学完,快去学习吧"
  28. })
  29. }
  30. } else {
  31. // 我看完了这个视频 还能看
  32. wx.navigateTo({
  33. url: '../dbDetails/dbDetails?id=' + id
  34. })
  35. }
  36. } else {
  37. wx.navigateTo({
  38. url: '../dbDetails/dbDetails?id=' + id
  39. })
  40. }
  41. } else {
  42. wx.navigateTo({
  43. url: '../dbDetails/dbDetails?id=' + id
  44. })
  45. }
  46. },
  47. // 录播列表
  48. getArr(sessionKey) {
  49. wx.request({
  50. url: app.globalData.publicUrl + '/wx/course/selectRecordBySessionKey',
  51. method: "post",
  52. data: {
  53. sessionKey
  54. },
  55. success: (res) => {
  56. if (res.data.code == 0) {
  57. this.setData({
  58. lbArr: res.data.list,
  59. currentName: "",
  60. currentId: null
  61. })
  62. for (let i = 0; i < res.data.list.length; i++) {
  63. // 这个节课未全部完成
  64. if (res.data.list[i].isDone == 0) {
  65. // 这个视频已经进行了 看一半或者看完了
  66. if (res.data.list[i].isStudyDone == 0 || res.data.list[i].isStudyDone == 1) {
  67. this.setData({
  68. currentName: res.data.list[i].courseName,
  69. currentId: res.data.list[i].id
  70. })
  71. }
  72. }
  73. }
  74. let result = [];
  75. for (let i = 0; i < res.data.list.length; i++) {
  76. result.push({
  77. courseTime: res.data.list[i].courseTime
  78. });
  79. }
  80. const timesArr = result.map((item) => {
  81. return item.courseTime;
  82. });
  83. let sfmArr = [];
  84. for (let i = 0; i < timesArr.length; i++) {
  85. let value = timesArr[i];
  86. const resultValue = this.handler(value);
  87. sfmArr.push({
  88. courseTime: resultValue
  89. })
  90. this.setData({
  91. sfmArr: sfmArr
  92. })
  93. }
  94. if (this.data.lbArr.length == 0) {
  95. this.setData({
  96. showNull: true
  97. })
  98. }
  99. } else {
  100. if (this.data.lbArr.length == 0) {
  101. this.setData({
  102. showNull: true
  103. })
  104. }
  105. }
  106. },
  107. fail: () => {
  108. if (this.data.lbArr.length == 0) {
  109. this.setData({
  110. showNull: true
  111. })
  112. }
  113. }
  114. })
  115. },
  116. // 时间处理
  117. handler(value) {
  118. const second = Math.floor(value / 1000); //判断是否够1秒
  119. if (second < 1) {
  120. return "0秒";
  121. }
  122. const secondValue = second % 60; // 秒
  123. const minutes = Math.floor(second / 60); //判断是否够1分钟
  124. if (minutes < 1) {
  125. return `${secondValue}秒`;
  126. }
  127. const minutesValue = minutes % 60; //分
  128. const hours = Math.floor(minutes / 60); //判断是否够1小时
  129. if (hours < 1) {
  130. return `${minutesValue}分${secondValue}秒`;
  131. }
  132. const hoursValue = hours % 60; //小时
  133. return `${hoursValue}时${minutesValue}分${secondValue}秒`;
  134. },
  135. isClass(sessionKey) {
  136. wx.request({
  137. url: app.globalData.publicUrl + '/wx/student/selMyClas',
  138. method: "post",
  139. data: {
  140. sessionKey
  141. },
  142. success: (res) => {
  143. if (res.data.code == 0) {
  144. this.setData({
  145. classId: res.data.data.id
  146. })
  147. this.getArr(sessionKey)
  148. } else {
  149. if (res.data.msg == "运行时异常:学员不可同时存在两个班级中。") {
  150. wx.showModal({
  151. content: "学员不可同时存在多个班级中哦",
  152. showCancel: false,
  153. success(res) {
  154. if (res.confirm) {
  155. wx.switchTab({
  156. url: '../index/index'
  157. })
  158. }
  159. }
  160. })
  161. return false;
  162. } else {
  163. wx.showModal({
  164. content: "您当前还没有正在开放的班级!",
  165. showCancel: false,
  166. success(res) {
  167. if (res.confirm) {
  168. wx.switchTab({
  169. url: '../index/index'
  170. })
  171. }
  172. }
  173. })
  174. return false;
  175. }
  176. }
  177. }
  178. })
  179. },
  180. async onShow() {
  181. const sessionKey = await tools.checkSessionAndLogin();
  182. this.isClass(sessionKey)
  183. }
  184. })