export default { getUnionId, // checkSession, getBadWords, checkBadWords, checkEmptyInput, confirmInputCheck, correctTime, formatDate, filter, Input, UploadBug } const emojiFilterReg = new RegExp(/[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi) function getUnionId(rootAvatar,rootUrl) { return new Promise((resolve, reject) => { //汉阳司法参数 const appid = 'wx7464eebd59834865' const secret = '6d22e93d7c24a73e046da9f7f3be1934' //2019-09-24 美新瑞杰 参数 // const appid = 'wxf3facb3d77b07b8b' // const secret = 'e8d6cd96dcb9d2b2b697e52e17cd50da' wxLogin(rootUrl,appid, secret).then(e => { console.log(e) if (e.openid) { wx.setStorageSync('openid', e.openid) getSetting().then(e => { console.log(e) if (e == 'deny') wx.redirectTo({ url: '../welcome/main' }) else { wx.getUserInfo({ success: res => { wx.setStorageSync('wxInfo', res.userInfo) setUserInfo( rootUrl, appid, wx.getStorageSync('openid'), res.userInfo.nickName ) .then(e => { if(e.lawyerstate == 0 ) { wx.showModal({title:'',content:'当前账号已被禁用,请切换账号登录',showCancel:false}) wx.redirectTo({ url: '../verify/main' }) } else if (e.status == '200') { console.log('200') wx.setStorageSync('isLogin', true) wx.setStorageSync('isVerify', true) wx.setStorageSync('sessionID', e.sessionID) const userInfo = { avatarUrl: rootAvatar + e.avatar, nickName: e.uname } wx.request({ url: rootUrl + '/law/myinfo', data: { sessionID: e.sessionID }, success: res => { const userInfo_New = Object.assign( userInfo, res.data[0] ) wx.setStorageSync('userInfo', userInfo_New) resolve('verified') } }) } else if (e.status == '300') { console.log('300') wx.setStorageSync('isLogin', true) wx.setStorageSync('isVerify', false) wx.setStorageSync('sessionID', e.sessionID) wx.removeStorageSync('userInfo') resolve('unverified') } }) } }) } }) } else { // that.getUnionId() } }) }) } function checkSession(rootAvatar, rootUrl){ return new Promise (resolve => { wx.checkSession({ success: () => resolve(true), fail: () => getUnionId(rootAvatar, rootUrl).then(() => resolve(true)) }) }) } function getBadWords(rootUrl) { wx.request({ url: rootUrl + '/keyword/all', success: res => { const arr = res.data.map(v => v.key_Word) wx.setStorageSync('badwords', arr) } }) } function checkBadWords(textArr, warningArr) { const badwords = wx.getStorageSync('badwords') for (let i = 0; i < badwords.length; i++) { const value = badwords[i] for (let j = 0; j < textArr.length; j++) { if (textArr[j].indexOf(value) != -1) { const warning = `请检查您的${warningArr.join('和')},避免出现不文明用语` confirmInputCheck(warning) return false } } } return true } function checkEmptyInput(textArr, warningArr){ for (let i = 0; i < textArr.length; i++) { if (textArr[i] == '') { confirmInputCheck(`${warningArr[i]}不能为空`) return false } } return true } function confirmInputCheck(content,title='提交失败'){ wx.showModal({ title, content, showCancel: false }) } function correctTime(timeStr, format='date'){ //修正从服务器获得的time const tArr = timeStr.split(/\D+/).map(Number) switch(tArr.length){ case 5: tArr.push(0);break; case 4: tArr.push(0,0);break; case 3: tArr.push(-8,0,0);break; case 2: tArr.push(1,-8,0,0);break; case 1: tArr.push(1,1,-8,0,0);break; default: break; } const myDate = new Date(tArr[0],tArr[1]-1,tArr[2],tArr[3]+8,tArr[4],tArr[5]) const fullFormatTime = `${myDate.getFullYear()}-${twoNum(myDate.getMonth()+1)}-${twoNum(myDate.getDate())} ${twoNum(myDate.getHours())}:${twoNum(myDate.getMinutes())}` switch(format){ case 'date': return fullFormatTime.slice(0,10) case 'full': return fullFormatTime case 'DateObj': return myDate case 'all': return { short: fullFormatTime.slice(0,10), full: fullFormatTime, semantic: semanticTime(myDate) || fullFormatTime.slice(0,10) } } } function semanticTime(DateObj){ const now = new Date() const seconds = (now.getTime() - DateObj.getTime()) / 1000 if(seconds < 10) return '刚刚' if(seconds < 60) return `${parseInt(seconds)}秒前` if(seconds < 60 * 60) return `${parseInt(seconds/60)}分钟前` if(seconds < 60 * 60 * 11) return `${parseInt(seconds/60/60)}小时前` const days = now.getDate() - DateObj.getDate() const hour_minute = `${twoNum(DateObj.getHours())}:${twoNum(DateObj.getMinutes())}` if(days === 0) return '今天' + hour_minute if(days === 1) return '昨天' + hour_minute if(days === 2) return '前天' + hour_minute return false } function twoNum(num){ return ('0'+num).slice(-2) } function formatDate(DateObj){ //Date类型转换成字符串 return `${DateObj.getFullYear()}-${twoNum(DateObj.getMonth()+1)}-${twoNum(DateObj.getDate())}` } function filter(obj){//去除emoji和首尾空格 for(let key in obj){ const oldData = obj[key] obj[key] = obj[key].replace(emojiFilterReg,'') if(oldData!==obj[key]){ confirmInputCheck('不支持使用emoji表情和特殊符号,请删除后再提交') return {allowed: false} } obj[key] = obj[key].replace(/(^\s*)|(\s*$)/g,'') } return {allowed: true, obj} } function Input(e){ return e.mp.detail.value } function wxLogin(rootUrl,appid,secret){ var that = this; return new Promise(function (resolve, reject){ wx.login({ success: res => { wx.request({ url: rootUrl + "/Login/getOpenid", data:{ code:res.code, app_id:appid, secret:secret }, method:"POST", header: { 'X-Requested-With': 'XMLHttpRequest', "Content-Type": "application/x-www-form-urlencoded" }, success:function(e){ resolve(e.data); }, fail:function(err){ resolve(err); } }) }, fail: res=>{ resolve(res) } }); }); } function getSetting(){ return new Promise(function (resolve, reject){ wx.getSetting({ success: function(res){ if (res.authSetting['scope.userInfo']) { wx.getUserInfo({ success: function(res) { resolve("ok"); } }) }else{ resolve("deny"); } } }) }) } function setUserInfo(rootUrl,appid,openid,wx_name){ return new Promise(function (resolve, reject){ wx_name = wx_name.replace(emojiFilterReg,'') if(wx_name == ''){ wx_name = '[emoji]' } wx.request({ url: rootUrl + "/Login/wxLogin", method:"POST", data: { appid, openid, wx_name, }, header: { 'X-Requested-With': 'XMLHttpRequest', "Content-Type": "application/x-www-form-urlencoded" }, success:function(e){ if(!e) reject(false) else resolve(e.data); }, fail:function(e){ if(!e) reject(false) else resolve(e); } }) }) } function UploadBug( rootUrl, function_detail, errMsg, openid=0, isSessionID=0, isLogin=0, isVerify=0, wxInfo=0, userInfo=0 ) { const SysInfo = wx.getSystemInfoSync() wx.request({ url: rootUrl + '/bug/add', method: 'POST', header: {'content-type': 'application/x-www-form-urlencoded'}, data:{ model: SysInfo.model, sdk_version: SysInfo.SDKVersion, client_version: SysInfo.version, system_version: SysInfo.system, function_detail, errMsg, openid, isSessionID, isLogin, isVerify, wxInfo, userInfo }, success: res => { console.log(res) } }) }