base.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * 数据模型基类
  3. */
  4. class BaseModel {
  5. model = null
  6. transformModel = null
  7. /**
  8. * 构造函数,初始化模型和转换函数
  9. */
  10. constructor() {
  11. this.model = this.createModel()
  12. this.transformModel = this.transform.bind(this)
  13. }
  14. /**
  15. * 数据转换方法,用于格式化和更新模型数据
  16. * @param {Object} data - 要转换的数据
  17. * @param {boolean} isInit - 是否为初始化状态,默认为false
  18. * @returns {Object} 返回格式化后的模型数据
  19. */
  20. transform(data, isInit = false) {
  21. const model = this.formatModel(data, isInit)
  22. this.model = model
  23. return model
  24. }
  25. /**
  26. * 预留的格式化模型方法,用于子类覆盖以实现特定的数据格式化逻辑
  27. * @param {Object} data - 要格式化的数据
  28. * @param {boolean} isInit - 是否为初始化状态,默认为false
  29. * @returns {Object} 返回格式化后的数据
  30. */
  31. formatModel (data, isInit = false) {
  32. return data
  33. }
  34. /**
  35. * 预留的格式化创建方法,创建一个空的模型对象,用于子类初始化或重写以提供特定的模型结构
  36. * @returns {Object} 返回一个空的模型对象
  37. */
  38. createModel () {
  39. return {}
  40. }
  41. }
  42. export default BaseModel