import axios from 'axios'; import type { ListRes } from './base'; function ForwardAPI(url: string) { return url; } export interface UpdateConfigModel { cookie: string; blacklist_oaid: string; ignorePercentage: number; jdIgnorePercentage: number; pass_salt: string; ignorePercentageCity: string; jdIgnorePercentageCity: string; fake_click_min: number; fake_click_max: number; fake_click_ttl: number; rt_max: number; similar_timeout: number; tk_whitelist_regular: string; tk_blacklist_regular: string; multi_token_regular: string; jd_limit_per_ip_24h: number; jd_limit_per_oaid_24h: number; jd_blacklist_regular: string; jd_h5st_sign_url: string; jd_h5st_sign_version: string; dp_style: string; dp_style_percentage: number; dp_style_default_str: string; tk_limit_per_ip_24h: number; tk_limit_per_oaid_24h: number; tk_parse_retry_count: number; cpsIgnorePercentageCity: string; cps_limit_per_ip_24h: number; cps_limit_per_oaid_24h: number; pddIgnorePercentageCity: string; pddIgnorePercentage: number; pdd_limit_per_oaid_24h: number; pdd_limit_per_ip_24h: number; pdd_blacklist_regular: string; ks_limit_per_ip_24h: number; ks_limit_per_oaid_24h: number; ksIgnorePercentageCity: string; ksIgnorePercentage: number; ks_blacklist_regular: string; ksTestToken: string; } export interface UpdateConfigRes { msg?: string; code: number; data?: UpdateConfigModel; } // list export interface TkPoolRecord { id: number; name: string; company: string; phone: string; cookies: string; create_time: Date; current_amt: number; description: string; note: string; floorId: string; last_time: Date; login_time: Date; nodeName: string; suspended_endpoint: string; refpid: string; status: boolean; tb_token: string; api: string; end_point: string; api_id: number; enable_fake_click: boolean; enable_parse: boolean; enable_coupon: boolean; enable_sync_order: boolean; enable_deep_url: boolean; enable_promotionQuery: boolean; appkey: string; appSecret: string; open_pid: string; daily_income_limit: number; daily_calls_limit: number; current_hourly_calls: number; hourly_calls_limit: number; current_daily_calls: number; time_range: number; is_banned: boolean; } export interface FormRes { msg: string; code: number; success: boolean; } export interface TkUpdateAccountModel { id: number; name: string; val: any; } export interface TkPoolParams extends Partial { current: number; pageSize: number; show_hide: boolean; sort?: string; order?: string; getTotal: boolean; } /* tk_report_hourtrend */ export interface TkReportRecord { id: number; accountName: string; report_date: Date; isLeaf?: boolean; create_time: Date; last_time: Date; uclk_uv_56: number; uclk_pv_56: number; uclt_uv_56: number; ucart_uv_56: number; dep_ord_num_56: number; dep_ord_dep_amt_56: number; pay_ord_num_56: number; pay_ord_amt_56: number; pay_tk_disp_tfee_56: number; pay_ord_uv_56: number; eff_ord_num: number; eff_ord_amt: number; eff_tk_disp_tfee: number; sett_ord_num_56: number; sett_ord_amt_56: number; sett_tk_disp_tfee_56: number; order_ord_amt_12: number; order_ord_amt_14: number; order_ord_tfee_12: number; order_ord_tfee_14: number; order_ord_amt_12_14: number; order_ord_tfee_12_14: number; total_count: number; abandon_count: number; success_count: number; abandon_percentage: string; success_percentage: string; } export interface TkReportParams extends Partial { accountId?: number; filterHours?: number; total_key?: string; query_date?: string[]; // 覆盖 report_date 的类型为字符串数组 current: number; pageSize: number; sort?: string; order?: string; } export interface TkReportRes extends ListRes { list: TkReportRecord[]; } export interface TkPoolRes extends ListRes { list: TkPoolRecord[]; } export interface ChartDataResponse { name: string; value: number; } export interface TkReportChartRes { code: number; data: ChartDataResponse[]; data2: ChartDataResponse[]; } export interface TkSettleBillRecord { id: number; accountName: string; belongTime: Date; create_time: Date; last_time: Date; bizType: number; bizTypeDesc: string; clearingPeriod: string; expectedEarnings: number; incomeType: number; incomeTypeDesc: string; settleIncomeTotal: number; settleStatus: string; dividedIncome: number; platformServiceFee: number; } export interface TkSettleBillsParams extends Partial { keyword?: string; query_date?: string[]; // 覆盖 report_date 的类型为字符串数组 current: number; pageSize: number; sort?: string; order?: string; } export interface UpdateCookieModel { cookie: string; } export interface TkOrderRecord { id: number; accountId: number; accountName: string; tkPaidTime: string; // assuming ISO 8601 format for datetime orderType: string; adzoneId: number; incomeRate: number; subsidyType: string; totalCommissionFee: number; subsidyFee: number; pubShareFee: number; itemPlatformTypeText: string; marketingType: string; pubShareFeeForCommission: number; tkTotalRateForCommissionAndSdy: number; alipayTotalPrice: number; tkStatus: number; tkBizTag: number; tkOrderRole: number; tkCreateTime: string; // assuming ISO 8601 format for datetime pubShareFeeForSdy: number; tkEarningTime: string; // assuming ISO 8601 format for datetime siteName: string; itemNum: number; tradeParentId: string; payPrice: number; flowSource: string; sellerNick: string; adzoneName: string; pubShareRate: number; mktId: string; isLx: string; pubSharePreFeeForSdy: number; preSell: number; alimamaShareFee: number; mktItemLink: string; itemPrice: number; modifiedTime: string; // assuming ISO 8601 format for datetime alimamaRate: number; pubSharePreFee: number; itemImg: string; tkOrderRoleText: string; pubId: number; tkDepositTime: string; tkCommissionFeeForMediaPlatform: number; subsidyRate: number; clickTime: string; // assuming ISO 8601 format for datetime tbPaidTime: string; // assuming ISO 8601 format for datetime terminalType: string; supportItemClick: number; tkStatusText: string; alimmTechServiceFee: number; alimmTechServicePreFee: number; alimmTechServiceRate: number; itemTitle: string; tkTotalRate: number; pubSharePreFeeForCommission: number; depositPrice: number; pubShareRateForSdy: number; sellerShopTitle: string; itemCategoryName: string; refundTag: number; tbDepositTime: string; tkCommissionRateForMediaPlatform: number; tkTotalRateForSdy: number; tkCommissionPreFeeForMediaPlatform: number; siteId: number; totalCommissionRate: number; alimmShareInfo: string; tradeId: string; create_time: string; // assuming ISO 8601 format for datetime last_time: string; // assuming ISO 8601 format for datetime } export interface TkOrdersParams { keyword?: string; tkStatus?: number[]; query_date?: string[]; // 覆盖 report_date 的类型为字符串数组 current: number; pageSize: number; maxTotal: number; sort?: string; order?: string; } export interface TkOrdersRes extends ListRes { list: TkOrderRecord[]; } export function updateConfig(data: UpdateConfigModel) { const url = ForwardAPI('/api/config/update'); return axios.post(url, data); } export function getConfig() { const url = ForwardAPI('/api/config/get'); return axios.get(url); } export function updateCookies(data: UpdateCookieModel) { const url = ForwardAPI('/api/taobao/updateCookies'); return axios.post(url, data); } export function TkUpdateAccount(data: TkUpdateAccountModel) { const url = ForwardAPI('/api/taobao/update'); return axios.post(url, data); } export function queryTkPool(data: TkPoolParams) { const url = ForwardAPI('/api/taobao/list'); return axios.post(url, data); } export function queryTkReport(data: TkReportParams) { const url = ForwardAPI('/api/taobao/report_list'); return axios.post(url, data); } export function queryTkReportDailys(data: TkReportParams) { const url = ForwardAPI('/api/taobao/report_dailys'); return axios.post(url, data); } export function queryTkReportHourlys(data: TkReportParams) { const url = ForwardAPI('/api/taobao/report_hourlys'); return axios.post(url, data); } export function queryTkReportHourtrend(data: TkReportParams) { const url = ForwardAPI('/api/taobao/report_hourtrend'); return axios.post(url, data); } export function queryTkReportChartData(data: TkReportParams) { const url = ForwardAPI('/api/taobao/chartData'); return axios.post(url, data); } export interface TkSettleBillsRes extends ListRes { list: TkSettleBillRecord[]; } export function queryTkSettleBillsTotal(data: TkSettleBillsParams) { const url = ForwardAPI('/api/taobao/settle_bills_total'); return axios.post(url, data); } export function queryTkSettleBills(data: TkSettleBillsParams) { const url = ForwardAPI('/api/taobao/settle_bills'); return axios.post(url, data); } export function queryTkOrders(data: TkOrdersParams) { const url = ForwardAPI('/api/taobaoOrder/list'); return axios.post(url, data); }