myClass.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856
  1. const app = require('../../utils/util.js');
  2. const tools = require('../../utils/tools.js');
  3. Page({
  4. data: {
  5. showMore: false, //更多
  6. showzs: false, //证书显示
  7. show: false, //协议显示
  8. sessionKey: "",
  9. notice: "暂无未读通知",
  10. classInfo: {}, //班级信息
  11. kcArr: [], //课程列表
  12. sfmArr: [], //换算时分秒数组
  13. studentName: "", //学生明字
  14. status: '', //状态
  15. myCanvasId: 0, //画布id
  16. byzsbj: "../../images/zsbj.jpg", //结业证背景 用于合成图片
  17. IngCourseArr: [], //如果有正在进行的课就存一下
  18. istask: false, //判断班级群是否添加
  19. istask1: false, //学员登记表是否完成
  20. istask2: false, //课程是否完成
  21. istask3: false, //期末考试是否完成
  22. istask4: false, //综合反馈是否完成
  23. },
  24. // 查询我是否有班&&班级名字
  25. isClass(sessionKey) {
  26. // let _this = this;
  27. wx.request({
  28. url: app.globalData.publicUrl + '/wx/student/selMyClas',
  29. method: "post",
  30. data: {
  31. sessionKey: sessionKey
  32. },
  33. success: (res) => {
  34. console.log(res, "我是返回是否有班级")
  35. if (res.data.code == 0) {
  36. this.setData({
  37. classInfo: res.data.data
  38. })
  39. this.checkTaskList4(sessionKey, res.data.data.id);
  40. this.checkTaskList(sessionKey);
  41. this.checkTaskList3(sessionKey, res.data.data.id);
  42. this.isAgree(sessionKey);
  43. } else {
  44. wx.showModal({
  45. content: "您当前还没有开放的班级!",
  46. showCancel: false,
  47. success(res) {
  48. if (res.confirm) {
  49. wx.switchTab({
  50. url: '../index/index'
  51. })
  52. }
  53. }
  54. })
  55. return false;
  56. }
  57. }
  58. })
  59. },
  60. // 协议是否已同意
  61. isAgree(sessionKey) {
  62. // let _this = this;
  63. wx.request({
  64. url: app.globalData.publicUrl + '/wx/student/selStudentSessionKey',
  65. method: "post",
  66. data: {
  67. sessionKey: sessionKey
  68. },
  69. success: (res) => {
  70. console.log(res, "查询学员信息")
  71. if (res.data.code == 0 && res.data.data) {
  72. if (res.data.data.agreement == 0) {
  73. this.setData({
  74. studentName: res.data.data.studentName,
  75. show: false
  76. });
  77. } else {
  78. this.setData({
  79. studentName: res.data.data.studentName,
  80. show: true
  81. });
  82. }
  83. }
  84. }
  85. })
  86. },
  87. // 点击同意协议 并且记一下
  88. hidePopup() {
  89. this.setData({
  90. show: false
  91. });
  92. let sessionKey = "";
  93. wx.checkSession({
  94. success: () => {
  95. sessionKey = wx.getStorageSync('sessionKey');
  96. wx.request({
  97. url: app.globalData.publicUrl + '/wx/student/verification',
  98. method: "post",
  99. data: {
  100. sessionKey: sessionKey
  101. },
  102. success: function (res) {
  103. console.log(res, "我成功了")
  104. }
  105. })
  106. },
  107. fail() {
  108. console.log("我没有缓存并去登录请求")
  109. wx.login({
  110. success(res) {
  111. console.log(res);
  112. let code = res.code
  113. wx.request({
  114. url: app.globalData.publicUrl + '/wx/user/wx7e7a46e129d6cd0f/login',
  115. method: "get",
  116. data: {
  117. code
  118. },
  119. success: function (res) {
  120. sessionKey = res.data.sessionKey;
  121. wx.setStorageSync('sessionKey', res.data.sessionKey);
  122. wx.request({
  123. url: app.globalData.publicUrl + '/wx/student/verification',
  124. method: "post",
  125. data: {
  126. sessionKey: sessionKey
  127. },
  128. success: function (res) {
  129. console.log(res, "我成功了")
  130. }
  131. })
  132. }
  133. })
  134. }
  135. })
  136. }
  137. })
  138. },
  139. // 检查班级群是否加了
  140. checkTaskList(sessionKey) {
  141. wx.request({
  142. url: app.globalData.publicUrl + '/wx/student/selStudentSessionKey',
  143. method: "post",
  144. data: {
  145. sessionKey: sessionKey
  146. },
  147. success: (res) => {
  148. console.log(res.data, "检查第一个任务")
  149. if (res.data.code == 0) {
  150. if (res.data.data.joinClas == 0) {
  151. this.setData({
  152. istask: true
  153. })
  154. }
  155. this.setData({
  156. studentName: res.data.data.studentName,
  157. })
  158. }
  159. }
  160. })
  161. },
  162. // 学员登记任务check
  163. checkTaskList1(sessionKey) {
  164. wx.request({
  165. url: app.globalData.publicUrl + '/wx/student/selStudentSessionKey',
  166. method: "post",
  167. data: {
  168. sessionKey: sessionKey
  169. },
  170. success: (res) => {
  171. console.log(res.data, "我是第一个任务的检查状态")
  172. if (res.data.code == 0 && res.data.data.register == 0) {
  173. this.setData({
  174. istask1: true
  175. })
  176. }
  177. }
  178. })
  179. },
  180. // 期末考试任务检查
  181. checkTaskList3(sessionKey, id) {
  182. wx.request({
  183. url: app.globalData.publicUrl + '/wx/exam/clasExamstatus',
  184. method: "post",
  185. data: {
  186. sessionKey: sessionKey,
  187. clasId: id
  188. },
  189. success: (res) => {
  190. console.log(res.data, "我是第三个任务的检查状态")
  191. if (res.data.code == 0 && res.data.status == 1) {
  192. this.setData({
  193. istask3: true
  194. })
  195. }
  196. }
  197. })
  198. },
  199. // 综合反馈任务check
  200. checkTaskList4(sessionKey, id) {
  201. console.log(this.data.classInfo, "777777");
  202. wx.request({
  203. url: app.globalData.publicUrl + '/wx/exam/status',
  204. method: "post",
  205. data: {
  206. sessionKey: sessionKey,
  207. clasId: id
  208. },
  209. success: (res) => {
  210. console.log(res.data, "我是第四个任务的检查状态")
  211. if (res.data.code == 0 && res.data.status == 1) {
  212. this.setData({
  213. istask4: true
  214. })
  215. }
  216. }
  217. })
  218. },
  219. // 页面上显示的我的未读通知
  220. getMynotice(sessionKey) {
  221. // let _this = this;
  222. wx.request({
  223. url: app.globalData.publicUrl + '/wx/eduNoticeSee/list',
  224. method: "post",
  225. data: {
  226. sessionKey: sessionKey,
  227. isSee: 1,
  228. isNotice: 0
  229. },
  230. success: (res) => {
  231. console.log(res, "333333333")
  232. if (res.data.code == 0) {
  233. if (res.data.list && res.data.list.length !== 0)
  234. this.setData({
  235. notice: res.data.list[0].noticeContent
  236. });
  237. }
  238. }
  239. })
  240. },
  241. // 跳转通知页
  242. gomyNotice() {
  243. // if (this.data.notice !== "暂无未读通知") {
  244. wx.navigateTo({
  245. url: '../myNotice/myNotice'
  246. })
  247. // }
  248. },
  249. // 学员登记表
  250. goWrite() {
  251. if (!this.data.istask) {
  252. wx.showModal({
  253. showCancel: false,
  254. content: "请先去扫描二维码加入班级群吧",
  255. success(res) {
  256. if (res.confirm) {
  257. wx.switchTab({
  258. url: '../myMission/myMission'
  259. })
  260. }
  261. }
  262. })
  263. return false
  264. }
  265. wx.navigateTo({
  266. url: '../studentRegistration/studentRegistration'
  267. })
  268. },
  269. // 我的课程
  270. getMycourse(sessionKey) {
  271. // let _this = this;
  272. wx.request({
  273. url: app.globalData.publicUrl + '/wx/course/selectBySessionKey',
  274. method: "post",
  275. data: {
  276. sessionKey: sessionKey
  277. },
  278. success: (res) => {
  279. console.log(res, "11111111111111111111111111111111")
  280. this.setData({
  281. kcArr: res.data.list,
  282. istask2: res.data.allDone
  283. });
  284. for (let i = 0; i < res.data.list.length; i++) {
  285. if (res.data.list[i].isStudyDone == 0) {
  286. this.setData({
  287. IngCourseArr: res.data.list[i]
  288. })
  289. }
  290. }
  291. let result = [];
  292. if (res.data.list)
  293. for (let i = 0; i < res.data.list.length; i++) {
  294. result.push({
  295. courseTime: res.data.list[i].courseTime
  296. });
  297. }
  298. const timesArr = result.map((item) => {
  299. return item.courseTime;
  300. });
  301. let sfmArr = [];
  302. for (let i = 0; i < timesArr.length; i++) {
  303. let value = timesArr[i];
  304. const resultValue = this.handler(value);
  305. sfmArr.push({
  306. courseTime: resultValue
  307. })
  308. this.setData({
  309. sfmArr: sfmArr
  310. })
  311. }
  312. }
  313. })
  314. },
  315. // 时间换算
  316. handler(value) {
  317. //换算为秒 进制1000
  318. const second = Math.floor(value / 1000); //判断是否够1秒
  319. if (second < 1) {
  320. return "0秒";
  321. }
  322. const secondValue = second % 60; // 秒
  323. const minutes = Math.floor(second / 60); //判断是否够1分钟
  324. if (minutes < 1) {
  325. return `${secondValue}秒`;
  326. }
  327. const minutesValue = minutes % 60; //分
  328. const hours = Math.floor(minutes / 60); //判断是否够1小时
  329. if (hours < 1) {
  330. return `${minutesValue}分${secondValue}秒`;
  331. }
  332. const hoursValue = hours % 60; //小时
  333. return `${hoursValue}时${minutesValue}分${secondValue}秒`;
  334. },
  335. // 查看更多列表展开
  336. listToggle: function () {
  337. this.setData({
  338. showMore: !this.data.showMore
  339. })
  340. },
  341. // 去学习
  342. goStudy(e) {
  343. if (!this.data.istask1) {
  344. wx.showModal({
  345. showCancel: false,
  346. content: "请按照任务顺序执行哦!"
  347. })
  348. return false
  349. }
  350. if (!this.data.istask) {
  351. wx.showModal({
  352. showCancel: false,
  353. content: "请先去扫描二维码加入班级群吧",
  354. success(res) {
  355. if (res.confirm) {
  356. wx.switchTab({
  357. url: '../myMission/myMission'
  358. })
  359. }
  360. }
  361. })
  362. return false
  363. }
  364. let id = e.currentTarget.dataset.item.id //此课程的id
  365. if (this.data.IngCourseArr.length == 0) {
  366. if (e.currentTarget.dataset.item.isLive == 1) {
  367. if (e.currentTarget.dataset.item.isActive == 1) {
  368. wx.navigateTo({
  369. url: '../zbDetails/zbDetails?id=' + id
  370. })
  371. } else {
  372. wx.showModal({
  373. showCancel: false,
  374. content: "直播还未开始哦"
  375. })
  376. return false;
  377. }
  378. } else {
  379. wx.navigateTo({
  380. url: '../dbDetails/dbDetails?id=' + id
  381. })
  382. }
  383. } else {
  384. if (id == this.data.IngCourseArr.id) {
  385. if (e.currentTarget.dataset.item.isLive == 1) {
  386. if (e.currentTarget.dataset.item.isActive == 1) {
  387. wx.navigateTo({
  388. url: '../zbDetails/zbDetails?id=' + id
  389. })
  390. } else {
  391. wx.showModal({
  392. showCancel: false,
  393. content: "直播还未开始哦"
  394. })
  395. return false;
  396. }
  397. } else {
  398. wx.navigateTo({
  399. url: '../dbDetails/dbDetails?id=' + id
  400. })
  401. }
  402. } else {
  403. wx.showModal({
  404. showCancel: false,
  405. content: "您的" + this.data.IngCourseArr.courseName + "课还未学完,快去学习吧"
  406. })
  407. }
  408. }
  409. },
  410. // 去考试
  411. gokhAnswer(e) {
  412. if (!this.data.istask) {
  413. wx.showModal({
  414. showCancel: false,
  415. content: "请先去扫描二维码加入班级群吧",
  416. success(res) {
  417. if (res.confirm) {
  418. wx.switchTab({
  419. url: '../myMission/myMission'
  420. })
  421. }
  422. }
  423. })
  424. return false
  425. }
  426. if (!this.data.istask1) {
  427. wx.showModal({
  428. showCancel: false,
  429. content: "请按照任务顺序执行哦!"
  430. })
  431. return false
  432. }
  433. let isStudyDone = e.currentTarget.dataset.item.isStudyDone
  434. if (isStudyDone != 1) {
  435. wx.showModal({
  436. showCancel: false,
  437. content: "您的学习课程还未完成哦,请先完成学习任务后再来考试吧!"
  438. })
  439. return false
  440. } else {
  441. wx.request({
  442. url: app.globalData.publicUrl + '/wx/exam/examList',
  443. method: "post",
  444. data: {
  445. sessionKey: this.data.sessionKey,
  446. courseId: e.currentTarget.dataset.item.id,
  447. clasId: this.data.classInfo.id
  448. },
  449. success: (res) => {
  450. if (res.data.code == 0) {
  451. if (res.data.list.length == 0) {
  452. wx.showModal({
  453. showCancel: false,
  454. content: '此课程还没有考试噢'
  455. })
  456. } else {
  457. if (res.data.list[0]) {
  458. if (res.data.list[0].answersId) {
  459. this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'answerAfterclass');
  460. } else {
  461. this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'answerAfterclass');
  462. }
  463. }
  464. }
  465. }
  466. }
  467. })
  468. }
  469. },
  470. //去评价
  471. gopjClass(e) {
  472. if (!this.data.istask) {
  473. wx.showModal({
  474. showCancel: false,
  475. content: "请先去扫描二维码加入班级群吧",
  476. success(res) {
  477. if (res.confirm) {
  478. wx.switchTab({
  479. url: '../myMission/myMission'
  480. })
  481. }
  482. }
  483. })
  484. return false
  485. }
  486. if (!this.data.istask1) {
  487. wx.showModal({
  488. showCancel: false,
  489. content: "请按照任务顺序执行哦!"
  490. })
  491. return false
  492. }
  493. let isStudyDone = e.currentTarget.dataset.item.isStudyDone
  494. if (isStudyDone != 1) {
  495. wx.showModal({
  496. showCancel: false,
  497. content: "您的学习课程还未完成哦,请先完成学习任务后再来评价吧!"
  498. })
  499. return false
  500. } else {
  501. wx.request({
  502. url: app.globalData.publicUrl + '/wx/exam/quesExamList',
  503. method: "post",
  504. data: {
  505. sessionKey: this.data.sessionKey,
  506. questSub: '3',
  507. courseId: e.currentTarget.dataset.item.id,
  508. clasId: this.data.classInfo.id
  509. },
  510. success: (res) => {
  511. console.log(res, "我去评价啦")
  512. if (res.data.code == 0) {
  513. if (res.data.list.length == 0) {
  514. wx.showModal({
  515. showCancel: false,
  516. content: '此课程还不可以评价哦!'
  517. })
  518. } else {
  519. if (res.data.list[0]) {
  520. if (res.data.list[0].answersId) {
  521. this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'evaluationCourse');
  522. } else {
  523. this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'evaluationCourse');
  524. }
  525. }
  526. }
  527. }
  528. }
  529. })
  530. }
  531. },
  532. // 查看详情成绩
  533. gockcj(e) {
  534. console.log(e.currentTarget.dataset.item.isExamId);
  535. if (e.currentTarget.dataset.item.isExamId) {
  536. wx.request({
  537. url: app.globalData.publicUrl + '/wx/answer/detail',
  538. method: "post",
  539. data: {
  540. answersId: e.currentTarget.dataset.item.isExamId
  541. },
  542. success: (res) => {
  543. console.log(res.data, "我是第四个任务的检查状态")
  544. if (res.data.list[0].answerScore) {
  545. wx.navigateTo({
  546. url: '/pages/grade/grade?answersId=' + e.currentTarget.dataset.item.isExamId,
  547. })
  548. } else {
  549. wx.showModal({
  550. showCancel: false,
  551. content: '当前老师批阅中,请耐心等待'
  552. })
  553. }
  554. }
  555. })
  556. }
  557. },
  558. // 查看详情评价
  559. gockpj(e) {
  560. console.log(e.currentTarget.dataset.item.isFeedbackId);
  561. wx.navigateTo({
  562. url: '/pages/evaluationCourseDetail/evaluationCourseDetail?answersId=' + e.currentTarget.dataset.item.isFeedbackId,
  563. })
  564. },
  565. // 期末考试
  566. goQmks() {
  567. if (!this.data.istask) {
  568. wx.showModal({
  569. showCancel: false,
  570. content: "请先去扫描二维码加入班级群吧",
  571. success(res) {
  572. if (res.confirm) {
  573. wx.switchTab({
  574. url: '../myMission/myMission'
  575. })
  576. }
  577. }
  578. })
  579. return false
  580. }
  581. if (!this.data.istask2) {
  582. wx.showModal({
  583. showCancel: false,
  584. content: "请按照任务顺序执行哦!"
  585. })
  586. return false
  587. }
  588. wx.request({
  589. url: app.globalData.publicUrl + '/wx/exam/examList',
  590. method: "post",
  591. data: {
  592. sessionKey: this.data.sessionKey,
  593. clasId: this.data.classInfo.id
  594. },
  595. success: (res) => {
  596. console.log(res, "000000")
  597. if (res.data.code == 0) {
  598. if (res.data.list.length == 0) {
  599. wx.showModal({
  600. showCancel: false,
  601. content: '期末考试还未开始哦!'
  602. })
  603. } else {
  604. if (res.data.list[0]) {
  605. if (res.data.list[0].answersId) {
  606. if (res.data.list[0].status == '1') {
  607. wx.request({
  608. url: app.globalData.publicUrl + '/wx/answer/detail',
  609. method: "post",
  610. data: {
  611. answersId: res.data.list[0].answersId
  612. },
  613. success: (res1) => {
  614. if (res1.data.list[0].answerScore) {
  615. wx.navigateTo({
  616. url: '/pages/grade/grade?answersId=' + res.data.list[0].answersId,
  617. })
  618. } else {
  619. wx.showModal({
  620. showCancel: false,
  621. content: '当前老师批阅中,请耐心等待'
  622. })
  623. }
  624. }
  625. })
  626. } else {
  627. this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'answerAfterclass');
  628. }
  629. } else {
  630. this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'answerAfterclass');
  631. }
  632. }
  633. }
  634. }
  635. }
  636. })
  637. },
  638. // 综合反馈表
  639. goWrite2() {
  640. if (!this.data.istask) {
  641. wx.showModal({
  642. showCancel: false,
  643. content: "请先去扫描二维码加入班级群吧",
  644. success(res) {
  645. if (res.confirm) {
  646. wx.switchTab({
  647. url: '../myMission/myMission'
  648. })
  649. }
  650. }
  651. })
  652. return false
  653. }
  654. if (this.data.istask4) {
  655. wx.request({
  656. url: app.globalData.publicUrl + '/wx/exam/quesExamList',
  657. method: "post",
  658. data: {
  659. sessionKey: this.data.sessionKey,
  660. questSub: '1',
  661. clasId: this.data.classInfo.id
  662. },
  663. success: (res) => {
  664. if (res.data.code == 0) {
  665. if (res.data.list[0]) {
  666. if (res.data.list[0].answersId) {
  667. wx.navigateTo({
  668. url: '/pages/feedBackDetail/feedBackDetail?answersId=' + res.data.list[0].answersId,
  669. })
  670. } else {
  671. this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'feedBack');
  672. }
  673. }
  674. }
  675. }
  676. })
  677. } else {
  678. wx.request({
  679. url: app.globalData.publicUrl + '/wx/exam/quesExamList',
  680. method: "post",
  681. data: {
  682. sessionKey: this.data.sessionKey,
  683. questSub: '1',
  684. clasId: this.data.classInfo.id
  685. },
  686. success: (res) => {
  687. if (res.data.code == 0) {
  688. if (res.data.list.length == 0) {
  689. wx.showModal({
  690. showCancel: false,
  691. content: '当前综合反馈还不可以填写哦!'
  692. })
  693. } else {
  694. if (res.data.list[0].answersId) {
  695. if (res.data.list[0].status == '1') {
  696. wx.navigateTo({
  697. url: '/pages/feedBackDetail/feedBackDetail?answersId=' + res.data.list[0].answersId,
  698. })
  699. } else {
  700. this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'feedBack');
  701. }
  702. } else {
  703. this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'feedBack');
  704. }
  705. }
  706. }
  707. }
  708. })
  709. }
  710. },
  711. // 我的积分
  712. goMyPoints() {
  713. wx.navigateTo({
  714. url: '../myPoints/myPoints'
  715. })
  716. },
  717. // 领取结业证
  718. lq() {
  719. if (!this.data.istask) {
  720. wx.showModal({
  721. showCancel: false,
  722. content: "请先去扫描二维码加入班级群吧",
  723. success(res) {
  724. if (res.confirm) {
  725. wx.switchTab({
  726. url: '../myMission/myMission'
  727. })
  728. }
  729. }
  730. })
  731. return false
  732. }
  733. if (!this.data.istask3) {
  734. wx.showModal({
  735. showCancel: false,
  736. content: "请按照任务顺序执行哦!"
  737. })
  738. return false
  739. }
  740. wx.showLoading({
  741. mask: true,
  742. title: '加载中',
  743. })
  744. this.setData({
  745. myCanvasId: this.data.myCanvasId + 1
  746. })
  747. console.log(this.data.myCanvasId)
  748. let str = this.data.studentName + "同志于" + this.data.classInfo.beginDate + " 至 " + this.data.classInfo.endDate + "参加学习完成规定培训内容,准予结业,特发此证。"
  749. let strArr = [];
  750. //每15个字截取一下
  751. // let n = 15;
  752. // for (let i = 0, l = str.length; i < l / n; i++) {
  753. // let a = str.slice(n * i, n * (i + 1));
  754. // strArr.push(a);
  755. // }
  756. let a = str.slice(0, 18);
  757. let b = str.slice(16, 36);
  758. let c = str.slice(36, 56);
  759. strArr.push(a, b, c);
  760. console.log(strArr, "我是截取之后的")
  761. const ctx = wx.createCanvasContext(this.data.myCanvasId);
  762. ctx.drawImage(this.data.byzsbj, 0, 0, 300, 415); //里面的参数无非就是图片放置的位置即图片的横纵坐标,图片的宽高
  763. ctx.setFillStyle("#000");
  764. ctx.setFontSize(16); //字大小
  765. ctx.setTextAlign('left'); //是否居中显示,参考点画布中线
  766. let leftPositionAarr = [60, 30, 30, 30]
  767. for (let i = 0; i < strArr.length; i++) {
  768. console.log(i);
  769. ctx.fillText(strArr[i], leftPositionAarr[i], 160 + i * 30);
  770. }
  771. // ctx.fillText(str, 150, 160); //150:canvas画布宽300,取1/2,中间,280:纵向位置
  772. ctx.draw();
  773. wx.hideLoading();
  774. this.setData({
  775. showzs: true
  776. });
  777. wx.request({
  778. url: app.globalData.publicUrl + '/wx/student/wxGraduation',
  779. method: "post",
  780. data: {
  781. sessionKey: this.data.sessionKey
  782. },
  783. success: (res) => {
  784. console.log(res.data, "领取结业证提交")
  785. }
  786. })
  787. },
  788. // 存储结业证
  789. saveZs() {
  790. wx.canvasToTempFilePath({ //把当前画布指定区域的内容导出生成指定大小的图片
  791. canvasId: this.data.myCanvasId,
  792. success(res) {
  793. console.log(res)
  794. wx.authorize({ //向用户发起授权请求
  795. scope: 'scope.writePhotosAlbum', //保存相册授权
  796. success: () => {
  797. wx.saveImageToPhotosAlbum({ //保存图片到系统相册
  798. filePath: res.tempFilePath,
  799. success: () => {
  800. wx.showToast({
  801. title: '图片保存成功'
  802. })
  803. }
  804. })
  805. }
  806. })
  807. }
  808. })
  809. },
  810. // 证书隐藏
  811. onClose1() {
  812. this.setData({
  813. showzs: false
  814. });
  815. },
  816. toPath(id, paperId, answersId, address, status) {
  817. wx.navigateTo({
  818. url: '/pages/' + address + '/' + address + '?id=' + id + '&paperId=' + paperId + '&answersId=' + answersId + '&status=' + status,
  819. })
  820. },
  821. beginKao(id, paperId, sessionKey, address) {
  822. console.log(paperId, "8888888");
  823. wx.request({
  824. url: app.globalData.publicUrl + '/wx/exam/begin',
  825. method: "post",
  826. data: {
  827. sessionKey: sessionKey,
  828. id: id,
  829. paperId: paperId
  830. },
  831. success: (res) => {
  832. console.log(res);
  833. if (res.data.code == 0) {
  834. console.log(res, "为我么我们微妙"); // 提交答案是后
  835. this.setData({
  836. status: res.data.status
  837. })
  838. this.toPath(id, paperId, res.data.answersId, address, );
  839. }
  840. }
  841. })
  842. },
  843. async onShow() {
  844. const sessionKey = await tools.checkSessionAndLogin();
  845. this.setData({
  846. sessionKey: sessionKey
  847. })
  848. this.isClass(sessionKey);
  849. this.getMycourse(sessionKey);
  850. this.getMynotice(sessionKey);
  851. this.checkTaskList1(sessionKey)
  852. }
  853. })