build-template-data.js 804 B

123456789101112131415161718192021222324252627
  1. module.exports = (templateData, user) => {
  2. const data = {}
  3. for (const template of templateData) {
  4. const isDynamic = /\{.*?\}/.test(template.value)
  5. // 仅支持uni-id-users
  6. if (isDynamic) {
  7. const [collection, field] = template.value.replace(/\{|\}/g, '').split('.')
  8. data[template.field] = collection === 'uni-id-users' ? user[field] || template.value: template.value
  9. } else {
  10. data[template.field] = template.value
  11. }
  12. // switch (template.type) {
  13. // case 'static':
  14. // data[template.field] = template.value
  15. // break
  16. // case 'dynamic':
  17. // data[template.field] = user[template.value] || ''
  18. // break
  19. // default:
  20. // throw new Error(`template type [${template.type}] not supported`)
  21. // }
  22. }
  23. return data
  24. }