MineSettingDatasModel.ets 5.62 KB

import HashMap from '@ohos.util.HashMap';
import { HttpUrlUtils, ResponseDTO, WDHttp } from 'wdNetwork';
import { Logger, SPHelper } from 'wdKit';
import { MineMainSettingFunctionItem } from '../viewmodel/MineMainSettingFunctionItem';
import { SpConstants } from 'wdConstant/Index';
import { CheckSetPasswordItem } from '../viewmodel/CheckSetPasswordItem';


const TAG = "MineSettingDatasModel"

/**
 * 我的设置页面 所有数据 获取封装类
 */
export class MineSettingDatasModel {

  /**
   * 评论 关注 收藏 等7个数据
   * 包含名字和图标
   */
   static getMineMainSettingFunctionItemData() {
    let mainSettingData: MineMainSettingFunctionItem[] = []
    mainSettingData.push(new MineMainSettingFunctionItem(null, '账户与安全', '18888888888', 0, false,"account"))
    let pushState=SPHelper.default.getSync(SpConstants.SETTING_PUSH_SWITCH,false) as boolean
    mainSettingData.push(new MineMainSettingFunctionItem(null, '接收推送', null, 1, pushState,"push_switch"))
    mainSettingData.push(new MineMainSettingFunctionItem(null, '隐私设罝', null, 0, false,"private_setting"))
    let wifiState=SPHelper.default.getSync(SpConstants.SETTING_WIFI_IMAGE_SWITCH,false) as boolean
    mainSettingData.push(new MineMainSettingFunctionItem(null, '仅wifi网络加载图片', null, 1, wifiState,"wifi_switch"))
     let videoState=SPHelper.default.getSync(SpConstants.SETTING_WIFI_VIDEO_SWITCH,false) as boolean
    mainSettingData.push(new MineMainSettingFunctionItem(null, 'wifi网络情况下自动播放视频', null, 1, videoState,"video_switch"))
     let suspensionState=SPHelper.default.getSync(SpConstants.SETTING_SUSPENSION_SWITCH,false) as boolean
    mainSettingData.push(new MineMainSettingFunctionItem(null, '开启播放器悬浮窗', null, 1, suspensionState,"suspensionState_switch"))
    // this.mainSettingData.push(new MineMainSettingFunctionItem(null, null, null, 2, null,""))
    mainSettingData.push(new MineMainSettingFunctionItem(null, '清理缓存', '32MB', 0, false,"clear_cache"))
    // this.mainSettingData.push(new MineMainSettingFunctionItem(null, '评价我们', null, 0, false,""))

    return mainSettingData
  }

  /**
   * 评论 关注 收藏 等7个数据
   * 包含名字和图标
   */
  static getAccountAndSecuritySettingData():MineMainSettingFunctionItem[]{
    let accountAndSecurityData: MineMainSettingFunctionItem[] = []
    accountAndSecurityData.push(new MineMainSettingFunctionItem(null, '更换手机号', '18888888888', 0, false,""))
    accountAndSecurityData.push(new MineMainSettingFunctionItem(null, '设置密码', null, 0, false,""))
    accountAndSecurityData.push(new MineMainSettingFunctionItem(null, null, null, 2, null,""))
    // this.accountAndSecurityData.push(new MineMainSettingFunctionItem($r('app.media.account_qqicon'), '绑定QQ', '立即绑定', 0, false,""))
    // this.accountAndSecurityData.push(new MineMainSettingFunctionItem($r('app.media.account_wechaticon'), '绑定微信', '立即绑定', 0, false,""))
    // this.accountAndSecurityData.push(new MineMainSettingFunctionItem($r('app.media.account_weiboicon'), '绑定新浪微博', '立即绑定', 0, false,""))
    // this.accountAndSecurityData.push(new MineMainSettingFunctionItem($r('app.media.account_appleicon'), 'Apple ID', null, 0, false,""))
    // this.accountAndSecurityData.push(new MineMainSettingFunctionItem(null, null, null, 2, null,""))

    accountAndSecurityData.push(new MineMainSettingFunctionItem(null, '注销账号', null, 0, false,""))

    return accountAndSecurityData
  }



  //  网络请求设置数据
  fetchAppointmentListData(pageSize:string,pageNum:string) {
    // let url = HttpUrlUtils.getAppointmentListDataUrl()+ `?pageSize=${pageSize}&pageNum=${pageNum}`
    // let headers: HashMap<string, string> = HttpUrlUtils.getYcgCommonHeaders();
    // return WDHttp.get<ResponseDTO<MineAppointmentListItem>>(url, headers)
  };

  // getAppointmentListData(pageSize:string,pageNum:string): Promise<MineAppointmentListItem> {
  //   return new Promise<MineAppointmentListItem>((success, error) => {
  //     Logger.info(TAG, `getAppointmentList start`);
  //     this.fetchAppointmentListData(pageSize,pageNum).then((navResDTO: ResponseDTO<MineAppointmentListItem>) => {
  //       if (!navResDTO) {
  //         error("page data invalid");
  //         return
  //       }
  //       Logger.info(TAG, "getAppointmentList then,AppointmentResDTO.timeStamp:" + navResDTO.timestamp);
  //       let navigationBean = navResDTO.data
  //       success(navigationBean);
  //     }).catch((err: Error) => {
  //       Logger.error(TAG, `fetchAppointmentListDataApi catch, error.name : ${err.name},  error.message:${err.message}`);
  //       error(err);
  //     })
  //   })
  // }


  /**
   * 判断是否设置过密码
   */
  static checkSetPassword(): Promise<CheckSetPasswordItem> {
    return new Promise<CheckSetPasswordItem>((success, error) => {
      Logger.info(TAG, `checkSetPassword start`);
      MineSettingDatasModel.fetchCheckSetPassword().then((navResDTO: ResponseDTO<CheckSetPasswordItem>) => {
        if (!navResDTO || navResDTO.code != 0) {
          error(null)
          return
        }
        Logger.info(TAG, "checkSetPassword then,checkSetPasswordResDTO.timeStamp:" + navResDTO.timestamp);
        let navigationBean = navResDTO.data as CheckSetPasswordItem
        success(navigationBean);
      }).catch((err: Error) => {
        Logger.error(TAG, `checkSetPassword catch, error.name : ${err.name},  error.message:${err.message}`);
        error(null)
      })
    })
  }

  static fetchCheckSetPassword() {
    let url = HttpUrlUtils.checkSetPassword()
    return WDHttp.get<ResponseDTO<CheckSetPasswordItem>>(url)
  };

}