qrcode.js 934B

12345678910111213141516171819202122232425262728293031323334
  1. import { getCodeScene } from '@/services/common'
  2. import { parseQueryString } from './tools'
  3. /**
  4. * 获取二维码参数
  5. * 微信小程序 基础库 2.1.2 开始支持
  6. * @param {*} scene 场景值
  7. */
  8. export function getQrCodeParams(sceneID) {
  9. if (!sceneID) {
  10. console.error('未解析到二维码场景值')
  11. return Promise.reject('未解析到二维码场景值')
  12. }
  13. console.log('解析到二维码场景 ID', sceneID)
  14. return new Promise((resolve, reject) => {
  15. getCodeScene(sceneID).then((res) => {
  16. const data = typeof res === 'string' ? JSON.parse(res) : res
  17. const params = parseQueryString(data.scene || '')
  18. console.log('解析到二维码场景参数: ', params)
  19. resolve({
  20. ...params,
  21. '__raw': data.scene,
  22. })
  23. }).catch(err => {
  24. console.error('解析二维码场景参数失败', err)
  25. reject('解析二维码场景参数失败')
  26. })
  27. })
  28. }