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