import store from '../store' import WXBizDataCrypt from '@/utils/WXBizDataCrypt'; export function getSessionKey (code,encryptedData,iv) { let appid = 'wxc35f6cc236bcec8f'; //小程序的appid let secret = '4d624272bd571f23f1454d7690924a85'; //小程序的secret wx.request({ url: 'https://api.weixin.qq.com/sns/jscode2session?appid='+appid+'&secret='+secret+'&grant_type=authorization_code&js_code='+code, header: { 'content-type': 'application/json' }, success:function(res){ if(encryptedData){ let pc = new WXBizDataCrypt(appid, res.data.session_key) let data = pc.decryptData(encryptedData , iv) console.log('解密后 data: ', data) store.dispatch('user/setInfo', data) }else{ store.dispatch('user/setInfo', res.data) } }, fail:function(res){ console.log(res) } }) } export function getAge(identityCard) { let len = (identityCard + "").length; if (len == 0) { return 0; } else { if ((len != 15) && (len != 18))//身份证号码只能为15位或18位其它不合法 { return 0; } } let strBirthday = ""; if (len == 18)//处理18位的身份证号码从号码中得到生日和性别代码 { strBirthday = identityCard.substr(6, 4) + "/" + identityCard.substr(10, 2) + "/" + identityCard.substr(12, 2); } //时间字符串里,必须是“/” let birthDate = new Date(strBirthday); let nowDateTime = new Date(); let age = nowDateTime.getFullYear() - birthDate.getFullYear(); //再考虑月、天的因素;.getMonth()获取的是从0开始的,这里进行比较,不需要加1 if (nowDateTime.getMonth() < birthDate.getMonth() || (nowDateTime.getMonth() == birthDate.getMonth() && nowDateTime.getDate() < birthDate.getDate())) { age--; } return age; } export function getSampleId(date = new Date(),format = 'YYYY-MM-DD') { const d = new Date(date || new Date()) const zeroize = val => val < 10 ? `0${val}` : `${val}` return format.replace( /YYYY|MM|DD|hh|mm|ss/g, word => ({ YYYY: d.getFullYear(), MM: zeroize(d.getMonth() + 1), DD: zeroize(d.getDate()), hh: zeroize(d.getHours()), mm: zeroize(d.getMinutes()), ss: zeroize(d.getSeconds()) }[word] || word) ) }