@pisell/pisellos 2.2.151 → 2.2.152

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.
@@ -311,7 +311,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
311
311
  date: string;
312
312
  status: string;
313
313
  week: string;
314
- weekNum: 0 | 1 | 2 | 5 | 4 | 3 | 6;
314
+ weekNum: 0 | 1 | 2 | 3 | 4 | 5 | 6;
315
315
  }[]>;
316
316
  submitTimeSlot(timeSlots: TimeSliceItem): void;
317
317
  private getScheduleDataByIds;
@@ -233,7 +233,7 @@ export declare class BookingTicketImpl extends BaseSalesImpl implements Module {
233
233
  * 获取当前的客户搜索条件
234
234
  * @returns 当前搜索条件
235
235
  */
236
- getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
236
+ getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "skip" | "num">;
237
237
  /**
238
238
  * 获取客户列表状态(包含滚动加载相关状态)
239
239
  * @returns 客户状态
@@ -1,49 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/model/strategy/adapter/promotion/index.ts
30
- var promotion_exports = {};
31
- __export(promotion_exports, {
32
- BUY_X_GET_Y_FREE_STRATEGY: () => import_examples.BUY_X_GET_Y_FREE_STRATEGY,
33
- PromotionAdapter: () => import_adapter.PromotionAdapter,
34
- PromotionEvaluator: () => import_evaluator.PromotionEvaluator,
35
- X_ITEMS_FOR_Y_PRICE_STRATEGY: () => import_examples.X_ITEMS_FOR_Y_PRICE_STRATEGY,
36
- default: () => import_adapter2.default
37
- });
38
- module.exports = __toCommonJS(promotion_exports);
39
- var import_evaluator = require("./evaluator");
40
- var import_adapter = require("./adapter");
41
- var import_adapter2 = __toESM(require("./adapter"));
42
- var import_examples = require("./examples");
43
- // Annotate the CommonJS export names for ESM import in node:
44
- 0 && (module.exports = {
45
- BUY_X_GET_Y_FREE_STRATEGY,
46
- PromotionAdapter,
47
- PromotionEvaluator,
48
- X_ITEMS_FOR_Y_PRICE_STRATEGY
49
- });
@@ -171,7 +171,7 @@ export declare class OrderModule extends BaseModule implements Module, OrderModu
171
171
  private logSubmitBackendRejected;
172
172
  syncPaymentsToOrder<T = any>(params: SyncPaymentsToOrderParams): Promise<SyncPaymentsToOrderResult<T>>;
173
173
  createOrder(params: CommitOrderParams['query']): {
174
- type: "appointment_booking" | "virtual";
174
+ type: "virtual" | "appointment_booking";
175
175
  platform: string;
176
176
  sales_channel: string;
177
177
  order_sales_channel: string;
@@ -115,6 +115,12 @@ declare class Server {
115
115
  * 不影响当前界面展示,适用于切回前台、定时刷新等场景
116
116
  */
117
117
  refreshProductsInBackground(): Promise<void>;
118
+ /**
119
+ * 后台静默刷新订单数据
120
+ * 重新拉取全量 SSE 接口,更新本地数据后触发 onOrdersSyncCompleted
121
+ * 不影响当前界面展示,适用于切回前台、定时刷新等场景
122
+ */
123
+ refreshOrdersInBackground(): Promise<void>;
118
124
  /**
119
125
  * 清空所有server模块的IndexedDB缓存
120
126
  * @returns Promise<void>
@@ -1008,6 +1008,32 @@ var Server = class {
1008
1008
  });
1009
1009
  }
1010
1010
  }
1011
+ /**
1012
+ * 后台静默刷新订单数据
1013
+ * 重新拉取全量 SSE 接口,更新本地数据后触发 onOrdersSyncCompleted
1014
+ * 不影响当前界面展示,适用于切回前台、定时刷新等场景
1015
+ */
1016
+ async refreshOrdersInBackground() {
1017
+ if (!this.order) {
1018
+ this.logWarning("refreshOrdersInBackground: Order 模块未注册");
1019
+ return;
1020
+ }
1021
+ this.logInfo("refreshOrdersInBackground 开始");
1022
+ const startTime = Date.now();
1023
+ try {
1024
+ await this.order.silentRefresh();
1025
+ const duration = Date.now() - startTime;
1026
+ this.logInfo("refreshOrdersInBackground 完成", { duration: `${duration}ms` });
1027
+ } catch (error) {
1028
+ const duration = Date.now() - startTime;
1029
+ const errorMessage = error instanceof Error ? error.message : String(error);
1030
+ console.error("[Server] refreshOrdersInBackground 失败:", error);
1031
+ this.logError("refreshOrdersInBackground 失败", {
1032
+ duration: `${duration}ms`,
1033
+ error: errorMessage
1034
+ });
1035
+ }
1036
+ }
1011
1037
  /**
1012
1038
  * 清空所有server模块的IndexedDB缓存
1013
1039
  * @returns Promise<void>
@@ -40,6 +40,12 @@ export declare class OrderModule extends BaseModule implements Module {
40
40
  getOrderByOrderId(orderId: OrderId): OrderData | undefined;
41
41
  getLocalOrderByOrderId(orderId: OrderId): Promise<OrderData | null>;
42
42
  loadOrdersByServer(): Promise<OrderData[]>;
43
+ /**
44
+ * 静默全量刷新:后台重新拉取全量 SSE 订单数据并更新本地
45
+ * 拿到完整数据后一次性替换 store,触发订单变更与同步完成事件
46
+ * @returns 刷新后的订单列表
47
+ */
48
+ silentRefresh(): Promise<OrderData[]>;
43
49
  getOrdersByResourceId(resourceId: string | number): OrderData[];
44
50
  /**
45
51
  * 仅覆盖本地已存在的订单;不存在则直接跳过,不落库、不 emit。
@@ -234,6 +234,38 @@ var OrderModule = class extends import_BaseModule.BaseModule {
234
234
  await this.core.effects.emit(import_types.OrderHooks.onOrdersLoaded, orderList);
235
235
  return orderList;
236
236
  }
237
+ /**
238
+ * 静默全量刷新:后台重新拉取全量 SSE 订单数据并更新本地
239
+ * 拿到完整数据后一次性替换 store,触发订单变更与同步完成事件
240
+ * @returns 刷新后的订单列表
241
+ */
242
+ async silentRefresh() {
243
+ const startTime = Date.now();
244
+ this.logInfo("silentRefresh 开始");
245
+ try {
246
+ const orders = await this.loadOrdersByServer();
247
+ if (orders.length > 0) {
248
+ this.store.list = (0, import_lodash_es.cloneDeep)(orders);
249
+ this.syncOrdersMap();
250
+ this.core.effects.emit(import_types.OrderHooks.onOrdersChanged, this.store.list);
251
+ await this.core.effects.emit(import_types.OrderHooks.onOrdersSyncCompleted, null);
252
+ this.logInfo("silentRefresh 完成", {
253
+ orderCount: orders.length,
254
+ duration: `${Date.now() - startTime}ms`
255
+ });
256
+ } else {
257
+ this.logInfo("silentRefresh: 服务器未返回数据");
258
+ }
259
+ return this.store.list;
260
+ } catch (error) {
261
+ const errorMessage = error instanceof Error ? error.message : String(error);
262
+ this.logError("silentRefresh 失败", {
263
+ duration: `${Date.now() - startTime}ms`,
264
+ error: errorMessage
265
+ });
266
+ return this.store.list;
267
+ }
268
+ }
237
269
  getOrdersByResourceId(resourceId) {
238
270
  const ids = this.resourceIdIndex.get(String(resourceId)) || [];
239
271
  return ids.map((id) => this.store.map.get(id)).filter((order) => !!order);
@@ -311,7 +311,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
311
311
  date: string;
312
312
  status: string;
313
313
  week: string;
314
- weekNum: 0 | 1 | 2 | 5 | 4 | 3 | 6;
314
+ weekNum: 0 | 1 | 2 | 3 | 4 | 5 | 6;
315
315
  }[]>;
316
316
  submitTimeSlot(timeSlots: TimeSliceItem): void;
317
317
  private getScheduleDataByIds;
@@ -233,7 +233,7 @@ export declare class BookingTicketImpl extends BaseSalesImpl implements Module {
233
233
  * 获取当前的客户搜索条件
234
234
  * @returns 当前搜索条件
235
235
  */
236
- getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "num" | "skip">;
236
+ getCurrentCustomerSearchParams(): Omit<import("../../modules").ShopGetCustomerListParams, "skip" | "num">;
237
237
  /**
238
238
  * 获取客户列表状态(包含滚动加载相关状态)
239
239
  * @returns 客户状态
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "2.2.151",
4
+ "version": "2.2.152",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",