zhengyiming
2025-03-11 f2025539d8bf4798b90a5ab8a47c5a379ab68e9b
packages/core/src/lifeRechargeServices.ts
@@ -1,37 +1,23 @@
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
import { IRequest, BlLifeRechargeServicesOptions } from './types';
import { BlLifeRechargeServicesOptions } from './types';
import { LifeRechargeConstants } from './lifeRechargeConstants';
import { Request, IRequest } from 'senior-request';
export interface RequestConfig {}
export class BlLifeRechargeServices<T extends IRequest> {
  private request: T;
  request2: T;
  constructor({ request, axiosOptions }: BlLifeRechargeServicesOptions<T>) {
    this.request = request;
    const axiosInstance = axios.create(axiosOptions);
    // @ts-expect-error
    this.request2 = (url: string, opts: any = { method: 'GET' }) => {
      return new Promise((resolve, reject) => {
        axiosInstance
          .request({ ...opts, url })
          .then((res) => {
            //@ts-ignore
            resolve(res);
          })
          .catch((error) => {
            try {
              // const handler = config?.errorConfig?.errorHandler;
              // if (handler) {
              //   handler(error, opts, config);
              // }
            } catch (e) {
              reject(e);
            }
            reject(error);
          });
      });
    };
export class BlLifeRechargeServices<TResponse = any, TRequestOptions = any> {
  private request: IRequest;
  constructor({ axiosConfig }: BlLifeRechargeServicesOptions<TResponse, TRequestOptions>) {
    this.request = Request.create({
      ...axiosConfig,
      // baseURL: process.env.NODE_ENV === 'development' ? '/' : 'https://api.81812333.com',
      timeout: 10 * 1000,
      headers: {
        Accept: 'application/json, text/plain, */*',
        'Content-Type': 'application/json',
        'X-Requested-With': 'XMLHttpRequest',
      },
      withCredentials: true,
    });
  }
  async lifePayPhoneMesssageCodeLogin(body: PhoneMesssageCodeLoginInput, options?: RequestConfig) {
@@ -143,13 +129,84 @@
      ...(options || {}),
    });
  }
  /** 获取生活缴费用户身份会话信息 GET /api/Account/GetLifePayWxIndentity */
  async getLifePayWxIndentity(
    // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
    params: APIgetLifePayWxIndentityParams,
    options?: RequestConfig
  ) {
    return this.request<WxMiniAppIndentityInfo>('/api/Account/GetLifePayWxIndentity', {
      method: 'GET',
      params: {
        ...params,
      },
      ...(options || {}),
    });
  }
  /** 获取微信支付的JSAPI POST /api/LifePay/GetPayOrderForJsAPI */
  async getPayOrderForJsAPI(body: GetPayOrderForJsAPIInput, options?: RequestConfig) {
    return this.request<ModelPaymentMiniPay>('/api/LifePay/GetPayOrderForJsAPI', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    });
  }
  /** 获取我的全部户号列表 POST /api/LifePay/GetUserAccountAllList */
  async getUserAccountAllList(body: QueryUserAccountAllListInput, options?: RequestConfig) {
    return this.request<UserAccountListOutput[]>('/api/LifePay/GetUserAccountAllList', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    });
  }
  /** 添加或修改我的户号 POST /api/LifePay/AddUpdateUserAccount */
  async addUpdateUserAccount(body: AddUpdateUserAccountInput, options?: RequestConfig) {
    return this.request<number>('/api/LifePay/AddUpdateUserAccount', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    });
  }
  /** 创建生活缴费燃气订单 POST /api/LifePay/CreateLifePayGasOrder */
  async createLifePayGasOrder(body: LifeGasDataCreateLifePayOrderInput, options?: RequestConfig) {
    return this.request<CreateLifePayOrderOutput>('/api/LifePay/CreateLifePayGasOrder', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    });
  }
  /** 获取燃气面值 GET /api/LifePay/GetGasParValue */
  async getGasParValue(options?: RequestConfig) {
    return this.request<GasParValueResponse>('/api/LifePay/GetGasParValue', {
      method: 'GET',
      ...(options || {}),
    });
  }
}
export interface PhoneMesssageCodeLoginInput {
  /** 手机号 */
  phoneNumber: string;
  /** 验证码 */
  code: string;
  // code: string;
}
export interface LifePayRateListOutput {
@@ -347,3 +404,121 @@
  cityParentId?: string;
  ciytId?: string;
}
export interface APIgetLifePayWxIndentityParams {
  /** 用户登录凭证 */
  code?: string;
}
export interface WxMiniAppIndentityInfo {
  /** 会话密钥 */
  sessionKey?: string;
  /** 小程序OpenId */
  openId?: string;
  /** 用户名(该值为空则需手机授权登录,不为空则已有该小程序用户) */
  userName?: string;
  unionId?: string;
}
export interface GetPayOrderForJsAPIInput {
  orderNo: string;
  lifePayType?: LifeRechargeConstants.LifePayTypeEnum;
  openId?: string;
  attach?: string;
  payAppId?: string;
}
export interface ModelPaymentMiniPay {
  nonceStr?: string;
  package?: string;
  signType?: string;
  paySign?: string;
  timestamp?: string;
  timeExpire?: string;
  message?: string;
}
export interface QueryUserAccountAllListInput {
  /** 用户Id */
  userId?: string;
  lifePayOrderType?: LifeRechargeConstants.LifePayOrderTypeEnum;
}
export interface UserAccountListOutput {
  id?: string;
  lifePayType?: LifeRechargeConstants.LifePayOrderTypeEnum;
  /** 运营商 */
  operators?: string;
  /** 手机号/户号 */
  content?: string;
  /** 省 */
  province?: string;
  /** 市 */
  city?: string;
  /** 拓展字段(电费类型) */
  extraProperties?: string;
  /** 备注 */
  remark?: string;
  /** 创建时间 */
  creationTime?: string;
  isDeleted?: boolean;
}
export interface AddUpdateUserAccountInput {
  id?: string;
  /** 用户编号 */
  userId?: string;
  lifePayType?: LifeRechargeConstants.LifePayOrderTypeEnum;
  /** 运营商 */
  operators?: string;
  /** 手机号/户号 */
  content?: string;
  /** 省 */
  province?: string;
  /** 市 */
  city?: string;
  /** 拓展字段(电费类型) */
  extraProperties?: string;
  /** 备注 */
  remark?: string;
}
export interface LifeGasDataCreateLifePayOrderInput {
  userId?: string;
  productData?: LifeGasData;
}
export interface LifeGasData {
  /** 充值面额,单位为元。 */
  parValue: number;
  /** 天然气公司类型,"zhong_ran"代表中燃燃气,"bei_jing"代表北京燃气。 */
  gasOrgType: string;
  /** 燃气户号 */
  gasAccount: string;
  /** 省份 */
  province: string;
  /** 城市 */
  city?: string;
}
export interface GasParValueResponse {
  success?: boolean;
  requestNo?: string;
  partnerId?: string;
  service?: string;
  version?: string;
  protocol?: string;
  context?: string;
  ext?: any;
  code?: string;
  message?: string;
  detail?: string;
  gasParValue?: GasParValueOutput;
}
export interface GasParValueOutput {
  gasOrgName?: string;
  gasOrgCode?: string;
  parValue?: string[];
  rate?: number;
  comments?: string;
}