const app = getApp() 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: '', imgTempSrc: '', currentIndex: 0, windowWidth: app.globalData.windowWidth }, // 删除名片 deleteCard: function () { var self = this wx.showModal({ cancelColor: '#000', title: '提示', content: '确认删除该名片?', success: function (res) { if (res.confirm) { app.http.delete(app.urls.deleteCard.format({ ids: self.data.cardId }), { header: { token: self.data.token } }).then(res => { if (res.statusCode == '200') { wx.showToast({ title: '删除成功', icon: 'success', success() { let arr = getCurrentPages() let lastPage = (arr.length >= 2) ? arr[arr.length - 2] : undefined var isDel = self.data.cardInfo.cardTemplateUseDefault == '1' lastPage.setData({ isRefresh: true, isDelPage: isDel }) wx.navigateBack({}) } }) } }).catch(res => { }) } } }) }, // 更新名片信息 updateCard: function (e) { var self = this var area = [] for (let i = 0; i < self.data.areaList.length; i++) { var info = { cardTemplateUseId: self.data.areaList[i].cardTemplateUseId, cardTemplateUseAreaId: self.data.areaList[i].cardTemplateUseAreaId, templateAreaFile: self.data.areaList[i].templateAreaFile, templateAreaFontValue: self.data.areaList[i].templateAreaFontValue } area.push(info) } var postInfo = { cardTemplateUseAreaList: area, cardTemplateUseDefault: self.data.cardInfo.cardTemplateUseDefault, cardTemplateUsePassword: self.data.cardInfo.cardTemplateUsePassword, cardTemplateUseSwitch: self.data.cardInfo.cardTemplateUseSwitch, cardTemplateUseId: self.data.cardInfo.cardTemplateUseId } app.http.put(app.urls.updateMyCard.format({ cardTemplateUseId: self.data.cardId }), { header: { token: app.globalData.token }, data: postInfo }).then(res => { if (res.statusCode == '200') { wx.showToast({ title: '修改成功', icon: 'success', success() { let arr = getCurrentPages() let lastPage = (arr.length >= 2) ? arr[arr.length - 2] : undefined lastPage.setData({ isRefresh: true }) wx.navigateBack({}) } }) } }) .catch(err => { }) }, onShow(e) { if (this.data.imgTempSrc != '') { this.doUploadImg(this.data.imgTempSrc) } }, //输入框失去焦点 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 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.getMyCardDetail.format({ cardTemplateUseId: self.data.cardId }), { header: { token: app.globalData.token }, data: {} }).then(res => { var area = res.data.areaList var scale = res.data.cardTemplateUseWidth / self.data.windowWidth console.log(scale + '===' + self.data.windowWidth) res.data.cardTemplateUseWidth = res.data.cardTemplateUseWidth / scale res.data.cardTemplateUseHeight = res.data.cardTemplateUseHeight / scale for (let i = 0; i < area.length; i++) { area[i].templateAreaFontSize = area[i].templateAreaFontSize / scale + 'px' area[i].templateAreaHeight = area[i].templateAreaHeight / scale area[i].templateAreaWidth = area[i].templateAreaWidth / scale area[i].templateAreaDown = area[i].templateAreaDown / scale area[i].templateAreaTop = area[i].templateAreaTop / scale area[i].templateAreaRight = area[i].templateAreaRight / scale area[i].templateAreaLeft = area[i].templateAreaLeft / scale 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' } } self.setData({ cardInfo: res.data, areaList: area }) }) .catch(err => { }) }, // 获取名片内容区域 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) { 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 (index) { var self = this var cur = index var content = self.data.areaList[cur].templateAreaFontValue 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 => { }) }, // 设为主名片 setDefaultCard: function () { var self = this app.http.put(app.urls.setDefaultCard.format({ cardTemplateUseId: self.data.cardId }), { header: { token: self.data.token } }).then(res => { console.log(res) if (res.statusCode == '200') { wx.showToast({ title: '设置成功', icon: 'success', success() { let arr = getCurrentPages() let lastPage = (arr.length >= 2) ? arr[arr.length - 2] : undefined lastPage.setData({ isRefresh: true }) wx.navigateBack({}) } }) } }).catch(res => { }) }, /** * 生命周期函数--监听页面加载 */ 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() { }, })