123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- const formatTime = date => {
- const year = date.getFullYear()
- const month = date.getMonth() + 1
- const day = date.getDate()
- const hour = date.getHours()
- const minute = date.getMinutes()
- const second = date.getSeconds()
- return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
- }
- const formatNumber = n => {
- n = n.toString()
- return n[1] ? n : '0' + n
- }
- const getTypeSn = url => {
- let type_sn = ''
- if (url.indexOf('type_sn') != -1 && url.indexOf('bonusex') != -1) {
- let arr = url.split('&')
- arr.some(item => {
- if (item.indexOf('type_sn') != -1) {
- type_sn = item.split('=')[1]
- return true
- }
- })
- }
- return type_sn
- }
- function getUrlPrefixAndParams(url) {
- // 用JS拿到URL,如果函数接收了URL,那就用函数的参数。如果没传参,就使用当前页面的URL
- let params = url.split('?');
- let prefix = params[0];
- if(params.length < 2) {
- return [prefix, {}];
- }
-
- var queryString = params[1];
- // 用来存储我们所有的参数
- var obj = {};
- // 如果没有传参,返回一个空对象
- if (!queryString) {
- return obj;
- }
- // stuff after # is not part of query string, so get rid of it
- queryString = queryString.split('#')[0];
- // 将参数分成数组
- var arr = queryString.split('&');
- for (var i = 0; i < arr.length; i++) {
- // 分离成key:value的形式
- var a = arr[i].split('=');
- // 将undefined标记为true
- var paramName = a[0];
- var paramValue = typeof (a[1]) === 'undefined' ? true : a[1];
- // 如果调用对象时要求大小写区分,可删除这两行代码
- paramName = paramName.toLowerCase();
- if (typeof paramValue === 'string') paramValue = paramValue.toLowerCase();
- // 如果paramName以方括号结束, e.g. colors[] or colors[2]
- if (paramName.match(/\[(\d+)?\]$/)) {
- // 如果paramName不存在,则创建key
- var key = paramName.replace(/\[(\d+)?\]/, '');
- if (!obj[key]) obj[key] = [];
- // 如果是索引数组 e.g. colors[2]
- if (paramName.match(/\[\d+\]$/)) {
- // 获取索引值并在对应的位置添加值
- var index = /\[(\d+)\]/.exec(paramName)[1];
- obj[key][index] = paramValue;
- } else {
- // 如果是其它的类型,也放到数组中
- obj[key].push(paramValue);
- }
- } else {
- // 处理字符串类型
- if (!obj[paramName]) {
- // 如果如果paramName不存在,则创建对象的属性
- obj[paramName] = paramValue;
- } else if (obj[paramName] && typeof obj[paramName] === 'string') {
- // 如果属性存在,并且是个字符串,那么就转换为数组
- obj[paramName] = [obj[paramName]];
- obj[paramName].push(paramValue);
- } else {
- // 如果是其它的类型,还是往数组里丢
- obj[paramName].push(paramValue);
- }
- }
- }
- return [prefix,obj];
- }
- module.exports = {
- getTypeSn: getTypeSn,
- formatTime: formatTime,
- parseAppjump: getUrlPrefixAndParams
- }
|