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.
183 lines
4.8 KiB
183 lines
4.8 KiB
const app = getApp(); |
|
import store from '@/store' |
|
|
|
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 chooseImages(callback) { |
|
console.log('weixinupload') |
|
uni.chooseImage({ |
|
count: 1, |
|
sourceType: ['album', 'camera'], |
|
success: res => { |
|
const tempFilePaths = res.tempFilePaths; |
|
|
|
for (let i = 0; i < tempFilePaths.length; i++) { |
|
uni.getImageInfo({ |
|
src: tempFilePaths[i], |
|
success: image => { |
|
uni.showLoading({ |
|
title: '图片上传中', |
|
mask: true |
|
}); |
|
uni.uploadFile({ |
|
url: `${app.globalData.baseURL}api/upload`, |
|
file: image, |
|
filePath: image.path, |
|
header: { |
|
Authorization: 'Bearer ' + uni.getStorageSync('login_status'), |
|
}, |
|
name: 'file', |
|
success: res => { |
|
if (callback) { |
|
callback(JSON.parse(res.data).link); |
|
} |
|
}, |
|
fail: err => { |
|
uni.showToast({ |
|
title: '上传图片失败', |
|
icon: 'none', |
|
duration: 2000 |
|
}); |
|
}, |
|
complete: res => { |
|
uni.hideLoading(); |
|
} |
|
}); |
|
}, |
|
fail: err => { |
|
uni.showToast({ |
|
title: '获取图片信息失败', |
|
icon: 'none', |
|
duration: 2000 |
|
}); |
|
} |
|
}); |
|
} |
|
} |
|
}); |
|
} |
|
|
|
function chooseImages2(callback) { |
|
uni.chooseImage({ |
|
count: 3, |
|
sourceType: ['album', 'camera'], |
|
success: res => { |
|
const tempFilePaths = res.tempFilePaths; |
|
|
|
for (let i = 0; i < tempFilePaths.length; i++) { |
|
uni.getImageInfo({ |
|
src: tempFilePaths[i], |
|
success: image => { |
|
uni.showLoading({ |
|
title: '图片上传中', |
|
mask: true |
|
}); |
|
uni.uploadFile({ |
|
url: `${app.globalData.baseURL}api/upload`, |
|
file: image, |
|
filePath: image.path, |
|
header: { |
|
Authorization: 'Bearer ' + uni.getStorageSync('login_status') |
|
}, |
|
name: 'file', |
|
success: res => { |
|
if (callback) { |
|
callback(JSON.parse(res.data).link); |
|
} |
|
}, |
|
fail: err => { |
|
uni.showToast({ |
|
title: '上传图片失败', |
|
icon: 'none', |
|
duration: 2000 |
|
}); |
|
}, |
|
complete: res => { |
|
uni.hideLoading(); |
|
} |
|
}); |
|
}, |
|
fail: err => { |
|
uni.showToast({ |
|
title: '获取图片信息失败', |
|
icon: 'none', |
|
duration: 2000 |
|
}); |
|
} |
|
}); |
|
} |
|
} |
|
}); |
|
} |
|
|
|
const getWeek = date => { |
|
let timeDate = new Date(date.replace(/-/g, "/")); //兼容IOS |
|
|
|
let month = timeDate.getMonth() + 1, |
|
day = timeDate.getDay(); |
|
return addZero(month) + '.' + addZero(day) + ' ' + '周' + '日一二三四五六'.charAt(day); |
|
}; |
|
|
|
const addZero = function (num) { |
|
num = num.toString(); |
|
return num[1] ? num : '0' + num; |
|
}; |
|
|
|
const setTime = val => { |
|
let date = val.split(' ')[0]; |
|
let times = val.split(' ')[1]; |
|
let day = date.split('-')[1] + '.' + date.split('-')[2]; |
|
let time = times.split(':')[0] + ':' + times.split(':')[1]; |
|
return day + ' ' + time; |
|
}; |
|
|
|
const formatRichText = (html) => { |
|
let newContent = html.replace(/<img[^>]*>/gi, function (match, capture) { |
|
match = match |
|
.replace(/style="[^"]+"/gi, "") |
|
.replace(/style='[^']+'/gi, ""); |
|
match = match |
|
.replace(/width="[^"]+"/gi, "") |
|
.replace(/width='[^']+'/gi, ""); |
|
match = match |
|
.replace(/height="[^"]+"/gi, "") |
|
.replace(/height='[^']+'/gi, ""); |
|
return match; |
|
}); |
|
newContent = newContent.replace( |
|
/style="[^"]+"/gi, |
|
function (match, capture) { |
|
match = match |
|
.replace(/width:[^;]+;/gi, "max-width:100%;") |
|
.replace(/width:[^;]+;/gi, "max-width:100%;"); |
|
return match; |
|
} |
|
); |
|
newContent = newContent.replace( |
|
/\<img/gi, |
|
'<img style="max-width:100%;height:auto;display:block;margin-top:0;margin-bottom:0;"' |
|
); |
|
return newContent; |
|
}; |
|
|
|
module.exports = { |
|
formatTime, |
|
chooseImages, |
|
chooseImages2, |
|
getWeek, |
|
setTime, |
|
formatRichText |
|
}; |