myMission.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514
  1. const app = require('../../utils/util.js');
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. showewm: false,
  8. showzs: false,
  9. kcArr: [],
  10. ewmurl: '',
  11. sfmArr: [],
  12. className:'',
  13. istask1: false,
  14. istask2: false,
  15. istask3: false,
  16. istask4: false,
  17. istask5: false
  18. },
  19. selectBtn0() {
  20. this.setData({
  21. select: 0
  22. });
  23. },
  24. selectBtn1() {
  25. this.setData({
  26. select: 1
  27. });
  28. },
  29. gokhAnswer() {
  30. wx.navigateTo({
  31. url: '../answerAfterclass/answerAfterclass'
  32. })
  33. },
  34. gopjClass() {
  35. wx.navigateTo({
  36. url: '../evaluationCourse/evaluationCourse'
  37. })
  38. },
  39. startAnswer() {
  40. wx.navigateTo({
  41. url: '/pages/answerAfterclass/answerAfterclass',
  42. })
  43. },
  44. goWrite() {
  45. // wx.showModal({
  46. // showCancel: false,
  47. // content: "敬请期待",
  48. // success(res) {}
  49. // })
  50. wx.navigateTo({
  51. url: '../studentRegistration/studentRegistration'
  52. })
  53. },
  54. goWrite2() {
  55. // wx.showModal({
  56. // showCancel: false,
  57. // content: "敬请期待",
  58. // success(res) {}
  59. // })
  60. wx.navigateTo({
  61. url: '../feedBack/feedBack'
  62. })
  63. },
  64. lq() {
  65. // wx.showModal({
  66. // showCancel: false,
  67. // content: "此功能暂时还未开放哦",
  68. // success(res) {}
  69. // })
  70. this.setData({
  71. showzs: true
  72. });
  73. },
  74. // 跳转直播点播页面
  75. goStudy(e) {
  76. // console.log(e.currentTarget.dataset.item.id)
  77. let id = e.currentTarget.dataset.item.id
  78. if (e.currentTarget.dataset.item.isLive == 1) {
  79. wx.navigateTo({
  80. url: '../zbDetails/zbDetails?id=' + id
  81. })
  82. } else {
  83. wx.navigateTo({
  84. url: '../dbDetails/dbDetails?id=' + id
  85. })
  86. }
  87. },
  88. getMycourse(sessionKey) {
  89. var _this = this;
  90. wx.request({
  91. url: app.globalData.publicUrl + '/wx/course/selectBySessionKey',
  92. method: "post",
  93. data: {
  94. sessionKey: sessionKey
  95. },
  96. success: function (res) {
  97. if (res.data.code == 0) {
  98. _this.setData({
  99. kcArr: res.data.list,
  100. istask3: res.data.allDone
  101. });
  102. let result = [];
  103. if (res.data.list)
  104. for (var i = 0; i < res.data.list.length; i++) {
  105. result.push({
  106. courseTime: res.data.list[i].courseTime
  107. });
  108. }
  109. const timesArr = result.map((item) => {
  110. return item.courseTime;
  111. });
  112. let sfmArr = [];
  113. for (let i = 0; i < timesArr.length; i++) {
  114. let value = timesArr[i];
  115. const resultValue = _this.handler(value);
  116. sfmArr.push({
  117. courseTime: resultValue
  118. })
  119. _this.setData({
  120. sfmArr: sfmArr
  121. })
  122. }
  123. }
  124. }
  125. })
  126. },
  127. handler(value) {
  128. //换算为秒 进制1000
  129. const second = Math.floor(value / 1000); //判断是否够1秒
  130. if (second < 1) {
  131. return "0秒";
  132. }
  133. const secondValue = second % 60; // 秒
  134. const minutes = Math.floor(second / 60); //判断是否够1分钟
  135. if (minutes < 1) {
  136. return `${secondValue}秒`;
  137. }
  138. const minutesValue = minutes % 60; //分
  139. const hours = Math.floor(minutes / 60); //判断是否够1小时
  140. if (hours < 1) {
  141. return `${minutesValue}分${secondValue}秒`;
  142. }
  143. const hoursValue = hours % 60; //小时
  144. return `${hoursValue}时${minutesValue}分${secondValue}秒`;
  145. },
  146. // 学员身份认证 检查第一个任务
  147. checkTaskList(sessionKey) {
  148. var _this = this;
  149. wx.request({
  150. url: app.globalData.publicUrl2 + '/wx/student/selStudentSessionKey',
  151. method: "post",
  152. data: {
  153. sessionKey: sessionKey
  154. },
  155. success: function (res) {
  156. console.log(res.data, "wwwwww")
  157. if (res.data.code == 0) {
  158. if (res.data.data.remark == 1) {
  159. _this.setData({
  160. istask1: true
  161. })
  162. }
  163. }
  164. }
  165. })
  166. },
  167. // 查询我是否有班&&班级名字
  168. isClass(sessionKey) {
  169. var _this = this;
  170. wx.request({
  171. url: app.globalData.publicUrl2 + '/wx/student/selMyClas',
  172. method: "post",
  173. data: {
  174. sessionKey: sessionKey
  175. },
  176. success: function (res) {
  177. console.log(res, "我是返回的班级列表")
  178. if (res.data.code == 0) {
  179. if (res.data.data !== null || res.data.data !== "") {
  180. _this.setData({
  181. className: res.data.data.clasName
  182. })
  183. } else {
  184. wx.showModal({
  185. content: "您还未加入班级,快去认证吧!",
  186. success(res) {
  187. if (res.confirm) {
  188. wx.navigateTo({
  189. url: '../Identity/Identity'
  190. })
  191. } else {
  192. wx.switchTab({
  193. url: '../myClass/myClass'
  194. })
  195. }
  196. }
  197. })
  198. return false;
  199. }
  200. } else {
  201. wx.showModal({
  202. content: "您还未加入班级,快去认证吧!",
  203. success(res) {
  204. if (res.confirm) {
  205. wx.navigateTo({
  206. url: '../Identity/Identity'
  207. })
  208. } else {
  209. wx.switchTab({
  210. url: '../myClass/myClass'
  211. })
  212. }
  213. }
  214. })
  215. return false;
  216. }
  217. }
  218. })
  219. },
  220. // 记录二维码已经点击
  221. ewmClick(sessionKey) {
  222. let _this = this;
  223. wx.request({
  224. url: app.globalData.publicUrl2 + '/wx/student/wxGroup',
  225. method: "post",
  226. data: {
  227. sessionKey: sessionKey
  228. },
  229. success: function (res) {
  230. console.log(res)
  231. _this.setData({
  232. showewm: true,
  233. istask1: true
  234. })
  235. }
  236. })
  237. },
  238. ewmGet(sessionKey) {
  239. let _this = this;
  240. wx.request({
  241. url: app.globalData.publicUrl2 + '/wx/student/selAllClas',
  242. method: "post",
  243. data: {
  244. sessionKey: sessionKey
  245. },
  246. success: function (res) {
  247. console.log(res.data.data, "22222222")
  248. var filterArr = res.data.data.claList.filter(o => o.isActive == 5)
  249. console.log(filterArr, "111111111111")
  250. if (filterArr.length !== 0) {
  251. _this.setData({
  252. ewmurl: filterArr[0].codeImg
  253. })
  254. }
  255. }
  256. })
  257. },
  258. showEwm() {
  259. var sessionKey = "";
  260. var _this = this;
  261. wx.checkSession({
  262. success: () => {
  263. console.log("我有缓存")
  264. sessionKey = wx.getStorageSync('sessionKey');
  265. // console.log(sessionKey)
  266. _this.ewmClick(sessionKey)
  267. _this.ewmGet(sessionKey)
  268. },
  269. fail() {
  270. console.log("我没有缓存并去登录请求")
  271. wx.login({
  272. success(res) {
  273. console.log(res);
  274. var code = res.code
  275. wx.request({
  276. url: app.globalData.publicUrl2 + '/wx/user/wx7e7a46e129d6cd0f/login',
  277. method: "get",
  278. data: {
  279. code
  280. },
  281. success: function (res) {
  282. sessionKey = res.data.sessionKey;
  283. wx.setStorageSync('sessionKey', res.data.sessionKey);
  284. _this.ewmClick(sessionKey)
  285. _this.ewmGet(sessionKey)
  286. }
  287. })
  288. }
  289. })
  290. }
  291. })
  292. },
  293. onShow() {
  294. var _this = this;
  295. wx.checkSession({
  296. success: () => {
  297. console.log("我有缓存")
  298. var sessionKey = wx.getStorageSync('sessionKey');
  299. console.log(sessionKey, "我有缓存")
  300. if (sessionKey == "") {
  301. wx.login({
  302. success(res) {
  303. console.log(res);
  304. var code = res.code
  305. wx.request({
  306. url: app.globalData.publicUrl2 + '/wx/user/wx7e7a46e129d6cd0f/login',
  307. method: "get",
  308. data: {
  309. code
  310. },
  311. success: function (res) {
  312. sessionKey = res.data.sessionKey;
  313. wx.setStorageSync('sessionKey', res.data.sessionKey);
  314. _this.checkTaskList(sessionKey)
  315. _this.isClass(sessionKey);
  316. _this.getMycourse(sessionKey);
  317. }
  318. })
  319. }
  320. })
  321. } else {
  322. _this.checkTaskList(sessionKey)
  323. _this.isClass(sessionKey);
  324. _this.getMycourse(sessionKey);
  325. }
  326. },
  327. fail() {
  328. console.log("我没有缓存并去登录请求")
  329. wx.login({
  330. success(res) {
  331. console.log(res);
  332. var code = res.code
  333. wx.request({
  334. url: app.globalData.publicUrl2 + '/wx/user/wx7e7a46e129d6cd0f/login',
  335. method: "get",
  336. data: {
  337. code
  338. },
  339. success: function (res) {
  340. wx.setStorageSync('sessionKey', res.data.sessionKey);
  341. var sessionKey = res.data.sessionKey;
  342. _this.checkTaskList(sessionKey)
  343. _this.isClass(sessionKey);
  344. _this.getMycourse(sessionKey);
  345. }
  346. })
  347. }
  348. })
  349. }
  350. })
  351. },
  352. onClose() {
  353. wx.hideLoading()
  354. this.setData({
  355. showewm: false
  356. });
  357. },
  358. onClose1() {
  359. this.setData({
  360. showzs: false
  361. });
  362. },
  363. /**
  364. * 生命周期函数--监听页面初次渲染完成
  365. */
  366. saveImg() {
  367. let _this = this;
  368. console.log(_this.data.ewmurl)
  369. wx.getSetting({
  370. success(res) {
  371. if (!res.authSetting['scope.writePhotosAlbum']) {
  372. wx.authorize({
  373. scope: 'scope.writePhotosAlbum',
  374. success() {
  375. console.log(res, "我点击同意啦")
  376. wx.showLoading({
  377. title: '保存中...'
  378. })
  379. var imgSrc = _this.data.ewmurl;
  380. wx.downloadFile({
  381. url: imgSrc,
  382. success: function (res) {
  383. console.log(res, '我下载完成啦');
  384. //图片保存到本地
  385. wx.saveImageToPhotosAlbum({
  386. filePath: res.tempFilePath,
  387. success: function (data) {
  388. console.log(data, '我保存成功啦')
  389. wx.hideLoading();
  390. wx.showToast({
  391. title: '保存成功',
  392. icon: 'success',
  393. duration: 2000
  394. })
  395. },
  396. fail: function (err) {
  397. console.log(err, '我保存失败啦')
  398. wx.hideLoading();
  399. if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
  400. console.log("当初用户拒绝,再次发起授权")
  401. wx.openSetting({
  402. success(settingdata) {
  403. console.log(settingdata)
  404. if (settingdata.authSetting['scope.writePhotosAlbum']) {
  405. console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
  406. } else {
  407. console.log('获取权限失败,给出不给权限就无法正常使用的提示')
  408. }
  409. }
  410. })
  411. }
  412. },
  413. complete(res) {
  414. console.log(res);
  415. }
  416. })
  417. }
  418. })
  419. console.log('授权成功')
  420. }
  421. })
  422. } else {
  423. var imgSrc = _this.data.ewmurl
  424. wx.downloadFile({
  425. url: imgSrc,
  426. success: function (res) {
  427. console.log(res, '我下载完成啦');
  428. wx.hideLoading();
  429. //图片保存到本地
  430. wx.saveImageToPhotosAlbum({
  431. filePath: res.tempFilePath,
  432. success: function (data) {
  433. console.log(data, '我保存成功啦')
  434. wx.hideLoading();
  435. wx.showToast({
  436. title: '保存成功',
  437. icon: 'success',
  438. duration: 2000
  439. })
  440. },
  441. fail: function (err) {
  442. console.log(err, '我保存失败啦')
  443. wx.hideLoading();
  444. if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
  445. console.log("当初用户拒绝,再次发起授权")
  446. wx.openSetting({
  447. success(settingdata) {
  448. console.log(settingdata)
  449. if (settingdata.authSetting['scope.writePhotosAlbum']) {
  450. console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
  451. } else {
  452. console.log('获取权限失败,给出不给权限就无法正常使用的提示')
  453. }
  454. }
  455. })
  456. }
  457. },
  458. complete(res) {
  459. console.log(res);
  460. }
  461. })
  462. }
  463. })
  464. }
  465. }
  466. })
  467. },
  468. onReady: function () {
  469. },
  470. /**
  471. * 生命周期函数--监听页面显示
  472. */
  473. // onShow: function () {
  474. // },
  475. /**
  476. * 生命周期函数--监听页面隐藏
  477. */
  478. onHide: function () {
  479. },
  480. /**
  481. * 生命周期函数--监听页面卸载
  482. */
  483. onUnload: function () {
  484. },
  485. /**
  486. * 页面相关事件处理函数--监听用户下拉动作
  487. */
  488. onPullDownRefresh: function () {
  489. },
  490. /**
  491. * 页面上拉触底事件的处理函数
  492. */
  493. onReachBottom: function () {
  494. },
  495. /**
  496. * 用户点击右上角分享
  497. */
  498. onShareAppMessage: function () {
  499. }
  500. })