MinePageDatasModel.ets 3.36 KB

import MinePagePersonalFunctionsItem from '../viewmodel/MinePagePersonalFunctionsItem'
import MinePageCreatorFunctionsItem from '../viewmodel/MinePageCreatorFunctionsItem'
import MinePageMoreFunctionModel from '../viewmodel/MinePageMoreFunctionModel';

/**
 * 我的页面 所有数据 获取封装类
 */
class MinePageDatasModel{
  private static instance: MinePageDatasModel;
  personalData:MinePagePersonalFunctionsItem[] = []
  creatorData:MinePageCreatorFunctionsItem[] = []
  moreData:MinePageMoreFunctionModel[] = []


  private constructor() { }

  /**
   * 单例模式
   * @returns
   */
  public static getInstance(): MinePageDatasModel {
    if (!MinePageDatasModel.instance) {
      MinePageDatasModel.instance = new MinePageDatasModel();
    }
    return MinePageDatasModel.instance;
  }




  /**
   * 评论 关注 收藏 等7个数据
   * 包含名字和图标
   */
  getPersonalFunctionsData():MinePagePersonalFunctionsItem[]{
    if(this.personalData.length === 7){
      return this.personalData
    }
    this.personalData.push(new MinePagePersonalFunctionsItem("评论",$r('app.media.mine_comment_icon')))
    this.personalData.push(new MinePagePersonalFunctionsItem("关注",$r('app.media.mine_order_icon')))
    this.personalData.push(new MinePagePersonalFunctionsItem("收藏",$r('app.media.mine_collect_icon')))
    this.personalData.push(new MinePagePersonalFunctionsItem("历史",$r('app.media.mine_history_icon')))
    this.personalData.push(new MinePagePersonalFunctionsItem("消息",$r('app.media.mine_msg_icon')))
    this.personalData.push(new MinePagePersonalFunctionsItem("留言板",$r('app.media.mine_msgboard_icon')))
    this.personalData.push(new MinePagePersonalFunctionsItem("预约",$r('app.media.mine_order_icon')))
    return this.personalData
  }


  /**
   * 发布文章 发布视频 等4个数据
   * 包含名字和图标
   */
  getCreatorFunctionsData():MinePageCreatorFunctionsItem[]{
    if(this.creatorData.length === 4){
      return this.creatorData
    }
    this.creatorData.push(new MinePageCreatorFunctionsItem("发布文章",$r('app.media.mine_active_create_article')))
    this.creatorData.push(new MinePageCreatorFunctionsItem("发布视频",$r('app.media.mine_active_create_video')))
    this.creatorData.push(new MinePageCreatorFunctionsItem("发布动态",$r('app.media.mine_active_create_video')))
    this.creatorData.push(new MinePageCreatorFunctionsItem("发布图集",$r('app.media.mine_active_create_pics')))
    return this.creatorData
  }

  /**
   * 更多功能 扫一扫 我的奖品 等6个数据
   * 包含名字和图标
   */
  getMoreFunctionsData():MinePageCreatorFunctionsItem[]{
    if(this.moreData.length === 6){
      return this.moreData
    }
    this.moreData.push(new MinePageMoreFunctionModel("更多功能",null))
    this.moreData.push(new MinePageMoreFunctionModel("扫一扫",$r('app.media.mine_scan')))
    this.moreData.push(new MinePageMoreFunctionModel("我的奖品",$r('app.media.mine_mygift')))
    this.moreData.push(new MinePageMoreFunctionModel("意见反馈",$r('app.media.mine_suggest')))
    this.moreData.push(new MinePageMoreFunctionModel("设置",$r('app.media.mine_setting')))
    this.moreData.push(new MinePageMoreFunctionModel("关于",$r('app.media.mine_about')))
    return this.moreData
  }


}

const minePageDatasModel = MinePageDatasModel.getInstance()
export default minePageDatasModel as MinePageDatasModel