UNPKG

use-on-demand

Version:
290 lines (248 loc) 8.12 kB
import {IPositionLineAdapter} from '../../../tradingview/charting_library/charting_library.min'; import {xX___CAreaTypeE} from '../../../cookie/store/CEnum'; // import {PositionType_QuanOrZhu} from '~/assets/js/_enum/ApiEnum'; // import {xX___CAreaTypeE} from '~/assets/js/_enum/CEnum'; declare global { interface BgHeaderMixins_NaveData { visible: boolean; name: any; basePath?: string; path?: string; exactMatch?: boolean; clickFn?: () => void; // 会成为<a>标签,并带有点击事件 noLink?: boolean; isHighlight?: boolean; // true-始终高亮 children?: BgHeaderMixins_NaveData[]; } interface Window { position_test(long: any, sort: any): void; } namespace AlertNS { interface Info { type: 'success' | 'error'; title: string; message: string; } } namespace CreateSwapAccountNS { interface BeginQuestion { title: string; choices: Array<BeginQuestion_Choice>; } interface BeginQuestion_Choice { content: string; correct: boolean; checked: boolean; } } namespace DepthCpNS { interface BitCfg { price: number; size: number; } interface DeepStyleType { axisFontColor: string; textBoxWidth: number; textLineHeight: number; dotColor1: string; textBoxHeight: number; bottom: number; spaceY: number; spaceX: number; axisColor: string; textBgColor: string; sideSpace: number; textFontColor: string; right: number; dotColor2: string; textPaddingLeft: number; markLine: number; lineWidth: number; color1: string; color2: string; top: number; left: number; textFont: string; radius: number; font: string; } interface RangeType { rangeX: number; startX: number; endY?: number; } interface DrawParamInfo { Ox: number; Oy: number; x1: number; x0: number; // innerWidth: number; numX: number; numY: number; // pxX: number; pxY: number; } } namespace PositionNS { type PositionEntity_Type = Combined_PositionListItem & { money: number; fairPxMoney: number; // 用【合理价】算的未实现盈亏 liquidatePrice: number; // 根据【仓位信息】,计算出,该仓位【强平价格】 positionValue: number; positionValue2: number; on_vol: number; inital: number; open_type?: number; // FIXME 这个值,和【不存在的值-open_type】相关,但实际意思是什么??? // trueMargin_RateText: string; // 实时保证金率,的文字 maintenance_RateText: string; // 维持保证金率,的文字 }; // type GetLiquidate_Fn = ( // side: SimplePosit_DuoKongSide, // position_type: PositionType_QuanOrZhu, // addIM ?: number, // info_or_firstInfo ?: { // WARN 此处,之前edit-margin-window.vue文件传递【EditMarginWindow】Vue实例的方式,过于累赘; 传递一个JSON对象进来,更好一点。 // liquidatePrice?: number, // 用作 _Position.ts // firstLiquidatePrice?: number, // 用作 edit-margin-window.vue // }, // ) => number // WARN 使用这种方式,实时获取【Vue组件内方法】的类型,以保持【随时同步】 // type PositionCpType = InstanceType<typeof _Position>; // type GetLiquidate_Fn = VueInlineCp.PositionCpType['getLiquidate']; // TIP 这种方式,应该是最优方式了 // @ts-ignore type New_0609Version_getLiquidate_Fn = VueInlineCp.PositionCpType['New_0609Version_getLiquidate']; type PositionLineCfg_Type = { // pid: number; // line: IPositionLineAdapter; [key: string]: IPositionLineAdapter_Type; }; interface PositionLine_TextInfo_Type { [key: string]: undefined | string; // 每个pid,对应一条【盈亏文本】 } export interface PositionContractInfo { contractSize: number; // 合约面值 quoteCoin: string; // 目标币种 priceCoin: string; // 报价币种 } // 【setLeverageInfo_fromOpenLever】方法,所用到的【数据结构】 interface LeverageInfo_FromCurrentOpenLever { leverage: string; // position_type?: PositionType_QuanOrZhu; // WARN 1-逐仓 ; 2-全仓 } // 【当前委托 列表】的大小 interface LongOrShort_PendingOrder_Size { Amount: number; Vol: number; } // 【用户持有仓位】的大小 interface LongOrShort_HoldPosition_Size { HoldVol: string; // 当前仓位数量 HoldAvgPrice: string; // 当前持仓均价 position_id: number; // 仓位ID FreezeVol: string; // 冻结数量 // 有些情况下,才会出现 IM?: number; MM?: number; } // 正要开仓的订单信息 interface LongOrShort_SubmittingOrderInfo extends LongOrShort_SubmittingOrderInfo_LocalExpand { Vol: number; Price: number; Leverage: number; TakeFeeRatio: string; longOrSort: boolean; } type LongOrShort_SubmittingOrderInfo_LocalExpand = { // 后来附加的值 IMR?: number; }; interface TrueLeverage_CalcInfo { text: string; ceiledLeverage: number; noCeiledLeverage: number; finalTotalTrueMargin: number; positionValue: number; trueMarginRatio: number; trueMarginRatio_text: string; } } namespace MainNavFourNS { interface ContractProduct_Type { ticker: FunnyTrade; priceUnit: number; contract: InstrumentsApiNS.IInstrument; } interface ContractArea_Type { areaV: xX___CAreaTypeE; label: string; } } namespace HistoryEntrustNS { interface ListAction_Param { instrument_id: number; offset: number; originList: Array<UserOrdersApiNS.IOrder>; size?: void; // 统一用固定值20,便于修改 WARN 使用void,禁止传值 } } namespace RiskLimitNS { // TIP 标准系数,基准值 interface RiskLimitInfo_StandardMeta { BaseLimit: number; Step: number; InitialMargin: number; MaintenanceMargin: number; } // TIP 具体业务逻辑,数值参数 interface RiskLimitInfo_BzVal { totalValue: number; // sum: number; initial: number; maintenance: number; level: number; } type RiskLimitInfo_StoreType = { long: NullableType<RiskLimitNS.RiskLimitInfo_BzVal>; short: NullableType<RiskLimitNS.RiskLimitInfo_BzVal>; }; } namespace SubmitEntrustNS { // 缩写 interface SE_ContractInfo { FeeConfig: { TakerFee: number; }; Contract: PositionNS.PositionContractInfo; RiskLimit: RiskLimitNS.RiskLimitInfo_StandardMeta; } // 缩写 interface SE_OrderInfo { OpenType?: boolean; // true-全仓 ; false-逐仓 Leverage: number; Vol: number | string; Price: string | number; } } namespace ChatRoomNS { // type ChatRoomList_CpType = InstanceType<typeof ChatRoomList>; interface Base_ChatMember_Bean { } type GuestMember_Bean_List = {}; interface Interface { } interface JMemberItem { key: 'j-ownerList' | 'j-managerList' | 'j-normalList' | 'j-otherList'; list: Array<NimNS.MemberType_Type>; } interface JMemberInfo { ownerList: Array<NimNS.MemberType_Type>; managerList: Array<NimNS.MemberType_Type>; normalList: Array<NimNS.MemberType_Type>; otherList: Array<NimNS.MemberType_Type>; guestList: Array<NimNS.MemberType_Type>; } } }