index.js 856 B

12345678910111213141516171819202122232425262728293031323334
  1. const cloud = require('wx-server-sdk');
  2. cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV });
  3. // 生成小程序码(能量师专属推广码)
  4. exports.main = async (event) => {
  5. const { referralCode } = event;
  6. const { OPENID } = cloud.getWXContext();
  7. if (!referralCode) {
  8. return { code: 400, error: '缺少推广码' };
  9. }
  10. try {
  11. const result = await cloud.openapi.wxacode.get({
  12. path: `pages/index/index?ref=${referralCode}`,
  13. width: 280,
  14. isHyaline: false,
  15. autoColor: true,
  16. });
  17. // 将 Buffer 上传到云存储
  18. const uploadRes = await cloud.uploadFile({
  19. cloudPath: `qrcode/${OPENID}_${referralCode}_${Date.now()}.jpg`,
  20. fileContent: result.buffer,
  21. });
  22. return {
  23. code: 0,
  24. fileID: uploadRes.fileID,
  25. };
  26. } catch (err) {
  27. return { code: 500, error: err.message };
  28. }
  29. };