|
- /* 处理文件路径 */
- export default { // 拨打电话
- callPhone(phone) {
- uni.makePhoneCall({
- phoneNumber: phone //仅为示例
- });
- },
- // 判断对象是否包含空值
- /*
- ** @return flag
- ** @params 目标对象
- */
- paramsValidate(params) {
- let flag = true;
- for (var key in params) {
- if (params[key] != '0' && !params[key]) {
- return false; // 终止程序
- }
- }
- return flag;
- },
- // 日期2023-01-03转几小时前,刚刚文字
- timeToWords(stringTime) {
- if (stringTime) {
- // 获取当前
- var minute = 1000 * 60;
- var hour = minute * 60;
- var day = hour * 24;
- var week = day * 7;
- var month = day * 30;
- var time1 = new Date().getTime(); //当前的时间戳
- var time2 = Date.parse(new Date(stringTime)); //指定时间的时间戳
- var time = time1 - time2;
- var result = null;
- if (time < 0) {
- result = stringTime
- } else if (time / month >= 1) {
- result = parseInt(time / month) + "月前";
- } else if (time / week >= 1) {
- result = parseInt(time / week) + "周前";
- } else if (time / day >= 1) {
- result = parseInt(time / day) + "天前";
- } else if (time / hour >= 1) {
- result = parseInt(time / hour) + "小时前";
- } else if (time / minute >= 1) {
- result = parseInt(time / minute) + "分钟前";
- } else {
- result = "刚刚";
- }
- return result;
- }
- },
- // 判断是否是json格式
- isJSON(str) {
- if (typeof str == "string") {
- try {
- var obj = JSON.parse(str)
- if (typeof obj == "object" && obj) {
- return true
- } else {
- return false
- }
- } catch (e) {
- return false
- }
- }
- },
- // 电话号码加密
- phonePas(string, type) {
- if (string) {
- let str = string.substring(3, 7)
- return string.replace(str, '****')
- }
- },
- checkPhone(phone) {
- let check = /^(?:(?:\+|00)86)?1[3-9]\d{9}$/g.test(phone);
- return check
- },
- // 身份证校验
- checkIdNumber(idNum) {
- let c = /^\d{6}(18|19|20)\d{2}(0\d|10|11|12)([0-2]\d|30|31)\d{3}[\dXx]$/g.test(idNum);
- return c
- },
- // 字符串截取,str,需要截取的字符串,num需要从第几位截取,endStr-结尾的字符串
- substr(str, num, endStr) {
- return `${str.substring(0,num)}${endStr}`
- },
- // 判断空对象
- isEmpty(obj) {
- return Object.keys(obj).length === 0
- },
- // 年月日转为日期格式
- // 日期转换
- formatYMD(data, format = '-') {
- if (data) {
- let time1 = data.split(' ')
- let time = time1[0].replace('年', '-').replace('月', '-').replace('日', ' ')
- let arr = time.split('-')
- let y = arr[0]
- let m = arr[1] < 10 ? `0${arr[1]}` : arr[1]
- let r = arr[2] < 10 ? `0${arr[2]}` : arr[2]
- // 没有秒自动补全秒
- if (time1[1].split(':').length < 3) {
- return `${y}${format}${m}${format}${r}${time1[1]?time1[1]+':00':''}`
- }
- return `${y}${format}${m}${format}${r}${time1[1]?time1[1]:''}`
- } else {
- return null
- }
- },
- // 日期格式转年月日
- formatToYMD(data) {
- if (data) {
- let time1 = data.split(' ')
- let time = time1[0].replace('-', '年').replace('-', '月')
- let arr = time1[0].split('-')
- let y = arr[0]
- let m = arr[1] < 10 ? `${arr[1].split('0')[1]}` : arr[1]
- let enr = arr[2]
- let r = enr.split('0')[0] ? enr.split('0')[0] : enr.split('0')[1]
- return `${y}年${m}月${r}日 ${time1[1]?time1[1]:''}`
- } else {
- return null
- }
- },
- // 日期格式化
- formatDate: function(dateA, format = 'yyyy-MM-dd HH:mm:ss', splitType = "-") {
- console.log('dateA', dateA)
- const dateB = new Date(dateA).toJSON();
- const date = new Date(+new Date(dateB) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(
- /\.[\d]{3}Z/, '')
- let arr = date.split(" ")
- let dates
- switch (format) {
- case 'yyyy-MM-dd HH:mm:ss':
- dates = date
- break
- case 'yyyy-MM-dd':
- // dates = arr[0]
- dates = arr[0].replace('-', splitType).replace('-', splitType)
- break
- case 'HH:mm:ss':
- dates = arr[1]
- break
- case 'yyyy-MM-dd HH:mm':
- let arr2 = []
- arr2.push(date.split(":")[0])
- arr2.push(date.split(":")[1])
- dates = arr2.join(":")
- break
- case 'MM-dd':
- let newArr = arr[0].split('-')
- let result = []
- if (newArr.length === 3) {
- newArr[1] < 10 ? newArr[1] = newArr[1].split('0')[1] : newArr[1]
- newArr[2] < 10 ? newArr[2] = newArr[2].split('0')[1] : newArr[2]
- result.push(newArr[1])
- result.push(newArr[2])
- dates = result.join(splitType)
- }
- break
- case 'HH:mm':
- let newArr2 = arr[1].split(':')
- let arr3 = []
- arr3.push(newArr2[0])
- arr3.push(newArr2[1])
- dates = arr3.join(':')
- break
- }
- return dates
- },
- // 获取当前月的最后一天
- getLastDay(year, month) {
- const isLeapYear = ((year % 4) == 0) && ((year % 100) != 0) || ((year % 400) == 0)
- const maxDays = [1, 3, 5, 7, 8, 10, 12]
- const middleDays = [4, 6, 9, 11]
- month = Number(month)
- if (month == 2) {
- if (isLeapYear) {
- return 29
- } else {
- return 28
- }
- } else if (maxDays.includes(month)) {
- return 31
- } else if (middleDays.includes(month)) {
- return 30
- }
- },
- // 删除对象属性值为空的属性,obj-传入的对象
- removeProperty(obj) {
- Object.keys(obj).forEach((item) => {
- if (obj[item] === '' || obj[item] === undefined || obj[item] === null || obj[item] === 'null') {
- Reflect.deleteProperty(obj,item)
- }
- })
- return obj
- },
- // base64转path
- base64ToPath(base64) {
- return new Promise(function(resolve, reject) {
- if (typeof window === 'object' && 'document' in window) {
- base64 = base64.split(',')
- var type = base64[0].match(/:(.*?);/)[1]
- var str = atob(base64[1])
- var n = str.length
- var array = new Uint8Array(n)
- while (n--) {
- array[n] = str.charCodeAt(n)
- }
- return resolve((window.URL || window.webkitURL).createObjectURL(new Blob([array], {
- type: type
- })))
- }
- var extName = base64.match(/data\:\S+\/(\S+);/)
- if (extName) {
- extName = extName[1]
- } else {
- reject(new Error('base64 error'))
- }
- var fileName = Date.now() + '.' + extName
- if (typeof plus === 'object') {
- var bitmap = new plus.nativeObj.Bitmap('bitmap' + Date.now())
- bitmap.loadBase64Data(base64, function() {
- var filePath = '_doc/uniapp_temp/' + fileName
- bitmap.save(filePath, {}, function() {
- bitmap.clear()
- resolve(filePath)
- }, function(error) {
- bitmap.clear()
- reject(error)
- })
- }, function(error) {
- bitmap.clear()
- reject(error)
- })
- return
- }
- if (typeof wx === 'object' && wx.canIUse('getFileSystemManager')) {
- var filePath = wx.env.USER_DATA_PATH + '/' + fileName
- wx.getFileSystemManager().writeFile({
- filePath: filePath,
- data: base64.replace(/^data:\S+\/\S+;base64,/, ''),
- encoding: 'base64',
- success: function() {
- resolve(filePath)
- },
- fail: function(error) {
- reject(error)
- }
- })
- return
- }
- reject(new Error('not support'))
- })
- }
- }
- function getLocalFilePath(path) {
- if (path.indexOf('_www') === 0 || path.indexOf('_doc') === 0 || path.indexOf('_documents') === 0 || path.indexOf(
- '_downloads') === 0) {
- return path
- }
- if (path.indexOf('file://') === 0) {
- return path
- }
- if (path.indexOf('/storage/emulated/0/') === 0) {
- return path
- }
- if (path.indexOf('/') === 0) {
- var localFilePath = plus.io.convertAbsoluteFileSystem(path)
- if (localFilePath !== path) {
- return localFilePath
- } else {
- path = path.substr(1)
- }
- }
- return '_www/' + path
- }
- /* base64转文件路径 */
- export function base64ToPath(base64) {
- return new Promise(function(resolve, reject) {
- if (typeof window === 'object' && 'document' in window) {
- base64 = base64.split(',')
- var type = base64[0].match(/:(.*?);/)[1]
- var str = atob(base64[1])
- var n = str.length
- var array = new Uint8Array(n)
- while (n--) {
- array[n] = str.charCodeAt(n)
- }
- return resolve((window.URL || window.webkitURL).createObjectURL(new Blob([array], {
- type: type
- })))
- }
- var extName = base64.match(/data\:\S+\/(\S+);/)
- if (extName) {
- extName = extName[1]
- } else {
- reject(new Error('base64 error'))
- }
- var fileName = Date.now() + '.' + extName
- if (typeof plus === 'object') {
- var bitmap = new plus.nativeObj.Bitmap('bitmap' + Date.now())
- bitmap.loadBase64Data(base64, function() {
- var filePath = '_doc/uniapp_temp/' + fileName
- bitmap.save(filePath, {}, function() {
- bitmap.clear()
- resolve(filePath)
- }, function(error) {
- bitmap.clear()
- reject(error)
- })
- }, function(error) {
- bitmap.clear()
- reject(error)
- })
- return
- }
- if (typeof wx === 'object' && wx.canIUse('getFileSystemManager')) {
- var filePath = wx.env.USER_DATA_PATH + '/' + fileName
- wx.getFileSystemManager().writeFile({
- filePath: filePath,
- data: base64.replace(/^data:\S+\/\S+;base64,/, ''),
- encoding: 'base64',
- success: function() {
- resolve(filePath)
- },
- fail: function(error) {
- reject(error)
- }
- })
- return
- }
- reject(new Error('not support'))
- })
- }
复制代码
来源:https://www.cnblogs.com/zz151/p/17218763.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|