You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.5 KiB
128 lines
3.5 KiB
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) {
|
|
let data = {
|
|
type: 'map',
|
|
lon: item.scene_lon,
|
|
lat: item.scene_lat,
|
|
name: item.title,
|
|
address: item.address
|
|
}
|
|
uni.navigateTo({
|
|
url: '/subPackages/h5Web/h5Web?data=' + JSON.stringify(data)
|
|
})
|
|
},
|
|
showImg(img) {
|
|
if(!img) return;
|
|
if (img.indexOf('https://') != -1 || img.indexOf('http://') != -1) {
|
|
return img;
|
|
} else {
|
|
return 'https://changshu.js-dyyj.com' + img;
|
|
}
|
|
},
|
|
// 跳回小程序
|
|
gotoDetailMini(item) {
|
|
console.log(item)
|
|
if(item.link_type == 1) {
|
|
// 外部小程序
|
|
let data = {
|
|
type: 'xcx',
|
|
url: item.ext_link
|
|
}
|
|
uni.navigateTo({
|
|
url: '/subPackages/h5Web/h5Web?data=' + JSON.stringify(data)
|
|
})
|
|
return
|
|
}else if(item.link_type == 2){
|
|
// 外部H5
|
|
// window.location.href = item.ext_link
|
|
window.location.href = 'https://m.cloud.sz-trip.com/MailMerchandiseDetail?type=ticket&id=' + item.id
|
|
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;
|
|
// }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|