ucard.ts 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648
  1. import { post } from "@/utils/request";
  2. // 基础响应接口
  3. export interface BaseResponse<T = any> {
  4. code: number;
  5. data: T;
  6. msg: string;
  7. }
  8. // 分页请求参数接口
  9. export interface PageParams {
  10. page: {
  11. current: number;
  12. row: number;
  13. };
  14. [key: string]: any;
  15. }
  16. // 分页响应接口
  17. export interface PageResponse<T> {
  18. data: T[];
  19. code: number;
  20. msg: string;
  21. page: {
  22. current: number;
  23. pageTotal: number;
  24. row: number;
  25. rowTotal: number;
  26. };
  27. }
  28. // 卡片类型相关接口
  29. export interface CardType {
  30. id: string;
  31. name: string;
  32. [key: string]: any;
  33. }
  34. export interface CardTypeParams extends PageParams {
  35. name?: string;
  36. status?: number;
  37. }
  38. // 商户相关接口
  39. export interface MerchantUser {
  40. id: string;
  41. username: string;
  42. [key: string]: any;
  43. }
  44. export interface MerchantAccount {
  45. balance: number;
  46. [key: string]: any;
  47. }
  48. export interface MerchantParams extends PageParams {
  49. username?: string;
  50. status?: number;
  51. }
  52. // KYC相关接口
  53. export interface KycInfo {
  54. id: string;
  55. status: number;
  56. [key: string]: any;
  57. }
  58. export interface KycParams {
  59. merchantId: string;
  60. [key: string]: any;
  61. }
  62. // 卡片相关接口
  63. export interface CardInfo {
  64. id: string;
  65. cardNo: string;
  66. [key: string]: any;
  67. }
  68. export interface CardApplyParams {
  69. cardTypeId: string;
  70. [key: string]: any;
  71. }
  72. // 交易相关接口
  73. export interface TransactionInfo {
  74. id: string;
  75. amount: number;
  76. [key: string]: any;
  77. }
  78. export interface TransactionParams extends PageParams {
  79. cardId?: string;
  80. type?: number;
  81. }
  82. // 转账相关接口
  83. export interface TransferInfo {
  84. id: string;
  85. amount: number;
  86. [key: string]: any;
  87. }
  88. export interface TransferParams {
  89. cardId: string;
  90. uniqueId: string;
  91. [key: string]: any;
  92. }
  93. // 国家城市相关接口
  94. export interface CountryCityInfo {
  95. code: string;
  96. cnName: string;
  97. enName: string;
  98. }
  99. // 职业信息接口
  100. export interface OccupationInfo {
  101. code: string;
  102. name: string;
  103. [key: string]: any;
  104. }
  105. // 激活码接口
  106. export interface ActivationCode {
  107. code: string;
  108. [key: string]: any;
  109. }
  110. // 拒绝理由接口
  111. export interface RefusalReason {
  112. id: string;
  113. reason: string;
  114. [key: string]: any;
  115. }
  116. export const ucardApi = {
  117. // 获取卡片类型列表
  118. cardTypesPage(
  119. params: CardTypeParams = { page: { current: 1, row: 10 } }
  120. ): Promise<BaseResponse<PageResponse<CardType>>> {
  121. return post("/wasabi/api/card/types/page", { ...params });
  122. },
  123. // 获取卡片类型列表
  124. cardTypesList(
  125. params: CardTypeParams = { page: { current: 1, row: 10 } }
  126. ): Promise<BaseResponse<PageResponse<CardType>>> {
  127. return post("/wasabi/api/card/types/list", { ...params });
  128. },
  129. // 更新卡片类型列表
  130. updateCardTypes(params: Partial<CardType> = {}): Promise<BaseResponse> {
  131. return post("/wasabi/api/card/update/basic/info", { ...params });
  132. },
  133. // 获取商户信息
  134. getSingle(params: { id: string }): Promise<BaseResponse<MerchantUser>> {
  135. return post("/wasabi/api/merchant/user/single", { ...params });
  136. },
  137. // 商户用户分页列表
  138. merchantList(
  139. params: MerchantParams = { page: { current: 1, row: 10 } }
  140. ): Promise<BaseResponse<PageResponse<MerchantUser>>> {
  141. return post("/wasabi/api/merchant/user/page", { ...params });
  142. },
  143. // 查询商户账户信息
  144. merchantAccount(params: {
  145. merchantId: string;
  146. }): Promise<BaseResponse<MerchantAccount>> {
  147. return post("/wasabi/api/merchant/account", { ...params });
  148. },
  149. // 商户注册选择用户列表
  150. merchantSearch(params: {
  151. keyword: string;
  152. }): Promise<BaseResponse<MerchantUser[]>> {
  153. return post("/custom/search/ucard", { ...params });
  154. },
  155. // 商户用户注册
  156. merchantRegister(params: Partial<MerchantUser>): Promise<BaseResponse> {
  157. return post("/wasabi/api/merchant/user/register", { ...params });
  158. },
  159. // 更新商户用户信息
  160. merchantUpdate(params: Partial<MerchantUser>): Promise<BaseResponse> {
  161. return post("/wasabi/api/merchant/user/update", { ...params });
  162. },
  163. // 国家城市
  164. ucardCountryCity(
  165. params: { code?: string } = {}
  166. ): Promise<BaseResponse<CountryCityInfo[]>> {
  167. return post("/wasabi/api/card/country", { ...params });
  168. },
  169. // 更新国家城市
  170. ucardUpdateCountryCity(
  171. params: Partial<CountryCityInfo> = {}
  172. ): Promise<BaseResponse> {
  173. return post("/wasabi/api/card/update/country", { ...params });
  174. },
  175. // 查询职业信息
  176. getOccupationList(
  177. params: { code?: string } = {}
  178. ): Promise<BaseResponse<OccupationInfo[]>> {
  179. return post("/wasabi/api/card/occupation/list", { ...params });
  180. },
  181. // 更新职业信息
  182. updateOccupationList(
  183. params: Partial<OccupationInfo> = {}
  184. ): Promise<BaseResponse> {
  185. return post("/wasabi/api/card/occupation/update", { ...params });
  186. },
  187. // 获取卡片申请列表
  188. applyList(
  189. params: PageParams = { page: { current: 1, row: 10 } }
  190. ): Promise<BaseResponse<PageResponse<CardApplyParams>>> {
  191. return post("/wasabi/api/card/apply/page", { ...params });
  192. },
  193. // 获取卡片列表
  194. cardList(
  195. params: PageParams = { page: { current: 1, row: 10 } }
  196. ): Promise<BaseResponse<PageResponse<CardInfo>>> {
  197. return post("/wasabi/api/card/list", { ...params });
  198. },
  199. // kyc列表
  200. kycList(
  201. params: PageParams = { page: { current: 1, row: 10 } }
  202. ): Promise<BaseResponse<PageResponse<KycInfo>>> {
  203. return post("/wasabi/api/merchant/kyc/page", { ...params });
  204. },
  205. // 查询KYC认证状态
  206. kycStatus(params: { merchantId: string }): Promise<BaseResponse<KycInfo>> {
  207. return post("/wasabi/api/merchant/kyc/status", { ...params });
  208. },
  209. // 查询开卡进度
  210. ucardApplyProgress(params: {
  211. applyId: string;
  212. }): Promise<BaseResponse<{ status: number; message: string }>> {
  213. return post("/wasabi/api/card/apply/progress", { ...params });
  214. },
  215. // 银行卡激活
  216. ucardActivate(params: {
  217. cardNo: string;
  218. uniqueId: string;
  219. password: string;
  220. }): Promise<BaseResponse> {
  221. return post("/wasabi/api/card/activate", { ...params });
  222. },
  223. // 银行卡详情
  224. getCardInfo(params: { id: string }): Promise<BaseResponse<CardInfo>> {
  225. return post("/wasabi/api/card/single", { ...params });
  226. },
  227. // 银行卡充值
  228. ucardRecharge(params: {
  229. cardNo: string;
  230. amount: number;
  231. currency: string;
  232. uniqueId: string;
  233. }): Promise<BaseResponse> {
  234. return post("/wasabi/api/card/recharge", { ...params });
  235. },
  236. // 查询卡片余额
  237. ucardBalance(params: {
  238. cardNo: string;
  239. uniqueId: string;
  240. }): Promise<BaseResponse<{ balance: number; currency: string }>> {
  241. return post("/wasabi/api/card/balance", { ...params });
  242. },
  243. // 找回密码
  244. ucardResetPassword(params: {
  245. cardNo: string;
  246. newPassword: string;
  247. }): Promise<BaseResponse> {
  248. return post("/wasabi/api/card/password/reset", { ...params });
  249. },
  250. // 冻结卡片
  251. ucardFreeze(params: {
  252. cardNo: string;
  253. uniqueId: string;
  254. }): Promise<BaseResponse> {
  255. return post("/wasabi/api/card/freeze", { ...params });
  256. },
  257. // 解冻卡片
  258. ucardUnfreeze(params: {
  259. cardNo: string;
  260. uniqueId: string;
  261. }): Promise<BaseResponse> {
  262. return post("/wasabi/api/card/unfreeze", { ...params });
  263. },
  264. // 查询充值订单
  265. ucardRechargeOrder(params: {
  266. orderNo: string;
  267. }): Promise<BaseResponse<TransactionInfo>> {
  268. return post("/wasabi/api/card/recharge/order", { ...params });
  269. },
  270. // 充值记录分页查询
  271. rechargeList(
  272. params: TransactionParams = { page: { current: 1, row: 10 } }
  273. ): Promise<BaseResponse<PageResponse<TransactionInfo>>> {
  274. return post("/wasabi/api/card/recharge/page", { ...params });
  275. },
  276. // 提交KYC认证
  277. kycSubmit(params: KycParams): Promise<BaseResponse> {
  278. return post("/wasabi/api/merchant/kyc/manual/submit", { ...params });
  279. },
  280. // 文件上传
  281. ucardUpload(params: FormData): Promise<BaseResponse<{ url: string }>> {
  282. return post("/wasabi/api/upload/file", { ...params });
  283. },
  284. // 获取WebSDK链接
  285. getWebsdkLink(params: {} = {}): Promise<BaseResponse<{ link: string }>> {
  286. return post("/wasabi/api/getWebsdkLink", { ...params });
  287. },
  288. // 上传KYC附件
  289. kycUpload(params: FormData): Promise<BaseResponse<{ url: string }>> {
  290. return post("/wasabi/api/merchant/kyc/upload", { ...params });
  291. },
  292. // 获取激活卡
  293. getActivationCode(params: {} = {}): Promise<BaseResponse<ActivationCode>> {
  294. return post("/wasabi/api/get/activation/code", { ...params });
  295. },
  296. // 查询交易记录分页列表
  297. transactionsList(
  298. params: TransactionParams = { page: { current: 1, row: 10 } }
  299. ): Promise<BaseResponse<PageResponse<TransactionInfo>>> {
  300. return post("/wasabi/api/card/transac/page", { ...params });
  301. },
  302. // 用户订单分页查询
  303. transferList(
  304. params: TransactionParams = { page: { current: 1, row: 10 } }
  305. ): Promise<BaseResponse<PageResponse<TransferInfo>>> {
  306. return post("/wasabi/api/transfer/page", { ...params });
  307. },
  308. // 申请开卡
  309. ucardApply(params: CardApplyParams): Promise<BaseResponse> {
  310. return post("/wasabi/api/card/apply", { ...params });
  311. },
  312. // 免费次数
  313. reductionNum(params: {} = {}): Promise<BaseResponse<{ count: number }>> {
  314. return post("/wasabi/api/apply/reduction/num", { ...params });
  315. },
  316. // 账户余额
  317. walletBalance(
  318. params: {} = {}
  319. ): Promise<BaseResponse<{ balance: number; currency: string }>> {
  320. return post("/wasabi/api/card/wallet/balance", { ...params });
  321. },
  322. // 开卡详情
  323. applyDetails(params: {
  324. applyId: string;
  325. }): Promise<BaseResponse<CardApplyParams>> {
  326. return post("/wasabi/api/card/apply/details", { ...params });
  327. },
  328. // 钱包记录分页列表
  329. getRecordPage(
  330. params: PageParams = { page: { current: 1, row: 10 } }
  331. ): Promise<BaseResponse<PageResponse<TransactionInfo>>> {
  332. return post("/wasabi/api/card/wallet/record/page", { ...params });
  333. },
  334. // 验证权限
  335. permissionVerify(params: {
  336. cardNo: string;
  337. uniqueId: string;
  338. }): Promise<BaseResponse<{ valid: boolean }>> {
  339. return post("/wasabi/api/card/permission/verify", { ...params });
  340. },
  341. // 人脸详情
  342. searchSingle(params: {
  343. id: string;
  344. }): Promise<BaseResponse<{ faceInfo: any }>> {
  345. return post("/wasabi/api/search/single", { ...params });
  346. },
  347. // 更新地址
  348. addressUpdate(params: {
  349. address: string;
  350. [key: string]: any;
  351. }): Promise<BaseResponse> {
  352. return post("/wasabi/api/merchant/user/address/update", { ...params });
  353. },
  354. // 查看cvv码校验密码
  355. getCvv(params: {
  356. cardNo: string;
  357. password: string;
  358. }): Promise<BaseResponse<{ cvv: string }>> {
  359. return post("/wasabi/api/card/password/verify", { ...params });
  360. },
  361. // 根据条件查看拒绝列表-用于下拉和选择展示理由
  362. reasonsRefusalList(
  363. params: { type?: string } = {}
  364. ): Promise<BaseResponse<RefusalReason[]>> {
  365. return post("/wasabi/api/reasons/refusal/list", { ...params });
  366. },
  367. // 证件类型配置
  368. idTypesConfigList(
  369. params: { country?: string; type?: string } = {}
  370. ): Promise<BaseResponse<{ id: string; name: string }[]>> {
  371. return post("/wasabi/api/card/id/type/config/list", { ...params });
  372. },
  373. // 验证邮箱验证码查询
  374. getCvvCode(params: {
  375. cardNo: string;
  376. password: string;
  377. }): Promise<BaseResponse<{ code: string }>> {
  378. return post("/wasabi/api/query/cvv/verify/code", { ...params });
  379. },
  380. // 查询CVV 发送短信验证码
  381. sendEmailCode(params: {
  382. cardNo: string;
  383. password: string;
  384. }): Promise<BaseResponse<{ code: string }>> {
  385. return post("/wasabi/api/query/cvv/send/code", { ...params });
  386. },
  387. // 全球速汇
  388. globalCurrenciesSave(
  389. params: object = {}
  390. ): Promise<BaseResponse<any>> {
  391. return post("/wasabi/api/global/currencies/save", params);
  392. },
  393. globalCurrenciesList(
  394. params: object = {}
  395. ): Promise<BaseResponse<any>> {
  396. return post("/wasabi/api/global/currencies/list", params);
  397. },
  398. // 币种下拉列表
  399. globalCurrenciesDropdown(
  400. params: object = {}
  401. ): Promise<BaseResponse<any>> {
  402. return post("/wasabi/api/global/currencies/dropdown", params);
  403. },
  404. // 币种字段和可选值列表
  405. globalCurrenciesField(
  406. params: object = {}
  407. ): Promise<BaseResponse<any>> {
  408. return post("/wasabi/api/global/currencies/field/list", params);
  409. },
  410. // 查询 ucard 账户信息
  411. cardAccountDropdown(
  412. params: object = {}
  413. ): Promise<BaseResponse<any>> {
  414. return post("/wasabi/api/card/account/dropdown", params);
  415. },
  416. // 速汇订单分页列表
  417. globalOrdersList(
  418. params: object = {}
  419. ): Promise<BaseResponse<any>> {
  420. return post("/wasabi/api/global/order/page/list", params);
  421. },
  422. // 速汇订单审批
  423. globalOrderApprove(
  424. params: object = {}
  425. ): Promise<BaseResponse<any>> {
  426. return post("/wasabi/api/global/order/approve", params);
  427. },
  428. // 创建订单
  429. globalOrdersCreate(
  430. params: object = {}
  431. ): Promise<BaseResponse<any>> {
  432. return post("/wasabi/api/global/create/order", params);
  433. },
  434. // 订单详情
  435. globalOrdersDetail(
  436. params: object = {}
  437. ): Promise<BaseResponse<any>> {
  438. return post("/wasabi/api/global/order/details", params);
  439. },
  440. // 修改订单
  441. globalOrderUpdate(
  442. params: object = {}
  443. ): Promise<BaseResponse<any>> {
  444. return post("/wasabi/api/update/global/order", params);
  445. },
  446. // 查询已认证用户列表
  447. cardUserList(
  448. params: object = {}
  449. ): Promise<BaseResponse<any>> {
  450. return post("/wasabi/api/card/query/user/list", params);
  451. },
  452. // 更新手续费率
  453. updateGlobalFee(
  454. params: object = {}
  455. ): Promise<BaseResponse<any>> {
  456. return post("/wasabi/api/global/currencies/config", params);
  457. },
  458. // 查询手续费率和汇率
  459. globalExchangeRate(
  460. params: object = {}
  461. ): Promise<BaseResponse<any>> {
  462. return post("/wasabi/api/global/query/exchange/rate", params);
  463. },
  464. // 查询最新汇率
  465. globalLatestExchangeRate(
  466. params: object = {}
  467. ): Promise<BaseResponse<any>> {
  468. return post("/wasabi/api/global/query/latest/exchange/rate", params);
  469. },
  470. // 补充资料
  471. globalSupplementary(
  472. params: object = {}
  473. ): Promise<BaseResponse<any>> {
  474. return post("/wasabi/api/global/supplementary/data", params);
  475. },
  476. // 转账币种下拉框
  477. globalPayoutCurrencyDropdown(
  478. params: object = {}
  479. ): Promise<BaseResponse<any>> {
  480. return post("/wasabi/api/global/payout/currency/dropdown", params);
  481. },
  482. // 查询支持的城市列表
  483. globalQueryBankCities(
  484. params: object = {}
  485. ): Promise<BaseResponse<any>> {
  486. return post("/wasabi/api/global/query/bank/cities", params);
  487. },
  488. // 查询币种全局配置
  489. globalCurrenciesConfig(
  490. params: object = {}
  491. ): Promise<BaseResponse<any>> {
  492. return post("/wasabi/api/global/query/currencies/config", params);
  493. },
  494. // 取消交易订单
  495. globalCancelOrder(
  496. params: object = {}
  497. ): Promise<BaseResponse<any>> {
  498. return post("/wasabi/api/global/cancel/order", params);
  499. },
  500. // 配置用户汇率
  501. updateCardConfig(
  502. params: object = {}
  503. ): Promise<BaseResponse<any>> {
  504. return post("/wasabi/api/merchant/user/rate/config", params);
  505. },
  506. // 已认证用户信息详情
  507. globalUserDetails(
  508. params: object = {}
  509. ): Promise<BaseResponse<any>> {
  510. return post("/wasabi/api/global/user/details", params);
  511. },
  512. // 获取收款用户列表
  513. globalReceiverUserList(
  514. params: object = {}
  515. ): Promise<BaseResponse<any>> {
  516. return post("/wasabi/api/global/receiver/user/list", params);
  517. },
  518. // 上传文件
  519. scanFile(
  520. params: object = {}
  521. ): Promise<BaseResponse<any>> {
  522. return post("/wasabi/api/scan/upload/file", params);
  523. },
  524. // 区块链配置下拉列表
  525. getBlockchainDropdown(
  526. params: object = {}
  527. ): Promise<BaseResponse<any>> {
  528. return post("/wasabi/api/card/blockchain/config/dropdown", params);
  529. },
  530. // 生成钱包地址
  531. getVaultodyAddress(
  532. params: object = {}
  533. ): Promise<BaseResponse<any>> {
  534. return post("/wasabi/api/card/wallet/generate/deposit/address", params);
  535. },
  536. // 加密货币交易记录列表
  537. getBlockchainTransactionPage(
  538. params: object = {}
  539. ): Promise<BaseResponse<any>> {
  540. return post("/wasabi/api/card/wallet/deposit/page", params);
  541. },
  542. // 新增钱包提款列表
  543. getBlockchainWithdrawPage(
  544. params: object = {}
  545. ): Promise<BaseResponse<any>> {
  546. return post("/wasabi/api/card/wallet/withdraw/page", params);
  547. },
  548. // 取消
  549. getBlockchainWithdrawCancel(
  550. params: object = {}
  551. ): Promise<BaseResponse<any>> {
  552. return post("/wasabi/api/card/wallet/withdraw/cancel", params);
  553. },
  554. // 新建钱包提款发送邮箱验证码
  555. getBlockchainWithdrawSendEmailCode(
  556. params: object = {}
  557. ): Promise<BaseResponse<any>> {
  558. return post("/wasabi/api/card/wallet/send/email/code", params);
  559. },
  560. // 新增钱包提款
  561. getBlockchainWithdrawApply(
  562. params: object = {}
  563. ): Promise<BaseResponse<any>> {
  564. return post("/wasabi/api/card/wallet/withdraw/apply", params);
  565. },
  566. // 卡扣款分页列表
  567. getCardWithdrawPage(
  568. params: object = {}
  569. ): Promise<BaseResponse<any>> {
  570. return post("/wasabi/api/card/withdraw/page", params);
  571. },
  572. // 字段参数列表
  573. getGlobalFieldParams(
  574. params: object = {}
  575. ): Promise<BaseResponse<any>> {
  576. return post("/wasabi/api/global/field/params", params);
  577. },
  578. // app版本详情
  579. getAppVersionDetail(
  580. params: object = {}
  581. ): Promise<BaseResponse<any>> {
  582. return post("/wasabi/api/card/app/version/detail", params);
  583. },
  584. // app隐私政策
  585. getAppPrivacyPolicyPage(
  586. params: object = {}
  587. ): Promise<BaseResponse<any>> {
  588. return post("/wasabi/api/card/app/privacy/policy/page", params);
  589. },
  590. // app常见问题分页列表
  591. getAppCommonProblemPage(
  592. params: object = {}
  593. ): Promise<BaseResponse<any>> {
  594. return post("/wasabi/api/card/app/common/problem/page", params);
  595. },
  596. // app常见问题类型
  597. getAppCommonProblemDropdown(
  598. params: object = {}
  599. ): Promise<BaseResponse<any>> {
  600. return post("/wasabi/api/card/app/common/problem/type/dropdown", params);
  601. }
  602. };