import { OperationTabMenu, TableDefineRsp } from '@/services/go/commonService/interface';
import { ErmcpDeliveryGoodsDetailEx, Goods } from '@/services/go/ermcp/goodsInfo/interface';
import * as advert from '@/services/go/quote/interface';
import * as useInfo from '@/services/go/useInfo/interface';
import { Marketrun } from '../go/commonMarket/interface';
import { WrMarketTradeConfig } from '../go/wrtrade/interface';
import { AccountListItem } from './interafce/account';

/**
 * 说明：登录分为游客和账号，所以退出登录的时候，
 * 有些数据是不需要清空的，比如市场信息,需要清空的是登录之后查询的数据
 */

/**
 * 不需要清空数据中心
 */
export interface NoClearSourceDataType {
    touristToken: string; // 游客Token
}

/**
 * 需要清空数据中心
 */
export interface NeedClearSourceDataType {
    systemDate: string; // 系统时间
    externalexchange: useInfo.Externalexchange[]; // 外部交易所
    goodsgroups: useInfo.Goodsgroup[]; // 商品组
    loginAccount: useInfo.Loginaccount;
    markets: useInfo.Market[];
    systemParams: useInfo.Systemparam[]; // 系统参数
    userAccount: useInfo.Useraccount;
    userInfo: useInfo.Userinfo; // 用户信息
    username: string;
    menus: OperationTabMenu[]; // 交易端菜单
    tableHead: TableDefineRsp[]; // 动态表头
    Goods: Goods[],
    areaRoles: useInfo.Arearole[],
    DeliveryGoodsList: ErmcpDeliveryGoodsDetailEx[], // 现货品种
    marketRun: Marketrun, // 市场运行信息

    checkTokenTimeDiff: number; // 轮休校验token时间差
    accountList: AccountListItem[]; // 资金账户列表
    selectedAccount: AccountListItem; // 当前选中的资金账号
    quoteDayInfo: advert.QueryQuoteDayRsp[]; // 行情盘面信息
    RootUser: useInfo.Ermcp3RootUserAccount[],
    rules: WrMarketTradeConfig[],
}

export { advert };
