推广小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.1 KiB

2 months ago
  1. import Crypto from '@/utils/oss-upload/common/crypto/crypto.js.js';
  2. import '@/utils/oss-upload/common/crypto/hmac.js';
  3. import '@/utils/oss-upload/common/crypto/sha1.js';
  4. import { Base64 } from '@/utils/oss-upload/common/crypto/base64.js';
  5. import ossConfig from '@/config.js'
  6. let date = new Date()
  7. date = date.setHours(date.getHours() + 1)
  8. let extime = "" + new Date(date).toISOString()
  9. let policyText = {
  10. "expiration": extime,
  11. "conditions": [
  12. ["content-length-range", 0, 1024 * 1024 * 100] // 设置上传文件的大小限制
  13. ]
  14. };
  15. let config = {
  16. accessid: ossConfig.aliOss.config.accessKeyId,
  17. accesskey: ossConfig.aliOss.config.accessKeySecret,
  18. osshost: ossConfig.aliOss.url,
  19. policyBase64: Base64.encode(JSON.stringify(policyText))
  20. }
  21. let message = config.policyBase64;
  22. let bytes = Crypto.HMAC(Crypto.SHA1, message, config.accesskey, {
  23. asBytes: true
  24. });
  25. let signature = Crypto.util.bytesToBase64(bytes);
  26. let timetamp = new Date().getTime();
  27. let OSSConfig = {
  28. name: 'aliyun',
  29. host: config.osshost,
  30. accessid: config.accessid,
  31. signature: signature,
  32. policyBase64: config.policyBase64,
  33. }
  34. export default OSSConfig;