taobao.ts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  1. import axios from 'axios';
  2. import type { ListRes } from './base';
  3. function ForwardAPI(url: string) {
  4. return url;
  5. }
  6. export interface UpdateConfigModel {
  7. cookie: string;
  8. blacklist_oaid: string;
  9. ignorePercentage: number;
  10. jdIgnorePercentage: number;
  11. pass_salt: string;
  12. ignorePercentageCity: string;
  13. jdIgnorePercentageCity: string;
  14. fake_click_min: number;
  15. fake_click_max: number;
  16. fake_click_ttl: number;
  17. rt_max: number;
  18. similar_timeout: number;
  19. tk_whitelist_regular: string;
  20. tk_blacklist_regular: string;
  21. multi_token_regular: string;
  22. jd_limit_per_ip_24h: number;
  23. jd_limit_per_oaid_24h: number;
  24. jd_blacklist_regular: string;
  25. jd_h5st_sign_url: string;
  26. jd_h5st_sign_version: string;
  27. dp_style: string;
  28. dp_style_percentage: number;
  29. dp_style_default_str: string;
  30. tk_limit_per_ip_24h: number;
  31. tk_limit_per_oaid_24h: number;
  32. tk_parse_retry_count: number;
  33. tk_parse_default_icon: string;
  34. hide_ignore_city: string;
  35. hide_limit_per_ip_24h: number;
  36. hide_limit_per_oaid_24h: number;
  37. cpsIgnorePercentageCity: string;
  38. cps_limit_per_ip_24h: number;
  39. cps_limit_per_oaid_24h: number;
  40. pddIgnorePercentageCity: string;
  41. pddIgnorePercentage: number;
  42. pdd_limit_per_oaid_24h: number;
  43. pdd_limit_per_ip_24h: number;
  44. pdd_blacklist_regular: string;
  45. pdd_rrecheck_enabled: boolean;
  46. pdd_precheck_client_id: string;
  47. pdd_precheck_client_secret: string;
  48. pdd_precheck_pid: string;
  49. ks_limit_per_ip_24h: number;
  50. ks_limit_per_oaid_24h: number;
  51. ksIgnorePercentageCity: string;
  52. ksIgnorePercentage: number;
  53. ks_blacklist_regular: string;
  54. ksTestToken: string;
  55. account_warning_ignore_groups: string;
  56. webook_forward_zlong: string;
  57. }
  58. export interface UpdateConfigRes {
  59. msg?: string;
  60. code: number;
  61. data?: UpdateConfigModel;
  62. }
  63. export interface XhsZlongForwardReportSummary {
  64. hour: number;
  65. day: number;
  66. month: number;
  67. year: number;
  68. hour_exception: number;
  69. day_exception: number;
  70. month_exception: number;
  71. year_exception: number;
  72. }
  73. export interface XhsZlongForwardReportRecord {
  74. channel: string;
  75. bucket_type: string;
  76. bucket_value: string;
  77. report_time: string;
  78. display_time: string;
  79. total: number;
  80. exception_count: number;
  81. redis_key: string;
  82. }
  83. export interface XhsZlongForwardReportParams {
  84. current: number;
  85. pageSize: number;
  86. channels?: string;
  87. bucket_type?: string;
  88. start?: string;
  89. end?: string;
  90. getTotal?: boolean;
  91. }
  92. export interface XhsZlongForwardReportRes extends ListRes {
  93. list: XhsZlongForwardReportRecord[];
  94. summary: XhsZlongForwardReportSummary;
  95. }
  96. // list
  97. export interface AiOpenRiskStatus {
  98. applicable: boolean;
  99. triggered: boolean;
  100. reason_code: string;
  101. reason: string;
  102. first_trigger_time?: string | null;
  103. request_count_at_trigger: number;
  104. success_count_at_trigger: number;
  105. release_time?: string | null;
  106. }
  107. export interface TkPoolRecord {
  108. id: number;
  109. name: string;
  110. company: string;
  111. phone: string;
  112. cookies: string;
  113. create_time: Date;
  114. current_amt: number;
  115. description: string;
  116. note: string;
  117. floorId: string;
  118. last_time: Date;
  119. login_time: Date | null;
  120. nodeName: string;
  121. proxyStatus?: boolean | null;
  122. suspended_endpoint: string;
  123. refpid: string;
  124. status: boolean;
  125. tb_token: string;
  126. api: string;
  127. end_point: string;
  128. api_id: number;
  129. enable_fake_click: boolean;
  130. enable_parse: boolean;
  131. enable_coupon: boolean;
  132. enable_sync_order: boolean;
  133. enable_deep_url: boolean;
  134. enable_general_link_parse_pool: boolean;
  135. use_general_link_parse_pool: boolean;
  136. enable_promotionQuery: boolean;
  137. enable_order_summary_cache: boolean;
  138. appkey: string;
  139. appSecret: string;
  140. open_pid: string;
  141. daily_income_limit: number;
  142. daily_calls_limit: number;
  143. qps_limit: number;
  144. current_hourly_calls: number;
  145. hourly_calls_limit: number;
  146. current_daily_calls: number;
  147. time_range: number;
  148. is_banned: boolean;
  149. is_hide?: boolean;
  150. parse_type?: string;
  151. riskStrategy?: string;
  152. launchScene?: number;
  153. riskCookie?: string;
  154. aiopen_risk?: AiOpenRiskStatus | null;
  155. }
  156. export interface FormRes {
  157. msg: string;
  158. code: number;
  159. success: boolean;
  160. }
  161. export interface TkUpdateAccountModel {
  162. id: number;
  163. name: string;
  164. val: any;
  165. }
  166. export interface TkPoolParams extends Partial<TkPoolRecord> {
  167. current: number;
  168. pageSize: number;
  169. show_hide: boolean;
  170. sort?: string;
  171. order?: string;
  172. getTotal: boolean;
  173. }
  174. /*
  175. tk_report_hourtrend
  176. */
  177. export interface TkReportRecord {
  178. id: number;
  179. accountId?: number;
  180. accountName: string;
  181. report_date: Date;
  182. isLeaf?: boolean;
  183. create_time: Date;
  184. last_time: Date;
  185. uclk_uv_56: number;
  186. uclk_pv_56: number;
  187. uclt_uv_56: number;
  188. ucart_uv_56: number;
  189. dep_ord_num_56: number;
  190. dep_ord_dep_amt_56: number;
  191. pay_ord_num_56: number;
  192. pay_ord_amt_56: number;
  193. pay_tk_disp_tfee_56: number;
  194. pay_ord_uv_56: number;
  195. eff_ord_num: number;
  196. eff_ord_amt: number;
  197. eff_tk_disp_tfee: number;
  198. sett_ord_num_56: number;
  199. sett_ord_amt_56: number;
  200. sett_tk_disp_tfee_56: number;
  201. order_ord_amt_12: number;
  202. order_ord_amt_14: number;
  203. order_ord_tfee_12: number;
  204. order_ord_tfee_14: number;
  205. order_ord_amt_12_14: number;
  206. order_ord_tfee_12_14: number;
  207. total_count: number;
  208. abandon_count: number;
  209. success_count: number;
  210. abandon_percentage: string;
  211. success_percentage: string;
  212. }
  213. export interface TkReportParams extends Partial<TkReportRecord> {
  214. accountId?: number;
  215. filterHours?: number;
  216. total_key?: string;
  217. query_date?: string[]; // 覆盖 report_date 的类型为字符串数组
  218. current: number;
  219. pageSize: number;
  220. sort?: string;
  221. order?: string;
  222. }
  223. export interface TkReportRes extends ListRes {
  224. list: TkReportRecord[];
  225. }
  226. export interface TkPoolRes extends ListRes {
  227. list: TkPoolRecord[];
  228. }
  229. export interface ChartDataResponse {
  230. name: string;
  231. value: number;
  232. }
  233. export interface TkReportChartRes {
  234. code: number;
  235. data: ChartDataResponse[];
  236. data2: ChartDataResponse[];
  237. }
  238. export interface TkSettleBillRecord {
  239. id: number;
  240. accountName: string;
  241. belongTime: Date;
  242. create_time: Date;
  243. last_time: Date;
  244. bizType: number;
  245. bizTypeDesc: string;
  246. clearingPeriod: string;
  247. expectedEarnings: number;
  248. incomeType: number;
  249. incomeTypeDesc: string;
  250. settleIncomeTotal: number;
  251. settleStatus: string;
  252. dividedIncome: number;
  253. platformServiceFee: number;
  254. }
  255. export interface TkSettleBillsParams extends Partial<TkSettleBillRecord> {
  256. keyword?: string;
  257. query_date?: string[]; // 覆盖 report_date 的类型为字符串数组
  258. current: number;
  259. pageSize: number;
  260. sort?: string;
  261. order?: string;
  262. }
  263. export interface UpdateCookieModel {
  264. cookie: string;
  265. }
  266. export interface TkOrderRecord {
  267. id: number;
  268. accountId: number;
  269. accountName: string;
  270. tkPaidTime: string; // assuming ISO 8601 format for datetime
  271. orderType: string;
  272. adzoneId: number;
  273. incomeRate: number;
  274. subsidyType: string;
  275. totalCommissionFee: number;
  276. subsidyFee: number;
  277. pubShareFee: number;
  278. itemPlatformTypeText: string;
  279. marketingType: string;
  280. pubShareFeeForCommission: number;
  281. tkTotalRateForCommissionAndSdy: number;
  282. alipayTotalPrice: number;
  283. tkStatus: number;
  284. tkBizTag: number;
  285. tkOrderRole: number;
  286. tkCreateTime: string; // assuming ISO 8601 format for datetime
  287. pubShareFeeForSdy: number;
  288. tkEarningTime: string; // assuming ISO 8601 format for datetime
  289. siteName: string;
  290. itemNum: number;
  291. tradeParentId: string;
  292. payPrice: number;
  293. flowSource: string;
  294. sellerNick: string;
  295. adzoneName: string;
  296. pubShareRate: number;
  297. mktId: string;
  298. isLx: string;
  299. pubSharePreFeeForSdy: number;
  300. preSell: number;
  301. alimamaShareFee: number;
  302. mktItemLink: string;
  303. itemPrice: number;
  304. modifiedTime: string; // assuming ISO 8601 format for datetime
  305. alimamaRate: number;
  306. pubSharePreFee: number;
  307. itemImg: string;
  308. tkOrderRoleText: string;
  309. pubId: number;
  310. tkDepositTime: string;
  311. tkCommissionFeeForMediaPlatform: number;
  312. subsidyRate: number;
  313. clickTime: string; // assuming ISO 8601 format for datetime
  314. tbPaidTime: string; // assuming ISO 8601 format for datetime
  315. terminalType: string;
  316. supportItemClick: number;
  317. tkStatusText: string;
  318. alimmTechServiceFee: number;
  319. alimmTechServicePreFee: number;
  320. alimmTechServiceRate: number;
  321. itemTitle: string;
  322. tkTotalRate: number;
  323. pubSharePreFeeForCommission: number;
  324. depositPrice: number;
  325. pubShareRateForSdy: number;
  326. sellerShopTitle: string;
  327. itemCategoryName: string;
  328. refundTag: number;
  329. tbDepositTime: string;
  330. tkCommissionRateForMediaPlatform: number;
  331. tkTotalRateForSdy: number;
  332. tkCommissionPreFeeForMediaPlatform: number;
  333. siteId: number;
  334. totalCommissionRate: number;
  335. alimmShareInfo: string;
  336. tradeId: string;
  337. create_time: string; // assuming ISO 8601 format for datetime
  338. last_time: string; // assuming ISO 8601 format for datetime
  339. }
  340. export interface TkOrdersParams {
  341. keyword?: string;
  342. tkStatus?: number[];
  343. query_date?: string[]; // 覆盖 report_date 的类型为字符串数组
  344. current: number;
  345. pageSize: number;
  346. maxTotal: number;
  347. sort?: string;
  348. order?: string;
  349. }
  350. export interface TkOrdersRes extends ListRes {
  351. list: TkOrderRecord[];
  352. }
  353. export function updateConfig(data: UpdateConfigModel) {
  354. const url = ForwardAPI('/api/config/update');
  355. return axios.post<FormRes>(url, data);
  356. }
  357. export function getConfig() {
  358. const url = ForwardAPI('/api/config/get');
  359. return axios.get<UpdateConfigModel>(url);
  360. }
  361. export function queryXhsZlongForwardReport(data: XhsZlongForwardReportParams) {
  362. const url = ForwardAPI('/api/config/xhsZlongForwardReport');
  363. return axios.post<XhsZlongForwardReportRes>(url, data);
  364. }
  365. export function updateCookies(data: UpdateCookieModel) {
  366. const url = ForwardAPI('/api/taobao/updateCookies');
  367. return axios.post<FormRes>(url, data);
  368. }
  369. export function TkUpdateAccount(data: TkUpdateAccountModel) {
  370. const url = ForwardAPI('/api/taobao/update');
  371. return axios.post<FormRes>(url, data);
  372. }
  373. export function queryTkPool(data: TkPoolParams) {
  374. const url = ForwardAPI('/api/taobao/list');
  375. return axios.post<TkPoolRes>(url, data);
  376. }
  377. export function queryTkReport(data: TkReportParams) {
  378. const url = ForwardAPI('/api/taobao/report_list');
  379. return axios.post<TkReportRes>(url, data);
  380. }
  381. export function queryTkReportDailys(data: TkReportParams) {
  382. const url = ForwardAPI('/api/taobao/report_dailys');
  383. return axios.post<TkReportRes>(url, data);
  384. }
  385. export function queryTkReportHourlys(data: TkReportParams) {
  386. const url = ForwardAPI('/api/taobao/report_hourlys');
  387. return axios.post<TkReportRes>(url, data);
  388. }
  389. export function queryTkReportHourtrend(data: TkReportParams) {
  390. const url = ForwardAPI('/api/taobao/report_hourtrend');
  391. return axios.post<TkReportRes>(url, data);
  392. }
  393. export function queryTkReportChartData(data: TkReportParams) {
  394. const url = ForwardAPI('/api/taobao/chartData');
  395. return axios.post<TkReportChartRes>(url, data);
  396. }
  397. export interface TkSettleBillsRes extends ListRes {
  398. list: TkSettleBillRecord[];
  399. }
  400. export function queryTkSettleBillsTotal(data: TkSettleBillsParams) {
  401. const url = ForwardAPI('/api/taobao/settle_bills_total');
  402. return axios.post<TkSettleBillsRes>(url, data);
  403. }
  404. export function queryTkSettleBills(data: TkSettleBillsParams) {
  405. const url = ForwardAPI('/api/taobao/settle_bills');
  406. return axios.post<TkSettleBillsRes>(url, data);
  407. }
  408. export function queryTkOrders(data: TkOrdersParams) {
  409. const url = ForwardAPI('/api/taobaoOrder/list');
  410. return axios.post<TkOrdersRes>(url, data);
  411. }