import Crypto from './crypto.js'; import './hmac.js'; import './sha1.js'; import Util from '@/libs/util' import {Base64} from './base64.js'; let date=new Date() date=date.setHours(date.getHours() + 1) let extime=""+new Date(date).toISOString() var policyText = { "expiration": extime, //设置该Policy的失效时间,超过这个失效时间之后,就没有办法通过这个policy上传文件了 "conditions": [ ["content-length-range", 0, 1024*1024*100] // 设置上传文件的大小限制 ] }; var config={ accessid:'LTAI4FzqQHnk4rozqLZ8jCNj', accesskey:'mveW7B1OyFoKUkHm8WsxmrjHmkJWHq', osshost:'https://huoran.oss-cn-shenzhen.aliyuncs.com', policyBase64:Base64.encode(JSON.stringify(policyText)) } var message = config.policyBase64; var bytes = Crypto.HMAC(Crypto.SHA1, message, config.accesskey, { asBytes: true }) ; var signature = Crypto.util.bytesToBase64(bytes); var timetamp = new Date().getTime(); function random_string(len) {   len = len || 32;   var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';   var maxPos = chars.length;   var pwd = '';   for (let i = 0; i < len; i++) {   pwd += chars.charAt(Math.floor(Math.random() * maxPos)); } return pwd; } var OSS={ name:'aliyun', host:config.osshost, accessid:config.accessid, signature:signature, policyBase64:config.policyBase64, } export default function(tempFilePaths, callback) { const ext = Util.getFileExt(tempFilePaths) const fileName = Date.now() + '.' + ext uni.uploadFile({    url: OSS.host,    filePath: tempFilePaths, fileType: '', name: 'file', formData: { name: fileName, key: fileName,//文件名   policy: OSS.policyBase64, // 输入你获取的的policy OSSAccessKeyId: OSS.accessid, // 输入你的AccessKeyId success_action_status: '200', // 让服务端返回200,不然,默认会返回204 signature: OSS.signature, // 输入你获取的的signature }, success: (res) => { callback({ name: fileName, url: OSS.host + '/' + fileName, ext }) }, fail: (res) => { console.log(res); } }) };