InterestsHobbiesModel.ets 1.88 KB
import { HttpRequest } from 'wdNetwork/src/main/ets/http/HttpRequest';
import { HttpUrlUtils, ResponseDTO } from 'wdNetwork/Index';
import { Logger, SPHelper } from 'wdKit/Index';
import { SpConstants } from 'wdConstant/Index';


export interface InterestsBean {

  // code : string
  // message : string
  // success : boolean
  // timestamp : number
  data : InterestsList[]

}


export interface InterestsList{

  id : number
  title : string
  pic : string
  name : string
  choose : boolean

}


export class InterestsHobbiesModel {


  getInterestsHobbiesData() {
    return new Promise<InterestsList[]>((success, fail) => {
      HttpRequest.get<ResponseDTO<InterestsList[]>>(HttpUrlUtils.getInterestsUrl()).then((data: ResponseDTO<InterestsList[]>) => {
        if (!data || !data.data) {
          fail("数据为空")
          return
        }
        if (data.code != 0) {
          fail(data.message)
          return
        }
        Logger.debug("InterestsHobbiesModel兴趣偏好数据获取成功:success ", JSON.stringify(data))
        success(data.data);

      }, (error: Error) => {
        Logger.debug("InterestsHobbiesModel兴趣偏好数据获取失败:error ", error.toString())
        fail(error.message)
      })
    })
  }

  updateInterests(){
    let tags = SPHelper.default.getSync(SpConstants.PUBLICVISUTORMODE_INTERESTTAGS,'') as string
    if (tags.length === 0) return
    let bean: Record<string, string> = {};
    bean['tagIds'] = tags
    return new Promise<ResponseDTO>((success, fail) => {
      HttpRequest.post<ResponseDTO>(HttpUrlUtils.getUpdateInterestsUrl(),bean).then((data: ResponseDTO) => {
        if (data.code == 0) {
          Logger.info('InterestsHobbiesModel','updateInterests','更新兴趣成功')
          SPHelper.default.deleteSync(SpConstants.PUBLICVISUTORMODE_INTERESTTAGS)
        }
      }, (error: Error) => {
        fail(error.message)
      })
    })
  }
}