From b3ceaaf845072b43ea7123b89be6191335527d5a Mon Sep 17 00:00:00 2001 From: Xc Date: Sat, 16 Aug 2025 15:19:48 +0800 Subject: [PATCH 1/4] 3.1.5-dev --- package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index fdfe9bae..c3edfdab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "oak-pay-business", - "version": "3.1.4", + "version": "3.1.5", "description": "", "files": [ "lib/**/*", @@ -31,10 +31,10 @@ "alipay-sdk": "^4.14.0", "classnames": "^2.3.1", "dayjs": "^1.11.5", - "oak-domain": "^5.1.27", - "oak-external-sdk": "^2.3.10", - "oak-frontend-base": "^5.3.34", - "oak-general-business": "~5.7.8", + "oak-domain": "file:../oak-domain", + "oak-external-sdk": "file:../oak-external-sdk", + "oak-frontend-base": "file:../oak-frontend-base", + "oak-general-business": "file:../oak-general-business", "react-markdown": "^9.0.3", "wechat-pay-nodejs": "^0.2.3" }, From c6ef2e2fc71f5822796f22dabafd9af108157436 Mon Sep 17 00:00:00 2001 From: lxy Date: Fri, 22 Aug 2025 18:06:54 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=8F=91?= =?UTF-8?q?=E8=B4=A7=E4=BF=A1=E6=81=AF=E5=BD=95=E5=85=A5=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- es/utils/ship.js | 5 +++-- lib/utils/ship.js | 5 +++-- src/utils/ship.ts | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/es/utils/ship.js b/es/utils/ship.js index 60f7c789..5f85e1d7 100644 --- a/es/utils/ship.js +++ b/es/utils/ship.js @@ -58,6 +58,7 @@ export const shipProjection = { order: { id: 1, iState: 1, + desc: 1, pay$order: { $entity: 'pay', data: { @@ -197,14 +198,14 @@ export async function uploadShippingInfo(shipId, context) { //订单 每笔微信支付调用一次接口 //当已发货的订单再次调用小程序发货信息录入接口视为重新发货(仅可重新发货一次) const orders = shipOrder$ship.map((ele) => ele.order); - const fromPhoneStr = maskPhone(from.phone); - const toPhoneStr = maskPhone(to.phone); for (const order of orders) { const { pay$order, desc } = order; const wechatPay = pay$order.find((ele) => ele.entity === 'wpProduct'); const meta = wechatPay?.meta; let shippingList = []; if (shipType === 'express') { + const fromPhoneStr = maskPhone(from.phone); + const toPhoneStr = maskPhone(to.phone); shippingList = [ { tracking_no: extraShipId, diff --git a/lib/utils/ship.js b/lib/utils/ship.js index 6d2ca2f2..9c1ec8ad 100644 --- a/lib/utils/ship.js +++ b/lib/utils/ship.js @@ -61,6 +61,7 @@ exports.shipProjection = { order: { id: 1, iState: 1, + desc: 1, pay$order: { $entity: 'pay', data: { @@ -201,14 +202,14 @@ async function uploadShippingInfo(shipId, context) { //订单 每笔微信支付调用一次接口 //当已发货的订单再次调用小程序发货信息录入接口视为重新发货(仅可重新发货一次) const orders = shipOrder$ship.map((ele) => ele.order); - const fromPhoneStr = maskPhone(from.phone); - const toPhoneStr = maskPhone(to.phone); for (const order of orders) { const { pay$order, desc } = order; const wechatPay = pay$order.find((ele) => ele.entity === 'wpProduct'); const meta = wechatPay?.meta; let shippingList = []; if (shipType === 'express') { + const fromPhoneStr = maskPhone(from.phone); + const toPhoneStr = maskPhone(to.phone); shippingList = [ { tracking_no: extraShipId, diff --git a/src/utils/ship.ts b/src/utils/ship.ts index 8ac1b768..5f635dda 100644 --- a/src/utils/ship.ts +++ b/src/utils/ship.ts @@ -62,6 +62,7 @@ export const shipProjection: EntityDict['ship']['Projection'] = { order: { id: 1, iState: 1, + desc: 1, pay$order: { $entity: 'pay', data: { @@ -218,8 +219,6 @@ export async function uploadShippingInfo( //订单 每笔微信支付调用一次接口 //当已发货的订单再次调用小程序发货信息录入接口视为重新发货(仅可重新发货一次) const orders = shipOrder$ship.map((ele) => ele.order); - const fromPhoneStr = maskPhone(from!.phone!); - const toPhoneStr = maskPhone(to!.phone!); for (const order of orders) { const { pay$order, desc } = order; const wechatPay = pay$order!.find((ele) => ele.entity === 'wpProduct'); @@ -231,6 +230,8 @@ export async function uploadShippingInfo( }; let shippingList: Array = []; if (shipType === 'express') { + const fromPhoneStr = maskPhone(from!.phone!); + const toPhoneStr = maskPhone(to!.phone!); shippingList = [ { tracking_no: extraShipId, From 39cf2f7e3a3efbc2a38ef0012023d07c00a08032 Mon Sep 17 00:00:00 2001 From: lxy Date: Fri, 22 Aug 2025 18:15:31 +0800 Subject: [PATCH 3/4] build --- es/oak-app-domain/Captcha/Storage.js | 4 +++ es/oak-app-domain/Captcha/_baseSchema.d.ts | 5 +++ es/oak-app-domain/Captcha/locales/zh_CN.json | 3 +- es/oak-app-domain/EntityDict.d.ts | 35 +++++++++++++++---- lib/oak-app-domain/Captcha/Storage.js | 4 +++ lib/oak-app-domain/Captcha/_baseSchema.d.ts | 5 +++ lib/oak-app-domain/Captcha/locales/zh_CN.json | 3 +- lib/oak-app-domain/EntityDict.d.ts | 35 +++++++++++++++---- 8 files changed, 80 insertions(+), 14 deletions(-) diff --git a/es/oak-app-domain/Captcha/Storage.js b/es/oak-app-domain/Captcha/Storage.js index ae2b6c7b..6fc92db7 100644 --- a/es/oak-app-domain/Captcha/Storage.js +++ b/es/oak-app-domain/Captcha/Storage.js @@ -44,6 +44,10 @@ export const desc = { type: "enum", enumeration: ["login", "changePassword", "confirm"] }, + applicationId: { + type: "ref", + ref: "application" + }, iState: { type: "enum", enumeration: ["unsent", "sending", "sent", "failure"] diff --git a/es/oak-app-domain/Captcha/_baseSchema.d.ts b/es/oak-app-domain/Captcha/_baseSchema.d.ts index e4f78d7e..bfe2672b 100644 --- a/es/oak-app-domain/Captcha/_baseSchema.d.ts +++ b/es/oak-app-domain/Captcha/_baseSchema.d.ts @@ -1,3 +1,4 @@ +import { ForeignKey } from "oak-domain/lib/types/DataType"; import { Q_DateValue, Q_BooleanValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand"; import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity"; import { Action, ParticularAction, IState } from "./Action"; @@ -12,6 +13,7 @@ export type OpSchema = EntityShape & { expired: Boolean; expiresAt: Datetime; type: "login" | "changePassword" | "confirm"; + applicationId?: ForeignKey<"application"> | null; iState?: IState | null; } & { [A in ExpressionKey]?: any; @@ -31,6 +33,7 @@ export type OpFilter = { expired: Q_BooleanValue; expiresAt: Q_DateValue; type: Q_EnumValue<"login" | "changePassword" | "confirm">; + applicationId: Q_StringValue; iState: Q_EnumValue; } & ExprOp; export type OpProjection = { @@ -49,6 +52,7 @@ export type OpProjection = { expired?: number; expiresAt?: number; type?: number; + applicationId?: number; iState?: number; } & Partial>; export type OpSortAttr = Partial<{ @@ -64,6 +68,7 @@ export type OpSortAttr = Partial<{ expired: number; expiresAt: number; type: number; + applicationId: number; iState: number; [k: string]: any; } | ExprOp>; diff --git a/es/oak-app-domain/Captcha/locales/zh_CN.json b/es/oak-app-domain/Captcha/locales/zh_CN.json index d4f32479..9bf4f10c 100644 --- a/es/oak-app-domain/Captcha/locales/zh_CN.json +++ b/es/oak-app-domain/Captcha/locales/zh_CN.json @@ -10,7 +10,8 @@ "expired": "是否过期", "expiresAt": "过期时间", "iState": "状态", - "type": "类型" + "type": "类型", + "application": "应用" }, "action": { "send": "发送", diff --git a/es/oak-app-domain/EntityDict.d.ts b/es/oak-app-domain/EntityDict.d.ts index 9135ad0c..e918fbd9 100644 --- a/es/oak-app-domain/EntityDict.d.ts +++ b/es/oak-app-domain/EntityDict.d.ts @@ -1211,6 +1211,7 @@ export type Application = { system: System["Schema"]; domain?: Domain["Schema"]; applicationPassport$application?: Array>; + captcha$application?: Array>; extraFile$application?: Array>; notification$application?: Array>; sessionMessage$application?: Array>; @@ -1228,6 +1229,7 @@ export type Application = { wpProduct$application?: Array>; session$entity?: Array>; applicationPassport$application$$aggr?: AggregationResult>; + captcha$application$$aggr?: AggregationResult>; extraFile$application$$aggr?: AggregationResult>; notification$application$$aggr?: AggregationResult>; sessionMessage$application$$aggr?: AggregationResult>; @@ -1254,6 +1256,12 @@ export type Application = { applicationPassport$application$$aggr?: DeduceAggregation, Omit, ApplicationPassport["Sorter"]> & { $entity: "applicationPassport"; }; + captcha$application?: OakSelection<"select", Omit, Omit, Captcha["Sorter"]> & { + $entity: "captcha"; + }; + captcha$application$$aggr?: DeduceAggregation, Omit, Captcha["Sorter"]> & { + $entity: "captcha"; + }; extraFile$application?: OakSelection<"select", Omit, Omit, ExtraFile["Sorter"]> & { $entity: "extraFile"; }; @@ -1355,6 +1363,7 @@ export type Application = { system: MakeFilter; domain: MakeFilter; applicationPassport$application: MakeFilter> & SubQueryPredicateMetadata; + captcha$application: MakeFilter> & SubQueryPredicateMetadata; extraFile$application: MakeFilter> & SubQueryPredicateMetadata; notification$application: MakeFilter> & SubQueryPredicateMetadata; sessionMessage$application: MakeFilter> & SubQueryPredicateMetadata; @@ -1388,6 +1397,7 @@ export type Application = { system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation; domain?: OakOperation<"create", Domain["CreateOperationData"]> | OakOperation; applicationPassport$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ApplicationPassport["Filter"]>)[]; + captcha$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Captcha["Filter"]>)[]; extraFile$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ExtraFile["Filter"]>)[]; notification$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Notification["Filter"]>)[]; sessionMessage$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, SessionMessage["Filter"]>)[]; @@ -1412,6 +1422,7 @@ export type Application = { system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>; domain?: OakOperation<"create", Domain["CreateOperationData"]> | OakOperation | OakOperation<"remove", Domain["RemoveOperationData"], Domain["Filter"]>; applicationPassport$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ApplicationPassport["Filter"]> | OakOperation<"remove", ApplicationPassport["RemoveOperationData"], ApplicationPassport["Filter"]>)[]; + captcha$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Captcha["Filter"]> | OakOperation<"remove", Captcha["RemoveOperationData"], Captcha["Filter"]>)[]; extraFile$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ExtraFile["Filter"]> | OakOperation<"remove", ExtraFile["RemoveOperationData"], ExtraFile["Filter"]>)[]; notification$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Notification["Filter"]> | OakOperation<"remove", Notification["RemoveOperationData"], Notification["Filter"]>)[]; sessionMessage$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, SessionMessage["Filter"]> | OakOperation<"remove", SessionMessage["RemoveOperationData"], SessionMessage["Filter"]>)[]; @@ -1675,11 +1686,19 @@ export type ArticleMenu = { export type Captcha = { OpSchema: BaseCaptcha.OpSchema; Action: BaseCaptcha.OpAction; - Schema: BaseCaptcha.OpSchema & {}; - Projection: BaseCaptcha.OpProjection & {}; - FilterUnit: BaseCaptcha.OpFilter & {}; + Schema: BaseCaptcha.OpSchema & { + application?: Application["Schema"]; + }; + Projection: BaseCaptcha.OpProjection & { + application?: Application["Projection"]; + }; + FilterUnit: BaseCaptcha.OpFilter & { + application: MakeFilter; + }; Filter: MakeFilter; - SortAttr: Partial; + SortAttr: Partial; SortNode: { $attr: Captcha["SortAttr"]; $direction?: "asc" | "desc"; @@ -1687,11 +1706,15 @@ export type Captcha = { Sorter: Captcha["SortNode"][]; Selection: OakSelection<"select", Captcha["Projection"], Captcha["Filter"], Captcha["Sorter"]>; Aggregation: DeduceAggregation; - CreateOperationData: FormCreateData; + CreateOperationData: FormCreateData | OakOperation; + }>; CreateSingle: OakOperation<"create", Captcha["CreateOperationData"]>; CreateMulti: OakOperation<"create", Array>; Create: Captcha["CreateSingle"] | Captcha["CreateMulti"]; - UpdateOperationData: FormUpdateData; + UpdateOperationData: FormUpdateData | OakOperation | OakOperation<"remove", Application["RemoveOperationData"], Application["Filter"]>; + }>; Update: OakOperation; RemoveOperationData: {}; Remove: OakOperation<"remove", Captcha["RemoveOperationData"], Captcha["Filter"], Captcha["Sorter"]>; diff --git a/lib/oak-app-domain/Captcha/Storage.js b/lib/oak-app-domain/Captcha/Storage.js index f22a5d16..dd78f80e 100644 --- a/lib/oak-app-domain/Captcha/Storage.js +++ b/lib/oak-app-domain/Captcha/Storage.js @@ -47,6 +47,10 @@ exports.desc = { type: "enum", enumeration: ["login", "changePassword", "confirm"] }, + applicationId: { + type: "ref", + ref: "application" + }, iState: { type: "enum", enumeration: ["unsent", "sending", "sent", "failure"] diff --git a/lib/oak-app-domain/Captcha/_baseSchema.d.ts b/lib/oak-app-domain/Captcha/_baseSchema.d.ts index e4f78d7e..bfe2672b 100644 --- a/lib/oak-app-domain/Captcha/_baseSchema.d.ts +++ b/lib/oak-app-domain/Captcha/_baseSchema.d.ts @@ -1,3 +1,4 @@ +import { ForeignKey } from "oak-domain/lib/types/DataType"; import { Q_DateValue, Q_BooleanValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand"; import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity"; import { Action, ParticularAction, IState } from "./Action"; @@ -12,6 +13,7 @@ export type OpSchema = EntityShape & { expired: Boolean; expiresAt: Datetime; type: "login" | "changePassword" | "confirm"; + applicationId?: ForeignKey<"application"> | null; iState?: IState | null; } & { [A in ExpressionKey]?: any; @@ -31,6 +33,7 @@ export type OpFilter = { expired: Q_BooleanValue; expiresAt: Q_DateValue; type: Q_EnumValue<"login" | "changePassword" | "confirm">; + applicationId: Q_StringValue; iState: Q_EnumValue; } & ExprOp; export type OpProjection = { @@ -49,6 +52,7 @@ export type OpProjection = { expired?: number; expiresAt?: number; type?: number; + applicationId?: number; iState?: number; } & Partial>; export type OpSortAttr = Partial<{ @@ -64,6 +68,7 @@ export type OpSortAttr = Partial<{ expired: number; expiresAt: number; type: number; + applicationId: number; iState: number; [k: string]: any; } | ExprOp>; diff --git a/lib/oak-app-domain/Captcha/locales/zh_CN.json b/lib/oak-app-domain/Captcha/locales/zh_CN.json index d4f32479..9bf4f10c 100644 --- a/lib/oak-app-domain/Captcha/locales/zh_CN.json +++ b/lib/oak-app-domain/Captcha/locales/zh_CN.json @@ -10,7 +10,8 @@ "expired": "是否过期", "expiresAt": "过期时间", "iState": "状态", - "type": "类型" + "type": "类型", + "application": "应用" }, "action": { "send": "发送", diff --git a/lib/oak-app-domain/EntityDict.d.ts b/lib/oak-app-domain/EntityDict.d.ts index 9135ad0c..e918fbd9 100644 --- a/lib/oak-app-domain/EntityDict.d.ts +++ b/lib/oak-app-domain/EntityDict.d.ts @@ -1211,6 +1211,7 @@ export type Application = { system: System["Schema"]; domain?: Domain["Schema"]; applicationPassport$application?: Array>; + captcha$application?: Array>; extraFile$application?: Array>; notification$application?: Array>; sessionMessage$application?: Array>; @@ -1228,6 +1229,7 @@ export type Application = { wpProduct$application?: Array>; session$entity?: Array>; applicationPassport$application$$aggr?: AggregationResult>; + captcha$application$$aggr?: AggregationResult>; extraFile$application$$aggr?: AggregationResult>; notification$application$$aggr?: AggregationResult>; sessionMessage$application$$aggr?: AggregationResult>; @@ -1254,6 +1256,12 @@ export type Application = { applicationPassport$application$$aggr?: DeduceAggregation, Omit, ApplicationPassport["Sorter"]> & { $entity: "applicationPassport"; }; + captcha$application?: OakSelection<"select", Omit, Omit, Captcha["Sorter"]> & { + $entity: "captcha"; + }; + captcha$application$$aggr?: DeduceAggregation, Omit, Captcha["Sorter"]> & { + $entity: "captcha"; + }; extraFile$application?: OakSelection<"select", Omit, Omit, ExtraFile["Sorter"]> & { $entity: "extraFile"; }; @@ -1355,6 +1363,7 @@ export type Application = { system: MakeFilter; domain: MakeFilter; applicationPassport$application: MakeFilter> & SubQueryPredicateMetadata; + captcha$application: MakeFilter> & SubQueryPredicateMetadata; extraFile$application: MakeFilter> & SubQueryPredicateMetadata; notification$application: MakeFilter> & SubQueryPredicateMetadata; sessionMessage$application: MakeFilter> & SubQueryPredicateMetadata; @@ -1388,6 +1397,7 @@ export type Application = { system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation; domain?: OakOperation<"create", Domain["CreateOperationData"]> | OakOperation; applicationPassport$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ApplicationPassport["Filter"]>)[]; + captcha$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Captcha["Filter"]>)[]; extraFile$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ExtraFile["Filter"]>)[]; notification$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Notification["Filter"]>)[]; sessionMessage$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, SessionMessage["Filter"]>)[]; @@ -1412,6 +1422,7 @@ export type Application = { system?: OakOperation<"create", System["CreateOperationData"]> | OakOperation | OakOperation<"remove", System["RemoveOperationData"], System["Filter"]>; domain?: OakOperation<"create", Domain["CreateOperationData"]> | OakOperation | OakOperation<"remove", Domain["RemoveOperationData"], Domain["Filter"]>; applicationPassport$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ApplicationPassport["Filter"]> | OakOperation<"remove", ApplicationPassport["RemoveOperationData"], ApplicationPassport["Filter"]>)[]; + captcha$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Captcha["Filter"]> | OakOperation<"remove", Captcha["RemoveOperationData"], Captcha["Filter"]>)[]; extraFile$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, ExtraFile["Filter"]> | OakOperation<"remove", ExtraFile["RemoveOperationData"], ExtraFile["Filter"]>)[]; notification$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, Notification["Filter"]> | OakOperation<"remove", Notification["RemoveOperationData"], Notification["Filter"]>)[]; sessionMessage$application?: (OakOperation<"create", Omit | Omit[]> | OakOperation, SessionMessage["Filter"]> | OakOperation<"remove", SessionMessage["RemoveOperationData"], SessionMessage["Filter"]>)[]; @@ -1675,11 +1686,19 @@ export type ArticleMenu = { export type Captcha = { OpSchema: BaseCaptcha.OpSchema; Action: BaseCaptcha.OpAction; - Schema: BaseCaptcha.OpSchema & {}; - Projection: BaseCaptcha.OpProjection & {}; - FilterUnit: BaseCaptcha.OpFilter & {}; + Schema: BaseCaptcha.OpSchema & { + application?: Application["Schema"]; + }; + Projection: BaseCaptcha.OpProjection & { + application?: Application["Projection"]; + }; + FilterUnit: BaseCaptcha.OpFilter & { + application: MakeFilter; + }; Filter: MakeFilter; - SortAttr: Partial; + SortAttr: Partial; SortNode: { $attr: Captcha["SortAttr"]; $direction?: "asc" | "desc"; @@ -1687,11 +1706,15 @@ export type Captcha = { Sorter: Captcha["SortNode"][]; Selection: OakSelection<"select", Captcha["Projection"], Captcha["Filter"], Captcha["Sorter"]>; Aggregation: DeduceAggregation; - CreateOperationData: FormCreateData; + CreateOperationData: FormCreateData | OakOperation; + }>; CreateSingle: OakOperation<"create", Captcha["CreateOperationData"]>; CreateMulti: OakOperation<"create", Array>; Create: Captcha["CreateSingle"] | Captcha["CreateMulti"]; - UpdateOperationData: FormUpdateData; + UpdateOperationData: FormUpdateData | OakOperation | OakOperation<"remove", Application["RemoveOperationData"], Application["Filter"]>; + }>; Update: OakOperation; RemoveOperationData: {}; Remove: OakOperation<"remove", Captcha["RemoveOperationData"], Captcha["Filter"], Captcha["Sorter"]>; From 6ec4ab183564183fe0d46ebfdba8979451069a2b Mon Sep 17 00:00:00 2001 From: Xc Date: Sat, 23 Aug 2025 12:43:11 +0800 Subject: [PATCH 4/4] 3.1.5-pub --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index c3edfdab..8ef2f1af 100644 --- a/package.json +++ b/package.json @@ -31,10 +31,10 @@ "alipay-sdk": "^4.14.0", "classnames": "^2.3.1", "dayjs": "^1.11.5", - "oak-domain": "file:../oak-domain", - "oak-external-sdk": "file:../oak-external-sdk", - "oak-frontend-base": "file:../oak-frontend-base", - "oak-general-business": "file:../oak-general-business", + "oak-domain": "^5.1.27", + "oak-external-sdk": "^2.3.10", + "oak-frontend-base": "^5.3.35", + "oak-general-business": "~5.7.9", "react-markdown": "^9.0.3", "wechat-pay-nodejs": "^0.2.3" },