fieldsMap.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /**
  2. * 页面上的数据都来自数据库,且多处 ui 消费,页面直接使用字段会造成耦合和冗余,固在此抽出来统一配置(clientdb 查询方法、概念文字提示等)和处理(对值再计算、格式化等)
  3. * title 显示所使用名称
  4. * field 数据库字段名
  5. * computed 计算表达式配置,只支持除法计算(需要 mapfield 函数支持,也可自行扩展)
  6. * tooltip 对字段解释的提示文字
  7. * formatter 数字格式化的配置,省缺为 ','
  8. * '' 空字符串 则表示不格式化
  9. * ',' 数字格式,例:1000 格式为 1,000
  10. * '%' 百分比格式 例:0.1 格式为 10%
  11. * ':' 时分秒格式 例:90 格式为 00:01:30
  12. * '-' 日期格式 例:1655196831390(值需为时间戳) 格式为 2022-06-14
  13. * stat 对字段做 groupField 时需使用的数据库计算方法,省缺为 'sum'
  14. * 'sum' 表示对字段做求和运算
  15. * 'avg' 表示对字段做平均运算
  16. * '-1' 表示不对字段做运算
  17. * fix 数字保留几位小数,>1 默认不保留小数,<1 默认保留两位小数
  18. * value 默认值 (仅用于 uni-stat-panel 组件) todo: 可移除
  19. * contrast 对比值 (仅用于 uni-stat-panel 组件) todo: 可移除
  20. */
  21. export default [{
  22. title: '日期',
  23. field: 'start_time',
  24. tooltip: '',
  25. formatter: '-',
  26. }, {
  27. title: '日活',
  28. field: 'active_user_count',
  29. tooltip: '选中日期当天的访问用户数',
  30. }, {
  31. title: '周活',
  32. field: 'week_active_user_count',
  33. tooltip: '选中日期所在自然周(包括选中日期在内)的访问用户数',
  34. }, {
  35. title: '日活/周活',
  36. field: 'active_user_count/week_active_user_count',
  37. computed: 'active_user_count/week_active_user_count',
  38. tooltip: '选中日期的访问用户数占周访问用户数的百分比',
  39. formatter: '%',
  40. }, {
  41. title: '月活',
  42. field: 'month_active_user_count',
  43. tooltip: '选中日期所在自然月(包括选中日期在内)的访问用户数',
  44. }, {
  45. title: '日活/月活',
  46. field: 'active_user_count/month_active_user_count',
  47. computed: 'active_user_count/month_active_user_count',
  48. tooltip: '选中日期的访问用户数占月访问用户数的百分比',
  49. formatter: '%',
  50. }]