// 获取路径参数 import Vue from "vue"; // 格式化富文本 Vue.prototype.formateRichText = str => { if (!str) return ""; var reg = new RegExp("') reg = new RegExp("section", "g"); str = str.replace(reg, 'div'); reg = new RegExp("↵", "g"); str = str.replace(reg, '
'); return str; } // 获取路径参数 Vue.prototype.getUrlPara = url => { let arrUrl = url.split("?"); let para = arrUrl[1]; return para ? para.split('&') : false; } // 中文姓名规则 Vue.prototype.idChinaName = (val) => { var pattern = /^[\u4E00-\u9FA5]{2,4}$/ return pattern.test(val); } // 身份证验证规则 Vue.prototype.idCardNumber = (val) => { var pattern = /^\d{17}(\d{1}|[X|x])$/ return pattern.test(val); } // 护照验证正则 Vue.prototype.passportValid = (val) => { return /^([a-zA-z]|[0-9]){5,17}$/.test(val); } // 台胞证正则 Vue.prototype.taiwanValid = (val) => { return /^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/.test(val); } // 港澳通行证正则 Vue.prototype.gangaoValid = (val) => { return /^([A-Z]\d{6,10}(\(\w{1}\))?)$/.test(val); } // 外国人永久居留证正则 Vue.prototype.foreignerValid = (val) => { return /(^[A-Za-z]{3})([0-9]{12}$)/.test(val); } // 军官证正则 Vue.prototype.officerValid = (val) => { return /^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/.test(val); } // 邮箱验证正则 Vue.prototype.emailValid = (val) => { return /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(val) } //判断电话号码格式 Vue.prototype.IsTel = tel => { var pattern = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; return pattern.test(tel); } //判断澳门电话号码格式 Vue.prototype.IsTelMacau = tel => { var pattern = /^\d{8}$/; return pattern.test(tel); } //验证码格式 Vue.prototype.IsCode = code => { var pattern = /^\d{6}$/; return pattern.test(code); } // 图片显示判断 Vue.prototype.showImg = img => { if (!img) return; if (img.indexOf('https://') != -1 || img.indexOf('http://') != -1) { return img; } else { // return Vue.prototype.NEWAPIURL + img; return 'https://static.ticket.sz-trip.com'+img; } } // 获取经纬度 Vue.prototype.getLocation = () => { uni.startLocationUpdate({ success: res => { uni.onLocationChange(data => { uni.setStorageSync('location', { lat: data.latitude, lon: data.longitude }); }) } }) } // 路由页面跳转 Vue.prototype.gotoPath = path => { uni.navigateTo({ url: path }) } // 返回上一页 Vue.prototype.goBack = () => { getCurrentPages().length > 1 ? uni.navigateBack({}) : uni.switchTab({ url: '/pages/index/index' }) } // 打开地图 Vue.prototype.openLocation = (lat, lon) => { uni.openLocation({ latitude: Number(lat), longitude: Number(lon), success: function() { console.log('success'); } }); } // 拨打电话 Vue.prototype.clickPhone = (phone) => { uni.makePhoneCall({ phoneNumber: phone }) } //周几 Vue.prototype.ShowDateDay = day => { let stateTxt = ""; switch (day) { case 0: stateTxt = '周日' break; case 1: stateTxt = '周一' break; case 2: stateTxt = '周二' break; case 3: stateTxt = '周三' break; case 4: stateTxt = '周四' break; case 5: stateTxt = '周五' break; case 6: stateTxt = '周六' break; } return stateTxt } Date.prototype.Format = function(fmt) { //author: meizz var o = { "Y+": this.getFullYear(), //月份 "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]) .length))); return fmt; } // 是否接收订阅消息 Vue.prototype.getSubscribeMessage = () => { const templateIds = [ // 退款成功通知 'hRZoiEES2BWtKb6Xgsnn8khLQH9un5j_11qu0bwlhfE', // 订单核销通知 // '7D-JP7o0nQ_NiQk2w8mBs8jdT1_7ofvyBN-G9NLY2Zk', // 订单支付成功通知 // '6cHez9KDlCDp1_nWUlUSV7qEaahIQWmYVlOCE-J6ODQ', // 出票失败提醒 // 'G-N85zK2gPwgTRZWQrtHZo_-5TFcdAqBxSk4qsqcvVc', // 出票结果通知 'YyTCUIYBnrj9CyKks8cOjNX_Rk8a4yVdswMP-zXVbhc' ] uni.requestSubscribeMessage({ tmplIds: templateIds, complete(res) { uni.navigateTo({ url: '/subPackages/order/trades' }) } }) } // 金刚区头图 Vue.prototype.getHeadImg = id => { return Vue.prototype.Post({ id, }, '/api/multimedia/detail' ).then(res => { return res.data.head_img }); } // 根据类型跳转详情 Vue.prototype.gotoDetailByType = item => { let url = '' switch (item.type){ case 'line': url = '/subPackages/line/lineDetail?id=' + item.id break; case 'room': url = '/subPackages/homestay/detail?id=958396' // || item.scene_id || item.id break; default: break; } console.log(url) Vue.prototype.gotoPath(url) }