@jctrans/dw-sdk 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +444 -2
- package/dist/core/BaseQuery.js +1 -1
- package/dist/core/GraphQLClient.js +1 -1
- package/dist/generated/member/MemberManager.d.ts +48 -0
- package/dist/generated/member/MemberManager.js +1 -0
- package/dist/generated/member/MemberQuarterlyQuery.d.ts +64 -0
- package/dist/generated/member/MemberQuarterlyQuery.js +1 -0
- package/dist/generated/member/types.d.ts +94 -0
- package/dist/generated/member/types.js +1 -0
- package/dist/generated/opportunity/OpportunityEffectiveBoardQuery.js +1 -1
- package/dist/generated/opportunity/OpportunityManager.js +1 -1
- package/dist/generated/opportunity/types.js +1 -1
- package/dist/generated/platform/PlatformManager.d.ts +64 -0
- package/dist/generated/platform/PlatformManager.js +1 -0
- package/dist/generated/platform/PlatformPerformanceDeptUserQuery.d.ts +80 -0
- package/dist/generated/platform/PlatformPerformanceDeptUserQuery.js +1 -0
- package/dist/generated/platform/types.d.ts +146 -0
- package/dist/generated/platform/types.js +1 -0
- package/dist/generated/sales/CrmNewSigningQuery.d.ts +33 -0
- package/dist/generated/sales/CrmNewSigningQuery.js +1 -0
- package/dist/generated/sales/CrmRenewalDetailQuery.d.ts +33 -0
- package/dist/generated/sales/CrmRenewalDetailQuery.js +1 -0
- package/dist/generated/sales/CrmRenewalQuery.d.ts +33 -0
- package/dist/generated/sales/CrmRenewalQuery.js +1 -0
- package/dist/generated/sales/RenewalDetailQuery.d.ts +43 -0
- package/dist/generated/sales/RenewalDetailQuery.js +1 -0
- package/dist/generated/sales/SalesEventPerfQuery.d.ts +21 -0
- package/dist/generated/sales/SalesEventPerfQuery.js +1 -0
- package/dist/generated/sales/SalesManager.d.ts +94 -0
- package/dist/generated/sales/SalesManager.js +1 -0
- package/dist/generated/sales/SalesMemberPerfQuery.d.ts +21 -0
- package/dist/generated/sales/SalesMemberPerfQuery.js +1 -0
- package/dist/generated/sales/SalesTotalPerfQuery.d.ts +25 -0
- package/dist/generated/sales/SalesTotalPerfQuery.js +1 -0
- package/dist/generated/sales/types.d.ts +224 -0
- package/dist/generated/sales/types.js +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +1 -1
- package/dist/services/opportunity/BoardService.js +1 -1
- package/dist/services/opportunity/types.js +1 -1
- package/dist/services/opportunity/validator.js +1 -1
- package/dist/services/platform/PlatformService.d.ts +83 -0
- package/dist/services/platform/PlatformService.js +1 -0
- package/dist/services/sales/SalesService.d.ts +78 -0
- package/dist/services/sales/SalesService.js +1 -0
- package/package.json +12 -12
package/README.md
CHANGED
|
@@ -83,6 +83,99 @@ if (res.success) {
|
|
|
83
83
|
}
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
+
### SalesService — 销售域封装 API
|
|
87
|
+
|
|
88
|
+
销售域提供总业绩、会员业绩、会议业绩、续费明细和 CRM 数据分析看板查询,共用一个入参结构。
|
|
89
|
+
|
|
90
|
+
```ts
|
|
91
|
+
import { createDwSdk } from '@jctrans/dw-sdk'
|
|
92
|
+
|
|
93
|
+
const sdk = createDwSdk({ baseUrl: 'https://api.jctrans.net.cn' })
|
|
94
|
+
|
|
95
|
+
// 总业绩看板
|
|
96
|
+
const total = await sdk.sales.service.salesTotalPerf({
|
|
97
|
+
deptId: 100,
|
|
98
|
+
performanceMonth: '2026-06',
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
// 会员业绩看板
|
|
102
|
+
const member = await sdk.sales.service.salesMemberPerf({
|
|
103
|
+
deptId: 100,
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
// 会议业绩看板
|
|
107
|
+
const event = await sdk.sales.service.salesEventPerf({
|
|
108
|
+
deptId: 100,
|
|
109
|
+
monthFilterMode: 'QUARTER',
|
|
110
|
+
})
|
|
111
|
+
|
|
112
|
+
// 续费明细
|
|
113
|
+
const detail = await sdk.sales.service.renewalDetail({
|
|
114
|
+
userId: 100,
|
|
115
|
+
performanceMonth: '2026-06',
|
|
116
|
+
})
|
|
117
|
+
|
|
118
|
+
if (total.success) {
|
|
119
|
+
// total.data.totalPerf, total.data.deptGroupList, total.data.userGroupList
|
|
120
|
+
console.log('总业绩:', total.data.totalPerf)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (detail.success) {
|
|
124
|
+
console.log(`续费明细 ${detail.data.length} 条`)
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 客户域 — 季度综合报告
|
|
129
|
+
|
|
130
|
+
```ts
|
|
131
|
+
import { createDwSdk } from '@jctrans/dw-sdk'
|
|
132
|
+
|
|
133
|
+
const sdk = createDwSdk({ baseUrl: 'https://api.jctrans.net.cn' })
|
|
134
|
+
|
|
135
|
+
// 客户季度综合报告
|
|
136
|
+
const report = await sdk.member.memberQuarterly()
|
|
137
|
+
.select('companyId', 'year', 'quarter', 'companyNameCn', 'selfReleaseCount')
|
|
138
|
+
.arg('companyId', 12345)
|
|
139
|
+
.arg('year', 2026)
|
|
140
|
+
.arg('quarter', 2)
|
|
141
|
+
.arg('subTypes', ['interaction', 'account'])
|
|
142
|
+
.query()
|
|
143
|
+
|
|
144
|
+
// report: MemberQuarterlyVo
|
|
145
|
+
// report.interactionList — 互动排名子表
|
|
146
|
+
// report.accountList — 账号使用明细子表
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### CRM 数据分析看板
|
|
150
|
+
|
|
151
|
+
```ts
|
|
152
|
+
import { createDwSdk } from '@jctrans/dw-sdk'
|
|
153
|
+
|
|
154
|
+
const sdk = createDwSdk({ baseUrl: 'https://api.jctrans.net.cn' })
|
|
155
|
+
|
|
156
|
+
// CRM 新签观测
|
|
157
|
+
const newSigning = await sdk.sales.crmNewSigning()
|
|
158
|
+
.arg('deptId', 100)
|
|
159
|
+
.arg('statMonth', '2026-06')
|
|
160
|
+
.query()
|
|
161
|
+
|
|
162
|
+
// CRM 续费观测
|
|
163
|
+
const renewal = await sdk.sales.crmRenewal()
|
|
164
|
+
.arg('deptId', 100)
|
|
165
|
+
.arg('statMonth', '2026-06')
|
|
166
|
+
.query()
|
|
167
|
+
|
|
168
|
+
// CRM 续费观测详情
|
|
169
|
+
const renewalDetail = await sdk.sales.crmRenewalDetail()
|
|
170
|
+
.arg('deptId', 100)
|
|
171
|
+
.arg('statMonth', '2026-06')
|
|
172
|
+
.query()
|
|
173
|
+
|
|
174
|
+
// newSigning: CrmDashboardNewSigningVo[]
|
|
175
|
+
// renewal: CrmDashboardRenewalVo[]
|
|
176
|
+
// renewalDetail: CrmDashboardRenewalDetailVo[]
|
|
177
|
+
```
|
|
178
|
+
|
|
86
179
|
## 基础用例
|
|
87
180
|
|
|
88
181
|
### 1. 全字段分页查询
|
|
@@ -174,6 +267,126 @@ const graphQL = sdk.opportunity.opportunityEffectiveBoardPage()
|
|
|
174
267
|
// ) { total current size pages records { companyId periodType inquiryCount } } }
|
|
175
268
|
```
|
|
176
269
|
|
|
270
|
+
## 销售域用例
|
|
271
|
+
|
|
272
|
+
### 7. 总业绩看板查询(底层 Query Builder)
|
|
273
|
+
|
|
274
|
+
```ts
|
|
275
|
+
const total = await sdk.sales.salesTotalPerf()
|
|
276
|
+
.arg('deptId', 100)
|
|
277
|
+
.arg('performanceMonth', '2026-06')
|
|
278
|
+
.query()
|
|
279
|
+
|
|
280
|
+
// total: SalesTotalPerfBoardVo
|
|
281
|
+
// total.totalPerf — 单条总业绩
|
|
282
|
+
// total.deptGroupList — 部门分组列表
|
|
283
|
+
// total.userGroupList — 用户分组列表
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### 8. 会员业绩看板查询(底层 Query Builder)
|
|
287
|
+
|
|
288
|
+
```ts
|
|
289
|
+
const member = await sdk.sales.salesMemberPerf()
|
|
290
|
+
.arg('deptId', 100)
|
|
291
|
+
.query()
|
|
292
|
+
|
|
293
|
+
// member: SalesMemberPerfBoardVo
|
|
294
|
+
// member.totalMemberPerf — 总会员业绩
|
|
295
|
+
// member.newSigningPerf — 新签业绩
|
|
296
|
+
// member.reSigningPerf — 续签业绩
|
|
297
|
+
// member.jcvfPerf — 金诚运营基金业绩
|
|
298
|
+
// member.groupList — 分组列表
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### 9. 会议业绩看板查询(底层 Query Builder)
|
|
302
|
+
|
|
303
|
+
```ts
|
|
304
|
+
const event = await sdk.sales.salesEventPerf()
|
|
305
|
+
.arg('deptId', 100)
|
|
306
|
+
.arg('monthFilterMode', 'QUARTER')
|
|
307
|
+
.query()
|
|
308
|
+
|
|
309
|
+
// event: SalesEventPerfBoardVo
|
|
310
|
+
// event.sessionPerfList — 会议场次业绩列表
|
|
311
|
+
// event.productBarList — 产品条列表
|
|
312
|
+
// event.groupList — 分组列表
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### 10. 带市场区域和预测查询
|
|
316
|
+
|
|
317
|
+
```ts
|
|
318
|
+
const total = await sdk.sales.salesTotalPerf()
|
|
319
|
+
.arg('deptId', 100)
|
|
320
|
+
.arg('marketArea', '0') // 0=国内, 1=海外
|
|
321
|
+
.arg('forecastEnabled', true)
|
|
322
|
+
.arg('performanceMonth', '2026-06')
|
|
323
|
+
.query()
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### 11. 续费明细查询(底层 Query Builder)
|
|
327
|
+
|
|
328
|
+
```ts
|
|
329
|
+
const detail = await sdk.sales.renewalDetail()
|
|
330
|
+
.arg('userId', 100)
|
|
331
|
+
.arg('performanceMonth', '2026-06')
|
|
332
|
+
.query()
|
|
333
|
+
|
|
334
|
+
// detail: RenewalDetailVo[]
|
|
335
|
+
// detail[0].normalAmountRmb, detail[0].receiptTotalAmountRmb, detail[0].completionRate, ...
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### 12. CRM 新签观测(底层 Query Builder)
|
|
339
|
+
|
|
340
|
+
```ts
|
|
341
|
+
const list = await sdk.sales.crmNewSigning()
|
|
342
|
+
.arg('deptId', 100)
|
|
343
|
+
.arg('statMonth', '2026-06')
|
|
344
|
+
.query()
|
|
345
|
+
|
|
346
|
+
// list: CrmDashboardNewSigningVo[]
|
|
347
|
+
// list[0].newSigningCount, list[0].firstSigningCount, list[0].addOnSigningCount, ...
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### 13. CRM 续费观测(底层 Query Builder)
|
|
351
|
+
|
|
352
|
+
```ts
|
|
353
|
+
const list = await sdk.sales.crmRenewal()
|
|
354
|
+
.arg('deptId', 100)
|
|
355
|
+
.arg('statMonth', '2026-06')
|
|
356
|
+
.query()
|
|
357
|
+
|
|
358
|
+
// list: CrmDashboardRenewalVo[]
|
|
359
|
+
// list[0].renewalRate, list[0].renewedProductCount, list[0].unrenewedProductCount, ...
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
### 14. CRM 续费观测详情(底层 Query Builder)
|
|
363
|
+
|
|
364
|
+
```ts
|
|
365
|
+
const list = await sdk.sales.crmRenewalDetail()
|
|
366
|
+
.arg('deptId', 100)
|
|
367
|
+
.arg('statMonth', '2026-06')
|
|
368
|
+
.query()
|
|
369
|
+
|
|
370
|
+
// list: CrmDashboardRenewalDetailVo[]
|
|
371
|
+
// list[0].customerName, list[0].expireProductName, list[0].renewalStatus, ...
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### 15. 调试:查看销售域 GraphQL payload
|
|
375
|
+
|
|
376
|
+
```ts
|
|
377
|
+
const graphQL = sdk.sales.salesTotalPerf()
|
|
378
|
+
.arg('deptId', 100)
|
|
379
|
+
.arg('performanceMonth', '2026-06')
|
|
380
|
+
.toGraphQL()
|
|
381
|
+
|
|
382
|
+
// 输出:
|
|
383
|
+
// query { salesTotalPerf(input: { deptId: 100, performanceMonth: "2026-06" }) {
|
|
384
|
+
// totalPerf { queryDim performanceMonth deptId deptName ... }
|
|
385
|
+
// deptGroupList { queryDim performanceMonth ... }
|
|
386
|
+
// userGroupList { queryDim userId userName ... }
|
|
387
|
+
// } }
|
|
388
|
+
```
|
|
389
|
+
|
|
177
390
|
## 封装 API 用例(sdk.opportunity.board)
|
|
178
391
|
|
|
179
392
|
封装 API 提供 `{ success, data, error }` 统一返回结构,参数校验失败不抛异常,前端可直接展示 `error` 字段。
|
|
@@ -343,6 +556,100 @@ interface BoardQueryResult {
|
|
|
343
556
|
| `YEAR` | `.eq('periodType', 'year')` + `.arg('statYear', YYYY)` |
|
|
344
557
|
| `MONTH` | `.eq('periodType', 'month')` + `.eq('statMonth', N)` + `.arg('statYear', YYYY)` |
|
|
345
558
|
|
|
559
|
+
### SalesService(封装层)
|
|
560
|
+
|
|
561
|
+
通过 `sdk.sales.service` 访问,提供四个查询。
|
|
562
|
+
|
|
563
|
+
#### 共用入参 `SalesServiceParams`
|
|
564
|
+
|
|
565
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
566
|
+
|------|------|------|------|
|
|
567
|
+
| `params.deptId` | `number \| null` | ❌ | 部门 ID |
|
|
568
|
+
| `params.userId` | `number \| null` | ❌ | 用户 ID |
|
|
569
|
+
| `params.performanceMonth` | `string \| null` | ❌ | 业绩月份,格式 `YYYY-MM`(如 `2026-06`) |
|
|
570
|
+
| `params.forecastEnabled` | `boolean \| null` | ❌ | 是否启用预测 |
|
|
571
|
+
| `params.marketArea` | `string \| null` | ❌ | 市场区域 |
|
|
572
|
+
| `params.monthFilterMode` | `string \| null` | ❌ | 月份筛选模式(仅 `salesEventPerf` 使用) |
|
|
573
|
+
|
|
574
|
+
#### service.salesTotalPerf(params)
|
|
575
|
+
|
|
576
|
+
**返回值:`Promise<SalesTotalPerfResult>`**
|
|
577
|
+
|
|
578
|
+
```ts
|
|
579
|
+
interface SalesTotalPerfResult {
|
|
580
|
+
success: boolean
|
|
581
|
+
data: SalesTotalPerfBoardVo | null
|
|
582
|
+
error: string | null
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
// SalesTotalPerfBoardVo:
|
|
586
|
+
// totalPerf: SalesDeptPerfVo
|
|
587
|
+
// deptGroupList: SalesDeptPerfVo[]
|
|
588
|
+
// userGroupList: SalesUserPerfVo[]
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
#### service.salesMemberPerf(params)
|
|
592
|
+
|
|
593
|
+
**返回值:`Promise<SalesMemberPerfResult>`**
|
|
594
|
+
|
|
595
|
+
```ts
|
|
596
|
+
interface SalesMemberPerfResult {
|
|
597
|
+
success: boolean
|
|
598
|
+
data: SalesMemberPerfBoardVo | null
|
|
599
|
+
error: string | null
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
// SalesMemberPerfBoardVo:
|
|
603
|
+
// totalMemberPerf: SalesPerfMemberDashboardVo
|
|
604
|
+
// newSigningPerf: SalesPerfMemberDashboardVo
|
|
605
|
+
// reSigningPerf: SalesPerfMemberDashboardVo
|
|
606
|
+
// jcvfPerf: SalesPerfMemberDashboardVo
|
|
607
|
+
// groupList: SalesPerfMemberDashboardVo[]
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
#### service.salesEventPerf(params)
|
|
611
|
+
|
|
612
|
+
**返回值:`Promise<SalesEventPerfResult>`**
|
|
613
|
+
|
|
614
|
+
```ts
|
|
615
|
+
interface SalesEventPerfResult {
|
|
616
|
+
success: boolean
|
|
617
|
+
data: SalesEventPerfBoardVo | null
|
|
618
|
+
error: string | null
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
// SalesEventPerfBoardVo:
|
|
622
|
+
// sessionPerfList: SalesPerfEventDashboardVo[]
|
|
623
|
+
// productBarList: SalesPerfEventDashboardVo[]
|
|
624
|
+
// groupList: SalesPerfEventDashboardVo[]
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
#### service.renewalDetail(params)
|
|
628
|
+
|
|
629
|
+
**返回值:`Promise<RenewalDetailResult>`**
|
|
630
|
+
|
|
631
|
+
```ts
|
|
632
|
+
interface RenewalDetailResult {
|
|
633
|
+
success: boolean
|
|
634
|
+
data: RenewalDetailVo[] | null
|
|
635
|
+
error: string | null
|
|
636
|
+
}
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
**RenewalDetailVo 关键字段:**
|
|
640
|
+
|
|
641
|
+
| 字段 | 类型 | 说明 |
|
|
642
|
+
|------|------|------|
|
|
643
|
+
| `normalAmountRmb` | `number` | 正常收款金额(人民币) |
|
|
644
|
+
| `overdraftAmountRmb` | `number` | 透支金额 |
|
|
645
|
+
| `recoveredAmountRmb` | `number` | 回收金额 |
|
|
646
|
+
| `receiptTotalAmountRmb` | `number` | 收款总金额 |
|
|
647
|
+
| `targetAmount` | `number` | 目标金额 |
|
|
648
|
+
| `completionRate` | `number` | 完成率 |
|
|
649
|
+
| `receiptAmountRmb` | `number` | 收款金额(人民币) |
|
|
650
|
+
| `targetAmount` | `number` | 目标金额 |
|
|
651
|
+
| `completionRate` | `number` | 完成率 |
|
|
652
|
+
|
|
346
653
|
## 与 Java 后端对齐
|
|
347
654
|
|
|
348
655
|
SDK 与 `jctrans-data-service` 的 Java 代码完全对齐。
|
|
@@ -358,6 +665,15 @@ POST {baseUrl}/api/{domain}/{topic}/graphql
|
|
|
358
665
|
| domain | topic | 完整 URL |
|
|
359
666
|
|--------|-------|---------|
|
|
360
667
|
| `opportunity` | `opportunityEffectiveBoardPage` | `/api/opportunity/opportunityEffectiveBoardPage/graphql` |
|
|
668
|
+
| `platform` | `platformPerformanceDeptUserPage` | `/api/platform/platformPerformanceDeptUserPage/graphql` |
|
|
669
|
+
| `sales` | `salesTotalPerf` | `/api/sales/graphql` |
|
|
670
|
+
| `sales` | `salesMemberPerf` | `/api/sales/graphql` |
|
|
671
|
+
| `sales` | `salesEventPerf` | `/api/sales/graphql` |
|
|
672
|
+
| `sales` | `renewalDetail` | `/api/sales/graphql` |
|
|
673
|
+
| `sales` | `crmNewSigning` | `/api/sales/graphql` |
|
|
674
|
+
| `sales` | `crmRenewal` | `/api/sales/graphql` |
|
|
675
|
+
| `sales` | `crmRenewalDetail` | `/api/sales/graphql` |
|
|
676
|
+
| `member` | `memberQuarterly` | `/api/member/memberQuarterly/graphql` |
|
|
361
677
|
|
|
362
678
|
这种设计使得浏览器 DevTools → Network 面板可按路径分类筛选,便于调试。
|
|
363
679
|
|
|
@@ -390,7 +706,7 @@ Response: {"data": {"opportunityEffectiveBoardPage": {"total": ..., "records": [
|
|
|
390
706
|
|
|
391
707
|
### query 结构
|
|
392
708
|
|
|
393
|
-
|
|
709
|
+
opportunity 域产出的 GraphQL query 与后端 `opportunity.graphqls` schema 对齐(dto 入参模式):
|
|
394
710
|
|
|
395
711
|
```
|
|
396
712
|
query { topic(dto: { current: N, size: N, companyId: N, statYear: N, ... })
|
|
@@ -400,6 +716,33 @@ query { topic(dto: { current: N, size: N, companyId: N, statYear: N, ... })
|
|
|
400
716
|
> **注意**:`eq` 条件中匹配 DTO 字段(`companyId`/`statYear`/`statMonth`/`statQuarter`)的会提取到 `dto` 入参中,
|
|
401
717
|
> 非 DTO 字段或非 `eq` 操作符的条件仍以 `conditions` 数组方式传递。
|
|
402
718
|
|
|
719
|
+
sales 域产出的 GraphQL query 与后端 `sales.graphqls` schema 对齐(input 入参模式,v2 拆分版):
|
|
720
|
+
|
|
721
|
+
```
|
|
722
|
+
query { salesTotalPerf(input: { deptId: N, performanceMonth: "2026-06", ... })
|
|
723
|
+
{ totalPerf { fields } deptGroupList { fields } userGroupList { fields } } }
|
|
724
|
+
|
|
725
|
+
query { salesMemberPerf(input: { deptId: N, ... })
|
|
726
|
+
{ totalMemberPerf { fields } newSigningPerf { fields } reSigningPerf { fields } jcvfPerf { fields } groupList { fields } } }
|
|
727
|
+
|
|
728
|
+
query { salesEventPerf(input: { deptId: N, monthFilterMode: "QUARTER", ... })
|
|
729
|
+
{ sessionPerfList { fields } productBarList { fields } groupList { fields } } }
|
|
730
|
+
|
|
731
|
+
query { renewalDetail(input: { userId: N, ... })
|
|
732
|
+
{ queryDim userId userName deptId normalAmountRmb ... } }
|
|
733
|
+
|
|
734
|
+
query { crmNewSigning(input: { deptId: N, statMonth: "2026-06", ... })
|
|
735
|
+
{ queryDim userId userName deptId newSigningCount firstSigningCount ... } }
|
|
736
|
+
|
|
737
|
+
query { crmRenewal(input: { deptId: N, statMonth: "2026-06", ... })
|
|
738
|
+
{ queryDim userId userName deptId renewalRate renewedProductCount ... } }
|
|
739
|
+
|
|
740
|
+
query { crmRenewalDetail(input: { deptId: N, statMonth: "2026-06", ... })
|
|
741
|
+
{ statMonth deptId customerName expireProductName renewalStatus ... } }
|
|
742
|
+
```
|
|
743
|
+
|
|
744
|
+
> sales 域查询无分页、无 select,返回固定结构。`arg()` 参数直接映射到 `input` 对象,`null`/`undefined`/空字符串自动跳过。
|
|
745
|
+
|
|
403
746
|
## SSR 使用指南
|
|
404
747
|
|
|
405
748
|
### Nuxt 3 Server API
|
|
@@ -502,11 +845,28 @@ export function useOpportunity() {
|
|
|
502
845
|
│ ├── GraphQLClient (fetch 封装) │
|
|
503
846
|
│ │ POST {baseUrl}/api/{domain}/{topic}/graphql │
|
|
504
847
|
│ │ ├── /api/opportunity/opportunityEffectiveBoardPage/graphql │
|
|
848
|
+
│ │ ├── /api/platform/platformPerformanceDeptUserPage/graphql │
|
|
849
|
+
│ │ ├── /api/sales/graphql │
|
|
850
|
+
│ │ ├── /api/member/memberQuarterly/graphql │
|
|
505
851
|
│ │ ├── /api/order/adsOrderPage/graphql (待生成) │
|
|
506
852
|
│ │ └── /api/logistics/... (待生成) │
|
|
507
853
|
│ ├── OpportunityManager (商机域) │
|
|
508
854
|
│ │ ├── opportunityEffectiveBoardPage() → Query Builder │
|
|
509
855
|
│ │ └── board (getter) → BoardService (封装层) │
|
|
856
|
+
│ ├── SalesManager (销售域) │
|
|
857
|
+
│ │ ├── salesTotalPerf() → SalesTotalPerfQuery │
|
|
858
|
+
│ │ ├── salesMemberPerf() → SalesMemberPerfQuery │
|
|
859
|
+
│ │ ├── salesEventPerf() → SalesEventPerfQuery │
|
|
860
|
+
│ │ ├── renewalDetail() → RenewalDetailQuery │
|
|
861
|
+
│ │ ├── crmNewSigning() → CrmNewSigningQuery │
|
|
862
|
+
│ │ ├── crmRenewal() → CrmRenewalQuery │
|
|
863
|
+
│ │ ├── crmRenewalDetail() → CrmRenewalDetailQuery │
|
|
864
|
+
│ │ └── service (getter) → SalesService (封装层) │
|
|
865
|
+
│ ├── MemberManager (客户域) │
|
|
866
|
+
│ │ └── memberQuarterly() → MemberQuarterlyQuery │
|
|
867
|
+
│ ├── PlatformManager (公共支撑域) │
|
|
868
|
+
│ │ ├── platformPerformanceDeptUserPage() → Query Builder │
|
|
869
|
+
│ │ └── service (getter) → PlatformService (封装层) │
|
|
510
870
|
│ ├── OrderManager (订单域, 待生成) │
|
|
511
871
|
│ └── LogisticsManager (物流域, 待生成) │
|
|
512
872
|
└──────────────────────────────────────────────────────────────────┘
|
|
@@ -530,6 +890,26 @@ createDwSdk()
|
|
|
530
890
|
→ sdk.opportunity.opportunityEffectiveBoardPage() // OpportunityEffectiveBoardQuery
|
|
531
891
|
→ .query() // Promise<OpportunityEffectiveBoardPageResponse>
|
|
532
892
|
→ result.records // OpportunityEffectiveBoard[]
|
|
893
|
+
→ sdk.sales // SalesManager
|
|
894
|
+
→ sdk.sales.salesTotalPerf() // SalesTotalPerfQuery
|
|
895
|
+
→ .query() // Promise<SalesTotalPerfBoardVo>
|
|
896
|
+
→ result.totalPerf // SalesDeptPerfVo
|
|
897
|
+
→ sdk.sales.salesMemberPerf() // SalesMemberPerfQuery
|
|
898
|
+
→ .query() // Promise<SalesMemberPerfBoardVo>
|
|
899
|
+
→ sdk.sales.salesEventPerf() // SalesEventPerfQuery
|
|
900
|
+
→ .query() // Promise<SalesEventPerfBoardVo>
|
|
901
|
+
→ sdk.sales.renewalDetail() // RenewalDetailQuery
|
|
902
|
+
→ .query() // Promise<RenewalDetailVo[]>
|
|
903
|
+
→ sdk.sales.crmNewSigning() // CrmNewSigningQuery
|
|
904
|
+
→ .query() // Promise<CrmDashboardNewSigningVo[]>
|
|
905
|
+
→ sdk.sales.crmRenewal() // CrmRenewalQuery
|
|
906
|
+
→ .query() // Promise<CrmDashboardRenewalVo[]>
|
|
907
|
+
→ sdk.sales.crmRenewalDetail() // CrmRenewalDetailQuery
|
|
908
|
+
→ .query() // Promise<CrmDashboardRenewalDetailVo[]>
|
|
909
|
+
→ sdk.member // MemberManager
|
|
910
|
+
→ sdk.member.memberQuarterly() // MemberQuarterlyQuery
|
|
911
|
+
→ .query() // Promise<MemberQuarterlyVo>
|
|
912
|
+
→ result.interactionList // MemberQuarterlyInteractionRankingVo[]
|
|
533
913
|
```
|
|
534
914
|
|
|
535
915
|
字段名通过 `keyof` 联合类型约束,IDE 自动补全:
|
|
@@ -543,7 +923,7 @@ createDwSdk()
|
|
|
543
923
|
### 当前前端可补全能力
|
|
544
924
|
|
|
545
925
|
```ts
|
|
546
|
-
. // 可补全: opportunity
|
|
926
|
+
. // 可补全: opportunity, platform, sales, member
|
|
547
927
|
sdk.opportunity
|
|
548
928
|
.opportunityEffectiveBoardPage()
|
|
549
929
|
// 可链式补全: select / arg / eq / ne / gt / ge / lt / le
|
|
@@ -551,6 +931,40 @@ sdk.opportunity
|
|
|
551
931
|
.board
|
|
552
932
|
// BoardService: .query({ compId, dateType, dateValue })
|
|
553
933
|
// 返回 BoardQueryResult: { success, data, error }
|
|
934
|
+
sdk.platform
|
|
935
|
+
.platformPerformanceDeptUserPage()
|
|
936
|
+
// 可链式补全: select / arg / eq / ne / gt / ge / lt / le
|
|
937
|
+
// / like / in / isNull / isNotNull / page / query / toGraphQL
|
|
938
|
+
.service
|
|
939
|
+
// PlatformService: .query({ queryDim, deptId, ... })
|
|
940
|
+
sdk.sales
|
|
941
|
+
.salesTotalPerf()
|
|
942
|
+
// 可链式补全: arg / query / toGraphQL
|
|
943
|
+
// 返回 Promise<SalesTotalPerfBoardVo>
|
|
944
|
+
.salesMemberPerf()
|
|
945
|
+
// 可链式补全: arg / query / toGraphQL
|
|
946
|
+
// 返回 Promise<SalesMemberPerfBoardVo>
|
|
947
|
+
.salesEventPerf()
|
|
948
|
+
// 可链式补全: arg / query / toGraphQL
|
|
949
|
+
// 返回 Promise<SalesEventPerfBoardVo>
|
|
950
|
+
.renewalDetail()
|
|
951
|
+
// 可链式补全: arg / query / toGraphQL
|
|
952
|
+
// 返回 Promise<RenewalDetailVo[]>
|
|
953
|
+
.crmNewSigning()
|
|
954
|
+
// 可链式补全: arg / query / toGraphQL
|
|
955
|
+
// 返回 Promise<CrmDashboardNewSigningVo[]>
|
|
956
|
+
.crmRenewal()
|
|
957
|
+
// 可链式补全: arg / query / toGraphQL
|
|
958
|
+
// 返回 Promise<CrmDashboardRenewalVo[]>
|
|
959
|
+
.crmRenewalDetail()
|
|
960
|
+
// 可链式补全: arg / query / toGraphQL
|
|
961
|
+
// 返回 Promise<CrmDashboardRenewalDetailVo[]>
|
|
962
|
+
.service
|
|
963
|
+
// SalesService: .salesTotalPerf(params) / .salesMemberPerf(params) / .salesEventPerf(params) / .renewalDetail(params)
|
|
964
|
+
sdk.member
|
|
965
|
+
.memberQuarterly()
|
|
966
|
+
// 可链式补全: select / arg / query / toGraphQL
|
|
967
|
+
// 返回 Promise<MemberQuarterlyVo>
|
|
554
968
|
```
|
|
555
969
|
|
|
556
970
|
### 封装层导出类型
|
|
@@ -562,6 +976,34 @@ import type {
|
|
|
562
976
|
BoardQueryResult, // { success: boolean; data: BoardPageData | null; error: string | null }
|
|
563
977
|
BoardPageData, // { total; current; size; pages; records }
|
|
564
978
|
} from '@jctrans/dw-sdk'
|
|
979
|
+
|
|
980
|
+
// 销售域
|
|
981
|
+
import type {
|
|
982
|
+
SalesInput, // { deptId?, userId?, performanceMonth?, forecastEnabled?, marketArea?, monthFilterMode? }
|
|
983
|
+
SalesTotalPerfBoardVo, // { totalPerf, deptGroupList, userGroupList }
|
|
984
|
+
SalesMemberPerfBoardVo,// { totalMemberPerf, newSigningPerf, reSigningPerf, jcvfPerf, groupList }
|
|
985
|
+
SalesEventPerfBoardVo, // { sessionPerfList, productBarList, groupList }
|
|
986
|
+
RenewalDetailVo, // { normalAmountRmb, overdraftAmountRmb, recoveredAmountRmb, receiptTotalAmountRmb, ... }
|
|
987
|
+
SalesServiceParams, // 入参类型
|
|
988
|
+
SalesTotalPerfResult, // { success, data, error }
|
|
989
|
+
SalesMemberPerfResult, // { success, data, error }
|
|
990
|
+
SalesEventPerfResult, // { success, data, error }
|
|
991
|
+
RenewalDetailResult, // { success, data, error }
|
|
992
|
+
} from '@jctrans/dw-sdk'
|
|
993
|
+
|
|
994
|
+
// CRM 数据分析看板
|
|
995
|
+
import type {
|
|
996
|
+
CrmDashboardNewSigningVo, // { newSigningCount, firstSigningCount, addOnSigningCount, ... }
|
|
997
|
+
CrmDashboardRenewalVo, // { renewalRate, renewedProductCount, unrenewedProductCount, ... }
|
|
998
|
+
CrmDashboardRenewalDetailVo, // { customerName, expireProductName, renewalStatus, ... }
|
|
999
|
+
} from '@jctrans/dw-sdk'
|
|
1000
|
+
|
|
1001
|
+
// 客户域
|
|
1002
|
+
import type {
|
|
1003
|
+
MemberQuarterlyVo, // { companyNameCn, interactionList, accountList, ... }
|
|
1004
|
+
MemberQuarterlyInput, // { companyId, year, quarter, subTypes? }
|
|
1005
|
+
MemberQuarterlyField, // keyof MemberQuarterlyVo
|
|
1006
|
+
} from '@jctrans/dw-sdk'
|
|
565
1007
|
```
|
|
566
1008
|
|
|
567
1009
|
### 如何让前端都"点得出来"新能力
|
package/dist/core/BaseQuery.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x4366(){const _0x5a3b3e=['uvrxEva','BgLRzq','oduWngncCKLpuG','EwjLDhq','BNvSBa','y2XPzw50','ywrKq29UzgL0Aw9U','C2vHCMnO','iIWGzMLLBgq6ici','CMvWBgfJzq','mJaWz3zLtKTO','y29UzgL0Aw9UCZOG','DMH4the','ChvZAa','mtG4mdDyEejbyMy','AxnfBxb0EvzHBhvL','ntG2nta4s2PzzwHp','B3bLCMf0B3i','qLHOv3u','yM9VBgvHBG','mtmWmZiWtxP0D3rf','BgvUz3rO','BNvTyMvY','CgfNzu51Bq','Dg9WAwm','AxnoDwXS','Dg9hCMfWAffm','CgfNzq','AxnbCNjHEq','zMfSC2u','y29TCgfUEuLK','C2vYAwfSAxPLvMfSDwu','y29UzgL0Aw9UCW','zg9TywLU','C2vSzwn0','swPqz0W','C2vSzwn0rMLLBgrZ','mta1nuDIsfbxEa','mZrVA0fWDu8','uuPSrKq','ih0GFsb9','Dg9tDhjPBMC','CgfNzvnPEMu','q09evfu','yNvPBgrdB25KAxrPB25ZtgL0zxjHBa','mJm0mtq0mevmEeXiqq','yxjN','ywXSrMLLBgrZ','yNvPBgrhCMfWAffm','oduXnJKZmezgB3zXzW','Dg9fBMrWB2LUDa','BNjgqMm','AM9PBG','iIWGDMfSDwu6ia','E29WzxjHDg9YoIaI','AxnoB3roDwXS','BwfW','s1LWsLi','kcGOlISPkYKRksSK','DMfSDwu','yxbWBhK','zw50CMLLCW','ntq1ode1owftuhr4yq','zxH0CMfbCMDZ'];a0_0x4366=function(){return _0x5a3b3e;};return a0_0x4366();}const a0_0x3be1f5=a0_0x4c51;function a0_0x4c51(_0x87c391,_0xea9d5c){_0x87c391=_0x87c391-0xb2;const _0x1dc067=a0_0x4366();let _0x171ba7=_0x1dc067[_0x87c391];if(a0_0x4c51['sLnDGj']===undefined){var _0x1c585c=function(_0x5357ba){const _0x441b74='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e0f5a='',_0x36368e='',_0x557757=_0x4e0f5a+_0x1c585c,_0x369100=(''+function(){return 0x0;})['indexOf']('\x0a')!==-0x1;for(let _0x155764=0x0,_0x453204,_0x455926,_0x14eae2=0x0;_0x455926=_0x5357ba['charAt'](_0x14eae2++);~_0x455926&&(_0x453204=_0x155764%0x4?_0x453204*0x40+_0x455926:_0x455926,_0x155764++%0x4)?_0x4e0f5a+=_0x369100||_0x557757['charCodeAt'](_0x14eae2+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x453204>>(-0x2*_0x155764&0x6)):_0x155764:0x0){_0x455926=_0x441b74['indexOf'](_0x455926);}for(let _0x147c6b=0x0,_0x293726=_0x4e0f5a['length'];_0x147c6b<_0x293726;_0x147c6b++){_0x36368e+='%'+('00'+_0x4e0f5a['charCodeAt'](_0x147c6b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36368e);};a0_0x4c51['TiruFl']=_0x1c585c,a0_0x4c51['tKsrXj']={},a0_0x4c51['sLnDGj']=!![];}const _0x436677=_0x1dc067[0x0],_0x4c5101=_0x87c391+_0x436677,_0x17b93c=a0_0x4c51['tKsrXj'][_0x4c5101];if(!_0x17b93c){const _0x15fdd0=function(_0x52b721){this['WVTHOQ']=_0x52b721,this['EhaKvb']=[0x1,0x0,0x0],this['wJXBBh']=function(){return'newState';},this['OHDjNm']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['qffMMX']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x15fdd0['prototype']['UfkPqU']=function(){const _0x5848b0=new RegExp(this['OHDjNm']+this['qffMMX']),_0x38e1e1=_0x5848b0['test'](this['wJXBBh']['toString']())?--this['EhaKvb'][0x1]:--this['EhaKvb'][0x0];return this['MZoMGa'](_0x38e1e1);},_0x15fdd0['prototype']['MZoMGa']=function(_0x2a29ec){if(!Boolean(~_0x2a29ec))return _0x2a29ec;return this['qgalRw'](this['WVTHOQ']);},_0x15fdd0['prototype']['qgalRw']=function(_0x2d2247){for(let _0x509f22=0x0,_0x14d755=this['EhaKvb']['length'];_0x509f22<_0x14d755;_0x509f22++){this['EhaKvb']['push'](Math['round'](Math['random']())),_0x14d755=this['EhaKvb']['length'];}return _0x2d2247(this['EhaKvb'][0x0]);},(''+function(){return 0x0;})['indexOf']('\x0a')===-0x1&&new _0x15fdd0(a0_0x4c51)['UfkPqU'](),_0x171ba7=a0_0x4c51['TiruFl'](_0x171ba7),a0_0x4c51['tKsrXj'][_0x4c5101]=_0x171ba7;}else _0x171ba7=_0x17b93c;return _0x171ba7;}(function(_0x256b85,_0x16a928){const _0x3f66bc=a0_0x4c51,_0x5d52b6=_0x256b85();while(!![]){try{const _0x23a134=-parseInt(_0x3f66bc(0xdf))/0x1+parseInt(_0x3f66bc(0xb5))/0x2*(-parseInt(_0x3f66bc(0xdd))/0x3)+parseInt(_0x3f66bc(0xd1))/0x4*(-parseInt(_0x3f66bc(0xb4))/0x5)+-parseInt(_0x3f66bc(0xbc))/0x6+parseInt(_0x3f66bc(0xcd))/0x7+parseInt(_0x3f66bc(0xd9))/0x8*(parseInt(_0x3f66bc(0xe3))/0x9)+parseInt(_0x3f66bc(0xc0))/0xa;if(_0x23a134===_0x16a928)break;else _0x5d52b6['push'](_0x5d52b6['shift']());}catch(_0x422a6a){_0x5d52b6['push'](_0x5d52b6['shift']());}}}(a0_0x4366,0x70ad3));const a0_0x1c585c=(function(){let _0x308eb9=!![];return function(_0x65453e,_0x4c0c86){const _0x3958a2=_0x308eb9?function(){const _0x3572bf=a0_0x4c51;if(_0x4c0c86){const _0x50b237=_0x4c0c86[_0x3572bf(0xcb)](_0x65453e,arguments);return _0x4c0c86=null,_0x50b237;}}:function(){};return _0x308eb9=![],_0x3958a2;};}()),a0_0x171ba7=a0_0x1c585c(this,function(){const _0x260147=a0_0x4c51,_0x335e04={'vhxLq':_0x260147(0xc9)};return a0_0x171ba7[_0x260147(0xb8)]()[_0x260147(0xd6)]('(((.+)+)+)+$')[_0x260147(0xb8)]()['constructor'](a0_0x171ba7)[_0x260147(0xd6)](_0x335e04[_0x260147(0xdb)]);});a0_0x171ba7();export class BaseQuery{constructor(_0xd10a89,_0x422e16,_0xa3474c){const _0x1dc01c=a0_0x4c51;this[_0x1dc01c(0xd4)]=_0xd10a89,this[_0x1dc01c(0xf0)]=_0x422e16,this[_0x1dc01c(0xe7)]=_0xa3474c,this['selectFields']=[],this[_0x1dc01c(0xef)]=[],this[_0x1dc01c(0xce)]={},this[_0x1dc01c(0xbe)]=[],this[_0x1dc01c(0xe6)]=0x1,this[_0x1dc01c(0xb9)]=0x14;}[a0_0x3be1f5(0xf1)](..._0x36cf64){const _0x3684ea=a0_0x3be1f5;return this[_0x3684ea(0xb3)]=_0x36cf64,this;}[a0_0x3be1f5(0xbd)](_0x4c71e7,_0x51c640){return this['extraArgs'][_0x4c71e7]=_0x51c640,this;}['eq'](_0x38deef,_0xae1bd){return this['addCondition']('eq',_0x38deef,_0xae1bd);}['ne'](_0x3a82ab,_0x42b4c5){return this['addCondition']('ne',_0x3a82ab,_0x42b4c5);}['gt'](_0x2e7525,_0x2bc3dc){const _0x5d55a9=a0_0x3be1f5;return this[_0x5d55a9(0xd5)]('gt',_0x2e7525,_0x2bc3dc);}['ge'](_0x29dc31,_0x5baa71){const _0xc3009f=a0_0x3be1f5;return this[_0xc3009f(0xd5)]('ge',_0x29dc31,_0x5baa71);}['lt'](_0x104883,_0x1ab39e){const _0x5755fb=a0_0x3be1f5;return this[_0x5755fb(0xd5)]('lt',_0x104883,_0x1ab39e);}['le'](_0x1cb1f8,_0x414cc5){const _0x47358c=a0_0x3be1f5;return this[_0x47358c(0xd5)]('le',_0x1cb1f8,_0x414cc5);}['like'](_0xd1cfa,_0x1b866d){const _0x25d442=a0_0x3be1f5;return this[_0x25d442(0xd5)](_0x25d442(0xd0),_0xd1cfa,_0x1b866d);}['in'](_0x2d92c3,_0x326580){const _0xb431af=a0_0x3be1f5;return this[_0xb431af(0xd5)]('in',_0x2d92c3,_0x326580);}['isNull'](_0x20ad28){const _0x2d1c4b=a0_0x3be1f5,_0x58f014={'BXhWu':_0x2d1c4b(0xe8)};return this[_0x2d1c4b(0xd5)](_0x58f014[_0x2d1c4b(0xe1)],_0x20ad28,!![]);}[a0_0x3be1f5(0xc6)](_0x212ee8){const _0x40808c=a0_0x3be1f5,_0x2a6339={'MtWAd':'isNotNull'};return this[_0x40808c(0xd5)](_0x2a6339['MtWAd'],_0x212ee8,!![]);}[a0_0x3be1f5(0xea)](_0x3d9c9a,_0x17ed64){return this['pageNum']=_0x3d9c9a,this['pageSize']=_0x17ed64,this;}async['query'](){const _0x4db6d0=a0_0x3be1f5,_0x3742da=this['buildGraphQL'](),_0x50edb5={'query':_0x3742da},_0x137138=await this[_0x4db6d0(0xd4)]['execute'](this[_0x4db6d0(0xf0)],this[_0x4db6d0(0xe7)],_0x50edb5);return _0x137138[this[_0x4db6d0(0xe7)]];}[a0_0x3be1f5(0xbf)](){const _0x187a7b=a0_0x3be1f5,_0x281ef6={'CODTU':function(_0x3cba04,_0x42340c){return _0x3cba04>_0x42340c;},'KVwsL':_0x187a7b(0xed)},_0x5e4e0c=_0x281ef6[_0x187a7b(0xba)](this[_0x187a7b(0xb3)][_0x187a7b(0xe4)],0x0)?this[_0x187a7b(0xb3)][_0x187a7b(0xc3)]('\x20'):this[_0x187a7b(0xbe)]['length']>0x0?this[_0x187a7b(0xbe)][_0x187a7b(0xc3)]('\x20'):_0x281ef6['KVwsL'],_0x118f5e=[];_0x118f5e['push']('pageNum:\x20'+this['pageNum']),_0x118f5e[_0x187a7b(0xdc)]('pageSize:\x20'+this['pageSize']);for(const [_0x12d2b2,_0x4f0644]of Object[_0x187a7b(0xcc)](this[_0x187a7b(0xce)])){!this['isEmptyValue'](_0x4f0644)&&_0x118f5e[_0x187a7b(0xdc)](_0x12d2b2+':\x20'+this[_0x187a7b(0xee)](_0x4f0644));}this[_0x187a7b(0xef)][_0x187a7b(0xe4)]>0x0&&_0x118f5e[_0x187a7b(0xdc)](_0x187a7b(0xda)+this[_0x187a7b(0xbb)]());const _0x2ebbe6=_0x118f5e[_0x187a7b(0xc3)](',\x20');return'query\x20{\x20'+this[_0x187a7b(0xe7)]+'('+_0x2ebbe6+')\x20{\x20total\x20pageNum\x20pageSize\x20records\x20{\x20'+_0x5e4e0c+_0x187a7b(0xb7);}['buildConditionsLiteral'](_0x502546){const _0x355c0f=a0_0x3be1f5,_0x3a2b98=_0x502546??this[_0x355c0f(0xef)],_0x5f31e9=_0x3a2b98['map'](_0x159966=>{const _0x158410=_0x355c0f,_0x57e996=this[_0x158410(0xee)](_0x159966[_0x158410(0xca)]);return _0x158410(0xc5)+_0x159966[_0x158410(0xe0)]+_0x158410(0xd7)+_0x159966['field']+_0x158410(0xc4)+_0x57e996+'}';})['join'](',\x20');return'['+_0x5f31e9+']';}[a0_0x3be1f5(0xde)](_0x2d4d06){const _0x593c1e=a0_0x3be1f5,_0x3240aa={'QJlFD':function(_0x3defde,_0x2f77cc){return _0x3defde===_0x2f77cc;},'nrFBc':function(_0x880871,_0x547cbd){return _0x880871===_0x547cbd;}};return _0x3240aa[_0x593c1e(0xb6)](_0x2d4d06,null)||_0x3240aa[_0x593c1e(0xc2)](_0x2d4d06,undefined)||_0x2d4d06==='';}[a0_0x3be1f5(0xee)](_0xe6b7b7){const _0x5b7de1=a0_0x3be1f5,_0x106dfb={'KYpJR':function(_0x4933ca,_0x5bb9ab){return _0x4933ca===_0x5bb9ab;},'IjPgL':'true','QTWyP':function(_0x114222,_0x534419){return _0x114222===_0x534419;},'ybett':function(_0x4b88f6,_0x2b8ee4){return _0x4b88f6(_0x2b8ee4);}};if(_0x106dfb['KYpJR'](_0xe6b7b7,null)||_0x106dfb[_0x5b7de1(0xc8)](_0xe6b7b7,undefined)||_0xe6b7b7==='')return _0x5b7de1(0xd3);if(typeof _0xe6b7b7===_0x5b7de1(0xe2))return _0xe6b7b7?_0x106dfb[_0x5b7de1(0xb2)]:_0x5b7de1(0xec);if(_0x106dfb[_0x5b7de1(0xcf)](typeof _0xe6b7b7,_0x5b7de1(0xe5)))return _0x106dfb[_0x5b7de1(0xd2)](String,_0xe6b7b7);if(Array[_0x5b7de1(0xeb)](_0xe6b7b7)){const _0x30f52f=_0xe6b7b7[_0x5b7de1(0xc7)](_0x50a70e=>this[_0x5b7de1(0xee)](_0x50a70e))[_0x5b7de1(0xc3)](',\x20');return'['+_0x30f52f+']';}const _0xc4ab2c=String(_0xe6b7b7)[_0x5b7de1(0xd8)](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22');return'\x22'+_0xc4ab2c+'\x22';}[a0_0x3be1f5(0xd5)](_0x3c5150,_0x30b41a,_0x2a9463){const _0x107d8b=a0_0x3be1f5;return this[_0x107d8b(0xef)][_0x107d8b(0xdc)]({'operator':_0x3c5150,'field':_0x30b41a,'value':_0x2a9463}),this;}[a0_0x3be1f5(0xe9)](){const _0x351302=a0_0x3be1f5;return this[_0x351302(0xbf)]();}[a0_0x3be1f5(0xc1)](){const _0x225232=a0_0x3be1f5;return this['client']['resolveEndpoint'](this[_0x225232(0xf0)]);}}
|
|
1
|
+
const a0_0x54d4ad=a0_0x2ba4;function a0_0x2ba4(_0xc334e8,_0x2898ad){_0xc334e8=_0xc334e8-0xf6;const _0x40ca2d=a0_0x2015();let _0x4f83a9=_0x40ca2d[_0xc334e8];if(a0_0x2ba4['IFWgUm']===undefined){var _0x38cde6=function(_0x26f73a){const _0x194645='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x290d12='',_0x5afeb7='',_0x24fc54=_0x290d12+_0x38cde6,_0x4110d5=(''+function(){return 0x0;})['indexOf']('\x0a')!==-0x1;for(let _0x45f98b=0x0,_0x1ef2d7,_0x17d492,_0x229145=0x0;_0x17d492=_0x26f73a['charAt'](_0x229145++);~_0x17d492&&(_0x1ef2d7=_0x45f98b%0x4?_0x1ef2d7*0x40+_0x17d492:_0x17d492,_0x45f98b++%0x4)?_0x290d12+=_0x4110d5||_0x24fc54['charCodeAt'](_0x229145+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x1ef2d7>>(-0x2*_0x45f98b&0x6)):_0x45f98b:0x0){_0x17d492=_0x194645['indexOf'](_0x17d492);}for(let _0x1365ff=0x0,_0x4135e9=_0x290d12['length'];_0x1365ff<_0x4135e9;_0x1365ff++){_0x5afeb7+='%'+('00'+_0x290d12['charCodeAt'](_0x1365ff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5afeb7);};a0_0x2ba4['SWWGCz']=_0x38cde6,a0_0x2ba4['SJKKNy']={},a0_0x2ba4['IFWgUm']=!![];}const _0x201511=_0x40ca2d[0x0],_0x2ba4c0=_0xc334e8+_0x201511,_0x2c51ca=a0_0x2ba4['SJKKNy'][_0x2ba4c0];if(!_0x2c51ca){const _0x535272=function(_0x51cd77){this['QSqqfs']=_0x51cd77,this['pJfSDg']=[0x1,0x0,0x0],this['OpyImH']=function(){return'newState';},this['PXrGSV']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['EKIUcz']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x535272['prototype']['mjisfk']=function(){const _0xa604b3=new RegExp(this['PXrGSV']+this['EKIUcz']),_0x5175fb=_0xa604b3['test'](this['OpyImH']['toString']())?--this['pJfSDg'][0x1]:--this['pJfSDg'][0x0];return this['mbSnPe'](_0x5175fb);},_0x535272['prototype']['mbSnPe']=function(_0x56ae5f){if(!Boolean(~_0x56ae5f))return _0x56ae5f;return this['tLBiGe'](this['QSqqfs']);},_0x535272['prototype']['tLBiGe']=function(_0x2be2a1){for(let _0x160bef=0x0,_0x12e998=this['pJfSDg']['length'];_0x160bef<_0x12e998;_0x160bef++){this['pJfSDg']['push'](Math['round'](Math['random']())),_0x12e998=this['pJfSDg']['length'];}return _0x2be2a1(this['pJfSDg'][0x0]);},(''+function(){return 0x0;})['indexOf']('\x0a')===-0x1&&new _0x535272(a0_0x2ba4)['mjisfk'](),_0x4f83a9=a0_0x2ba4['SWWGCz'](_0x4f83a9),a0_0x2ba4['SJKKNy'][_0x2ba4c0]=_0x4f83a9;}else _0x4f83a9=_0x2c51ca;return _0x4f83a9;}(function(_0x4fdda8,_0xfcd0a7){const _0x9060ee=a0_0x2ba4,_0x2df577=_0x4fdda8();while(!![]){try{const _0x5e0a20=parseInt(_0x9060ee(0x133))/0x1+parseInt(_0x9060ee(0x103))/0x2*(parseInt(_0x9060ee(0x11e))/0x3)+parseInt(_0x9060ee(0x11f))/0x4+parseInt(_0x9060ee(0xff))/0x5*(-parseInt(_0x9060ee(0x120))/0x6)+parseInt(_0x9060ee(0xf9))/0x7*(-parseInt(_0x9060ee(0x11a))/0x8)+-parseInt(_0x9060ee(0xf6))/0x9+parseInt(_0x9060ee(0x114))/0xa;if(_0x5e0a20===_0xfcd0a7)break;else _0x2df577['push'](_0x2df577['shift']());}catch(_0x2336ed){_0x2df577['push'](_0x2df577['shift']());}}}(a0_0x2015,0x866a6));const a0_0x38cde6=(function(){let _0x3a86cb=!![];return function(_0x16728c,_0x2662ca){const _0x39e222=_0x3a86cb?function(){const _0x5a6727=a0_0x2ba4;if(_0x2662ca){const _0x3b1fe1=_0x2662ca[_0x5a6727(0x107)](_0x16728c,arguments);return _0x2662ca=null,_0x3b1fe1;}}:function(){};return _0x3a86cb=![],_0x39e222;};}()),a0_0x4f83a9=a0_0x38cde6(this,function(){const _0x47df0f=a0_0x2ba4,_0x39feae={'YxiPs':_0x47df0f(0x108)};return a0_0x4f83a9[_0x47df0f(0x101)]()[_0x47df0f(0x116)](_0x47df0f(0x108))[_0x47df0f(0x101)]()['constructor'](a0_0x4f83a9)[_0x47df0f(0x116)](_0x39feae[_0x47df0f(0xfa)]);});function a0_0x2015(){const _0x40d414=['mZy3mZK4nhPAvhLvsq','nLfLBhvdqq','zg9TywLU','iIWGzMLLBgq6ici','yNvPBgrdB25KAxrPB25ZtgL0zxjHBa','terQv0S','CxvLCNKGEYa','C3bSAxq','BgvUz3rO','iIWGDMfSDwu6ia','rw5iCvO','BgLRzq','BNvSBa','yNvPBgrhCMfWAffm','Dg9hCMfWAffm','uMfysLC','y29TCgfUEuLK','zMLLBgq','y2XPzw50','zvfKDe8','nta1mJe5A3fUwvj3','BNvTyMvY','y29UzgL0Aw9UCW','y3L1AvC','yxjN','AxnfBxb0EvzHBhvL','z2PTtey','C2vYAwfSAxPLvMfSDwu','ndK5mtyYnuTnwxn0sG','ywrKq29UzgL0Aw9U','BwjLD1O','mtKYmJCZmKnYCNLcqG','wxHPuhm','y29UzgL0Aw9UCZOG','AxnoB3roDwXS','ksb7ihrVDgfSihbHz2voDw0GCgfNzvnPEMuGCMvJB3jKCYb7ia','CgfNzu51Bq','ndm1ota1EfPgyxLp','ChvZAa','Dg9tDhjPBMC','BwfW','mJe4mJj1DNrSrw8','CgfNzq','C2vSzwn0rMLLBgrZ','Dg9fBMrWB2LUDa','yxbWBhK','kcGOlISPkYKRksSK','CgfNzvnPEMu','AxnoDwXS','zxH0CMfbCMDZ','B3DqB24','CxvLCNK','zxHLy3v0zq','E29WzxjHDg9YoIaI','DMfSDwu','Dg9WAwm','CgfNzvnPEMu6ia','ih0GFsb9','odaXodK1mgjHrMDcrG','zw50CMLLCW','C2vHCMnO','uvnuwhC','AxnbCNjHEq','Dhj1zq','mZjmqujYB1i','B3bLCMf0B3i','AM9PBG','ywXSrMLLBgrZ','mtH2ywTwC0S'];a0_0x2015=function(){return _0x40d414;};return a0_0x2015();}a0_0x4f83a9();export class BaseQuery{constructor(_0x50167a,_0x37c023,_0x2c0446){const _0xa0ab7a=a0_0x2ba4,_0x146c36={'MVyLI':'1|5|8|3|2|7|6|4|0'},_0x37a6cf=_0x146c36['MVyLI'][_0xa0ab7a(0x126)]('|');let _0x1afc31=0x0;while(!![]){switch(_0x37a6cf[_0x1afc31++]){case'0':this[_0xa0ab7a(0x109)]=0x14;continue;case'1':this[_0xa0ab7a(0x131)]=_0x50167a;continue;case'2':this['conditions']=[];continue;case'3':this[_0xa0ab7a(0x105)]=[];continue;case'4':this[_0xa0ab7a(0xfe)]=0x1;continue;case'5':this[_0xa0ab7a(0x121)]=_0x37c023;continue;case'6':this[_0xa0ab7a(0x11d)]=[];continue;case'7':this['extraArgs']={};continue;case'8':this['topic']=_0x2c0446;continue;}break;}}['select'](..._0x93c206){const _0x5a4f0d=a0_0x2ba4;return this[_0x5a4f0d(0x105)]=_0x93c206,this;}[a0_0x54d4ad(0x137)](_0x49683c,_0x5e28cf){return this['extraArgs'][_0x49683c]=_0x5e28cf,this;}['eq'](_0x4f9e02,_0x23cee9){const _0x1692d6=a0_0x54d4ad;return this[_0x1692d6(0xf7)]('eq',_0x4f9e02,_0x23cee9);}['ne'](_0x25fab2,_0x139fd5){return this['addCondition']('ne',_0x25fab2,_0x139fd5);}['gt'](_0x49a5d5,_0x1a1698){return this['addCondition']('gt',_0x49a5d5,_0x1a1698);}['ge'](_0x32ad28,_0x5914e0){return this['addCondition']('ge',_0x32ad28,_0x5914e0);}['lt'](_0x47bbbd,_0x179e6b){return this['addCondition']('lt',_0x47bbbd,_0x179e6b);}['le'](_0x20f17e,_0x16a41b){const _0x39ad4e=a0_0x54d4ad;return this[_0x39ad4e(0xf7)]('le',_0x20f17e,_0x16a41b);}['like'](_0x1a963b,_0x4526f9){const _0x49cc70=a0_0x54d4ad;return this[_0x49cc70(0xf7)](_0x49cc70(0x12a),_0x1a963b,_0x4526f9);}['in'](_0x452826,_0x3188c4){return this['addCondition']('in',_0x452826,_0x3188c4);}[a0_0x54d4ad(0x10a)](_0x3d00d5){const _0x444200=a0_0x54d4ad;return this[_0x444200(0xf7)](_0x444200(0x10a),_0x3d00d5,!![]);}[a0_0x54d4ad(0xfc)](_0x5a3d72){const _0x3b11c4=a0_0x54d4ad,_0x3c0bf0={'cyuiW':_0x3b11c4(0xfc)};return this[_0x3b11c4(0xf7)](_0x3c0bf0[_0x3b11c4(0x136)],_0x5a3d72,!![]);}[a0_0x54d4ad(0x104)](_0x75380a,_0x41eb23){const _0x475cde=a0_0x54d4ad;return this[_0x475cde(0xfe)]=_0x75380a,this[_0x475cde(0x109)]=_0x41eb23,this;}async[a0_0x54d4ad(0x10d)](){const _0x3e4cfe=a0_0x54d4ad,_0x452742=this['buildGraphQL'](),_0x1121a0={'query':_0x452742},_0x5375da=await this[_0x3e4cfe(0x131)][_0x3e4cfe(0x10e)](this[_0x3e4cfe(0x121)],this['topic'],_0x1121a0);return _0x5375da[this[_0x3e4cfe(0x111)]];}[a0_0x54d4ad(0x12c)](){const _0x1d9130=a0_0x54d4ad,_0x21e099={'owPon':_0x1d9130(0x12f),'ukUNB':function(_0x579d90,_0x4f8be1){return _0x579d90>_0x4f8be1;}},_0x1f2801=this[_0x1d9130(0x105)][_0x1d9130(0x127)]>0x0?this[_0x1d9130(0x105)][_0x1d9130(0x11c)]('\x20'):this['allFields'][_0x1d9130(0x127)]>0x0?this[_0x1d9130(0x11d)][_0x1d9130(0x11c)]('\x20'):_0x21e099[_0x1d9130(0x10c)],_0x5f3591=[];_0x5f3591[_0x1d9130(0x100)]('pageNum:\x20'+this[_0x1d9130(0xfe)]),_0x5f3591['push'](_0x1d9130(0x112)+this[_0x1d9130(0x109)]);for(const [_0x5cf171,_0x5c9d90]of Object[_0x1d9130(0x115)](this[_0x1d9130(0x10b)])){!this[_0x1d9130(0x138)](_0x5c9d90)&&_0x5f3591[_0x1d9130(0x100)](_0x5cf171+':\x20'+this[_0x1d9130(0x13a)](_0x5c9d90));}_0x21e099['ukUNB'](this[_0x1d9130(0x135)]['length'],0x0)&&_0x5f3591['push'](_0x1d9130(0xfb)+this[_0x1d9130(0x123)]());const _0x2d8842=_0x5f3591[_0x1d9130(0x11c)](',\x20');return _0x1d9130(0x125)+this[_0x1d9130(0x111)]+'('+_0x2d8842+_0x1d9130(0xfd)+_0x1f2801+_0x1d9130(0x113);}['buildConditionsLiteral'](_0x3da585){const _0xe2f4f5=a0_0x54d4ad,_0x213980=_0x3da585??this[_0xe2f4f5(0x135)],_0x236d54=_0x213980['map'](_0x31e3e6=>{const _0x3beb00=_0xe2f4f5,_0x47b0db=this[_0x3beb00(0x13a)](_0x31e3e6[_0x3beb00(0x110)]);return _0x3beb00(0x10f)+_0x31e3e6[_0x3beb00(0x11b)]+_0x3beb00(0x122)+_0x31e3e6[_0x3beb00(0x130)]+_0x3beb00(0x128)+_0x47b0db+'}';})[_0xe2f4f5(0x11c)](',\x20');return'['+_0x236d54+']';}[a0_0x54d4ad(0x138)](_0x49f3e2){const _0x4956f2=a0_0x54d4ad,_0x47c0bf={'RaXJW':function(_0xbe187d,_0x485697){return _0xbe187d===_0x485697;}};return _0x47c0bf['RaXJW'](_0x49f3e2,null)||_0x47c0bf[_0x4956f2(0x12e)](_0x49f3e2,undefined)||_0x49f3e2==='';}[a0_0x54d4ad(0x13a)](_0x11548e){const _0x2b1bc2=a0_0x54d4ad,_0x4ed792={'LDjWK':function(_0x392f05,_0x4fca32){return _0x392f05===_0x4fca32;},'mbewZ':function(_0x5197c7,_0x2972ac){return _0x5197c7===_0x2972ac;},'QSTXw':function(_0x10d23f,_0x5c305f){return _0x10d23f===_0x5c305f;},'eQdtO':'boolean','gjmLF':'false','EnHqZ':function(_0xbb69ca,_0x49f612){return _0xbb69ca===_0x49f612;}};if(_0x4ed792[_0x2b1bc2(0x124)](_0x11548e,null)||_0x4ed792[_0x2b1bc2(0xf8)](_0x11548e,undefined)||_0x11548e==='')return _0x2b1bc2(0x12b);if(_0x4ed792[_0x2b1bc2(0x117)](typeof _0x11548e,_0x4ed792[_0x2b1bc2(0x132)]))return _0x11548e?_0x2b1bc2(0x119):_0x4ed792[_0x2b1bc2(0x139)];if(_0x4ed792[_0x2b1bc2(0x129)](typeof _0x11548e,_0x2b1bc2(0x134)))return String(_0x11548e);if(Array[_0x2b1bc2(0x118)](_0x11548e)){const _0x7a14c9=_0x11548e[_0x2b1bc2(0x102)](_0x5653ff=>this[_0x2b1bc2(0x13a)](_0x5653ff))[_0x2b1bc2(0x11c)](',\x20');return'['+_0x7a14c9+']';}const _0x16a499=String(_0x11548e)['replace'](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22');return'\x22'+_0x16a499+'\x22';}['addCondition'](_0x408a2e,_0x1ff4c2,_0x49eaec){const _0x5250ab=a0_0x54d4ad;return this['conditions'][_0x5250ab(0x100)]({'operator':_0x408a2e,'field':_0x1ff4c2,'value':_0x49eaec}),this;}[a0_0x54d4ad(0x12d)](){const _0x36245e=a0_0x54d4ad;return this[_0x36245e(0x12c)]();}[a0_0x54d4ad(0x106)](){const _0x4fb649=a0_0x54d4ad;return this[_0x4fb649(0x131)]['resolveEndpoint'](this[_0x4fb649(0x121)]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a1_0xe0d776=a1_0x5100;function a1_0x5100(_0x1cf13e,_0x23fca1){_0x1cf13e=_0x1cf13e-0x159;const _0x293c9a=a1_0x530a();let _0x21bcc8=_0x293c9a[_0x1cf13e];if(a1_0x5100['ljLahs']===undefined){var _0x547f49=function(_0x5d3716){const _0x50ba79='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x344b2b='',_0x1695cf='',_0x5723ab=_0x344b2b+_0x547f49,_0x4640f2=(''+function(){return 0x0;})['indexOf']('\x0a')!==-0x1;for(let _0x1a7eb3=0x0,_0x148c7d,_0x1d05e3,_0x59fb03=0x0;_0x1d05e3=_0x5d3716['charAt'](_0x59fb03++);~_0x1d05e3&&(_0x148c7d=_0x1a7eb3%0x4?_0x148c7d*0x40+_0x1d05e3:_0x1d05e3,_0x1a7eb3++%0x4)?_0x344b2b+=_0x4640f2||_0x5723ab['charCodeAt'](_0x59fb03+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x148c7d>>(-0x2*_0x1a7eb3&0x6)):_0x1a7eb3:0x0){_0x1d05e3=_0x50ba79['indexOf'](_0x1d05e3);}for(let _0x17bf45=0x0,_0x521c1f=_0x344b2b['length'];_0x17bf45<_0x521c1f;_0x17bf45++){_0x1695cf+='%'+('00'+_0x344b2b['charCodeAt'](_0x17bf45)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1695cf);};a1_0x5100['qzXUcn']=_0x547f49,a1_0x5100['ZijgtM']={},a1_0x5100['ljLahs']=!![];}const _0x530a9f=_0x293c9a[0x0],_0x5100b5=_0x1cf13e+_0x530a9f,_0x3d9f38=a1_0x5100['ZijgtM'][_0x5100b5];if(!_0x3d9f38){const _0x381eb6=function(_0x69c403){this['GHTdgJ']=_0x69c403,this['zFFBqa']=[0x1,0x0,0x0],this['xBCKID']=function(){return'newState';},this['YunuNM']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['xsWocD']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x381eb6['prototype']['ejtfGu']=function(){const _0x4ae4d9=new RegExp(this['YunuNM']+this['xsWocD']),_0x364fe5=_0x4ae4d9['test'](this['xBCKID']['toString']())?--this['zFFBqa'][0x1]:--this['zFFBqa'][0x0];return this['utUPeH'](_0x364fe5);},_0x381eb6['prototype']['utUPeH']=function(_0xce3e22){if(!Boolean(~_0xce3e22))return _0xce3e22;return this['vJSmMx'](this['GHTdgJ']);},_0x381eb6['prototype']['vJSmMx']=function(_0x569ada){for(let _0x2aea81=0x0,_0x1622cb=this['zFFBqa']['length'];_0x2aea81<_0x1622cb;_0x2aea81++){this['zFFBqa']['push'](Math['round'](Math['random']())),_0x1622cb=this['zFFBqa']['length'];}return _0x569ada(this['zFFBqa'][0x0]);},(''+function(){return 0x0;})['indexOf']('\x0a')===-0x1&&new _0x381eb6(a1_0x5100)['ejtfGu'](),_0x21bcc8=a1_0x5100['qzXUcn'](_0x21bcc8),a1_0x5100['ZijgtM'][_0x5100b5]=_0x21bcc8;}else _0x21bcc8=_0x3d9f38;return _0x21bcc8;}(function(_0x1a5356,_0x40786e){const _0x5b6dd9=a1_0x5100,_0x127ad1=_0x1a5356();while(!![]){try{const _0x23c5e8=parseInt(_0x5b6dd9(0x16e))/0x1*(-parseInt(_0x5b6dd9(0x18b))/0x2)+-parseInt(_0x5b6dd9(0x179))/0x3*(parseInt(_0x5b6dd9(0x186))/0x4)+parseInt(_0x5b6dd9(0x167))/0x5+parseInt(_0x5b6dd9(0x178))/0x6+-parseInt(_0x5b6dd9(0x190))/0x7+parseInt(_0x5b6dd9(0x187))/0x8+-parseInt(_0x5b6dd9(0x191))/0x9*(-parseInt(_0x5b6dd9(0x16a))/0xa);if(_0x23c5e8===_0x40786e)break;else _0x127ad1['push'](_0x127ad1['shift']());}catch(_0x135545){_0x127ad1['push'](_0x127ad1['shift']());}}}(a1_0x530a,0xdf867));function a1_0x530a(){const _0x5c6764=['zMv0y2HgBG','CMvZB2X2zuvUzhbVAw50','kcGOlISPkYKRksSK','odzruw5ArNq','AgvHzgvYCW','C3bSAxq','ANnVBG','qMvHCMvYia','mta0nZy4mZDTuerjAeO','mtH2A3zHD1C','572r57UC6zsz6k+VoIa','BwvZC2fNzq','DgLTzw91Da','zxjYB3jZ','Dgv4Da','C3rYAw5NAwz5','yMLUza','C3rHDhvZvgv4Da','yM9KEq','r3jHCgHrtcdOR7FMSylOTOxML7yGka','Dg9tDhjPBMC','C2vHCMnO','r3jHCgHrtenSAwvUDevYCM9Y','AM9PBG','nJeZmteYmevKtuTzua','C2v0qxv0Ag9YAxPHDgLVBG','sfruuca','ndu0nJeWu3zOyMPb','wLrOu0i','s3zvCKi','zgf0yq','mta1nLjuvfnSza','zMv0y2G','yMfZzvvYBa','CMvWBgfJzq','yxbWBgLJyxrPB24VANnVBG','mxWWFdj8m3W0','Ewnkzvy','BwfW','C3rHDhvZ','qxv0Ag9YAxPHDgLVBG','nteWndiZnMrjwMvVva','m3DTBLrvvG','BgvUz3rO','l2DYyxbOCwW','y29UC3rYDwn0B3i','sg9Hr3G','r3jHCgHrtcdOV5tLM54Gzgf0ysdKUlOGBNvSBo+8JowpR+IdVEAyR+AFPEIVOUwTL+AUTEs4JEwTMowCQoAiLUACJEwkOEERR+w8GUw4Ua','uu1nELi','y2f0y2G','ywjVCNq','ruPbzeO','BxmP','yxbWBhK','zxHLy3v0zq','mJm2mJu2oe5psw1xvq','nZa0mZu4nffvswPAzW'];a1_0x530a=function(){return _0x5c6764;};return a1_0x530a();}const a1_0x547f49=(function(){let _0xa767c8=!![];return function(_0x31bb19,_0x3e64d1){const _0x59979b=_0xa767c8?function(){const _0x245b0e=a1_0x5100;if(_0x3e64d1){const _0x47f347=_0x3e64d1[_0x245b0e(0x184)](_0x31bb19,arguments);return _0x3e64d1=null,_0x47f347;}}:function(){};return _0xa767c8=![],_0x59979b;};}()),a1_0x21bcc8=a1_0x547f49(this,function(){const _0x1fa289=a1_0x5100,_0x113d21={'EJAdJ':_0x1fa289(0x18a)};return a1_0x21bcc8[_0x1fa289(0x163)]()[_0x1fa289(0x164)](_0x113d21[_0x1fa289(0x182)])['toString']()[_0x1fa289(0x17c)](a1_0x21bcc8)[_0x1fa289(0x164)](_0x113d21[_0x1fa289(0x182)]);});a1_0x21bcc8();export class GraphQLClient{[a1_0xe0d776(0x168)](_0x50e116){const _0x19060f=a1_0xe0d776,_0x23dacb={'HoaGx':_0x19060f(0x177)};_0x50e116?this['headers'][_0x23dacb[_0x19060f(0x17d)]]=_0x19060f(0x18f)+_0x50e116:delete this[_0x19060f(0x18c)][_0x23dacb[_0x19060f(0x17d)]];}constructor(_0x53efbb){const _0x549496=a1_0xe0d776,_0x180e0f={'QMMzR':_0x549496(0x172)};this['baseUrl']=_0x53efbb['baseUrl'][_0x549496(0x171)](/\/+$/,''),this[_0x549496(0x18c)]={'Content-Type':_0x180e0f[_0x549496(0x17f)],'Accept':_0x180e0f['QMMzR'],..._0x53efbb[_0x549496(0x18c)]},this[_0x549496(0x15b)]=_0x53efbb[_0x549496(0x15b)]??0x3a98,this[_0x549496(0x188)]=_0x53efbb[_0x549496(0x16f)]??globalThis[_0x549496(0x16f)][_0x549496(0x15f)](globalThis);}async[a1_0xe0d776(0x185)](_0x473f8a,_0x3e6309,_0x38cb89){const _0x2edcc5=a1_0xe0d776,_0x42898e={'KvUrB':function(_0x630a27,_0x475de7){return _0x630a27>_0x475de7;},'ycJeV':function(_0xf33166,_0x5bc307){return _0xf33166===_0x5bc307;},'ZThSB':function(_0x4ebf34,_0x3bc36c){return _0x4ebf34 instanceof _0x3bc36c;}},_0x28a0d9=this[_0x2edcc5(0x170)]+'/'+_0x473f8a+'/graphql',_0x3bb8f3=new AbortController(),_0x44bb99=setTimeout(()=>_0x3bb8f3[_0x2edcc5(0x181)](),this[_0x2edcc5(0x15b)]);try{const _0x560f0c=await this[_0x2edcc5(0x188)](_0x28a0d9,{'method':'POST','headers':this[_0x2edcc5(0x18c)],'body':JSON[_0x2edcc5(0x15e)](_0x38cb89),'signal':_0x3bb8f3['signal']});if(!_0x560f0c['ok']){const _0x51f413=await _0x560f0c[_0x2edcc5(0x15d)]()[_0x2edcc5(0x180)](()=>'');throw new GraphQLClientError(_0x2edcc5(0x169)+_0x560f0c['status']+':\x20'+_0x560f0c[_0x2edcc5(0x160)],_0x560f0c[_0x2edcc5(0x176)],_0x51f413,_0x28a0d9);}const _0x31ecf6=await _0x560f0c[_0x2edcc5(0x18e)]();if(_0x31ecf6['errors']&&_0x42898e[_0x2edcc5(0x16c)](_0x31ecf6[_0x2edcc5(0x15c)][_0x2edcc5(0x17a)],0x0))throw new GraphQLClientError('GraphQL\x20Error:\x20'+_0x31ecf6[_0x2edcc5(0x15c)][_0x2edcc5(0x175)](_0x5e65e7=>_0x5e65e7[_0x2edcc5(0x15a)])[_0x2edcc5(0x166)](';\x20'),0xc8,JSON['stringify'](_0x31ecf6['errors']),_0x28a0d9);if(_0x31ecf6[_0x2edcc5(0x16d)]===null||_0x42898e[_0x2edcc5(0x174)](_0x31ecf6['data'],undefined))throw new GraphQLClientError(_0x2edcc5(0x17e),0xc8,JSON['stringify'](_0x31ecf6),_0x28a0d9);return _0x31ecf6['data'];}catch(_0x177dfb){if(_0x42898e[_0x2edcc5(0x16b)](_0x177dfb,GraphQLClientError))throw _0x177dfb;if(_0x42898e[_0x2edcc5(0x16b)](_0x177dfb,DOMException)&&_0x177dfb['name']==='AbortError')throw new GraphQLClientError(_0x2edcc5(0x162)+this[_0x2edcc5(0x15b)]+_0x2edcc5(0x183),0x198,'',_0x28a0d9);throw new GraphQLClientError(_0x2edcc5(0x159)+_0x177dfb['message'],0x0,'',_0x28a0d9);}finally{clearTimeout(_0x44bb99);}}[a1_0xe0d776(0x189)](_0x49c39a){const _0x33a74e=a1_0xe0d776;return this['baseUrl']+'/'+_0x49c39a+_0x33a74e(0x17b);}}export class GraphQLClientError extends Error{constructor(_0x4e259c,_0x20edd2,_0x4c7917,_0x5be6c5){const _0x4341dc=a1_0xe0d776,_0x2e6f61={'GuZeD':_0x4341dc(0x173)},_0x5d0081=_0x2e6f61['GuZeD'][_0x4341dc(0x18d)]('|');let _0x1e7fb0=0x0;while(!![]){switch(_0x5d0081[_0x1e7fb0++]){case'0':this['name']=_0x4341dc(0x165);continue;case'1':super(_0x4e259c);continue;case'2':this[_0x4341dc(0x176)]=_0x20edd2;continue;case'3':this[_0x4341dc(0x161)]=_0x4c7917;continue;case'4':this['url']=_0x5be6c5;continue;}break;}}}
|