猫妈狗爸伴宠师小程序前端代码
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.

50 lines
1.4 KiB

  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. // 阿里云配置
  6. const ossConfig = {
  7. url: 'https://image.hhlm1688.com/',
  8. config: {
  9. //桶的地址
  10. region: 'oss-cn-guangzhou',
  11. //id
  12. accessKeyId: 'LTAI5tQSs47izVy8DLVdwUU9',
  13. //密钥
  14. accessKeySecret: 'qHI7C3PaXYZySr84HTToviC71AYlFq',
  15. //桶的名字
  16. bucket: 'hanhaiimage',
  17. endpoint: 'oss-cn-shenzhen.aliyuncs.com',
  18. }
  19. }
  20. let date = new Date()
  21. date = date.setHours(date.getHours() + 1)
  22. let extime = "" + new Date(date).toISOString()
  23. let policyText = {
  24. "expiration": extime,
  25. "conditions": [
  26. ["content-length-range", 0, 1024 * 1024 * 100] // 设置上传文件的大小限制
  27. ]
  28. };
  29. let config = {
  30. accessid: ossConfig.config.accessKeyId,
  31. accesskey: ossConfig.config.accessKeySecret,
  32. osshost: ossConfig.url,
  33. policyBase64: Base64.encode(JSON.stringify(policyText))
  34. }
  35. let message = config.policyBase64;
  36. let bytes = Crypto.HMAC(Crypto.SHA1, message, config.accesskey, {
  37. asBytes: true
  38. });
  39. let signature = Crypto.util.bytesToBase64(bytes);
  40. let timetamp = new Date().getTime();
  41. let OSSConfig = {
  42. name: 'aliyun',
  43. host: config.osshost,
  44. accessid: config.accessid,
  45. signature: signature,
  46. policyBase64: config.policyBase64,
  47. }
  48. export default OSSConfig;