// 用来保存图片的函数
|
|
// params: 需要授权的内容
|
|
// scope.userInfo 用户信息
|
|
// scope.userLocation 地理位置
|
|
// scope.userLocationBackground 后台定位 微信小程序
|
|
// scope.address 通信地址
|
|
// scope.record 录音功能
|
|
// scope.writePhotosAlbum 保存到相册 抖音小程序的返回值是scope.album
|
|
// scope.camera 摄像头
|
|
// scope.invoice 获取发票
|
|
// scope.invoiceTitle 发票抬头
|
|
// scope.werun wx.getWeRunData 微信运动步数
|
|
const scopeList = {
|
|
userInfo: 'scope.userInfo',
|
|
userLocation: 'scope.userLocation',
|
|
userLocationBackground: 'scope.userLocationBackground',
|
|
address: 'scope.address',
|
|
record: 'scope.record',
|
|
writePhotosAlbum: 'scope.writePhotosAlbum',
|
|
camera: 'scope.camera',
|
|
invoice: 'scope.invoice',
|
|
invoiceTitle: 'scope.invoiceTitle',
|
|
werun: 'scope.werun',
|
|
}
|
|
const authorize = ({
|
|
scope,
|
|
successfn,
|
|
failfn,
|
|
}) => {
|
|
if (!scopeList[scope]) {
|
|
uni.showToast({
|
|
title: 'scope参数错误',
|
|
icon: 'error'
|
|
})
|
|
return
|
|
}
|
|
uni.authorize({
|
|
scope: scopeList[scope],
|
|
success() {
|
|
successfn()
|
|
},
|
|
fail() {
|
|
failfn()
|
|
}
|
|
})
|
|
}
|
|
|
|
// 检验手机号格式
|
|
const checkPhone = (phone) => {
|
|
if (!phone || !/^1[3-9]\d{9}$/.test(phone)) {
|
|
return false
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// 转换时间戳为yyyy-mm-dd
|
|
// params: 时间戳
|
|
// return yyyy-mmm-dd
|
|
const formatTime = (time) => {
|
|
if (!time) {
|
|
return '时间格式错误,需要传入时间戳'
|
|
}
|
|
const date = new Date(time)
|
|
const year = date.getFullYear()
|
|
const month = String(date.getMonth() + 1).padStart(2, '0')
|
|
const day = String(date.getDate()).padStart(2, '0')
|
|
return `${year}-${month}-${day}`
|
|
}
|
|
|
|
// 计算yyyy-mm-dd与当前时间的差值
|
|
// params: yyyy-mm-dd格式的字符串
|
|
// return: 差值(天)
|
|
const calculateDateDifference = (dateString) => {
|
|
if (!dateString) {
|
|
return '时间格式错误,需要传入yyyy-mm-dd格式的字符串'
|
|
}
|
|
// 传入值为yyyy-mm-dd格式的字符串
|
|
const inputDate = new Date(dateString)
|
|
// 化为时间戳
|
|
// const inputTime = inputDate.getTime()
|
|
const currentDate = new Date()
|
|
const timeDifference = inputDate - currentDate
|
|
|
|
if (!(currentDate.setHours(0, 0, 0, 0) - inputDate.setHours(0, 0, 0, 0))) {
|
|
return 0
|
|
}
|
|
// 如果为负 返回-1
|
|
if (timeDifference < 0) {
|
|
return -1
|
|
}
|
|
// 计算天数
|
|
const dayDifference = Math.ceil(timeDifference / (1000 * 60 * 60 * 24))
|
|
|
|
return dayDifference
|
|
}
|
|
|
|
export {
|
|
authorize,
|
|
checkPhone,
|
|
formatTime,
|
|
calculateDateDifference
|
|
}
|