5 changed files with 159 additions and 40 deletions
@ -0,0 +1,73 @@ |
|||
import request from '@/utils/request/request' |
|||
import urlRequest from '@/utils/request' |
|||
|
|||
import storage from '@/utils/storage' |
|||
import dayjs from "dayjs" |
|||
|
|||
const ossRequest = new request({ |
|||
// 接口请求地址
|
|||
baseUrl: 'https://server.jimeigroup.cn/api/', |
|||
// 服务器本地上传文件地址
|
|||
fileUrl: 'https://server.jimeigroup.cn/api/', |
|||
// 服务器上传图片默认url
|
|||
defaultUploadUrl: 'upload/image', |
|||
// 设置请求头(如果使用报错跨域问题,可能是content-type请求类型和后台那边设置的不一致)
|
|||
header: { |
|||
'content-type': 'application/json;charset=utf-8' |
|||
}, |
|||
// 请求超时时间, 单位ms(默认15000)
|
|||
timeout: 15000, |
|||
// 默认配置(可不写)
|
|||
config: { |
|||
// 是否自动提示错误
|
|||
isPrompt: true, |
|||
// 是否显示加载动画
|
|||
load: true, |
|||
// 是否使用数据工厂
|
|||
isFactory: true |
|||
} |
|||
}) |
|||
|
|||
export const ossUploadFile = async (file) => { |
|||
console.log(file) |
|||
// 获取临时凭证
|
|||
let sts = storage.get('sts'); |
|||
if (!sts) { |
|||
const stsRes = await ossRequest.get('oss/getPostForm') |
|||
sts = stsRes.data.data |
|||
storage.set('sts', sts, 60) |
|||
} |
|||
const {polocyBase64, signature} = sts; |
|||
var suffix = file.name.substring(file.name.lastIndexOf(".")); |
|||
const fileName = dayjs().format('YYYYMMDD') + '/' + uni.$u.guid() + suffix; |
|||
return new Promise((reso, rej) => { |
|||
uni.uploadFile({ |
|||
url: 'https://oss.jimeigroup.cn', // 开发者服务器的URL。
|
|||
filePath: file.path, |
|||
name: 'file', // 必须填file。
|
|||
formData: { |
|||
key: fileName, |
|||
'policy': polocyBase64, |
|||
'OSSAccessKeyId': 'LTAI5t8UTh8CTXEi2dYxobhj', |
|||
'success_action_status': '200', //让服务端返回200,不然,默认会返回204
|
|||
'signature': signature, |
|||
// 'x-oss-security-token': this.stsToken,
|
|||
}, |
|||
success: () => { |
|||
urlRequest.post('upload/addFile', { |
|||
storage: 'aliyun', |
|||
domain: 'https://oss.jimeigroup.cn', |
|||
file_name: file.name, |
|||
file_path: fileName, |
|||
file_size: file.size, |
|||
file_ext: suffix |
|||
}).then(res => { |
|||
reso(res) |
|||
}) |
|||
}, |
|||
fail: err => { |
|||
rej(err) |
|||
} |
|||
}); |
|||
}) |
|||
} |
@ -1,6 +1,7 @@ |
|||
{ |
|||
"dependencies": { |
|||
"@climblee/uv-ui": "^1.1.19-4", |
|||
"dayjs": "^1.11.10", |
|||
"weixin-js-sdk": "^1.6.5" |
|||
} |
|||
} |
|||
|
Loading…
Reference in new issue