import { OperationTabMenu, TableDefineRsp } from '@/services/go/commonService/interface';
import { ErmcpDeliveryGoodsDetailEx, Goods } from '@/services/go/ermcp/goodsInfo/interface';
import * as useInfo from '@/services/go/useInfo/interface';
import * as mineType from '@/services/http/mine/interface';
import * as Type from '@/services/http/notice/interface';
import * as advert from '../http/advert/interface';
import { QuoteDay } from '../http/quote/interface';
import { AccountListItem, LastUpdateTime, TradeDate } from './interafce/account';
import { SystemParam } from './interafce/error';

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

/**
 * 不需要清空数据中心
 */
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[], // 现货品种

    queryClientFixedADConfigs: advert.fixedADConfigs[]; //首页图片广告
    checkTokenTimeDiff: number; // 轮休校验token时间差
    accountList: AccountListItem[]; // 资金账户列表
    areaRoleMarketList: any[]; // 机构角色市场权限
    taAccountMarketList: any[]; // 资金账号市场权限
    lastUpdateTime: LastUpdateTime; // 时间戳集合
    ssystemParam: SystemParam[]; // 系统参数
    tradeDate: TradeDate;
    myGoodsHold: mineType.queryHsbyMyGoods[]; // 我的持仓数据
    quoteDayInfo: QuoteDay[]; // 行情盘面信息
    marketValue: number; // 商品市值
    noticeInfo: Type.QueryNoticeRsp[]; // 通知公告信息
    collctList: number[]; // 收藏商品列表
}

export { advert };
