import request from '@/utils/request' import { uuid } from '@/utils' /** * 随机创建文件名称. */ const radmonFilename = (filename) => { const suffix = filename ? filename.substring(filename.lastIndexOf('.')) : '' return `manager-${uuid()}${suffix}` } /** * 获取url. */ const getAccessImgUrl = (key) => { if (!key) { return '' } if (/^https?:\/\//i.test(key)) { return key } if (key.startsWith('/')) { return `${process.env.VUE_APP_OSS_URL}${key}` } return `${process.env.VUE_APP_OSS_URL}/${key}` } /** * 简单上传 * @param {*} fileObj 文件对象 */ const simpleUploadFlie = (fileObj, dir) => { return new Promise((resolve, reject) => { const filename = fileObj.customFilename || radmonFilename(fileObj.file.name) const key = `${dir || 'other'}/${filename}` const formData = new FormData() formData.append('file', fileObj.file) formData.append('key', key) request({ url: '/ali-yun/oss/upload', method: 'post', data: formData }).then(res => { const body = res.body || {} resolve({ name: body.name || key, url: body.url || getAccessImgUrl(body.name || key), res: body.res || { status: 200 } }) }).catch(er => { console.error(er) reject(er) }) }) } export { radmonFilename, simpleUploadFlie, getAccessImgUrl }