| | |
| | | const app = getApp() |
| | | import SparkMD5 from 'spark-md5' |
| | | import FormData from '../../../utils/formdata/index.js'; |
| | | // import Wxml2Canvas from 'wxml2canvas'; |
| | | // const Wxml2Canvas = require('Wxml2Canvas') |
| | | import Wxml2Canvas from 'wxml2canvas'; |
| | | import { |
| | | worksDataBytool |
| | | } from "../../../assets/js/toolClass.js"; |
| | |
| | | selectActive: 'learn', |
| | | learnList: [], |
| | | testList: [], |
| | | testCount: 0, |
| | | openTeachids: [], |
| | | onlineQuestionsList: [], |
| | | //分页 |
| | |
| | | publishingUnit: '', |
| | | pubCertificateHide: true, |
| | | cbzsImg: '', //出版证书base64 |
| | | rzzsImg: '' //认证证书base64 |
| | | |
| | | rzzsImg: '', //认证证书base64 |
| | | imageWidth: '', //画在画布上的图片的宽度 |
| | | imageHeight: '', //画在画布上的图片的高度 |
| | | }, |
| | | formatDate(dateString) { |
| | | if (!dateString) { |
| | |
| | | this.setData({ |
| | | bookId: options.id |
| | | }) |
| | | const token = wx.getStorageSync(app.config.tokenKey) |
| | | if (!token) { |
| | | loginInfo(app, (data) => { |
| | | if (data) {} else {} |
| | | }) |
| | | } |
| | | this.digitalCoursesDetailsGet(options.id) |
| | | this.getPlayerList() |
| | | this.getType() |
| | | this.getCertificateList() |
| | | |
| | | }, |
| | | |
| | | /** |
| | |
| | | this.setData({ |
| | | playerList: JSON.parse(res[0].value) |
| | | }) |
| | | console.log(this.data.playerList, "playerList") |
| | | } |
| | | }) |
| | | }, |
| | |
| | | } |
| | | } |
| | | app.MG.store.getProductDetail(query).then(async res => { |
| | | console.log(res); |
| | | if (res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId)) { |
| | | this.setData({ |
| | | isBuy: true |
| | |
| | | expire: res.false |
| | | }) |
| | | } |
| | | res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY年MM月DD日') |
| | | res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY年MM月') |
| | | res.datas.price = res.datas.price.toFixed(2) |
| | | |
| | | wx.setNavigationBarTitle({ |
| | |
| | | }) |
| | | } |
| | | this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath) |
| | | |
| | | this.getCertificateList() |
| | | res.datas.content = res.datas.content.replace('../', app.config.requestCtx + '/') |
| | | this.setData({ |
| | | lecturerList: lecturer, |
| | | digitalsData: res.datas, |
| | |
| | | this.setData({ |
| | | tabValue: value |
| | | }) |
| | | console.log(this.data.tabValue); |
| | | if (this.data.tabValue == 1) { |
| | | this.saveAsImage() |
| | | } |
| | | if (this.data.tabValue == 2) { |
| | | this.getResource() |
| | | this.getRelationBook() |
| | |
| | | }, |
| | | |
| | | selectChange(event) { |
| | | console.log(event) |
| | | const value = event.target.dataset.value |
| | | this.setData({ |
| | | selectActive: value |
| | |
| | | res.datas.cmsDatas[0].datas.forEach((item) => { |
| | | if (item.type == 'questionBankFolder' || item.type == 'questionBankItem') { |
| | | test.push(item) |
| | | |
| | | } else if (item.type != "resourceItem") { |
| | | this.data.playerList.forEach(pItem => { |
| | | if (pItem.cmsItemId == item.id) { |
| | |
| | | const data = test.filter( |
| | | (item) => item.type == 'questionBankFolder' && item.childrenFolderCount > 0 |
| | | ) |
| | | |
| | | if (data.length > 0) { |
| | | let list = [] |
| | | let addNum = query.cmsPath.length > 5 ? 7 : query.cmsPath.length > 6 ? 8 : 6 |
| | |
| | | list = this.ensureTreeConsistency(list) |
| | | let result = []; |
| | | this.findChildIds(list[0].children, result) |
| | | this.countLeafNodes(list[0].children) |
| | | this.setData({ |
| | | testList: list[0].children, |
| | | openTeachids: result, |
| | |
| | | } |
| | | }, |
| | | |
| | | //在线测试获取最后一个节点数量 |
| | | countLeafNodes(tree) { |
| | | tree.forEach(node => { |
| | | if (!node.children || node.children.length === 0) { |
| | | this.setData({ |
| | | testCount: this.data.testCount + 1 |
| | | }) |
| | | } else { |
| | | this.countLeafNodes(node.children); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //获取关联子商品/数字教材 |
| | | getRelationBook() { |
| | | app.MG.store.getProductList({ |
| | |
| | | isTextBookBuy: false |
| | | }) |
| | | } |
| | | console.log(this.data.relationTextBook, "jc") |
| | | }) |
| | | }, |
| | | |
| | |
| | | wx.navigateTo({ |
| | | url: '/pages/digitalCourses/digitalCoursesDetails/components/digitalRead/index?refCode=' + this.data.relationTextBook.refCode + '&tryPageCount=' + this.data.relationTextBook.probationPage + '&isTextBookBuy=' + this.data.isTextBookBuy |
| | | }) |
| | | }, |
| | | |
| | | //在线测试我的收藏、我的错题 |
| | | goMycollect(e) { |
| | | const answertype = e.currentTarget.dataset.answertype; |
| | | const token = wx.getStorageSync("jsek-token"); |
| | | if (!token) { |
| | | return wx.getUserProfile({ |
| | | desc: "用户登录", |
| | | success: (res) => { |
| | | console.log(res); |
| | | }, |
| | | }); |
| | | } |
| | | wx.navigateTo({ |
| | | url: `/packageBookService/pages/bookServices/examination/examination?bookId=${ |
| | | this.data.digitalsData.id |
| | | }&rootCmsItemId=${this.data.digitalsData.rootCmsItemId}&answerTitle=${ |
| | | answertype == "collectQuestion" ? "我的收藏" : "我的错题" |
| | | }&answerType=${answertype}&storeInfo=${app.config.digitalCourses}`, |
| | | }); |
| | | }, |
| | | |
| | | // 获取相关课程 |
| | |
| | | this.setData({ |
| | | relatedBookData: bookArr |
| | | }) |
| | | console.log(this.data.relatedBookData); |
| | | } else { |
| | | this.setData({ |
| | | relatedBookData: [] |
| | |
| | | // 发起订单初始化请求并等待结果 |
| | | const res = await app.MG.store.initOrder(query); |
| | | // 获取订单号并赋值给 orderNumber.value |
| | | console.log(res, 'res456'); |
| | | bookOrdersId = res.orderNumber; |
| | | // 检查订单号是否存在 |
| | | if (bookOrdersId) { |
| | |
| | | url, |
| | | }); |
| | | } |
| | | } else { |
| | | console.log(222); |
| | | } |
| | | } else {} |
| | | } else { |
| | | wx.showToast({ |
| | | title: "商品不在有效期", |
| | |
| | | }, |
| | | //申请证书 |
| | | async saveAsImage() { |
| | | await nextTick() |
| | | let query = wx.createSelectorQuery(); |
| | | let value = query.select("#pubCertificate").boundingClientRect(); |
| | | Wxml2Canvas(value).then((canvas) => { |
| | | const img = canvas.toDataURL('image/png') |
| | | this.setData({ |
| | | cbzsImg: img, |
| | | }) |
| | | }) |
| | | // Wxml2Canvas(textCertificate.value).then((canvas1) => { |
| | | // const img1 = canvas1.toDataURL('image/png') |
| | | // rzzsImg.value = img1 |
| | | // }) |
| | | const that = this |
| | | const query = wx.createSelectorQuery().in(this) |
| | | query |
| | | .select('#pubCertificate') |
| | | .fields({ |
| | | // 选择需要生成canvas的范围 |
| | | size: true, |
| | | node: true, |
| | | scrollOffset: true, |
| | | }, |
| | | (data) => { |
| | | let width = data.width |
| | | let height = data.height |
| | | console.log(width, height) |
| | | that.setData({ |
| | | imageWidth: width, |
| | | imageHeight: height, |
| | | }) |
| | | }, |
| | | ) |
| | | .exec() |
| | | this.drawImage1() |
| | | |
| | | pubCertificateHide.value = false |
| | | }, |
| | | drawImage1() { |
| | | let that = this; |
| | | let drawMyImage = new Wxml2Canvas({ |
| | | // width: 230, |
| | | // height: 325, |
| | | width: that.data.imageWidth, |
| | | height: that.data.imageHeight, |
| | | element: 'myCanvas', |
| | | background: '#f0f0f0', |
| | | progress(percent) {}, |
| | | finish(url) { |
| | | console.log("生成的图片地址", url) |
| | | wx.getFileSystemManager().readFile({ |
| | | filePath: url, |
| | | encoding: 'base64', |
| | | success: (res) => { |
| | | let MyImageBase64 = 'data:image/jpg;base64,' + res.data |
| | | console.log('MyImageBase64', MyImageBase64) |
| | | that.setData({ |
| | | cbzsImg: MyImageBase64, |
| | | pubCertificateHide: false, |
| | | }) |
| | | }, |
| | | }) |
| | | }, |
| | | error(res) { |
| | | console.log("生成的图片失败", res) |
| | | } |
| | | }, this); |
| | | let data = { |
| | | list: [{ |
| | | type: 'wxml', |
| | | class: '.my_canvas .my_draw_canvas', //.my_draw_canvas每个要绘制元素的类名 |
| | | limit: '.my_canvas', //my_canvas根元素类名 |
| | | x: 0, |
| | | y: 0 |
| | | }] |
| | | } |
| | | drawMyImage.draw(data, that); |
| | | }, |
| | | //获取字段 |
| | | getType() { |
| | |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | }) |
| | | }, |
| | | |
| | |
| | | // encoding: 'binary', //编码格式 |
| | | success: ress => { |
| | | //成功的回调 |
| | | console.log(ress.data, 45613489) |
| | | let spark = new SparkMD5.ArrayBuffer(); |
| | | spark.append(ress.data); |
| | | let md5 = spark.end(false); |
| | |
| | | if (res.statusCode == 200) { |
| | | resolve(res.data); |
| | | if (res.data) { |
| | | console.log(md5, "md5555") |
| | | that.setData({ |
| | | 'userInfo.userPicture': app.config.requestCtx + `/file/GetPreViewImage?md5=` + md5, |
| | | pictureMd5: md5 |
| | |
| | | //证书查看 |
| | | onClick1() { |
| | | this.setData({ |
| | | images: ['https://jsek.bnuic.com/home/certificate/szkc.jpg'], |
| | | images: [this.data.cbzsImg], |
| | | showIndex: true, |
| | | visible: true, |
| | | }) |
| | |
| | | const { |
| | | trigger |
| | | } = e.detail; |
| | | console.log(trigger); |
| | | this.setData({ |
| | | visible: false, |
| | | }); |