326 lines
7.4 KiB
TypeScript
326 lines
7.4 KiB
TypeScript
// pages/card/card.ts
|
|
// import { card } from '../../utils/painter'
|
|
import { info } from "../../apis/phone";
|
|
import { businessCard } from "../../apis/card";
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
cardPainter: {},
|
|
isEdit: false,
|
|
companyName: "",
|
|
consumerId: "",
|
|
email: "",
|
|
introduction: "",
|
|
name: "",
|
|
office: "",
|
|
phone: "",
|
|
businessCard: null,
|
|
labelOptions: [],
|
|
dialogExplain: false,
|
|
type: 0,
|
|
info: {},
|
|
dialogDetail: false,
|
|
detailInfo: '',
|
|
detailTitle: ''
|
|
},
|
|
// saveImage() {
|
|
// let screenWidth = wx.getSystemInfoSync().screenWidth;
|
|
// let screenHeight = wx.getSystemInfoSync().screenHeight;
|
|
// let canvasContext = wx.createCanvasContext('myCanvas');
|
|
// wx.createSelectorQuery().select('#saveArea').boundingClientRect(function (rect) {
|
|
// let top = rect.top;
|
|
// let left = rect.left;
|
|
// let width = rect.width;
|
|
// let height = rect.height;
|
|
// console.log(top, left, width, height);
|
|
|
|
// canvasContext.drawImage('../../assets/images/card/card_bg.png', 0, 100, screenWidth, screenHeight);
|
|
|
|
// // 将第二个绘制操作放在canvasContext.draw()方法中
|
|
// canvasContext.draw(false, () => {
|
|
// // 在回调函数中调用wx.canvasToTempFilePath()方法进行保存图片
|
|
// wx.canvasToTempFilePath({
|
|
// canvasId: 'myCanvas',
|
|
// x: left,
|
|
// y: top,
|
|
// width: width,
|
|
// height: height,
|
|
// destWidth: screenWidth * 2,
|
|
// destHeight: screenHeight * 2,
|
|
// success: function (res) {
|
|
// wx.saveImageToPhotosAlbum({
|
|
// filePath: res.tempFilePath,
|
|
// success: function () {
|
|
// wx.showToast({
|
|
// title: '保存成功'
|
|
// });
|
|
// },
|
|
// fail: function () {
|
|
// wx.showToast({
|
|
// title: '保存失败'
|
|
// });
|
|
// }
|
|
// });
|
|
// }
|
|
// });
|
|
// });
|
|
// }).exec();
|
|
// },
|
|
handleEdit() {
|
|
console.log('handleEdit');
|
|
const { isEdit } = this.data
|
|
this.setData({
|
|
isEdit: !isEdit
|
|
})
|
|
// if (isEdit) {
|
|
|
|
// const { companyName, email, introduction, office, phone } = this.data
|
|
// const payload = {
|
|
// companyName, email, introduction, office, phone
|
|
// }
|
|
// businessCard(payload).then(res => {
|
|
// console.log(res);
|
|
// this.getInfo(phone)
|
|
// })
|
|
// }
|
|
// },
|
|
},
|
|
handleCancelEdit() {
|
|
console.log('handleCancelEdit');
|
|
|
|
this.setData({
|
|
isEdit: false
|
|
})
|
|
},
|
|
handleSearch(){
|
|
wx.navigateTo({
|
|
url:`/pages/searchResult/searchResult?phone=${this.data.phone}`
|
|
})
|
|
},
|
|
|
|
handleSave() {
|
|
const { companyName, email, introduction, office, phone } = this.data
|
|
const payload = {
|
|
companyName, email, introduction, office, phone
|
|
}
|
|
businessCard(payload).then((res: any) => {
|
|
console.log(res);
|
|
if (res.c === 200) {
|
|
wx.showToast({
|
|
icon: 'none',
|
|
title: '保存成功'
|
|
})
|
|
this.getInfo(phone)
|
|
this.setData({
|
|
isEdit: false
|
|
})
|
|
}
|
|
})
|
|
},
|
|
handleSaveContract() {
|
|
const info = this.data.info.businessCard
|
|
wx.addPhoneContact({
|
|
firstName: info.name,
|
|
email: info.email,
|
|
organization: info.companyName,
|
|
title: info.office,
|
|
mobilePhoneNumber:this.data.phone
|
|
})
|
|
|
|
},
|
|
handleDetail() {
|
|
const { phone } = this.data
|
|
wx.navigateTo({
|
|
url: `/pages/searchResult/searchResult?phone=${phone}`
|
|
})
|
|
},
|
|
closeDetail() {
|
|
this.setData({
|
|
dialogDetail: false
|
|
})
|
|
},
|
|
showExplain() {
|
|
this.setData({
|
|
dialogExplain: true
|
|
})
|
|
},
|
|
closeExplain() {
|
|
this.setData({
|
|
dialogExplain: false
|
|
})
|
|
},
|
|
// onImgOK(e: WechatMiniprogram.CustomEvent) {
|
|
// const { path } = e.detail
|
|
// this.setData({
|
|
// shareImg: path
|
|
// })
|
|
// // wx.showShareImageMenu({ //分享给朋友
|
|
// // path,
|
|
// // success: (res) => {
|
|
// // console.log("分享成功:", res);
|
|
// // },
|
|
// // fail: (err) => {
|
|
// // console.log("分享失败:", err);
|
|
// // wx.showToast({
|
|
// // title: "分享失败",
|
|
// // duration: 2000
|
|
// // })
|
|
// // },
|
|
// // })
|
|
// },
|
|
handleDialogDetail(e: WechatMiniprogram.BaseEvent) {
|
|
console.log(e);
|
|
const { title, info } = e.currentTarget.dataset
|
|
if (info) {
|
|
this.setData({
|
|
dialogDetail: true,
|
|
detailInfo: info,
|
|
detailTitle: title
|
|
})
|
|
}
|
|
},
|
|
getInfo(phone: string) {
|
|
const { type } = this.data
|
|
info({ phone, type, businessCard: true }).then((res: any) => {
|
|
let { labelVoList } = res.d
|
|
if (res.d.businessCard) {
|
|
const { companyName, email, introduction, office } = res.d.businessCard
|
|
if(labelVoList){
|
|
labelVoList = labelVoList.slice(0, 1)
|
|
}
|
|
|
|
this.setData({
|
|
businessCard: res.d.businessCard,
|
|
companyName,
|
|
email,
|
|
introduction,
|
|
office,
|
|
labelOptions: labelVoList,
|
|
info: res.d
|
|
})
|
|
} else {
|
|
this.setData({
|
|
info: res.d,
|
|
labelOptions: labelVoList,
|
|
})
|
|
}
|
|
// this.setData({
|
|
// businessCard: res.d.businessCard,
|
|
// companyName,
|
|
// email,
|
|
// introduction,
|
|
// office,
|
|
// labelOptions: res.d.labelVoList.slice(0, 2),
|
|
// info: res.d
|
|
// })
|
|
})
|
|
// this.downLoadCard()
|
|
|
|
},
|
|
phoneCall() {
|
|
wx.makePhoneCall({
|
|
phoneNumber: this.data.phone,
|
|
})
|
|
},
|
|
// async downLoadCard() {
|
|
// console.log('downLoadCard');
|
|
// const cardPainter = await card()
|
|
// this.setData({
|
|
// cardPainter
|
|
// })
|
|
// },
|
|
handleCopy(e) {
|
|
const { email } = e.currentTarget.dataset
|
|
wx.setClipboardData({
|
|
data: email,
|
|
success(res) {
|
|
wx.showToast({
|
|
title: '复制成功',
|
|
icon: 'none'
|
|
})
|
|
// wx.getClipboardData({
|
|
// success(res) {
|
|
// console.log(res.data) // data
|
|
// }
|
|
// })
|
|
}
|
|
})
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
console.log(options);
|
|
const { type, phone } = options
|
|
this.setData({
|
|
type: Number(type),
|
|
phone
|
|
})
|
|
this.getInfo(phone)
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
const promise = new Promise(resolve => {
|
|
setTimeout(() => {
|
|
resolve({
|
|
title: '您好,这是我的口碑名片,请收下',
|
|
imageUrl: this.data.shareImg,
|
|
path: `/pages/card/card?phone=${this.data.phone}&type=1`,
|
|
})
|
|
})
|
|
})
|
|
return {
|
|
title: '您好,这是我的口碑名片,请收下',
|
|
path: '/pages/card/card',
|
|
promise
|
|
}
|
|
}
|
|
}) |