UNPKG

@df8080/vue2-ui

Version:

🎨 一个基于 Vue 2 的 UI 组件库,目前主要面向微信小程序开发场景,也适用于其他移动端项目。

76 lines (69 loc) 1.51 kB
/** * @description 获取文件扩展名 * @param url 文件地址 * @return 扩展名 */ export const getFileExtension = (url) => { const match = url.match(/\.([a-zA-Z0-9]+)(?=\?|$)/) return match ? match[1] : null } /** * @description 预览文件 * @param url 文件地址 */ export const previewFile = (url) => { const fileType = getFileExtension(url) if (!fileType) { console.error('不合法的文件类型') return } return new Promise((resolve, reject) => { const fail = () => { uni.showToast({ title: '预览失败,请重试', icon: 'none' }) reject() } uni.downloadFile({ url, success: (res) => { const filePath = res.tempFilePath uni.openDocument({ filePath, fileType, success: () => { resolve() }, fail, }) }, fail, }) }) } /** * @description 分享文件 * @param url 文件地址 * @param fileName 文件名 */ export const shareFile = (url, fileName) => { return new Promise((resolve, reject) => { const fail = () => { uni.showToast({ title: '分享文件失败,请重试', icon: 'none' }) reject() } uni.downloadFile({ url, success: (res) => { const filePath = res.tempFilePath wx.shareFileMessage({ filePath, fileName, success() { resolve() }, fail, }) }, fail, }) }) }