myMission.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  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. var _this = this;
  105. wx.request({
  106. url: app.globalData.publicUrl + '/wx/course/selectBySessionKey',
  107. method: "post",
  108. data: {
  109. sessionKey: sessionKey
  110. },
  111. success: function (res) {
  112. if (res.data.code == 0 && res.data.list.length !== 0) {
  113. _this.setData({
  114. kcArr: res.data.list,
  115. istask3: res.data.allDone
  116. });
  117. let result = [];
  118. if (res.data.list)
  119. for (var i = 0; i < res.data.list.length; i++) {
  120. result.push({
  121. courseTime: res.data.list[i].courseTime
  122. });
  123. }
  124. const timesArr = result.map((item) => {
  125. return item.courseTime;
  126. });
  127. let sfmArr = [];
  128. for (let i = 0; i < timesArr.length; i++) {
  129. let value = timesArr[i];
  130. const resultValue = _this.handler(value);
  131. sfmArr.push({
  132. courseTime: resultValue
  133. })
  134. _this.setData({
  135. sfmArr: sfmArr
  136. })
  137. }
  138. }
  139. }
  140. })
  141. },
  142. handler(value) {
  143. //换算为秒 进制1000
  144. const second = Math.floor(value / 1000); //判断是否够1秒
  145. if (second < 1) {
  146. return "0秒";
  147. }
  148. const secondValue = second % 60; // 秒
  149. const minutes = Math.floor(second / 60); //判断是否够1分钟
  150. if (minutes < 1) {
  151. return `${secondValue}秒`;
  152. }
  153. const minutesValue = minutes % 60; //分
  154. const hours = Math.floor(minutes / 60); //判断是否够1小时
  155. if (hours < 1) {
  156. return `${minutesValue}分${secondValue}秒`;
  157. }
  158. const hoursValue = hours % 60; //小时
  159. return `${hoursValue}时${minutesValue}分${secondValue}秒`;
  160. },
  161. // 学员身份认证 检查第一个任务
  162. checkTaskList(sessionKey) {
  163. var _this = this;
  164. wx.request({
  165. url: app.globalData.publicUrl2 + '/wx/student/selStudentSessionKey',
  166. method: "post",
  167. data: {
  168. sessionKey: sessionKey
  169. },
  170. success: function (res) {
  171. console.log(res.data, "wwwwww")
  172. if (res.data.code == 0) {
  173. if (res.data.data.remark == 1) {
  174. _this.setData({
  175. istask1: true
  176. })
  177. }
  178. _this.setData({
  179. studentName: res.data.data.studentName,
  180. })
  181. }
  182. }
  183. })
  184. },
  185. // 查询我是否有班&&班级名字
  186. isClass(sessionKey) {
  187. var _this = this;
  188. wx.request({
  189. url: app.globalData.publicUrl2 + '/wx/student/selMyClas',
  190. method: "post",
  191. data: {
  192. sessionKey: sessionKey
  193. },
  194. success: function (res) {
  195. console.log(res, "我是返回是否有班级")
  196. if (res.data.code == 0) {
  197. _this.setData({
  198. // className: res.data.data.clasName,
  199. // ewmurl: res.data.data.codeImg,
  200. classInfo: res.data.data
  201. })
  202. } else {
  203. wx.showModal({
  204. content: "您当前还没有开放的班级!",
  205. showCancel: false,
  206. success(res) {
  207. if (res.confirm) {
  208. wx.switchTab({
  209. url: '../index/index'
  210. })
  211. }
  212. }
  213. })
  214. return false;
  215. }
  216. }
  217. })
  218. },
  219. // 记录二维码已经点击
  220. ewmClick(sessionKey) {
  221. let _this = this;
  222. wx.request({
  223. url: app.globalData.publicUrl2 + '/wx/student/wxGroup',
  224. method: "post",
  225. data: {
  226. sessionKey: sessionKey
  227. },
  228. success: function (res) {
  229. console.log(res)
  230. _this.setData({
  231. showewm: true,
  232. istask1: true
  233. })
  234. }
  235. })
  236. },
  237. // ewmGet(sessionKey) {
  238. // let _this = this;
  239. // wx.request({
  240. // url: app.globalData.publicUrl2 + '/wx/student/selAllClas',
  241. // method: "post",
  242. // data: {
  243. // sessionKey: sessionKey
  244. // },
  245. // success: function (res) {
  246. // console.log(res.data.data, "22222222")
  247. // var filterArr = res.data.data.claList.filter(o => o.isActive == 5)
  248. // console.log(filterArr, "111111111111")
  249. // if (filterArr.length !== 0) {
  250. // _this.setData({
  251. // ewmurl: filterArr[0].codeImg
  252. // })
  253. // }
  254. // }
  255. // })
  256. // },
  257. showEwm() {
  258. var sessionKey = "";
  259. var _this = this;
  260. wx.checkSession({
  261. success: () => {
  262. console.log("我有缓存")
  263. sessionKey = wx.getStorageSync('sessionKey');
  264. // console.log(sessionKey)
  265. _this.ewmClick(sessionKey)
  266. // _this.ewmGet(sessionKey)
  267. },
  268. fail() {
  269. console.log("我没有缓存并去登录请求")
  270. wx.login({
  271. success(res) {
  272. console.log(res);
  273. var code = res.code
  274. wx.request({
  275. url: app.globalData.publicUrl2 + '/wx/user/wx7e7a46e129d6cd0f/login',
  276. method: "get",
  277. data: {
  278. code
  279. },
  280. success: function (res) {
  281. sessionKey = res.data.sessionKey;
  282. wx.setStorageSync('sessionKey', res.data.sessionKey);
  283. _this.ewmClick(sessionKey)
  284. // _this.ewmGet(sessionKey)
  285. }
  286. })
  287. }
  288. })
  289. }
  290. })
  291. },
  292. async onShow() {
  293. const sessionKey = await tools.checkSessionAndLogin();
  294. this.checkTaskList(sessionKey)
  295. this.isClass(sessionKey);
  296. this.getMycourse(sessionKey);
  297. // var _this = this;
  298. // wx.checkSession({
  299. // success: () => {
  300. // console.log("我有缓存")
  301. // var sessionKey = wx.getStorageSync('sessionKey');
  302. // console.log(sessionKey, "我有缓存")
  303. // if (sessionKey == "") {
  304. // wx.login({
  305. // success(res) {
  306. // console.log(res);
  307. // var code = res.code
  308. // wx.request({
  309. // url: app.globalData.publicUrl2 + '/wx/user/wx7e7a46e129d6cd0f/login',
  310. // method: "get",
  311. // data: {
  312. // code
  313. // },
  314. // success: function (res) {
  315. // sessionKey = res.data.sessionKey;
  316. // wx.setStorageSync('sessionKey', res.data.sessionKey);
  317. // _this.checkTaskList(sessionKey)
  318. // _this.isClass(sessionKey);
  319. // _this.getMycourse(sessionKey);
  320. // }
  321. // })
  322. // }
  323. // })
  324. // } else {
  325. // _this.checkTaskList(sessionKey)
  326. // _this.isClass(sessionKey);
  327. // _this.getMycourse(sessionKey);
  328. // }
  329. // },
  330. // fail() {
  331. // console.log("我没有缓存并去登录请求")
  332. // wx.login({
  333. // success(res) {
  334. // console.log(res);
  335. // var code = res.code
  336. // wx.request({
  337. // url: app.globalData.publicUrl2 + '/wx/user/wx7e7a46e129d6cd0f/login',
  338. // method: "get",
  339. // data: {
  340. // code
  341. // },
  342. // success: function (res) {
  343. // wx.setStorageSync('sessionKey', res.data.sessionKey);
  344. // var sessionKey = res.data.sessionKey;
  345. // _this.checkTaskList(sessionKey)
  346. // _this.isClass(sessionKey);
  347. // _this.getMycourse(sessionKey);
  348. // }
  349. // })
  350. // }
  351. // })
  352. // }
  353. // })
  354. },
  355. onClose() {
  356. wx.hideLoading()
  357. this.setData({
  358. showewm: false
  359. });
  360. },
  361. onClose1() {
  362. this.setData({
  363. showzs: false
  364. });
  365. },
  366. /**
  367. * 生命周期函数--监听页面初次渲染完成
  368. */
  369. saveImg() {
  370. let _this = this;
  371. console.log(_this.data.ewmurl)
  372. wx.getSetting({
  373. success(res) {
  374. if (!res.authSetting['scope.writePhotosAlbum']) {
  375. wx.authorize({
  376. scope: 'scope.writePhotosAlbum',
  377. success() {
  378. console.log(res, "我点击同意啦")
  379. wx.showLoading({
  380. title: '保存中...'
  381. })
  382. var imgSrc = _this.data.ewmurl;
  383. wx.downloadFile({
  384. url: imgSrc,
  385. success: function (res) {
  386. console.log(res, '我下载完成啦');
  387. //图片保存到本地
  388. wx.saveImageToPhotosAlbum({
  389. filePath: res.tempFilePath,
  390. success: function (data) {
  391. console.log(data, '我保存成功啦')
  392. wx.hideLoading();
  393. wx.showToast({
  394. title: '保存成功',
  395. icon: 'success',
  396. duration: 2000
  397. })
  398. },
  399. fail: function (err) {
  400. console.log(err, '我保存失败啦')
  401. wx.hideLoading();
  402. if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
  403. console.log("当初用户拒绝,再次发起授权")
  404. wx.openSetting({
  405. success(settingdata) {
  406. console.log(settingdata)
  407. if (settingdata.authSetting['scope.writePhotosAlbum']) {
  408. console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
  409. } else {
  410. console.log('获取权限失败,给出不给权限就无法正常使用的提示')
  411. }
  412. }
  413. })
  414. }
  415. },
  416. complete(res) {
  417. console.log(res);
  418. }
  419. })
  420. }
  421. })
  422. console.log('授权成功')
  423. }
  424. })
  425. } else {
  426. var imgSrc = _this.data.ewmurl
  427. wx.downloadFile({
  428. url: imgSrc,
  429. success: function (res) {
  430. console.log(res, '我下载完成啦');
  431. wx.hideLoading();
  432. //图片保存到本地
  433. wx.saveImageToPhotosAlbum({
  434. filePath: res.tempFilePath,
  435. success: function (data) {
  436. console.log(data, '我保存成功啦')
  437. wx.hideLoading();
  438. wx.showToast({
  439. title: '保存成功',
  440. icon: 'success',
  441. duration: 2000
  442. })
  443. },
  444. fail: function (err) {
  445. console.log(err, '我保存失败啦')
  446. wx.hideLoading();
  447. if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
  448. console.log("当初用户拒绝,再次发起授权")
  449. wx.openSetting({
  450. success(settingdata) {
  451. console.log(settingdata)
  452. if (settingdata.authSetting['scope.writePhotosAlbum']) {
  453. console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
  454. } else {
  455. console.log('获取权限失败,给出不给权限就无法正常使用的提示')
  456. }
  457. }
  458. })
  459. }
  460. },
  461. complete(res) {
  462. console.log(res);
  463. }
  464. })
  465. }
  466. })
  467. }
  468. }
  469. })
  470. }
  471. })