195 lines
4.6 KiB
195 lines
4.6 KiB
/** |
|
* 好建小程序技术开发 |
|
* 官网:https://www.haojian.cn/ |
|
* 如有小程序方面的需求,欢迎咨询 |
|
*/ |
|
|
|
|
|
let moment = require('moment.min.js'); |
|
require('moment.zh-cn.js'); |
|
|
|
moment.locale('zh-cn'); |
|
//格式化时间 |
|
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 |
|
} |
|
|
|
function formatTime1(date) { |
|
return moment(date).format('YYYY-MM-DD HH:mm'); |
|
} |
|
|
|
// 转换为年月日格式 |
|
function getFormatDate(date) { |
|
return moment(date).format('YYYY.MM.DD'); |
|
} |
|
|
|
function getFormatDate1(data) { |
|
return moment(data).format('YYYY-MM-DD'); |
|
} |
|
|
|
function getFormatDate2(data) { |
|
let myDate = new Date(); |
|
let hou = myDate.getHours(); |
|
let min = myDate.getMinutes(); |
|
if (hou < 10) { |
|
hou = '0' + hou; |
|
} |
|
if (min < 10) { |
|
min = '0' + min; |
|
} |
|
return hou + ":" + min; |
|
} |
|
|
|
// function formatNumber(n) { |
|
// n = n.toString(); |
|
// return n[1] ? n : '0' + n; |
|
// } |
|
|
|
|
|
//获取当前时间 |
|
function getNowFormatDate() { |
|
return moment().format('YYYY-MM-DD HH:mm'); |
|
} |
|
|
|
function getDateDiff(dateStr) { |
|
return moment(dateStr).fromNow(); |
|
} |
|
|
|
//兼容IOS获取时间戳 |
|
function formatTimeStamp(date) { |
|
let da = moment(date).format('YYYY-MM-DD HH:mm:ss'); |
|
return new Date(Date.parse(da.replace(/-/g, '/'))).getTime(); |
|
} |
|
|
|
function getDateDiff1(startTime, endTime, diffType) { |
|
//将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 |
|
startTime = startTime.replace(/\-/g, '/'); |
|
endTime = endTime.replace(/\-/g, '/'); |
|
//将计算间隔类性字符转换为小写 |
|
diffType = diffType.toLowerCase(); |
|
let sTime = new Date(startTime); //开始时间 |
|
let eTime = new Date(endTime); //结束时间 |
|
//作为除数的数字 |
|
let timeType = 1; |
|
switch (diffType) { |
|
case 'second': |
|
timeType = 1000; |
|
break; |
|
case 'minute': |
|
timeType = 1000 * 60; |
|
break; |
|
case 'hour': |
|
timeType = 1000 * 3600; |
|
break; |
|
case 'day': |
|
timeType = 1000 * 3600 * 24; |
|
break; |
|
default: |
|
break; |
|
} |
|
return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(timeType)); |
|
} |
|
|
|
|
|
// 时间转换(将秒转换为时分秒格式) |
|
function changeTimeFormat(data) { |
|
let duration; |
|
let h = parseInt(data / 3600); |
|
let m = parseInt((data % 3600) / 60); |
|
let s = (data % 3600) % 60; |
|
|
|
h = h < 10 ? '0' + h : h; |
|
m = m < 10 ? '0' + m : m; |
|
s = s < 10 ? '0' + s : s; |
|
if (parseInt(h) > 0) { |
|
duration = h + ':' + m + ':' + s; |
|
} else { |
|
duration = m + ':' + s; |
|
} |
|
return duration; |
|
} |
|
|
|
// 格式化手机号 |
|
function formatPhoneOnkeyUp(mobile) { |
|
var value = mobile.replace(/\D/g, '').substring(0, 11); |
|
var valueLen = value.length; |
|
if (valueLen > 3 && valueLen < 8) { |
|
value = `${value.substr(0, 3)} ${value.substr(3)}`; |
|
} else if (valueLen >= 8) { |
|
value = `${value.substr(0, 3)} ${value.substr(3, 4)} ${value.substr(7)}`; |
|
} |
|
return value; |
|
} |
|
|
|
function httpRequest(url, data, method) { |
|
let m = method || 'GET'; |
|
let d = data || {}; |
|
let accessToken = wx.getStorageSync('token'); |
|
if (accessToken) { |
|
let refresh_token = wx.getStorageSync("refresh_token") |
|
let token = wx.getStorageSync("token") |
|
let src = `api/refresh-token?refreshToken=${refresh_token}&token=${token}` |
|
// return |
|
// wx.pro.request({ |
|
// url: src, |
|
// method: "GET" |
|
// }).then((res) => { |
|
// if (res.code == '200') { |
|
// wx.setStorageSync('token', res.data.token); |
|
// wx.setStorageSync("refresh_token",res.data.refresh_token) |
|
if (wx.getStorageSync('token')) { |
|
d.token = wx.getStorageSync('token') |
|
} |
|
return wx.pro.request({ |
|
url, |
|
data: d, |
|
method: m |
|
}); |
|
// } else { |
|
// wx.removeStorageSync('userInfo') |
|
// wx.removeStorageSync('token') |
|
// wx.removeStorageSync('refresh_token') |
|
// wx.showToast({ |
|
// title: res.msg, |
|
// icon: 'none', |
|
// duration: 2000 |
|
// }) |
|
// } |
|
// }); |
|
} else { |
|
return wx.pro.request({ |
|
url, |
|
data: d, |
|
method: m |
|
}); |
|
} |
|
} |
|
|
|
|
|
module.exports = { |
|
formatTime1, |
|
formatTime: formatTime, |
|
getDateDiff, |
|
getDateDiff1, |
|
getNowFormatDate, |
|
httpRequest, |
|
//时间转换 |
|
changeTimeFormat, |
|
getFormatDate, |
|
getFormatDate1, |
|
getFormatDate2, |
|
//手机号转换 |
|
formatPhoneOnkeyUp, |
|
formatTimeStamp, |
|
}; |