展品维保小程序前端代码接口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

102 lines
2.5 KiB

// 用来保存图片的函数
// 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
}