export default {
isIosAndr() {
let userAgent = navigator.userAgent.toLowerCase();
if (userAgent.indexOf("isapp") != -1) {
return true
} else {
return false
}
},
isAndroid() {
let type = navigator.userAgent.toLowerCase()
if (/(android)/i.test(type)) {
return true;
} else {
return false
}
},
isIos() {
let type = navigator.userAgent.toLowerCase()
if (/(iphone|ipad|ipod|ios)/i.test(type)) {
return 1;
} else {
return false
}
},
isMiniProgram() {
var ua = navigator.userAgent.toLowerCase();
var envType = 3;
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
wx.miniProgram.getEnv(function (res) {
if (res.miniprogram) {
envType = 1
} else {
envType = 2
}
})
} else {
envType = 3
}
return envType
},
getSimpleText(html) {
var re1 = new RegExp("<.+?>", "g");
var msg = html.replace(re1, '');
return msg;
},
bMapTransQQMap(lng, lat) {
let x_pi = 3.14159265358979324 * 3000.0 / 180.0;
let x = lng - 0.0065;
let y = lat - 0.006;
let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
let lngs = z * Math.cos(theta);
let lats = z * Math.sin(theta);
return {
longitude: lngs,
latitude: lats
}
},
imageEnlargement(e) {
console.log(e);
if (e.target.nodeName == "IMG") {
let index = this.imgPreList.findIndex((item) => {
return item == e.target.currentSrc;
});
this.index = index;
if (isBaiDuClient()) {
this.imgShow = true;
} else if (isIosAndr()) {
let host = "yunjj://";
let content = "";
content = `{"key":"viewPicture","params":{"currentIndex":${index},"imgList":${JSON.stringify(
this.imgPreList
)}},"callback":" ",}`;
content = Base64.encode(content);
console.log("Url:" + Base64.decode(content));
window.location.replace(host + content);
} else {
this.imgShow = true;
}
} else {
console.log("点击内容不为img");
}
},
getQueryVariableK(variable, url) {
var vars = url.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) { return pair[1]; }
}
return (false);
},
initWeChatShare(that, title = '无忧找房', link = location.href, imgUrl = 'https://xxxxx/public/pro/banjia-logo.png', desc = location.href, callback) {
if (isWxClient()) {
let url = "";
if (process.env.NODE_ENV == "production") {
url =
window.location.origin +
"/yjj_1_4/common/getJsApi?url=" +
encodeURIComponent(window.location.href);
} else {
url =
"/getJsApi?url=" +
encodeURIComponent(window.location.href);
}
that.$http.get(url).then((result) => {
if (result) {
wx.config({
debug: false,
appId: result.appId,
timestamp: result.timestamp,
nonceStr: result.noncestr,
signature: result.signature,
jsApiList: [
"updateAppMessageShareData",
"updateTimelineShareData",
"checkJsApi",
],
openTagList: ['wx-open-launch-weapp'],
success: function (res) {
console.log("config 成功", res);
callback()
},
fail: function (res) {
alert("微信jsdk授权失败", res.errMsg);
console.log("微信jsdk授权 fail", res);
}
});
wx.ready(function () {
wx.checkJsApi({
jsApiList: [
"updateAppMessageShareData",
"updateTimelineShareData",
"checkJsApi",
]
});
callback()
console.log("ready====");
wx.updateAppMessageShareData({
title: title,
desc: desc,
link: link,
imgUrl: imgUrl,
success: function () {
console.log("设置成功");
}
});
wx.updateTimelineShareData({
title: title,
link: link,
imgUrl: imgUrl,
success: function () {
console.log("分享成功");
},
cancel: function () {
console.log("取消了分享");
}
});
});
}
});
wx.error(function (res) {
});
}
},
wakeBaidu(urlObject) {
if (localStorage.getItem("latitude") && localStorage.getItem("longitude")) {
var latCurrent = localStorage.getItem("latitude");
var lngCurrent = localStorage.getItem("longitude")
if (latCurrent && lngCurrent) {
var scheme = '';
var queryStr = '?origin=name:我的位置|latlng:' + latCurrent + ',' + lngCurrent + '&destination=' + urlObject.lat + ',' + urlObject.lng + '®ion=' + urlObject.city + '&coord_type=bd09ll&mode=driving';
var u = navigator.userAgent, app = navigator.appVersion;
if (!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)) {
scheme = 'baidumap://map/direction' + queryStr;
} else {
scheme = 'bdapp://map/direction' + queryStr;
}
window.location.href = scheme;
var startTime = Date.now();
var count = 0;
var endTime = 0;
var t = setInterval(function () {
count += 1;
endTime = Date.now() - startTime;
if (endTime > 800) {
clearInterval(t);
}
if (count < 30) return;
if (!(document.hidden || document.webkitHidden)) {
window.location.href = 'http://api.map.baidu.com/direction' + queryStr + '&output=html';
}
}, 20);
window.onblur = function () {
clearInterval(t);
};
}
return;
}
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function (result) {
if (this.getStatus() == BMAP_STATUS_SUCCESS) {
var latCurrent = result.point.lat;
var lngCurrent = result.point.lng;
if (latCurrent && lngCurrent) {
var scheme = '';
var queryStr = '?origin=name:我的位置|latlng:' + latCurrent + ',' + lngCurrent + '&destination=' + urlObject.lat + ',' + urlObject.lng + '®ion=' + urlObject.city + '&coord_type=bd09ll&mode=driving';
var u = navigator.userAgent, app = navigator.appVersion;
if (!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)) {
scheme = 'baidumap://map/direction' + queryStr;
} else {
scheme = 'bdapp://map/direction' + queryStr;
}
window.location.href = scheme;
var startTime = Date.now();
var count = 0;
var endTime = 0;
var t = setInterval(function () {
count += 1;
endTime = Date.now() - startTime;
if (endTime > 800) {
clearInterval(t);
}
if (count < 30) return;
if (!(document.hidden || document.webkitHidden)) {
window.location.href = 'http://api.map.baidu.com/direction' + queryStr + '&output=html';
}
}, 20);
window.onblur = function () {
clearInterval(t);
};
} else {
alert('获取不到定位,请检查手机定位设置');
}
}
});
},
throttle(fn, wait) {
var timer = null;
return function () {
var context = this;
var args = arguments;
if (!timer) {
timer = setTimeout(function () {
fn.apply(context, args);
timer = null;
}, wait)
}
}
},
toThousands(num) {
var num = (num || 0).toString(), result = '';
while (num.length > 3) {
result = ',' + num.slice(-3) + result;
num = num.slice(0, num.length - 3);
}
if (num) { result = num + result; }
return result;
},
const RandomColor = () => "#" + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, "0");
}
openMap() {
if (isWeiXin()) {
this.wxApi.config({
debug: false,
appId: data.appId,
timestamp: data.timestamp,
nonceStr: data.nonceStr,
signature: data.signature,
jsApiList: ['checkJsApi', 'openLocation'],
success(res) {
},
})
this.wxApi.ready(() => {
this.wxApi.checkJsApi({
jsApiList: ['openLocation'],
success: rest => {
this.wxApi.openLocation({
latitude: Number(this.currentStore.latitude),
longitude: Number(this.currentStore.longitude),
name: this.currentStore.storeName,
address: this.currentStore.address,
scale: 18,
infoUrl: '',
})
},
})
})
} else {
let url = `https://apis.map.qq.com/tools/routeplan/eword=${this.currentStore.address}&epointx=${Number(
this.currentStore.latitude,
)}&epointy=${Number(this.currentStore.longitude)}?referer=${
this.currentStore.storeName
}&key=KFHBZ-BB4RD-4D64U-HLNQG-MQYQQ-WBFXP`
window.location.href = url
}
uni.openLocation({
latitude: Number(this.currentStore.latitude),
longitude: Number(this.currentStore.longitude),
name: this.currentStore.storeName,
address: this.currentStore.address,
})
},