tools.js新增微信扫码后对结果的解析

master
chen 2022-04-19 14:13:14 +08:00
parent efabcaf226
commit e189cff64e
3 changed files with 95 additions and 72 deletions

View File

@ -21,8 +21,7 @@
}, },
onShow: function() { onShow: function() {
if(uni.getStorageSync('token')){ if(uni.getStorageSync('token')){
// token
this.$toolAll.tools.refreshToken();
} }
}, },
onHide: function() { onHide: function() {

View File

@ -191,7 +191,6 @@ const yayaMap = {
// console.log(res,'H5'); // console.log(res,'H5');
uni.hideLoading(); uni.hideLoading();
if(res.status == 0){ if(res.status == 0){
// that.locationName = res.result.address; //当前定位
let params = { let params = {
latitude:res.result.location.lat, latitude:res.result.location.lat,
longitude:res.result.location.lng, longitude:res.result.location.lng,
@ -212,10 +211,10 @@ const yayaMap = {
longitude: parseFloat(longitude), longitude: parseFloat(longitude),
name:name, name:name,
address:address, address:address,
success: function () { success: ()=> {
console.log('success'); console.log('success');
}, },
fail:function(err){ fail:(err)=> {
console.log(err) console.log(err)
} }
}); });
@ -264,6 +263,67 @@ const yayaMap = {
} else { } else {
tools.showToast('请勿多次点击'); tools.showToast('请勿多次点击');
} }
},
/**
* @description 经纬度===>地址
*/
getLocation(lat,lng){
return new Promise((resolve, reject) => {
uni.getLocation({
type:'gcj02',
geocode:true,
success:(res)=> {
console.log(res)
qqmapsdk.reverseGeocoder({
location: {
latitude: res.latitude,
longitude: res.longitude
},
success:(res)=> {
console.log(res);
resolve(res)
},
fail:(res)=> {
if(res.status == 1000){
uni.showToast({
title:'请勿频繁查询,稍后再试',
icon:'none'
})
} }
reject(res)
},
complete:(res)=> {
// console.log(res);
}
})
}
})
})
}
/**
* @description 地址===>经纬度
*/
getAddressLocation(address) {
return new Promise((resolve, reject) => {
qqmapsdk.geocoder({
address:address,
success: (res)=> {
resolve(res)
},
fail: (res)=> {
if(res.status == 1000){
uni.showToast({
title:'请勿频繁查询,稍后再试',
icon:'none'
})
}
reject(res)
},
complete: (res)=> {
// console.log(res);
}
})
})
},
} }
export default yayaMap; export default yayaMap;

View File

