请使用1.4.4及以上版本基础库
{{userInfo.nickName}}
{{motto}}
{{phone}}
// index.ts
// 获取应用实例
const app = getApp()
Page({
data: {
motto: 'Hello World,涂聚文',
userInfo: {},
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo'),
canIUseGetUserProfile: false,
canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName') // 如需尝试获取用户信息可改为false
},
// 事件处理函数
bindViewTap() {
wx.navigateTo({
url: '../logs/logs',
})
},
onLoad() {
// @ts-ignore
if (wx.getUserProfile) {
this.setData({
canIUseGetUserProfile: true
})
}
},
getUserProfile() {
// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
wx.getUserProfile({
desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
console.log(res)
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
})
},
getUserInfo(e: any) {
// 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
console.log(e)
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
},
getPhoneNumber(e:any)
{
console.log(e.detail.encryptedData);//数据 解密了才可以得到数据
//console.log(e.detail.encryptData);
console.log(e.detail.iv);
console.log("开始");
var crypto = require('../../utils/crypto.js');
console.log(crypto.encrypted("福田区"))//加密
console.log(crypto.decrypted("m6pCKPCLF+3mtABJqGC13g=="))//解密
//console.log(crypto.decrypted(e.detail.iv))
wx.cloud.callFunction(
{
name:'getPhone',
data:{
cloudID:e.detail.cloudID
}
}
).then(es=>{
console.log("读取:",es.result);
console.log(es.result?.link);
// this.setData({phone:'手机号码是:'+ es.result.list[0].data.getPhoneNumber})
}).catch(err=>{console.log('erro',err)})
}
})
//crypto.js
//https://github.com/gwjjeff/cryptojs
var CryptoJS = require('crypto-js.js');
// 密钥 16 位
var key = 'skdidhjdksle2345';
// 初始向量 initial vector 16 位
var iv = 'skdidhjdksle2345';
// key 和 iv 可以一致
key = CryptoJS.enc.Utf8.parse(key);
iv = CryptoJS.enc.Utf8.parse(iv);
//加密
function encrypted(param) {
var encrypted = CryptoJS.AES.encrypt(param, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
encrypted = encrypted.toString();
return encrypted;
}
//解密
function decrypted(param) {
var decrypted = CryptoJS.AES.decrypt(param, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
decrypted = CryptoJS.enc.Utf8.stringify(decrypted);
return decrypted;
}
module.exports = {
encrypted: encrypted,
decrypted: decrypted,
}