|
|
|
export default {
|
|
|
|
install(Vue) {
|
|
|
|
Vue.prototype.util = {
|
|
|
|
// 格式化富文本
|
|
|
|
formateRichText(str) {
|
|
|
|
if (!str) return "";
|
|
|
|
var reg = new RegExp("<img", "g");
|
|
|
|
str = str.replace(reg, "<img class='sz-xcx-fwb-img' width='100%'")
|
|
|
|
reg = new RegExp("<IMG", "g");
|
|
|
|
str = str.replace(reg, "<img class='sz-xcx-fwb-img' width='100%'")
|
|
|
|
reg = new RegExp(" ", "g");
|
|
|
|
str = str.replace(reg, '<span style="width: 8rpx;display: inline-block;"></span>')
|
|
|
|
reg = new RegExp("section", "g");
|
|
|
|
str = str.replace(reg, 'div');
|
|
|
|
reg = new RegExp("↵", "g");
|
|
|
|
str = str.replace(reg, '<br />');
|
|
|
|
str = str.replace(/<table/g, '<table border="1" cellspacing="0" style="border-collapse:collapse"')
|
|
|
|
return str;
|
|
|
|
},
|
|
|
|
// 手机号验证规则
|
|
|
|
mobileValid(val) {
|
|
|
|
return /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(val);
|
|
|
|
},
|
|
|
|
// 身份证验证规则
|
|
|
|
idNumberValid(val) {
|
|
|
|
return /^\d{17}(\d{1}|[X|x])$/.test(val);
|
|
|
|
},
|
|
|
|
// 护照验证正则
|
|
|
|
passportValid(val) {
|
|
|
|
return /^([a-zA-z]|[0-9]){5,17}$/.test(val);
|
|
|
|
},
|
|
|
|
// 台胞证正则
|
|
|
|
taiwanValid(val) {
|
|
|
|
return /^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/.test(val);
|
|
|
|
},
|
|
|
|
// 港澳通行证正则
|
|
|
|
gangaoValid(val) {
|
|
|
|
return /^([A-Z]\d{6,10}(\(\w{1}\))?)$/.test(val);
|
|
|
|
},
|
|
|
|
// 外国人永久居留证正则
|
|
|
|
foreignerValid(val) {
|
|
|
|
return /(^[A-Za-z]{3})([0-9]{12}$)/.test(val);
|
|
|
|
},
|
|
|
|
// 军官证正则
|
|
|
|
officerValid(val) {
|
|
|
|
return /^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/.test(val);
|
|
|
|
},
|
|
|
|
// 邮箱验证正则
|
|
|
|
emailValid(val) {
|
|
|
|
return /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(val)
|
|
|
|
},
|
|
|
|
// 获取路径参数
|
|
|
|
getUrlPara(url) {
|
|
|
|
let arrUrl = url.split("?");
|
|
|
|
let para = arrUrl[1];
|
|
|
|
return para ? para.split('&') : false;
|
|
|
|
},
|
|
|
|
openMap(item) {
|
|
|
|
wx.openLocation({
|
|
|
|
longitude: item.lon, // 经度
|
|
|
|
latitude: item.lat, //纬度
|
|
|
|
name: item.address || item.title || item.name, // 位置名称
|
|
|
|
address: item.address, //详细地址
|
|
|
|
})
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/subPackages/h5Web/h5Web?type=map&data=' + JSON.stringify(item)
|
|
|
|
})
|
|
|
|
},
|
|
|
|
showImg(img) {
|
|
|
|
if(!img) return;
|
|
|
|
if (img.indexOf('https://') != -1 || img.indexOf('http://') != -1) {
|
|
|
|
return img;
|
|
|
|
} else {
|
|
|
|
return 'https://tongli.sz-trip.com' + img;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
// 跳回小程序
|
|
|
|
gotoDetailMini(item) {
|
|
|
|
console.log(item)
|
|
|
|
if(item.link_type == 1) {
|
|
|
|
// 外部小程序
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/subPackages/h5Web/h5Web?type=xcx&data=' + JSON.stringify(item.ext_link)
|
|
|
|
})
|
|
|
|
return
|
|
|
|
}else if(item.link_type == 2){
|
|
|
|
// 外部H5
|
|
|
|
window.location.href = item.ext_link
|
|
|
|
return
|
|
|
|
}
|
|
|
|
switch (item.genre){
|
|
|
|
// 景点
|
|
|
|
case 'ticket':
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/subPackages/ticketBooking/detail?id=' + item.id
|
|
|
|
})
|
|
|
|
break;
|
|
|
|
// 酒店
|
|
|
|
case 'hotel':
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/subPackages/hotelHomestay/detail?id=' + item.id
|
|
|
|
})
|
|
|
|
break;
|
|
|
|
// 美食
|
|
|
|
case 'food':
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/subPackages/food/foodDetail?id=' + item.id
|
|
|
|
})
|
|
|
|
break;
|
|
|
|
// 攻略
|
|
|
|
case 'article':
|
|
|
|
uni.navigateTo({
|
|
|
|
url: '/subPackages/travelGuide/detail?id=' + item.id
|
|
|
|
})
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|