@ -1,4 +1,3 @@
const app = getApp();
const tools = { const tools = {
timer:'', timer:'',
/** /**
@ -32,10 +31,20 @@ const tools = {
},1000) },1000)
} }
}, },
/**
* @description 关闭倒计时
*/
closeTimer(){ closeTimer(){
clearInterval(this.timer)//关闭倒计时 clearInterval(this.timer)
console.log('倒计时清空了'); console.log('倒计时清空了');
}, },
/**
* @description 获取微信扫码后的结果并解析
*/
unescapeEv(op) {
let str = unescape(op.q);
return str;
},
/** /**
* @description 手机号验证 * @description 手机号验证
*/ */
@ -67,7 +76,7 @@ const tools = {
/** /**
* @description 手机号中间加字符 * @description 手机号中间加字符
*/ */
phoneAddChat(phone,character=' ',startNum=3,endNum=7){ phoneAddChat(phone,startNum=3,endNum=7,character=' '){
let phoneStr = phone; let phoneStr = phone;
phoneStr = phoneStr.replace(/\s*/g, ""); phoneStr = phoneStr.replace(/\s*/g, "");
var phoneArr = []; var phoneArr = [];
@ -119,12 +128,12 @@ const tools = {
} }
return str.includes('.') ? str : str = num + '.00'; return str.includes('.') ? str : str = num + '.00';
}, },
// type:+加、-减、*乘、/除
// len:小数后保留几位
/** /**
* type:+-*/ * @description 数字换算解决失精度问题
* len:小数后保留几位
* @description 数字换算
*/ */
operationEv(num1,num2,type,len=2){ operationEv(num1,num2,type,len=0){
// 将数字转化成字符串 // 将数字转化成字符串
num1 = num1.toString(); num1 = num1.toString();
num2 = num2.toString(); num2 = num2.toString();
@ -235,7 +244,7 @@ const tools = {
return newObj return newObj
}, },
/** /**
* @description 提示方法 * @description 文本提示
*/ */
showToast: function(msg, icon='none',time) { showToast: function(msg, icon='none',time) {
// 弹框显示时间默认2秒 // 弹框显示时间默认2秒
@ -248,8 +257,7 @@ const tools = {
}) })
}, },
/** /**
* @param {Object} str * @description 富文本处理
* @description 富文本
*/ */
escape2Html(str) { escape2Html(str) {
var arrEntities = { 'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&', 'quot': '"' }; var arrEntities = { 'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&', 'quot': '"' };
@ -334,9 +342,7 @@ const tools = {
} }
// #endif // #endif
}, },
/** // 下载小程序新版本并重启应用
* 下载小程序新版本并重启应用
* */
downLoadAndUpdate(updateManager){ downLoadAndUpdate(updateManager){
var self = this; var self = this;
wx.showLoading(); //静默下载更新小程序新版本 wx.showLoading(); //静默下载更新小程序新版本
@ -355,7 +361,6 @@ const tools = {
}) })
}, },
/** /**
* @param {Object} data
* @description 文本复制 * @description 文本复制
*/ */
clickCopy(data){ clickCopy(data){
@ -366,49 +371,10 @@ const tools = {
} }
}); });
}, },
/** authTimer:null,
* @description 刷新token
*/
refreshToken(){
console.log('进入检测token是否过期');
var date = new Date();
var timestamp = date.getTime();//精确到毫秒
// 如果过期时间 减 10分钟 小于当前时间刷新token
if((uni.getStorageSync('expire')*1000 - 600000) < timestamp) {
uni.login({
provider: 'weixin',
success: (res)=> {
if (res.code) {
var params = {code:res.code}
uni.request({
url: `${app.globalData.hostapi}/api/user/login`,
method: 'post',
data: params,
header: {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer '+uni.getStorageSync('token') || ''
},
success: res => {
if(res.data.data.token!=''){
uni.setStorageSync('token',res.data.data.token)//缓存token
uni.setStorageSync('openid',res.data.data.openid)//缓存Openid
uni.setStorageSync('expire',res.data.data.expire)//缓存失效时间(时间戳格式)
uni.setStorageSync('is_active',res.data.data.is_active)//是否第一次授权
uni.setStorageSync('phone_active',res.data.data.phone_active)//是否绑定手机号
uni.setStorageSync('userId',res.data.data.account_id)//用户id
uni.setStorageSync('invite_code',res.data.data.invite_code)//邀请码
}
}
})
}
},
});
}
},
/** /**
* @description 判断是否授权没授权前往登录页面授权 * @description 判断是否授权没授权前往登录页面授权
*/ */
authTimer:null,
judgeAuth(){ judgeAuth(){
let auth = false; let auth = false;
clearTimeout(this.authTimer); clearTimeout(this.authTimer);
@ -423,7 +389,7 @@ const tools = {
return auth; return auth;
}, },
/** /**
* @description 判断当前环境清空日志设置全局域名 * @description 判断当前环境清空日志输出
*/ */
currentContext(){ currentContext(){
// #ifdef APP-PLUS // #ifdef APP-PLUS
@ -435,19 +401,16 @@ const tools = {
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
let hInfo = wx.getAccountInfoSync(); let hInfo = wx.getAccountInfoSync();
// console.log(hInfo.envVersion);//develop:开发版 trial体验版 release正式版 // console.log(hInfo.envVersion);//develop:开发版 trial体验版 release正式版
// if(hInfo.miniProgram.envVersion == "develop"){ if(hInfo.miniProgram.envVersion == "release"){
if(hInfo.miniProgram.envVersion == "develop" || hInfo.miniProgram.envVersion == "trial"){
} else {
// 清除所有输出日志 // 清除所有输出日志
console.log = () =>{}; console.log = () =>{};
// 开启埋点倒计时 // 开启埋点倒计时
this.daoTime();//开启埋点倒计时 // this.daoTime();
} }
// #endif // #endif
}, },
/** /**
* @description 禁止小程序使用分享 * @description 禁止小程序使用右上角分享
*/ */
disableShareEv(){ disableShareEv(){
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
@ -457,7 +420,7 @@ const tools = {
// #endif // #endif
}, },
/** /**
* @description 获取当前页面url * @description 获取当前页面完整url
*/ */
obtainPagePath(){ obtainPagePath(){
let pages = getCurrentPages(); let pages = getCurrentPages();
@ -472,8 +435,9 @@ const tools = {
}, },
/** /**
* @description 拨打电话 * @description 拨打电话
* @param {Number} phone
*/ */
countCustomer(phone){ countCustomer(phone=10086){
const res = uni.getSystemInfoSync(); const res = uni.getSystemInfoSync();
if(res.platform=='ios'){ if(res.platform=='ios'){
uni.makePhoneCall({ uni.makePhoneCall({
@ -496,9 +460,10 @@ const tools = {
} }
}, },
/** /**
* @description 图片上传 * @description 图片选择
* @param {Number} count
*/ */
uploadImg(count) { uploadImg(count=1) {
let imgArr = []; let imgArr = [];
uni.chooseImage({ uni.chooseImage({
count:count, count:count,
@ -513,8 +478,7 @@ const tools = {
} }
}) })
return imgArr; return imgArr;
}, }
} }