UNPKG

use-on-demand

Version:
250 lines (182 loc) 6.1 kB
// import {PositionType_QuanOrZhu, SimplePosit_DuoKongSide} from '~/assets/js/_enum/ApiEnum'; import Vue from 'vue'; declare global { namespace HttpApiNS { interface Bean<T> { /** * 1. Swap合约的api,采用 errno + message * 2. 币币的api,采用 errcode + errmsg */ 'errno': 'OK' | 'FORBIDDEN' | 'BAD_REQUEST' | string; 'message': 'Success' | string; 'data': T; } // TIP——————————————————Ssr端 type Instruments = Bean<InstrumentsApiNS.Recv> // TIP——————————————————客户端 type Indexes = Bean<Array<IndexesApiNS.Recv>> type Tickers = Bean<TickersApiNS.Recv> type Depth = Bean<DepthApiNS.Recv> type Pnl = Bean<PnlApiNS.Recv> type Trades = Bean<TradesApiNS.Recv> type Accounts = Bean<AccountsApiNS.Recv> type UserPositions = Bean<UserPositionsApiNS.Recv> type UserOrders = Bean<UserOrdersApiNS.Recv> type Kline = Bean<KlineApiNS.Recv> type SubmitOrder = Bean<SubmitOrderApiNS.Recv> type UserPlanOrders = Bean<UserPlanOrdersApiNS.Recv> type GlobalLeverage = Bean<GlobalLeverageApiNS.Recv> // cancelOrders // userTrades // userLiqRecords // orderTrades // transferFunds // changeMargin // fundingrate // createAccount // riskReserves // activity/openAccountReward // activity/depositReward // rebates // submitPlanOrder // cancelPlanOrders // queryOrder // ifglobal/coinBrief // positionTax // task/complete // task/check // task/complete // calculate } namespace PositionNS { type Ask = [number, string, string, number] type Bid = [number, string, string, number] } // 对应【LongOrShort_BooleanEnum】的两个值 type LongOrShort_BooleanType = /*typeof LongOrShort_BooleanEnum.Long*/true | /*typeof LongOrShort_BooleanEnum.Short*/false interface FunnyTrade extends TickersApiNS.ITickerItem { // instrument_id: string | number; // fair_px: string; // loss: number; // cur_qty: number; // avg_cost_px: number; // side: number; // im: string; // position_type: number; // pid: string; // 新增部分字段 fair_price: string | number; } interface AccountsType { available_vol: string | null; coin_code: string; } interface PendingOrderType { pid: string; // 仓位ID oid: string; instrument_id: number; status: 1 | 2 | 3 | 4; // oid: number; // 'instrument_id': number; uid: number; px: string; qty: string; 'hide_qty': string; 'avg_px': string; 'cum_qty': string; side: number; category: number; 'make_fee': string; 'take_fee': string; origin: string; 'created_at': string; 'updated_at': string; 'finished_at': void /* 未知类型 */ ; // status: number; errno: number; // 'position_type'?: PositionType_QuanOrZhu; // WARN 1-逐仓 ; 2-全仓 'time_in_force': number; imr: string; mmr: string; mfr: string; tfr: string; leverage: string; 'freeze_assets': string; // 'company_id'?: number; } // TIP—————————————————————————————————————————————————— interface ProductInfoType extends InstrumentsApiNS.IInstrument { instrument_id: number; contract: IndexedObj; liquidation_warn_ratio: unknown; // ??? // 也许存在,也许不存在 price_coin?: string; } // TIP—————————————————————————————————————————————————— interface PositionListItem { pid: number; // 仓位ID uid: number; 'company_id': number; 'instrument_id': number | string; 'cur_qty': string; 'freeze_qty': string; 'close_qty': string; 'avg_cost_px': string; 'avg_open_px': string; 'avg_close_px': string; oim: string; // 原始的【开仓保证金】 im: string; // 开仓保证金 mm: string; // 维持保证金 'realised_pnl': string; earnings: string; tax: string; // 持仓产生的资金费用 // 'position_type': PositionType_QuanOrZhu; // WARN 1-逐仓 ; 2-全仓 // side: SimplePosit_DuoKongSide; status: number; errno: number; 'created_at': string; 'updated_at': string; // 'avg_fixed_leverage'?: string; 'fixed_leverage'?: string; } // TIP 仅仅是本地的增强。 interface PositionListItem_LocalIncrease { loss?: number; [Symbol.iterator]?: Iterator<any>; // ???????? } type Combined_PositionListItem = PositionListItem & PositionListItem_LocalIncrease // interface Changed_CabinType { // // } // TIP—————————————————————————————————————————————————— interface UserInfoType { account_type: number, phone: number, status: number, user_assets: Array<{ available_vol: string; coin_code: string; }>; } // TIP—————————————————————————————————————————————————— namespace WsBean { namespace UserProperty_UserMessageDispose { type C_Assets = { coin_code: string; }; type S_Assets = { coin_code: string; } type BeanList = Array<{ c_assets?: C_Assets; s_assets?: S_Assets; order?: PendingOrderType; position?: PositionListItem; }> } } }