import WebApi from '../../lib/ajax/webapi';

class Api extends WebApi {
  constructor() {
    super('https://wap.yj.cn.com', { dbName: 'loushu', tableName: 'api' });

    this.send = this.send.bind(this);
  }
  /**
   * 超时提示
   * 
   * @private
   * @type {string}
   * @memberOf Api
   */
  private timeoutStr: string = '';
  /**
   * 执行成功后的函数
   * 
   * @public
   * @type {Function}
   * @memberOf Api
   */
  public send(params): void {
    this.post({
      api: params.api,
      type: params.type,
      timeout: params.timeout ? params.timeout : 0,
      params: params.params ? params.params : {},
      timeoutCallback: (e) => {
        if (params.timeoutCallback) {
          params.timeoutCallback();
        }
      },
      //timeoutStr: params.timeoutStr ? params.timeoutStr : this.timeoutStr,
      success: params.success ? (result, status, cacheUpdate) => params.success(result, status, cacheUpdate) : () => '',
      //complete: params.complete,
      isCache: false,
      //cacheReadSuccess: params.cacheReadSuccess
    });
  }
}

// WebApi初始化
WebApi.response = function(result: any, callback: Function): void {
  if (result.retCode === '0000') {
    callback(true);
  } else if (result.retCode === '9998') {
    console.log('请登录');
  } else if (result.retCode !== '0002') {
    // if (result.retMsg) {
    //   Toast.fail(result.retMsg);
    // }
    callback(false);
  }
};

const ApiClass = new Api();


export default ApiClass;