Commit 1c04d685 by fengzhaoyu

feat 增加oss上传

parent 6dd980d1
import create from 'dd-store';
import { checkFullScren } from "../../utils/checkFullScren";
import pageStore from './store';
import { getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
import { saveFileInfo, getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
import { getOssPermission, getuploadResource, isParticipate, deleteSchedule, getScheduleDetail, getUserScheduleInTime, modifySchedule, getMeetingRoomRepeatAffairs } from '../../api/request.js'
import { throttle, getCreateShowTime } from './../../utils/utils.js'
import { throttle, getCreateShowTime, getRndInteger } from './../../utils/utils.js'
import { observer } from '/utils/observer.js'
import { resolve } from 'path';
create.Page({
......@@ -1609,60 +1609,71 @@ create.Page({
})
},
// 上传oss文件
addOssFile() {
const that = this
let timestamp = new Date().getTime()
console.log(getApp().globalData.avatar)
getOssPermission().then(res => {
async addOssFile() {
const timestamp = new Date().getTime()
const random = getRndInteger(1000, 10000)
const permisson = await getOssPermission()
const imgInfo = await this.getOssImg()
const key = await new Promise((resolve) => { resolve(permisson.data.data.dir + timestamp + random + '.' + imgInfo.files[0].fileType) })
const fileName = await new Promise((resolve) => { resolve(timestamp + random + '.' + imgInfo.files[0].fileType) })
await this.uploadOssFile(permisson, imgInfo, key)
await this.saveOssFileInfo(permisson, imgInfo, key, fileName)
},
// 获取oss上传图片 选择图片 上传图片到oss
getOssImg() {
return new Promise((resolve, rejects) => {
dd.chooseImage({
count: 2,
sourceType: ['camera', 'album'],
success: (success) => {
dd.uploadFile({
url: res.data.data.host,
fileType: 'image',
fileName: 'file',
filePath: success.filePaths[0],
formData: {
key: res.data.data.dir + timestamp + getApp().globalData.userid,
policy: res.data.data.policy,
OSSAccessKeyId: res.data.data.accessId,
success_action_status: 200,
signature: res.data.data.signature
},
success: () => {
console.log(11111)
const data = {
resourceType: 'accessory',
creatorId: getApp().globalData.userid,
category: '2',
scheduleId: that.store.data.scheduleId,
groupId: that.store.data.groupId,
creatorInfo: getApp().globalData.userInfo,
description: '',
logType: 'schedule_accessory_add',
fileKey: res.data.data.dir + timestamp + getApp().globalData.userid
}
console.log(JSON.stringify(data))
getuploadResource(data).then(su => {
dd.alert({
title: '上传成功',
content: JSON.stringify(su)
})
})
},
fail: (err) => {
dd.alert({
title: '上传失败',
content: JSON.stringify(err)
})
}
});
count: 1,
success: (res) => {
resolve(res)
},
});
console.log(res)
})
},
// 获取的图片上传到oss
uploadOssFile(permisson, imgInfo, key) {
return new Promise(resolve => {
dd.uploadFile({
url: permisson.data.data.host,
fileType: 'image',
fileName: 'file',
filePath: imgInfo.filePaths[0],
formData: {
key: key,
policy: permisson.data.data.policy,
OSSAccessKeyId: permisson.data.data.accessId,
success_action_status: 200,
signature: permisson.data.data.signature
},
success: () => {
resolve()
}
})
})
},
// 上传oss文件
saveOssFileInfo(permisson, imgInfo, key, fileName) {
const data = {
resourceType: 'accessory',
creatorId: getApp().globalData.userid,
category: '2',
scheduleId: this.store.data.scheduleId,
groupId: this.store.data.groupId,
creatorInfo: getApp().globalData.userInfo,
description: '',
logType: 'schedule_accessory_add',
fileInfos: JSON.stringify({
fileId: key,
fileName: fileName,
fileType: imgInfo.files[0].fileType,
fileSize: imgInfo.files[0].size
})
}
saveFileInfo(data).then(result => {
dd.alert({
title: '上传成功',
content: JSON.stringify(result)
})
})
},
//隐藏文件操作浮窗
......
......@@ -150,4 +150,14 @@ export function getCreateShowTime(createdTime) {
export function padZero(val) {
return ("00" + val).slice(-2);
}
/*
获取随机数
min = 0 区间范围 默认0
max = 100 区间范围 默认100
[min, max)
*/
export function getRndInteger(min = 0, max = 100) {
return Math.floor(Math.random() * (max - min)) + min;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment