myMission.js 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. const app = require('../../utils/util.js');
  2. const tools = require('../../utils/tools.js');
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. showewm: false,
  9. showzs: false,
  10. kcArr: [],
  11. // ewmurl: '',
  12. sfmArr: [],
  13. // className: '',
  14. istask1: false,
  15. istask2: false,
  16. istask3: false,
  17. istask4: false,
  18. istask5: false,
  19. studentName: "",
  20. classInfo: {}
  21. },
  22. selectBtn0() {
  23. this.setData({
  24. select: 0
  25. });
  26. },
  27. selectBtn1() {
  28. this.setData({
  29. select: 1
  30. });
  31. },
  32. gokhAnswer() {
  33. wx.navigateTo({
  34. url: '../answerAfterclass/answerAfterclass'
  35. })
  36. },
  37. gopjClass() {
  38. wx.navigateTo({
  39. url: '../evaluationCourse/evaluationCourse'
  40. })
  41. },
  42. startAnswer() {
  43. wx.navigateTo({
  44. url: '/pages/answerAfterclass/answerAfterclass',
  45. })
  46. },
  47. goWrite() {
  48. // wx.showModal({
  49. // showCancel: false,
  50. // content: "敬请期待",
  51. // success(res) {}
  52. // })
  53. wx.navigateTo({
  54. url: '../studentRegistration/studentRegistration'
  55. })
  56. },
  57. goWrite2() {
  58. // wx.showModal({
  59. // showCancel: false,
  60. // content: "敬请期待",
  61. // success(res) {}
  62. // })
  63. wx.navigateTo({
  64. url: '../feedBack/feedBack'
  65. })
  66. },
  67. lq() {
  68. // wx.showModal({
  69. // showCancel: false,
  70. // content: "此功能暂时还未开放哦",
  71. // success(res) {}
  72. // })
  73. this.setData({
  74. showzs: true
  75. });
  76. },
  77. // 跳转直播点播页面
  78. goStudy(e) {
  79. wx.showModal({
  80. showCancel: false,
  81. content: "您有未完成的学习课程,请先完成学习任务后再进行其他课程学习!",
  82. success(res) {}
  83. })
  84. // let id = e.currentTarget.dataset.item.id
  85. // if (e.currentTarget.dataset.item.isLive == 1) {
  86. // if (e.currentTarget.dataset.item.isActive == 1) {
  87. // wx.navigateTo({
  88. // url: '../zbDetails/zbDetails?id=' + id
  89. // })
  90. // } else {
  91. // wx.showModal({
  92. // showCancel: false,
  93. // content: "直播还未开始哦",
  94. // success(res) {}
  95. // })
  96. // }
  97. // } else {
  98. // wx.navigateTo({
  99. // url: '../dbDetails/dbDetails?id=' + id
  100. // })
  101. // }
  102. },
  103. getMycourse(sessionKey) {
  104. wx.request({
  105. url: app.globalData.publicUrl + '/wx/course/selectBySessionKey',
  106. method: "post",
  107. data: {
  108. sessionKey: sessionKey
  109. },
  110. success: (res) =>{
  111. if (res.data.code == 0 && res.data.list.length !== 0) {
  112. this.setData({
  113. kcArr: res.data.list,
  114. istask3: res.data.allDone
  115. });
  116. let result = [];
  117. if (res.data.list)
  118. for (var i = 0; i < res.data.list.length; i++) {
  119. result.push({
  120. courseTime: res.data.list[i].courseTime
  121. });
  122. }
  123. const timesArr = result.map((item) => {
  124. return item.courseTime;
  125. });
  126. let sfmArr = [];
  127. for (let i = 0; i < timesArr.length; i++) {
  128. let value = timesArr[i];
  129. const resultValue = this.handler(value);
  130. sfmArr.push({
  131. courseTime: resultValue
  132. })
  133. this.setData({
  134. sfmArr: sfmArr
  135. })
  136. }
  137. }
  138. }
  139. })
  140. },
  141. handler(value) {
  142. //换算为秒 进制1000
  143. const second = Math.floor(value / 1000); //判断是否够1秒
  144. if (second < 1) {
  145. return "0秒";
  146. }
  147. const secondValue = second % 60; // 秒
  148. const minutes = Math.floor(second / 60); //判断是否够1分钟
  149. if (minutes < 1) {
  150. return `${secondValue}秒`;
  151. }
  152. const minutesValue = minutes % 60; //分
  153. const hours = Math.floor(minutes / 60); //判断是否够1小时
  154. if (hours < 1) {
  155. return `${minutesValue}分${secondValue}秒`;
  156. }
  157. const hoursValue = hours % 60; //小时
  158. return `${hoursValue}时${minutesValue}分${secondValue}秒`;
  159. },
  160. // 学员身份认证 检查第一个任务
  161. checkTaskList(sessionKey) {
  162. wx.request({
  163. url: app.globalData.publicUrl + '/wx/student/selStudentSessionKey',
  164. method: "post",
  165. data: {
  166. sessionKey: sessionKey
  167. },
  168. success: (res)=> {
  169. console.log(res.data, "wwwwww")
  170. if (res.data.code == 0) {
  171. if (res.data.data.remark == 1) {
  172. this.setData({
  173. istask1: true
  174. })
  175. }
  176. this.setData({
  177. studentName: res.data.data.studentName,
  178. })
  179. }
  180. }
  181. })
  182. },
  183. // 查询我是否有班&&班级名字
  184. isClass(sessionKey) {
  185. wx.request({
  186. url: app.globalData.publicUrl + '/wx/student/selMyClas',
  187. method: "post",
  188. data: {
  189. sessionKey: sessionKey
  190. },
  191. success: (res)=> {
  192. console.log(res, "我是返回是否有班级")
  193. if (res.data.code == 0) {
  194. this.setData({
  195. classInfo: res.data.data
  196. })
  197. } else {
  198. wx.showModal({
  199. content: "您当前还没有开放的班级!",
  200. showCancel: false,
  201. success(res) {
  202. if (res.confirm) {
  203. wx.switchTab({
  204. url: '../index/index'
  205. })
  206. }
  207. }
  208. })
  209. return false;
  210. }
  211. }
  212. })
  213. },
  214. // 记录二维码已经点击
  215. ewmClick(sessionKey) {
  216. wx.request({
  217. url: app.globalData.publicUrl + '/wx/student/wxGroup',
  218. method: "post",
  219. data: {
  220. sessionKey: sessionKey
  221. },
  222. success: (res)=> {
  223. this.setData({
  224. showewm: true,
  225. istask1: true
  226. })
  227. }
  228. })
  229. },
  230. async showEwm() {
  231. const sessionKey = await tools.checkSessionAndLogin();
  232. this.ewmClick(sessionKey)
  233. },
  234. async onShow() {
  235. const sessionKey = await tools.checkSessionAndLogin();
  236. this.checkTaskList(sessionKey)
  237. this.isClass(sessionKey);
  238. this.getMycourse(sessionKey);
  239. },
  240. onClose() {
  241. wx.hideLoading()
  242. this.setData({
  243. showewm: false
  244. });
  245. },
  246. onClose1() {
  247. this.setData({
  248. showzs: false
  249. });
  250. },
  251. /**
  252. * 生命周期函数--监听页面初次渲染完成
  253. */
  254. saveImg() {
  255. wx.getSetting({
  256. success:(res)=> {
  257. if (!res.authSetting['scope.writePhotosAlbum']) {
  258. wx.authorize({
  259. scope: 'scope.writePhotosAlbum',
  260. success() {
  261. console.log(res, "我点击同意啦")
  262. wx.showLoading({
  263. title: '保存中...'
  264. })
  265. var imgSrc = this.data.ewmurl;
  266. wx.downloadFile({
  267. url: imgSrc,
  268. success: function (res) {
  269. console.log(res, '我下载完成啦');
  270. //图片保存到本地
  271. wx.saveImageToPhotosAlbum({
  272. filePath: res.tempFilePath,
  273. success: function (data) {
  274. console.log(data, '我保存成功啦')
  275. wx.hideLoading();
  276. wx.showToast({
  277. title: '保存成功',
  278. icon: 'success',
  279. duration: 2000
  280. })
  281. },
  282. fail: function (err) {
  283. console.log(err, '我保存失败啦')
  284. wx.hideLoading();
  285. if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
  286. console.log("当初用户拒绝,再次发起授权")
  287. wx.openSetting({
  288. success(settingdata) {
  289. console.log(settingdata)
  290. if (settingdata.authSetting['scope.writePhotosAlbum']) {
  291. console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
  292. } else {
  293. console.log('获取权限失败,给出不给权限就无法正常使用的提示')
  294. }
  295. }
  296. })
  297. }
  298. },
  299. complete(res) {
  300. console.log(res);
  301. }
  302. })
  303. }
  304. })
  305. }
  306. })
  307. } else {
  308. var imgSrc = this.data.ewmurl
  309. wx.downloadFile({
  310. url: imgSrc,
  311. success: function (res) {
  312. console.log(res, '我下载完成啦');
  313. wx.hideLoading();
  314. //图片保存到本地
  315. wx.saveImageToPhotosAlbum({
  316. filePath: res.tempFilePath,
  317. success: function (data) {
  318. console.log(data, '我保存成功啦')
  319. wx.hideLoading();
  320. wx.showToast({
  321. title: '保存成功',
  322. icon: 'success',
  323. duration: 2000
  324. })
  325. },
  326. fail: function (err) {
  327. console.log(err, '我保存失败啦')
  328. wx.hideLoading();
  329. if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
  330. console.log("当初用户拒绝,再次发起授权")
  331. wx.openSetting({
  332. success(settingdata) {
  333. console.log(settingdata)
  334. if (settingdata.authSetting['scope.writePhotosAlbum']) {
  335. console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
  336. } else {
  337. console.log('获取权限失败,给出不给权限就无法正常使用的提示')
  338. }
  339. }
  340. })
  341. }
  342. },
  343. complete(res) {
  344. console.log(res);
  345. }
  346. })
  347. }
  348. })
  349. }
  350. }
  351. })
  352. }
  353. })