plus.ts 806 字节
Newer Older
Q
qiang 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
interface PlusResult extends Record<string, any> {
  code?: number
  message?: string
}

type PlusError = PlusResult

export function warpPlusSuccessCallback(
  resolve: (res: any) => void,
  after?: (res: any) => any
) {
  return function successCallback(data: PlusResult) {
    delete data.code
    delete data.message
    if (typeof after === 'function') {
      data = after(data)
    }
    resolve(data)
  }
}

export function warpPlusErrorCallback(
  reject: (errMsg: string, errRes?: any) => void,
  errMsg?: string
) {
  return function errorCallback(error: PlusError) {
    error = error || {}
    // 一键登录errorCallback新增 appid、metadata、uid 参数返回
    errMsg = error.message || errMsg || ''
    delete error.message
    reject(errMsg, Object.assign({ code: 0 }, error))
  }
}