const app = getApp() var CryptoJS = require('../../utils/util.js'); Page({ /** * 页面的初始数据 */ data: { preview: '', showHide: false, isLoading: false, isMain: '', cardPersonId: '', choose_index: 0, active: 0, cardUrl: app.urls.baseImgUrl, areaList: [], cardInfo: {}, bgImg: '', fontFamilyList: [], useFontFamily: '', cardId: '', cardHeight: '', shareTicket: '', encryptedData: '', iv: '', isFromOut: false, token: '', oldToken: '', fromMine: false, imgTempSrc: '', currentIndex: 0 }, tabChange(e) { this.setData({ active: e.detail }) if (this.data.active == 0) { //首页 // wx.redirectTo({ // url: '/pages/index/index', // }) } else if (this.data.active == 1) { // 服务 if (app.globalData.servicePageType == 1) { wx.redirectTo({ url: '/pages/shop/catalog/bannerlist/bannerlist', }) } else if (app.globalData.servicePageType == 2) { wx.redirectTo({ url: '/pages/shop/catalog/column/column', }) } else if (app.globalData.servicePageType == 3) { wx.redirectTo({ url: '/pages/shop/catalog/list/list', }) } else if (app.globalData.servicePageType == 4) { wx.redirectTo({ url: '/pages/shop/bespeak/bespeak', }) } } else { //我的 wx.redirectTo({ url: '/pages/mine/index/index', }) } }, // 生成我的名片 createMyCard: function () { var self = this wx.showLoading({ title: '生成中...', success() { self.setData({ isLoading: true }) } }) // wx.showToast({ // title: '加载中', // icon: 'loading', // success: function () { // self.setData({ // isLoading: true // }) // } // }) var content = { pictureTemplateId: self.data.cardId, cardTemplateUseAreaList: [] } for (let i = 0; i < self.data.areaList.length; i++) { if (self.data.areaList[i].templateAreaType != '1') { var info = { cardTemplateUseId: "", picturesTemplateAreaId: self.data.areaList[i].picturesTemplateAreaId, templateAreaFile: self.data.areaList[i].templateAreaFile, templateAreaFontValue: self.data.areaList[i].templateAreaFontValue } content.cardTemplateUseAreaList.push(info) } } app.http.post(app.urls.creatCard, { data: content, header: { token: self.data.token } }).then(res => { if (res.statusCode == '200') { wx.hideLoading({ success: (res) => { self.setData({ isLoading: false, showHide: true }) }, }) // wx.hideToast({ // success: (res) => { // self.setData({ // isLoading: false, // showHide: true // }) // }, // }) } }).catch(res => { self.setData({ isLoading: false, showHide: false }) }) }, //输入框失去焦点 inputBlur(e) { var _self = this // templateAreaFontLength var value = e.detail.value var index = e.currentTarget.dataset.num var item = e.currentTarget.dataset.item //计算限制长度 //最大长度 var maxLength = item.templateAreaFontLength if (value != '' && maxLength > 0) { value = value.substr(0, maxLength) //重新设置 _self.data.areaList[index].templateAreaFontValue = value _self.data.areaList[index].focus = false _self.setData({ areaList: _self.data.areaList }) } //生成二维码图片 if (item.templateAreaServerLink != '1') { _self.getFileId(index) } }, // 选择图片 choosePhoto: function (e) { var self = this var cur = e.currentTarget.dataset.cur var item = e.currentTarget.dataset.item console.log(cur) self.setData({ currentIndex: cur }) //宽高比 var scale = item.templateAreaWidth / item.templateAreaHeight wx.chooseImage({ count: 1, sourceType: ['album', 'camera'], success: function (res) { wx.navigateTo({ url: '/packagecard/common/corpperimg/cropperimg?imgSrc=' + res.tempFiles[0].path + '&scale=' + scale, }) } }) }, doUploadImg(path) { var _self = this wx.showLoading({ title: '上传中...', }) app.http.upload(app.urls.doUploadImg, { path: path, name: 'image', header: { token: app.globalData.token } }).then(res => { wx.hideLoading({}) res = JSON.parse(res) var change = 'areaList[' + _self.data.currentIndex + '].templateAreaFile' _self.setData({ [change]: res.data }) wx.showToast({ title: '上传成功', duration: 1500 }) _self.setData({ imgTempSrc: '', currentIndex: 0 }) }).catch(res => { _self.setData({ imgTempSrc: '', currentIndex: 0 }) }) }, getPhoneNumber: function (e) { console.log(e.detail.errMsg) console.log(e.detail.iv) console.log(e.detail.encryptedData) }, // 获取名片信息 getNameCard: function () { var self = this; var queryInfo = '' if (self.data.fromMine) { queryInfo = '?cardPersonId=' + self.data.cardPersonId } app.http.get(app.urls.getCardDetail.format({ cardTemplateId: self.data.cardId }), { header: { token: app.globalData.token }, data: {} }).then(res => { console.log(res.data) var area = res.data.areaList for (let i = 0; i < area.length; i++) { if (area[i].templateAreaFontCenter == '1') { area[i].templateAreaFontCenter = 'left' } else if (area[i].templateAreaFontCenter == '2') { area[i].templateAreaFontCenter = 'center' } else { area[i].templateAreaFontCenter = 'right' } if (area[i].templateAreaFontBold == '0') { area[i].templateAreaFontBold = 'normal' } else if (area[i].templateAreaFontBold == '1') { area[i].templateAreaFontBold = 'bold' } else { area[i]['templateAreaFontStyle'] = 'italic' } // if (area[i].templateAreaServerLink == '1') { // if (area[i].templateAreaFontValue.length > area[i].templateAreaFontLength) { // area[i].templateAreaFontValue = area[i].templateAreaFontValue.substring(area[i].templateAreaFontLength, -1) // } // } area[i].templateAreaFontSize = Math.floor(area[i].templateAreaFontSize * 750 / wx.getSystemInfoSync().windowWidth) + 'rpx' } self.setData({ cardInfo: res.data, areaList: area }) }) .catch(err => { }) // app.restAjax.get(app.restAjax.path('{cardUrl}app/cardtemplate/getcardtemplatebyid/' + self.data.cardId + queryInfo, [app.cardUrl]), {}, { // headers: { // token: app.globalData.token // } // }, function (code, data) { // for (let i = 0; i < self.data.fontFamilyList.length; i++) { // if (data.templateTypeface == self.data.fontFamilyList[i].id) { // self.setData({ // useFontFamily: self.data.fontFamilyList[i].name // }) // } // } // if (self.data.fromMine) { // self.setData({ // areaList: JSON.parse(data.content) // }) // } // self.setData({ // cardInfo: data // }) // var query = wx.createSelectorQuery() // query.select('.card').boundingClientRect() // query.exec(function (res) { // self.setData({ // cardHeight: res[0].height // }) // }) // }, function (code, data) { // app.dialog.msg(data.msg); // }); }, // 获取名片内容区域 getNameCradArea: function () { var self = this; var arr = [] app.restAjax.get(app.restAjax.path('{cardUrl}app/cardtemplatearea/listcardtemplateareabytemplateid/' + self.data.cardId, [app.tradeUrl]), {}, { headers: { token: app.globalData.token } }, function (code, data) { for (let i = 0; i < data.length; i++) { data[i]['focus'] = false if (data[i].templateAreaType != '1') { arr.push(data[i]) } else { var font = parseInt(data[i].templateAreaFontSize.replace('px', '')) font = Math.floor(font * 750 / wx.getSystemInfoSync().windowWidth) + 'rpx' data[i].templateAreaFontSize = font arr.push(data[i]) } } self.setData({ areaList: arr }) }, function (code, data) { app.dialog.msg(data.msg); }); }, // 编辑信息 editInfo: function (e) { var cur = e.currentTarget.dataset.num var text = e.detail.value var item = 'areaList[' + cur + '].templateAreaFontValue' this.setData({ [item]: text }) }, // 点击内容区域获取input焦点 giveFocus: function (e) { console.log(e.currentTarget.dataset.cur) var cur = e.currentTarget.dataset.cur var item = 'areaList[' + cur + '].focus' this.setData({ [item]: true }) }, // 继续创建 continueCreate: function () { this.setData({ showHide: false }) }, // 返回模板列表 backList: function () { wx.navigateBack({ delta: 1, }) }, // 获取用户信息 getUserInfo: function () { var self = this app.restAjax.get(app.restAjax.path('{loginUrl}app/user/get-app-user', [app.personIntroUrl]), {}, { headers: { token: app.globalData.token } }, function (code, data) { app.globalData.userInfo = data }, function (code, data) { app.dialog.msg(data.msg); }); }, // 非文字、图片区域换取fileid getFileId: function (e) { var self = this var cur = e var content = self.data.areaList[cur].templateAreaFontValue console.log(content) var areaId = self.data.areaList[cur].picturesTemplateAreaId app.http.get(app.urls.getFileId.format({ picturesTemplateAreaId: areaId }), { header: { token: app.globalData.token }, data: { content: content } }).then(res => { console.log(res.data) var change = 'areaList[' + cur + '].templateAreaFile' self.setData({ [change]: res.data.data }) }) .catch(err => { }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var self = this this.setData({ cardId: options.id, token: app.globalData.token }) this.getNameCard() }, postRecord: function (res) { var self = this app.restAjax.post(app.restAjax.path('{loginUrl}app/cardtemplateforwardingrecord/savecardtemplateforwardingrecord', [app.tradeUrl]), { encryptedData: res.encryptedData, iv: res.iv, templateUseId: self.data.cardId, templateFromUserId: self.data.oldToken, templateToUserId: self.data.token }, { headers: { token: self.data.token } }, function (code, data) { console.log('1' + data) }, function (code, data) { app.dialog.msg(data.msg); }); }, openPage() { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { console.log(this.data.imgTempSrc) if (this.data.imgTempSrc != '') { this.doUploadImg(this.data.imgTempSrc) } }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })