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() {
if(uni.getStorageSync('token')){
// token
this.$toolAll.tools.refreshToken();
}
},
onHide: function() {

View File

@ -191,7 +191,6 @@ const yayaMap = {
// console.log(res,'H5');
uni.hideLoading();
if(res.status == 0){
// that.locationName = res.result.address; //当前定位
let params = {
latitude:res.result.location.lat,
longitude:res.result.location.lng,
@ -212,10 +211,10 @@ const yayaMap = {
longitude: parseFloat(longitude),
name:name,
address:address,
success: function () {
success: ()=> {
console.log('success');
},
fail:function(err){
fail:(err)=> {
console.log(err)
}
});
@ -264,6 +263,67 @@ const yayaMap = {
} else {
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;

View File

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