@pisell/pisellos 2.3.94 → 2.3.96
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/dist/model/strategy/adapter/dataVariant/evaluator.js +13 -2
- package/dist/model/strategy/adapter/itemRule/adapter.d.ts +4 -1
- package/dist/model/strategy/adapter/itemRule/adapter.js +135 -35
- package/dist/model/strategy/adapter/itemRule/evaluator.d.ts +8 -1
- package/dist/model/strategy/adapter/itemRule/evaluator.js +25 -1
- package/dist/model/strategy/adapter/itemRule/type.d.ts +44 -0
- package/dist/model/strategy/adapter/itemRule/type.js +19 -1
- package/dist/model/strategy/adapter/promotion/index.js +9 -0
- package/dist/modules/Order/index.d.ts +20 -3
- package/dist/modules/Order/index.js +931 -508
- package/dist/modules/Order/salesNotes.d.ts +31 -0
- package/dist/modules/Order/salesNotes.js +492 -0
- package/dist/modules/Order/types.d.ts +91 -5
- package/dist/modules/Order/types.js +5 -0
- package/dist/modules/Order/utils.d.ts +12 -0
- package/dist/modules/Order/utils.js +75 -26
- package/dist/modules/ProductList/index.d.ts +2 -1
- package/dist/modules/ProductList/index.js +100 -20
- package/dist/modules/ProductList/types.d.ts +10 -0
- package/dist/modules/SalesSummary/index.js +6 -4
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.js +57 -11
- package/dist/server/modules/products/index.d.ts +2 -2
- package/dist/server/modules/products/index.js +10 -9
- package/dist/server/utils/product.d.ts +1 -1
- package/dist/server/utils/product.js +186 -22
- package/dist/server/utils/small-ticket.js +23 -2
- package/dist/solution/BaseSales/index.d.ts +9 -1
- package/dist/solution/BaseSales/index.js +894 -706
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +3 -2
- package/dist/solution/BookingByStep/index.d.ts +2 -2
- package/dist/solution/BookingTicket/utils/orderCustomer.js +3 -2
- package/dist/solution/RegisterAndLogin/config.d.ts +9 -3
- package/dist/solution/RegisterAndLogin/config.js +95 -40
- package/dist/solution/RegisterAndLogin/index.js +4 -1
- package/dist/solution/ScanOrder/index.d.ts +1 -0
- package/dist/solution/ScanOrder/index.js +31 -27
- package/dist/solution/ScanOrder/utils.d.ts +1 -0
- package/dist/solution/ScanOrder/utils.js +2 -0
- package/dist/solution/UnifiedBookingSales/index.d.ts +15 -2
- package/dist/solution/UnifiedBookingSales/index.js +751 -483
- package/dist/solution/UnifiedBookingSales/types.d.ts +14 -1
- package/dist/solution/VenueBooking/index.d.ts +1 -0
- package/dist/solution/VenueBooking/index.js +8 -4
- package/lib/model/strategy/adapter/dataVariant/evaluator.js +12 -2
- package/lib/model/strategy/adapter/itemRule/adapter.d.ts +4 -1
- package/lib/model/strategy/adapter/itemRule/adapter.js +73 -4
- package/lib/model/strategy/adapter/itemRule/evaluator.d.ts +8 -1
- package/lib/model/strategy/adapter/itemRule/evaluator.js +23 -1
- package/lib/model/strategy/adapter/itemRule/type.d.ts +44 -0
- package/lib/model/strategy/adapter/itemRule/type.js +19 -1
- package/lib/modules/Order/index.d.ts +20 -3
- package/lib/modules/Order/index.js +358 -42
- package/lib/modules/Order/salesNotes.d.ts +31 -0
- package/lib/modules/Order/salesNotes.js +382 -0
- package/lib/modules/Order/types.d.ts +91 -5
- package/lib/modules/Order/types.js +4 -0
- package/lib/modules/Order/utils.d.ts +12 -0
- package/lib/modules/Order/utils.js +68 -16
- package/lib/modules/ProductList/index.d.ts +2 -1
- package/lib/modules/ProductList/index.js +47 -2
- package/lib/modules/ProductList/types.d.ts +10 -0
- package/lib/modules/SalesSummary/index.js +3 -1
- package/lib/server/index.d.ts +6 -0
- package/lib/server/index.js +47 -9
- package/lib/server/modules/products/index.d.ts +2 -2
- package/lib/server/modules/products/index.js +5 -4
- package/lib/server/utils/product.d.ts +1 -1
- package/lib/server/utils/product.js +163 -3
- package/lib/server/utils/small-ticket.js +22 -1
- package/lib/solution/BaseSales/index.d.ts +9 -1
- package/lib/solution/BaseSales/index.js +105 -1
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +3 -2
- package/lib/solution/BookingByStep/index.d.ts +2 -2
- package/lib/solution/BookingTicket/utils/orderCustomer.js +2 -1
- package/lib/solution/RegisterAndLogin/config.d.ts +9 -3
- package/lib/solution/RegisterAndLogin/config.js +49 -8
- package/lib/solution/RegisterAndLogin/index.js +4 -1
- package/lib/solution/ScanOrder/index.d.ts +1 -0
- package/lib/solution/ScanOrder/index.js +5 -1
- package/lib/solution/ScanOrder/utils.d.ts +1 -0
- package/lib/solution/ScanOrder/utils.js +1 -0
- package/lib/solution/UnifiedBookingSales/index.d.ts +15 -2
- package/lib/solution/UnifiedBookingSales/index.js +125 -1
- package/lib/solution/UnifiedBookingSales/types.d.ts +14 -1
- package/lib/solution/VenueBooking/index.d.ts +1 -0
- package/lib/solution/VenueBooking/index.js +5 -1
- package/package.json +1 -1
|
@@ -197,8 +197,9 @@ export function transformBaseProductToOrderProduct(params) {
|
|
|
197
197
|
metadata.unique_identification_number = String(uniqueIdentificationNumber);
|
|
198
198
|
}
|
|
199
199
|
// 从源头补充商品多语言标题
|
|
200
|
-
var
|
|
201
|
-
|
|
200
|
+
var productTitleI18n = (sourceProduct === null || sourceProduct === void 0 ? void 0 : sourceProduct.title_i18n) || {};
|
|
201
|
+
var productTitle = _objectSpread(_objectSpread({}, productTitleI18n), {}, {
|
|
202
|
+
original: productTitleI18n.original || (sourceProduct === null || sourceProduct === void 0 ? void 0 : sourceProduct.original_title) || (sourceProduct === null || sourceProduct === void 0 ? void 0 : sourceProduct.title) || ''
|
|
202
203
|
});
|
|
203
204
|
return _objectSpread(_objectSpread({
|
|
204
205
|
product_id: productId,
|
|
@@ -326,7 +326,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
|
|
|
326
326
|
date: string;
|
|
327
327
|
status: string;
|
|
328
328
|
week: string;
|
|
329
|
-
weekNum: 0 |
|
|
329
|
+
weekNum: 0 | 2 | 1 | 3 | 4 | 5 | 6;
|
|
330
330
|
}[]>;
|
|
331
331
|
submitTimeSlot(timeSlots: TimeSliceItem): void;
|
|
332
332
|
private getScheduleDataByIds;
|
|
@@ -345,7 +345,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
|
|
|
345
345
|
count: number;
|
|
346
346
|
left: number;
|
|
347
347
|
summaryCount: number;
|
|
348
|
-
status: "
|
|
348
|
+
status: "lots_of_space" | "filling_up_fast" | "sold_out";
|
|
349
349
|
}[];
|
|
350
350
|
/**
|
|
351
351
|
* 找到多个资源的公共可用时间段
|
|
@@ -18,8 +18,9 @@ function resolveCustomerDisplayName(customer) {
|
|
|
18
18
|
|
|
19
19
|
/** 将 ICustomer 格式化为写入 tempOrder 的协议字段。 */
|
|
20
20
|
export function formatOrderCustomerPatch(customer) {
|
|
21
|
-
var _customer$phone, _customer$email, _country_calling_code, _country_calling_code2;
|
|
22
|
-
var
|
|
21
|
+
var _ref, _c$customer_id, _customer$phone, _customer$email, _country_calling_code, _country_calling_code2;
|
|
22
|
+
var c = customer;
|
|
23
|
+
var rawId = (_ref = (_c$customer_id = c.customer_id) !== null && _c$customer_id !== void 0 ? _c$customer_id : c.customerId) !== null && _ref !== void 0 ? _ref : customer.id;
|
|
23
24
|
var numericId = typeof rawId === 'number' ? rawId : rawId !== undefined && rawId !== null && rawId !== '' ? Number(rawId) : null;
|
|
24
25
|
return {
|
|
25
26
|
customer_id: Number.isFinite(numericId) ? numericId : null,
|
|
@@ -10,7 +10,11 @@ export interface ApiConfig {
|
|
|
10
10
|
method: 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
11
11
|
transformParams?: (params: any) => any;
|
|
12
12
|
transformResponse?: (response: any) => any;
|
|
13
|
-
options?: Record<string, any
|
|
13
|
+
options?: Record<string, any> | ((params: any) => Record<string, any>);
|
|
14
|
+
}
|
|
15
|
+
export interface ApiCallerOptions {
|
|
16
|
+
baseUrl?: string;
|
|
17
|
+
shopDomain?: string;
|
|
14
18
|
}
|
|
15
19
|
/**
|
|
16
20
|
* 渠道配置接口
|
|
@@ -65,12 +69,14 @@ export declare function getChannelConfig(channel: string): ChannelConfig;
|
|
|
65
69
|
export declare class ApiCaller {
|
|
66
70
|
private request;
|
|
67
71
|
private config;
|
|
72
|
+
private options;
|
|
68
73
|
constructor(request: {
|
|
69
74
|
get: <T = any>(url: string, data?: any, options?: any) => Promise<T>;
|
|
70
75
|
post: <T = any>(url: string, data?: any, options?: any) => Promise<T>;
|
|
71
76
|
put: <T = any>(url: string, data?: any, options?: any) => Promise<T>;
|
|
72
77
|
delete: <T = any>(url: string, options?: any) => Promise<T>;
|
|
73
|
-
}, config: ChannelConfig);
|
|
78
|
+
}, config: ChannelConfig, options?: ApiCallerOptions);
|
|
79
|
+
private resolveUrl;
|
|
74
80
|
/**
|
|
75
81
|
* 执行 API 调用
|
|
76
82
|
*/
|
|
@@ -84,4 +90,4 @@ export declare function createApiCaller(request: {
|
|
|
84
90
|
post: <T = any>(url: string, data?: any, options?: any) => Promise<T>;
|
|
85
91
|
put: <T = any>(url: string, data?: any, options?: any) => Promise<T>;
|
|
86
92
|
delete: <T = any>(url: string, options?: any) => Promise<T>;
|
|
87
|
-
}, channel: string): ApiCaller;
|
|
93
|
+
}, channel: string, options?: ApiCallerOptions): ApiCaller;
|
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
var _excluded = ["withCredentials"];
|
|
2
3
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
3
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
4
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
7
5
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
8
6
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
7
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
10
8
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
9
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
10
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
12
15
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
19
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
20
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
21
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
22
|
/**
|
|
14
23
|
* 注册登录解决方案配置
|
|
15
24
|
* 根据不同渠道配置不同的接口地址和参数
|
|
@@ -19,6 +28,8 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
19
28
|
* API 配置接口
|
|
20
29
|
*/
|
|
21
30
|
|
|
31
|
+
var h5CustomerAuthApiNames = new Set(['sendEmailVerificationCode', 'sendEmailLoginCode', 'sendSmsRegisterCode', 'sendEmailRegisterLink', 'verifyEmailRegistrationLink', 'emailPasswordLogin', 'emailCodeRegister', 'phoneCodeRegister', 'resendEmailRegisterLink', 'checkEmailLinkCode', 'sendSmsLoginCode', 'phoneCodeLogin', 'guestLogin', 'checkEmailExists', 'checkEmailCode', 'checkMobileCode', 'phonePasswordLogin', 'sendPasswordResetEmail', 'sendPasswordResetSms', 'sendResetPasswordLink', 'checkResetPasswordCode', 'resetPasswordByCode', 'resetPasswordByEmail', 'resetPasswordByPhone', 'verifyCode', 'register', 'login', 'oauthLogin', 'facebookLogin', 'appleLogin']);
|
|
32
|
+
|
|
22
33
|
/**
|
|
23
34
|
* 渠道配置接口
|
|
24
35
|
*/
|
|
@@ -350,6 +361,31 @@ var onlineStoreConfig = {
|
|
|
350
361
|
}
|
|
351
362
|
}
|
|
352
363
|
};
|
|
364
|
+
function withH5AuthPrefix(config) {
|
|
365
|
+
var nextConfig = {};
|
|
366
|
+
Object.entries(config).forEach(function (_ref) {
|
|
367
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
368
|
+
key = _ref2[0],
|
|
369
|
+
apiConfig = _ref2[1];
|
|
370
|
+
if (!apiConfig.url.startsWith('/auth/')) {
|
|
371
|
+
nextConfig[key] = apiConfig;
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
nextConfig[key] = _objectSpread(_objectSpread({}, apiConfig), {}, {
|
|
375
|
+
url: apiConfig.url.startsWith('/h5/') ? apiConfig.url : "/h5".concat(apiConfig.url),
|
|
376
|
+
options: function options(params) {
|
|
377
|
+
var _ref3 = (typeof apiConfig.options === 'function' ? apiConfig.options(params) : apiConfig.options) || {},
|
|
378
|
+
withCredentials = _ref3.withCredentials,
|
|
379
|
+
baseOptions = _objectWithoutProperties(_ref3, _excluded);
|
|
380
|
+
return _objectSpread(_objectSpread({}, baseOptions), {}, {
|
|
381
|
+
prefix: false
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
});
|
|
385
|
+
});
|
|
386
|
+
return nextConfig;
|
|
387
|
+
}
|
|
388
|
+
var h5OnlineStoreConfig = withH5AuthPrefix(onlineStoreConfig);
|
|
353
389
|
|
|
354
390
|
/**
|
|
355
391
|
* 默认配置(通用配置)
|
|
@@ -1346,6 +1382,7 @@ var shopWebposConfig = {
|
|
|
1346
1382
|
*/
|
|
1347
1383
|
export var channelConfigMap = {
|
|
1348
1384
|
'online-store': onlineStoreConfig,
|
|
1385
|
+
'online-store-h5': h5OnlineStoreConfig,
|
|
1349
1386
|
'default': defaultConfig,
|
|
1350
1387
|
'webpos': webposConfig,
|
|
1351
1388
|
'shop.webpos': shopWebposConfig
|
|
@@ -1364,15 +1401,25 @@ export function getChannelConfig(channel) {
|
|
|
1364
1401
|
*/
|
|
1365
1402
|
export var ApiCaller = /*#__PURE__*/function () {
|
|
1366
1403
|
function ApiCaller(request, config) {
|
|
1404
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
1367
1405
|
_classCallCheck(this, ApiCaller);
|
|
1368
1406
|
this.request = request;
|
|
1369
1407
|
this.config = config;
|
|
1408
|
+
this.options = options;
|
|
1370
1409
|
}
|
|
1371
|
-
|
|
1372
|
-
/**
|
|
1373
|
-
* 执行 API 调用
|
|
1374
|
-
*/
|
|
1375
1410
|
_createClass(ApiCaller, [{
|
|
1411
|
+
key: "resolveUrl",
|
|
1412
|
+
value: function resolveUrl(url) {
|
|
1413
|
+
if (!this.options.baseUrl || !url.startsWith('/h5/auth/')) {
|
|
1414
|
+
return url;
|
|
1415
|
+
}
|
|
1416
|
+
return "".concat(this.options.baseUrl.replace(/\/$/, '')).concat(url);
|
|
1417
|
+
}
|
|
1418
|
+
|
|
1419
|
+
/**
|
|
1420
|
+
* 执行 API 调用
|
|
1421
|
+
*/
|
|
1422
|
+
}, {
|
|
1376
1423
|
key: "call",
|
|
1377
1424
|
value: (function () {
|
|
1378
1425
|
var _call = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(apiName, params, additionalOptions) {
|
|
@@ -1397,7 +1444,15 @@ export var ApiCaller = /*#__PURE__*/function () {
|
|
|
1397
1444
|
}
|
|
1398
1445
|
|
|
1399
1446
|
// 构建请求选项
|
|
1400
|
-
requestOptions = _objectSpread(_objectSpread({}, options), additionalOptions);
|
|
1447
|
+
requestOptions = _objectSpread(_objectSpread({}, options), additionalOptions);
|
|
1448
|
+
if (apiConfig.url.startsWith('/h5/auth/') && h5CustomerAuthApiNames.has(apiName)) {
|
|
1449
|
+
requestOptions.h5CustomerAuth = true;
|
|
1450
|
+
if (this.options.shopDomain) {
|
|
1451
|
+
requestOptions.h5AuthShopDomain = this.options.shopDomain;
|
|
1452
|
+
}
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
// 处理动态 headers
|
|
1401
1456
|
if (requestOptions.headers && typeof requestOptions.headers === 'function') {
|
|
1402
1457
|
requestOptions.headers = requestOptions.headers(params);
|
|
1403
1458
|
}
|
|
@@ -1405,49 +1460,49 @@ export var ApiCaller = /*#__PURE__*/function () {
|
|
|
1405
1460
|
|
|
1406
1461
|
// 根据 HTTP 方法调用对应的请求方法
|
|
1407
1462
|
_context.t0 = apiConfig.method;
|
|
1408
|
-
_context.next = _context.t0 === 'GET' ?
|
|
1463
|
+
_context.next = _context.t0 === 'GET' ? 13 : _context.t0 === 'POST' ? 23 : _context.t0 === 'PUT' ? 27 : _context.t0 === 'DELETE' ? 31 : 35;
|
|
1409
1464
|
break;
|
|
1410
|
-
case
|
|
1465
|
+
case 13:
|
|
1411
1466
|
if (!(transformedParams && Object.keys(transformedParams).length > 0)) {
|
|
1412
|
-
_context.next =
|
|
1467
|
+
_context.next = 19;
|
|
1413
1468
|
break;
|
|
1414
1469
|
}
|
|
1415
|
-
_context.next =
|
|
1416
|
-
return this.request.get(apiConfig.url, transformedParams, requestOptions);
|
|
1417
|
-
case
|
|
1470
|
+
_context.next = 16;
|
|
1471
|
+
return this.request.get(this.resolveUrl(apiConfig.url), transformedParams, requestOptions);
|
|
1472
|
+
case 16:
|
|
1418
1473
|
response = _context.sent;
|
|
1419
|
-
_context.next =
|
|
1474
|
+
_context.next = 22;
|
|
1420
1475
|
break;
|
|
1421
|
-
case
|
|
1422
|
-
_context.next =
|
|
1423
|
-
return this.request.get(apiConfig.url, undefined, requestOptions);
|
|
1424
|
-
case 20:
|
|
1425
|
-
response = _context.sent;
|
|
1476
|
+
case 19:
|
|
1477
|
+
_context.next = 21;
|
|
1478
|
+
return this.request.get(this.resolveUrl(apiConfig.url), undefined, requestOptions);
|
|
1426
1479
|
case 21:
|
|
1427
|
-
|
|
1480
|
+
response = _context.sent;
|
|
1428
1481
|
case 22:
|
|
1429
|
-
_context.
|
|
1430
|
-
|
|
1431
|
-
|
|
1482
|
+
return _context.abrupt("break", 36);
|
|
1483
|
+
case 23:
|
|
1484
|
+
_context.next = 25;
|
|
1485
|
+
return this.request.post(this.resolveUrl(apiConfig.url), transformedParams, requestOptions);
|
|
1486
|
+
case 25:
|
|
1432
1487
|
response = _context.sent;
|
|
1433
|
-
return _context.abrupt("break",
|
|
1434
|
-
case
|
|
1435
|
-
_context.next =
|
|
1436
|
-
return this.request.put(apiConfig.url, transformedParams, requestOptions);
|
|
1437
|
-
case
|
|
1488
|
+
return _context.abrupt("break", 36);
|
|
1489
|
+
case 27:
|
|
1490
|
+
_context.next = 29;
|
|
1491
|
+
return this.request.put(this.resolveUrl(apiConfig.url), transformedParams, requestOptions);
|
|
1492
|
+
case 29:
|
|
1438
1493
|
response = _context.sent;
|
|
1439
|
-
return _context.abrupt("break",
|
|
1440
|
-
case
|
|
1441
|
-
_context.next =
|
|
1442
|
-
return this.request.delete(apiConfig.url, requestOptions);
|
|
1443
|
-
case
|
|
1494
|
+
return _context.abrupt("break", 36);
|
|
1495
|
+
case 31:
|
|
1496
|
+
_context.next = 33;
|
|
1497
|
+
return this.request.delete(this.resolveUrl(apiConfig.url), requestOptions);
|
|
1498
|
+
case 33:
|
|
1444
1499
|
response = _context.sent;
|
|
1445
|
-
return _context.abrupt("break",
|
|
1446
|
-
case 34:
|
|
1447
|
-
throw new Error("\u4E0D\u652F\u6301\u7684 HTTP \u65B9\u6CD5: ".concat(apiConfig.method));
|
|
1500
|
+
return _context.abrupt("break", 36);
|
|
1448
1501
|
case 35:
|
|
1449
|
-
|
|
1502
|
+
throw new Error("\u4E0D\u652F\u6301\u7684 HTTP \u65B9\u6CD5: ".concat(apiConfig.method));
|
|
1450
1503
|
case 36:
|
|
1504
|
+
return _context.abrupt("return", apiConfig.transformResponse ? apiConfig.transformResponse(response) : response);
|
|
1505
|
+
case 37:
|
|
1451
1506
|
case "end":
|
|
1452
1507
|
return _context.stop();
|
|
1453
1508
|
}
|
|
@@ -1465,7 +1520,7 @@ export var ApiCaller = /*#__PURE__*/function () {
|
|
|
1465
1520
|
/**
|
|
1466
1521
|
* 创建 API 调用器
|
|
1467
1522
|
*/
|
|
1468
|
-
export function createApiCaller(request, channel) {
|
|
1523
|
+
export function createApiCaller(request, channel, options) {
|
|
1469
1524
|
var config = getChannelConfig(channel);
|
|
1470
|
-
return new ApiCaller(request, config);
|
|
1525
|
+
return new ApiCaller(request, config, options);
|
|
1471
1526
|
}
|
|
@@ -323,7 +323,10 @@ export var RegisterAndLoginImpl = /*#__PURE__*/function (_BaseModule) {
|
|
|
323
323
|
throw new Error('RegisterAndLogin 模块需要 window 插件支持');
|
|
324
324
|
case 10:
|
|
325
325
|
// 创建 API 调用器
|
|
326
|
-
this.apiCaller = createApiCaller(this.request, this.channel
|
|
326
|
+
this.apiCaller = createApiCaller(this.request, this.channel, {
|
|
327
|
+
baseUrl: this.otherParams.h5AuthBaseUrl,
|
|
328
|
+
shopDomain: this.otherParams.h5AuthShopDomain
|
|
329
|
+
});
|
|
327
330
|
|
|
328
331
|
// 尝试从本地存储恢复登录状态
|
|
329
332
|
_context4.next = 13;
|
|
@@ -2023,7 +2023,11 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
2023
2023
|
}, {
|
|
2024
2024
|
key: "getItemRuleRuntimeConfig",
|
|
2025
2025
|
value: function getItemRuleRuntimeConfig() {
|
|
2026
|
-
|
|
2026
|
+
var _ref7, _runtimeConfig$channe, _runtimeConfig$custom, _this$otherParams13;
|
|
2027
|
+
var runtimeConfig = this.itemRuleRuntimeConfig || {};
|
|
2028
|
+
return _objectSpread(_objectSpread({}, runtimeConfig), {}, {
|
|
2029
|
+
channel: (_ref7 = (_runtimeConfig$channe = runtimeConfig.channel) !== null && _runtimeConfig$channe !== void 0 ? _runtimeConfig$channe : (_runtimeConfig$custom = runtimeConfig.custom) === null || _runtimeConfig$custom === void 0 ? void 0 : _runtimeConfig$custom.channel) !== null && _ref7 !== void 0 ? _ref7 : (_this$otherParams13 = this.otherParams) === null || _this$otherParams13 === void 0 ? void 0 : _this$otherParams13.channel
|
|
2030
|
+
});
|
|
2027
2031
|
}
|
|
2028
2032
|
}, {
|
|
2029
2033
|
key: "ensureItemRuleConfigsLoaded",
|
|
@@ -2510,14 +2514,14 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
2510
2514
|
}, {
|
|
2511
2515
|
key: "normalizeResourceState",
|
|
2512
2516
|
value: function normalizeResourceState(detail, resourceSelectType, hasOrderId) {
|
|
2513
|
-
var _detail$form_record, _this$
|
|
2517
|
+
var _detail$form_record, _this$otherParams14, _detail$resource_capa, _detail$resource_capa2;
|
|
2514
2518
|
var currentOrderId = toPositiveString(detail === null || detail === void 0 ? void 0 : detail.order_id);
|
|
2515
2519
|
var lastOrderId = toPositiveString(detail === null || detail === void 0 ? void 0 : detail.last_order_id);
|
|
2516
2520
|
var relationId = toPositiveString(detail === null || detail === void 0 ? void 0 : detail.form_record_id);
|
|
2517
2521
|
var tableFormId = toPositiveString(detail === null || detail === void 0 ? void 0 : detail.form_id);
|
|
2518
2522
|
var formRecord = (_detail$form_record = detail === null || detail === void 0 ? void 0 : detail.form_record) !== null && _detail$form_record !== void 0 ? _detail$form_record : null;
|
|
2519
2523
|
// 是否允许加餐
|
|
2520
|
-
var allowSnack = ((_this$
|
|
2524
|
+
var allowSnack = ((_this$otherParams14 = this.otherParams) === null || _this$otherParams14 === void 0 || (_this$otherParams14 = _this$otherParams14.dineInConfig) === null || _this$otherParams14 === void 0 ? void 0 : _this$otherParams14['sale.allow_add_items']) || false;
|
|
2521
2525
|
// 开启同桌验证 - 本期没有这个配置,默认关掉
|
|
2522
2526
|
var deskmateValid = false;
|
|
2523
2527
|
var isExclusive = resourceSelectType === 'single';
|
|
@@ -2600,7 +2604,7 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
2600
2604
|
key: "fetchResourceOccupyDetailsByResourceId",
|
|
2601
2605
|
value: function () {
|
|
2602
2606
|
var _fetchResourceOccupyDetailsByResourceId = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee36(resourceId) {
|
|
2603
|
-
var _this$
|
|
2607
|
+
var _this$otherParams15, _this$otherParams15$g, _response$data$occupy, _response$data;
|
|
2604
2608
|
var formRecordId, shopId, response;
|
|
2605
2609
|
return _regeneratorRuntime().wrap(function _callee36$(_context36) {
|
|
2606
2610
|
while (1) switch (_context36.prev = _context36.next) {
|
|
@@ -2612,7 +2616,7 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
2612
2616
|
}
|
|
2613
2617
|
throw new Error("[ScanOrder] \u975E\u6CD5\u684C\u53F0 resourceId: ".concat(resourceId));
|
|
2614
2618
|
case 3:
|
|
2615
|
-
shopId = (_this$
|
|
2619
|
+
shopId = (_this$otherParams15 = this.otherParams) === null || _this$otherParams15 === void 0 || (_this$otherParams15$g = _this$otherParams15.getStateData) === null || _this$otherParams15$g === void 0 ? void 0 : _this$otherParams15$g.call(_this$otherParams15, 'shop_id');
|
|
2616
2620
|
if (shopId) {
|
|
2617
2621
|
_context36.next = 6;
|
|
2618
2622
|
break;
|
|
@@ -2706,18 +2710,18 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
2706
2710
|
var hasOrderId,
|
|
2707
2711
|
normalizedResourceId,
|
|
2708
2712
|
_this$otherParams$bus,
|
|
2709
|
-
_this$otherParams15,
|
|
2710
|
-
_this$otherParams$cha,
|
|
2711
2713
|
_this$otherParams16,
|
|
2714
|
+
_this$otherParams$cha,
|
|
2712
2715
|
_this$otherParams17,
|
|
2713
|
-
_this$
|
|
2716
|
+
_this$otherParams18,
|
|
2717
|
+
_this$otherParams18$g,
|
|
2714
2718
|
_occupyDetails$,
|
|
2715
2719
|
_occupyDetail$form_re,
|
|
2716
2720
|
_occupyDetail$form_re2,
|
|
2717
2721
|
_this$store$order6,
|
|
2718
2722
|
_this$store$order7,
|
|
2719
2723
|
_this$store$order7$ge,
|
|
2720
|
-
_this$
|
|
2724
|
+
_this$otherParams19,
|
|
2721
2725
|
_this$store$resource3,
|
|
2722
2726
|
_this$store$resource4,
|
|
2723
2727
|
businessCode,
|
|
@@ -2775,11 +2779,11 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
2775
2779
|
resourceId: normalizedResourceId
|
|
2776
2780
|
});
|
|
2777
2781
|
_context37.prev = 3;
|
|
2778
|
-
businessCode = String((_this$otherParams$bus = (_this$
|
|
2779
|
-
channel = String((_this$otherParams$cha = (_this$
|
|
2782
|
+
businessCode = String((_this$otherParams$bus = (_this$otherParams16 = this.otherParams) === null || _this$otherParams16 === void 0 ? void 0 : _this$otherParams16.businessCode) !== null && _this$otherParams$bus !== void 0 ? _this$otherParams$bus : '').trim();
|
|
2783
|
+
channel = String((_this$otherParams$cha = (_this$otherParams17 = this.otherParams) === null || _this$otherParams17 === void 0 ? void 0 : _this$otherParams17.channel) !== null && _this$otherParams$cha !== void 0 ? _this$otherParams$cha : '').trim();
|
|
2780
2784
|
openDataTarget = businessCode && channel ? "".concat(businessCode, "+").concat(channel) : 'dine_in+scan_to_order';
|
|
2781
2785
|
_context37.next = 9;
|
|
2782
|
-
return (_this$
|
|
2786
|
+
return (_this$otherParams18 = this.otherParams) === null || _this$otherParams18 === void 0 || (_this$otherParams18$g = _this$otherParams18.getOpenData) === null || _this$otherParams18$g === void 0 ? void 0 : _this$otherParams18$g.call(_this$otherParams18, {
|
|
2783
2787
|
scope: 'board',
|
|
2784
2788
|
target: openDataTarget,
|
|
2785
2789
|
section_code: ['basic', 'fulfillment', 'reservation', 'sale', 'menu', 'availability', 'workflow']
|
|
@@ -3043,7 +3047,7 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
3043
3047
|
}, []) : []; // pax 由 setEntryPaxNumber 负责写入 itemRuleRuntimeConfig.pax
|
|
3044
3048
|
_context37.next = 79;
|
|
3045
3049
|
return this.setItemRuleRuntimeConfig({
|
|
3046
|
-
serviceType: (_this$
|
|
3050
|
+
serviceType: (_this$otherParams19 = this.otherParams) === null || _this$otherParams19 === void 0 ? void 0 : _this$otherParams19.businessCode,
|
|
3047
3051
|
submissionIndex: isAdditionalOrderMode ? 1 : 0,
|
|
3048
3052
|
historicalItems: historicalItems
|
|
3049
3053
|
});
|
|
@@ -3169,14 +3173,14 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
3169
3173
|
key: "getProductList",
|
|
3170
3174
|
value: function () {
|
|
3171
3175
|
var _getProductList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee40() {
|
|
3172
|
-
var _this$
|
|
3176
|
+
var _this$otherParams20;
|
|
3173
3177
|
var associatedMenus, menu_list_ids, res, productList, formattedRes;
|
|
3174
3178
|
return _regeneratorRuntime().wrap(function _callee40$(_context40) {
|
|
3175
3179
|
while (1) switch (_context40.prev = _context40.next) {
|
|
3176
3180
|
case 0:
|
|
3177
3181
|
this.logMethodStart('getProductList');
|
|
3178
3182
|
// 可以直接通过配置里的 menu 读取
|
|
3179
|
-
associatedMenus = (_this$
|
|
3183
|
+
associatedMenus = (_this$otherParams20 = this.otherParams) === null || _this$otherParams20 === void 0 || (_this$otherParams20 = _this$otherParams20.dineInConfig) === null || _this$otherParams20 === void 0 ? void 0 : _this$otherParams20['menu.associated_menus'];
|
|
3180
3184
|
menu_list_ids = associatedMenus.map(function (n) {
|
|
3181
3185
|
return Number(n.value);
|
|
3182
3186
|
}) || [];
|
|
@@ -3235,14 +3239,14 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
3235
3239
|
key: "setOtherParams",
|
|
3236
3240
|
value: function () {
|
|
3237
3241
|
var _setOtherParams = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee41(params) {
|
|
3238
|
-
var
|
|
3239
|
-
|
|
3242
|
+
var _ref9,
|
|
3243
|
+
_ref9$cover,
|
|
3240
3244
|
cover,
|
|
3241
3245
|
_args41 = arguments;
|
|
3242
3246
|
return _regeneratorRuntime().wrap(function _callee41$(_context41) {
|
|
3243
3247
|
while (1) switch (_context41.prev = _context41.next) {
|
|
3244
3248
|
case 0:
|
|
3245
|
-
|
|
3249
|
+
_ref9 = _args41.length > 1 && _args41[1] !== undefined ? _args41[1] : {}, _ref9$cover = _ref9.cover, cover = _ref9$cover === void 0 ? false : _ref9$cover;
|
|
3246
3250
|
if (cover) {
|
|
3247
3251
|
this.otherParams = params;
|
|
3248
3252
|
} else {
|
|
@@ -3393,7 +3397,7 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
3393
3397
|
key: "syncAdditionalOrderFromResource",
|
|
3394
3398
|
value: function () {
|
|
3395
3399
|
var _syncAdditionalOrderFromResource = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee43(resourceId) {
|
|
3396
|
-
var
|
|
3400
|
+
var _ref10, _ref11, _ref12, _this$store$resource5, _this$store$resource6, _occupyDetails$2, _this$store$resource7, _this$otherParams21, _this$store$order8;
|
|
3397
3401
|
var tempOrder, normalizedResourceId, _result, occupyDetails, occupyDetail, resourceSelectType, allowAddItems, result;
|
|
3398
3402
|
return _regeneratorRuntime().wrap(function _callee43$(_context43) {
|
|
3399
3403
|
while (1) switch (_context43.prev = _context43.next) {
|
|
@@ -3405,7 +3409,7 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
3405
3409
|
throw new Error('order 模块未初始化');
|
|
3406
3410
|
case 2:
|
|
3407
3411
|
tempOrder = this.store.order.ensureTempOrder();
|
|
3408
|
-
normalizedResourceId = String((
|
|
3412
|
+
normalizedResourceId = String((_ref10 = (_ref11 = (_ref12 = resourceId !== null && resourceId !== void 0 ? resourceId : tempOrder.resource_id) !== null && _ref12 !== void 0 ? _ref12 : (_this$store$resource5 = this.store.resource) === null || _this$store$resource5 === void 0 ? void 0 : _this$store$resource5.relationId) !== null && _ref11 !== void 0 ? _ref11 : (_this$store$resource6 = this.store.resource) === null || _this$store$resource6 === void 0 ? void 0 : _this$store$resource6.relation_id) !== null && _ref10 !== void 0 ? _ref10 : '').trim();
|
|
3409
3413
|
this.logMethodStart('syncAdditionalOrderFromResource', {
|
|
3410
3414
|
resourceId: normalizedResourceId
|
|
3411
3415
|
});
|
|
@@ -3426,7 +3430,7 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
3426
3430
|
occupyDetails = _context43.sent;
|
|
3427
3431
|
occupyDetail = (_occupyDetails$2 = occupyDetails[0]) !== null && _occupyDetails$2 !== void 0 ? _occupyDetails$2 : null;
|
|
3428
3432
|
resourceSelectType = ((_this$store$resource7 = this.store.resource) === null || _this$store$resource7 === void 0 ? void 0 : _this$store$resource7.resourceSelectType) || this.resolveResourceSelectType(toPositiveString(occupyDetail === null || occupyDetail === void 0 ? void 0 : occupyDetail.form_id));
|
|
3429
|
-
allowAddItems = toBoolean((_this$
|
|
3433
|
+
allowAddItems = toBoolean((_this$otherParams21 = this.otherParams) === null || _this$otherParams21 === void 0 || (_this$otherParams21 = _this$otherParams21.dineInConfig) === null || _this$otherParams21 === void 0 ? void 0 : _this$otherParams21['sale.allow_add_items']);
|
|
3430
3434
|
result = this.resolveAdditionalOrderFromOccupyDetail(occupyDetail, resourceSelectType, allowAddItems);
|
|
3431
3435
|
if (!(!result.matched || !result.order_id)) {
|
|
3432
3436
|
_context43.next = 19;
|
|
@@ -3484,9 +3488,9 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
3484
3488
|
}, {
|
|
3485
3489
|
key: "checkAllowAddItems",
|
|
3486
3490
|
value: function checkAllowAddItems() {
|
|
3487
|
-
var _this$
|
|
3491
|
+
var _this$otherParams22;
|
|
3488
3492
|
this.logMethodStart('checkAllowAddItems');
|
|
3489
|
-
var dineInConfig = ((_this$
|
|
3493
|
+
var dineInConfig = ((_this$otherParams22 = this.otherParams) === null || _this$otherParams22 === void 0 ? void 0 : _this$otherParams22.dineInConfig) || {};
|
|
3490
3494
|
var result = {
|
|
3491
3495
|
enabled: toBoolean(dineInConfig['sale.allow_add_items'])
|
|
3492
3496
|
};
|
|
@@ -3499,9 +3503,9 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
3499
3503
|
}, {
|
|
3500
3504
|
key: "getFulfillmentModes",
|
|
3501
3505
|
value: function getFulfillmentModes() {
|
|
3502
|
-
var _this$
|
|
3506
|
+
var _this$otherParams23;
|
|
3503
3507
|
this.logMethodStart('getFulfillmentModes');
|
|
3504
|
-
var dineInConfig = ((_this$
|
|
3508
|
+
var dineInConfig = ((_this$otherParams23 = this.otherParams) === null || _this$otherParams23 === void 0 ? void 0 : _this$otherParams23.dineInConfig) || {};
|
|
3505
3509
|
var result = {
|
|
3506
3510
|
enablePickup: Boolean(dineInConfig['fulfillment.enable_pickup']),
|
|
3507
3511
|
enableTableService: Boolean(dineInConfig['fulfillment.enable_table_service'])
|
|
@@ -3515,9 +3519,9 @@ export var ScanOrderImpl = /*#__PURE__*/function (_BaseSalesImpl) {
|
|
|
3515
3519
|
}, {
|
|
3516
3520
|
key: "checkManualPickupRef",
|
|
3517
3521
|
value: function checkManualPickupRef() {
|
|
3518
|
-
var _this$
|
|
3522
|
+
var _this$otherParams24;
|
|
3519
3523
|
this.logMethodStart('checkManualPickupRef');
|
|
3520
|
-
var dineInConfig = ((_this$
|
|
3524
|
+
var dineInConfig = ((_this$otherParams24 = this.otherParams) === null || _this$otherParams24 === void 0 ? void 0 : _this$otherParams24.dineInConfig) || {};
|
|
3521
3525
|
var refMode = dineInConfig['fulfillment.fulfillment_ref_mode'];
|
|
3522
3526
|
var manualInputType = dineInConfig['fulfillment.manual_input_type'];
|
|
3523
3527
|
var enabled = refMode === 'manual_input';
|
|
@@ -309,6 +309,7 @@ export function aggregateItemRuleLimit(matchedLimits) {
|
|
|
309
309
|
};
|
|
310
310
|
}
|
|
311
311
|
export function buildItemRuleBusinessData(params) {
|
|
312
|
+
var _runtimeConfig$channe, _runtimeConfig$custom;
|
|
312
313
|
var tempOrder = params.tempOrder,
|
|
313
314
|
runtimeConfig = params.runtimeConfig,
|
|
314
315
|
itemRuleConfigs = params.itemRuleConfigs;
|
|
@@ -345,6 +346,7 @@ export function buildItemRuleBusinessData(params) {
|
|
|
345
346
|
cartItems: cartItems,
|
|
346
347
|
historicalItems: historicalItems,
|
|
347
348
|
serviceType: runtimeConfig.serviceType || 'dine-in',
|
|
349
|
+
channel: (_runtimeConfig$channe = runtimeConfig.channel) !== null && _runtimeConfig$channe !== void 0 ? _runtimeConfig$channe : (_runtimeConfig$custom = runtimeConfig.custom) === null || _runtimeConfig$custom === void 0 ? void 0 : _runtimeConfig$custom.channel,
|
|
348
350
|
submissionIndex: typeof runtimeConfig.submissionIndex === 'number' ? toNonNegativeInt(runtimeConfig.submissionIndex) : tempOrder.order_id ? 1 : 0,
|
|
349
351
|
custom: runtimeConfig.custom || {},
|
|
350
352
|
strategyConfigs: itemRuleConfigs
|
|
@@ -2,10 +2,11 @@ import type { Module, ModuleOptions, PisellCore } from '../../types';
|
|
|
2
2
|
import type { ProductData } from '../../modules';
|
|
3
3
|
import type { OpenDataConfig } from '../../modules/OpenData';
|
|
4
4
|
import type { LoadScheduleAvailableDateParams, ScheduleItem } from '../../modules/Schedule/types';
|
|
5
|
-
import type { ProductListLoadProductsParams } from '../../modules/ProductList';
|
|
5
|
+
import type { ProductListLoadProductsParams, ProductListStoreQueryParams } from '../../modules/ProductList';
|
|
6
6
|
import type { AvailabilityDateRange, AvailabilityOccupancy, AvailabilityProduct, AvailabilityResource, GetProductTimeRangesRequest } from '../../modules/ResourcePlanner';
|
|
7
|
-
import type { AvailabilityContextRef, ContextualAvailabilityQuery, ContextualAvailabilityQueryResult, ContextualCommitAvailabilitySelectionParams, ContextualProductTimeRangeGroup, UnifiedBookingSalesAddRetailProductParams, UnifiedBookingSalesApplyPlannerDiscountsParams, UnifiedBookingSalesCommitAvailabilitySelectionResult, UnifiedBookingSalesDiscountResult, UnifiedBookingSalesLoadProductsByScheduleDateParams, UnifiedBookingSalesLoadOpenDataParams, UnifiedBookingSalesPrepareAvailabilityProjectionParams, UnifiedBookingSalesPolicyResponse, UnifiedBookingSalesStageRetailProductsParams, UnifiedBookingSalesState } from './types';
|
|
7
|
+
import type { AvailabilityContextRef, ContextualAvailabilityQuery, ContextualAvailabilityQueryResult, ContextualCommitAvailabilitySelectionParams, ContextualProductTimeRangeGroup, UnifiedBookingSalesAddRetailProductParams, UnifiedBookingSalesApplyPlannerDiscountsParams, UnifiedBookingSalesCommitAvailabilitySelectionResult, UnifiedBookingSalesDiscountResult, UnifiedBookingSalesLoadProductsByScheduleDateParams, UnifiedBookingSalesLoadOpenDataParams, UnifiedBookingSalesPrepareAvailabilityProjectionParams, UnifiedBookingSalesPolicyResponse, UnifiedBookingSalesResolveProductAllergyRequirementParams, UnifiedBookingSalesStageRetailProductsParams, UnifiedBookingSalesState } from './types';
|
|
8
8
|
import { BookingTicket } from '../BookingTicket';
|
|
9
|
+
import type { AllergyRequirement } from '../../model/strategy/adapter/itemRule';
|
|
9
10
|
export * from './types';
|
|
10
11
|
export { AvailabilityError } from '../../modules/ResourcePlanner';
|
|
11
12
|
/**
|
|
@@ -76,6 +77,9 @@ export declare class UnifiedBookingSalesImpl extends BookingTicket {
|
|
|
76
77
|
private availabilityRemoteResourceQuerySequence;
|
|
77
78
|
private availabilityRemoteResourceEpoch;
|
|
78
79
|
private availabilityCommitLocks;
|
|
80
|
+
private allergyItemRuleEvaluator;
|
|
81
|
+
private allergyItemRuleConfigs;
|
|
82
|
+
private allergyItemRuleConfigsPromise;
|
|
79
83
|
initialize(core: PisellCore, options?: ModuleOptions): Promise<void>;
|
|
80
84
|
protected getSubmitOrderSalesChannel(): string;
|
|
81
85
|
private createAvailabilityFacadeError;
|
|
@@ -147,6 +151,14 @@ export declare class UnifiedBookingSalesImpl extends BookingTicket {
|
|
|
147
151
|
*/
|
|
148
152
|
loadOpenData(params: UnifiedBookingSalesLoadOpenDataParams): Promise<OpenDataConfig>;
|
|
149
153
|
getOpenData(): Promise<OpenDataConfig | null>;
|
|
154
|
+
private resetAllergyItemRuleState;
|
|
155
|
+
private fetchAllergyItemRuleConfigs;
|
|
156
|
+
private ensureAllergyItemRuleConfigsLoaded;
|
|
157
|
+
/**
|
|
158
|
+
* 评估当前渠道与商品是否命中 ALLERGY_CHECK。
|
|
159
|
+
* 只返回优先级最高 Action 中当前商品 Target 的 dataSource,不跨商品或 Action 合并。
|
|
160
|
+
*/
|
|
161
|
+
resolveProductAllergyRequirement(params: UnifiedBookingSalesResolveProductAllergyRequirementParams): Promise<AllergyRequirement | null>;
|
|
150
162
|
/**
|
|
151
163
|
* Load a resource policy without depending on the legacy appointmentBooking solution.
|
|
152
164
|
*/
|
|
@@ -159,6 +171,7 @@ export declare class UnifiedBookingSalesImpl extends BookingTicket {
|
|
|
159
171
|
callback?: (result: any) => void;
|
|
160
172
|
subscriberId?: string;
|
|
161
173
|
}): Promise<ProductData[]>;
|
|
174
|
+
queryProducts(params?: ProductListStoreQueryParams): Promise<ProductData[]>;
|
|
162
175
|
/** Date-first entry point. It delegates protocol details and cache ownership to ScheduleModule. */
|
|
163
176
|
loadScheduleAvailableDate(params: LoadScheduleAvailableDateParams): Promise<import("../../modules/Date/types").ITime[]>;
|
|
164
177
|
/**
|