LoginModel.ets 7.69 KB
import HashMap from '@ohos.util.HashMap';
import { HttpUrlUtils, ResponseDTO } from 'wdNetwork';
import { Logger, SPHelper } from 'wdKit';
import { HttpRequest } from 'wdNetwork/src/main/ets/http/HttpRequest';
import { LoginBean } from './LoginBean';
import { CheckVerifyBean } from './CheckVerifyBean';
import {
  SpConstants
} from '../../../../../../../commons/wdNetwork/oh_modules/wdConstant/src/main/ets/constants/SpConstants'


const TAG = 'LoginModel'

export class LoginModel {
  //获取验证码
  sendVerifyCode(number: string) {
    let bean: Record<string, string> = {};
    bean['phoneNum'] = number
    let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders();
    return new Promise<string>((success, fail) => {
      HttpRequest.post<ResponseDTO<string>>(HttpUrlUtils.getVerifyCodeUrl(), bean, headers).then((data: ResponseDTO<string>) => {
        if (!data || !data.data) {
          fail("数据为空")
          return
        }
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data.data)
      }, (error: Error) => {
        fail(error.message)
        Logger.debug("LoginViewModel:error ", error.toString())
      })
    })

  }

  sendVerifyCodeByToken() {
    let bean: Record<string, string> = {};
    // bean['phoneNum'] = number
    let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders();
    return new Promise<string>((success, fail) => {
      HttpRequest.post<ResponseDTO<string>>(HttpUrlUtils.getVerifyCodeByTokenUrl(), bean, headers).then((data: ResponseDTO<string>) => {
        if (!data || !data.data) {
          fail("数据为空")
          return
        }
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data.data)
      }, (error: Error) => {
        fail(error.message)
        Logger.debug("LoginViewModel:error ", error.toString())
      })
    })

  }


  //{"phone":"13625644528","loginType":2,"deviceId":"60da5af6-9c59-3566-8622-8c6c00710994","verificationCode":"644528"}
  appLogin(phone: string, loginType: number, verificationCode: string) {
    let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders();
    let bean: Record<string, Object> = {};
    bean['phone'] = phone
    bean['loginType'] = loginType
    bean['deviceId'] = '60da5af6-9c59-3566-8622-8c6c00710994'
    bean['verificationCode'] = verificationCode
    return new Promise<LoginBean>((success, fail) => {
      HttpRequest.post<ResponseDTO<LoginBean>>(HttpUrlUtils.getAppLoginUrl(), bean, headers).then((data: ResponseDTO<LoginBean>) => {
        Logger.debug("LoginViewModel:success2 ", data.message)
        if (!data || !data.data) {
          fail("数据为空")
          return
        }
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data.data)
      }, (error: Error) => {
        fail(error.message)
        Logger.debug("LoginViewModel:error2 ", error.toString())
      })
    })
  }

  // {"password":"523acd319228efde34e8a30268ee8ca5e4fc421d72affa531676e1765940d22c","phone":"13625644528","loginType":0,"oldPassword":"BA5FD74F827AF9B271FE17CADC489C36","deviceId":"60da5af6-9c59-3566-8622-8c6c00710994"}
  appLoginByPassword(phone: string, loginType: number, password: string, oldPassword: string) {
    let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders();
    let bean: Record<string, string | number> = {};
    bean['phone'] = phone
    bean['loginType'] = loginType
    bean['deviceId'] = '60da5af6-9c59-3566-8622-8c6c00710994'
    bean['password'] = password
    bean['oldPassword'] = oldPassword
    return new Promise<LoginBean>((success, fail) => {
      HttpRequest.post<ResponseDTO<LoginBean>>(HttpUrlUtils.getAppLoginUrl(), bean, headers).then((data: ResponseDTO<LoginBean>) => {
        Logger.debug("LoginViewModel:success2 ", data.message)
        if (!data || !data.data) {
          fail("数据为空")
          return
        }
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data.data)
      }, (error: Error) => {
        Logger.debug("LoginViewModel:error2 ", error.toString())
        fail(error.message)
      })
    })
  }

  //忘记密码 校验验证码 {"verifyCode":"644528","phone":"13625644528"}  去除头部cookie 可以正常访问
  checkVerifyCode(phone: string, verifyCode: string) {
    let bean: Record<string, Object> = {};
    bean['verifyCode'] = verifyCode
    bean['phone'] = phone
    let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders();
    return new Promise<CheckVerifyBean>((success, fail) => {
      HttpRequest.post<ResponseDTO<CheckVerifyBean>>(HttpUrlUtils.getCheckVerifyCodeUrl(), bean, headers).then((data: ResponseDTO<CheckVerifyBean>) => {
        Logger.debug("LoginViewModel:success2 ", data.message)
        if (!data || !data.data) {
          fail("数据为空")
          return
        }
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data.data)
      }, (error: Error) => {
        Logger.debug("LoginViewModel:error2 ", error.toString())
        fail(error.message)
      })
    })
  }

  checkVerifyCodeByToken(verifyCode: string) {
    let bean: Record<string, Object> = {};
    bean['verifyCode'] = verifyCode
    // bean['phone'] = phone
    let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders();
    return new Promise<CheckVerifyBean>((success, fail) => {
      HttpRequest.post<ResponseDTO<CheckVerifyBean>>(HttpUrlUtils.getCheckVerifyByTokenCodeUrl(), bean, headers).then((data: ResponseDTO<CheckVerifyBean>) => {
        Logger.debug("LoginViewModel:success2 ", data.message)
        if (!data || !data.data) {
          fail("数据为空")
          return
        }
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data.data)
      }, (error: Error) => {
        Logger.debug("LoginViewModel:error2 ", error.toString())
        fail(error.message)
      })
    })
  }

  //修改密码  //需要老密码
  resetPassword(password: string, tempToken: string) {
    let bean: Record<string, string> = {};
    // bean['password'] = password;
    // bean['tempToken'] = tempToken;

    let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders();

    return new Promise<string>((success, fail) => {
      HttpRequest.post<ResponseDTO<string>>(HttpUrlUtils.getForgetPasswordUrl(), bean, headers).then((data: ResponseDTO<string>) => {
        if (!data || !data.data) {
          fail("数据为空")
          return
        }
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data.data)
      }, (error: Error) => {
        fail(error.message)
        Logger.debug("LoginViewModel:error ", error.toString())
      })
    })
  }



  //忘记密码 //不需要老密码
  forgotPassword(password: string, tempToken: string) {
    let bean: Record<string, string> = {};
    bean['password'] = password;
    bean['tempToken'] = tempToken;

    let headers: HashMap<string, string> = HttpUrlUtils.getCommonHeaders();
    let JwtToken = SPHelper.default.getSync(SpConstants.USER_JWT_TOKEN, '') as string;

    headers.set('JwtToken',(JwtToken));
    return new Promise<string>((success, fail) => {
      HttpRequest.post<ResponseDTO<string>>(HttpUrlUtils.getForgetPasswordUrl(), bean, headers).then((data: ResponseDTO<string>) => {
        if (!data || !data.data) {
          fail("数据为空")
          return
        }
        if (data.code != 0) {
          fail(data.message)
          return
        }
        success(data.data)
      }, (error: Error) => {
        fail(error.message)
        Logger.debug("LoginViewModel:error ", error.toString())
      })
    })
  }

}