signature-bus.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // utils/signature-bus.js
  2. // 签名页预填值(base64 PNG data URL)的模块级临时存取。
  3. //
  4. // 背景:签名图片 base64 data URL 过长,不适合通过 navigateTo URL 传参;
  5. // 调用方跳转签名页前用 setSignaturePrefill() 写入,
  6. // 签名页 onLoad 用 consumeSignaturePrefill() 读取(读取后立即清空),
  7. // 避免残留值串扰下一次签名(编辑场景点「重新签名」时回显原签名)。
  8. // 本模块仅承载「跳转前写入 → 签名页读取」的一次性传递,跨页面数据仍走 eventChannel 回传。
  9. var signaturePrefill = ''
  10. /**
  11. * 写入待签名页消费的预填值(base64 data URL,可空字符串)
  12. * @param {string} value
  13. */
  14. export function setSignaturePrefill(value) {
  15. signaturePrefill = value || ''
  16. }
  17. /**
  18. * 读取当前预填值(不消费)
  19. * @returns {string}
  20. */
  21. export function getSignaturePrefill() {
  22. return signaturePrefill
  23. }
  24. /**
  25. * 读取并清空预填值(签名页 onLoad 专用:保证一次性消费,避免下次进入回显旧签名)
  26. * @returns {string}
  27. */
  28. export function consumeSignaturePrefill() {
  29. var v = signaturePrefill
  30. signaturePrefill = ''
  31. return v
  32. }