diff --git a/apps/package.json b/apps/package.json index 636028e..53e5186 100644 --- a/apps/package.json +++ b/apps/package.json @@ -41,9 +41,11 @@ "@vben/types": "workspace:*", "@vben/utils": "workspace:*", "@vueuse/core": "catalog:", + "@types/json-bigint": "catalog:", "ali-oss": "^6.23.0", "antdv-next": "catalog:", "dayjs": "catalog:", + "json-bigint": "catalog:", "pinia": "catalog:", "sockjs-client": "^1.6.1", "stompjs": "^2.3.3", diff --git a/apps/src/api/legacy/props.ts b/apps/src/api/legacy/props.ts index ffb670e..370edee 100644 --- a/apps/src/api/legacy/props.ts +++ b/apps/src/api/legacy/props.ts @@ -1,3 +1,5 @@ +import JsonBigint from 'json-bigint'; + import { requestClient } from '#/api/request'; export interface LegacyPageResult> { @@ -5,6 +7,16 @@ export interface LegacyPageResult> { total: number; } +const jsonBigint = JsonBigint({ storeAsString: true }); + +function parseLegacyBodyWithBigint(raw: string) { + const data = jsonBigint.parse(raw); + if (data?.errorCode === 401 || data?.errorCode !== 0) { + throw new Error(data?.errorMsg || data?.message || 'Error'); + } + return data?.body as T; +} + export async function pagePropsSource(params: Record) { return requestClient.get>>( '/props/source/record/page', @@ -53,12 +65,18 @@ export async function listNotFamilyBySysOriginType( } export async function pagePropsActivityRewardGroup(params: Record) { - return requestClient.get>>( + const response = await requestClient.get<{ data: string }>( '/props/activity/reward/group/page', { params, + responseReturn: 'raw', + responseType: 'text', + transformResponse: [(data) => data], }, ); + return parseLegacyBodyWithBigint>>( + response.data, + ); } export async function getByGroupId(id: number | string) { diff --git a/apps/src/views/props/components/activity-resource-group-select-drawer.vue b/apps/src/views/props/components/activity-resource-group-select-drawer.vue index 9ccc26b..49578d9 100644 --- a/apps/src/views/props/components/activity-resource-group-select-drawer.vue +++ b/apps/src/views/props/components/activity-resource-group-select-drawer.vue @@ -1,8 +1,6 @@