318 lines
8.6 KiB
JavaScript
318 lines
8.6 KiB
JavaScript
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
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
var self = this
|
|
this.setData({
|
|
cardId: options.id,
|
|
token: app.globalData.token
|
|
})
|
|
this.getPosterDetail()
|
|
},
|
|
onShow(e) {
|
|
if (this.data.imgTempSrc != '') {
|
|
this.doUploadImg(this.data.imgTempSrc)
|
|
}
|
|
},
|
|
// 删除海报
|
|
deleteCard() {
|
|
var self = this
|
|
wx.showModal({
|
|
cancelColor: '#000',
|
|
title: '提示',
|
|
content: '确定要删除该海报吗?',
|
|
success: function (res) {
|
|
if (res.confirm) {
|
|
wx.showLoading({
|
|
title: '删除中...',
|
|
})
|
|
app.http.delete(app.urls.deleteCard.format({
|
|
ids: self.data.cardId
|
|
}), {
|
|
header: {
|
|
token: self.data.token
|
|
}
|
|
}).then(res => {
|
|
wx.hideLoading({})
|
|
if (res.statusCode == '200') {
|
|
wx.showToast({
|
|
title: '删除成功',
|
|
icon: 'success',
|
|
success() {
|
|
setTimeout(() => {
|
|
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({})
|
|
}, 500);
|
|
}
|
|
})
|
|
}
|
|
}).catch(res => {
|
|
|
|
})
|
|
}
|
|
}
|
|
})
|
|
|
|
},
|
|
// 更新海报
|
|
updateCard(e) {
|
|
wx.showLoading({
|
|
title: '修改中...',
|
|
})
|
|
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 => {
|
|
wx.hideLoading({})
|
|
if (res.statusCode == '200') {
|
|
wx.showToast({
|
|
title: '修改成功',
|
|
icon: 'success',
|
|
success() {
|
|
setTimeout(() => {
|
|
let arr = getCurrentPages()
|
|
let lastPage = (arr.length >= 2) ? arr[arr.length - 2] : undefined
|
|
lastPage.setData({
|
|
isRefresh: true
|
|
})
|
|
wx.navigateBack({})
|
|
}, 500)
|
|
}
|
|
})
|
|
}
|
|
})
|
|
.catch(err => {
|
|
|
|
})
|
|
},
|
|
|
|
//输入框失去焦点
|
|
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
|
|
})
|
|
})
|
|
},
|
|
// 获取海报信息
|
|
getPosterDetail() {
|
|
var self = this;
|
|
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
|
|
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 => {
|
|
|
|
})
|
|
},
|
|
// 编辑信息
|
|
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(e) {
|
|
var cur = e.currentTarget.dataset.cur
|
|
var item = 'areaList[' + cur + '].focus'
|
|
this.setData({
|
|
[item]: true
|
|
})
|
|
},
|
|
// 非文字、图片区域换取fileid
|
|
getFileId(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 => {
|
|
|
|
})
|
|
},
|
|
|
|
}) |