@pisell/pisellos 0.0.332 → 0.0.334

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.
@@ -1,12 +1,12 @@
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
- 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; }
3
- 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; }
4
2
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
5
3
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
4
  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); }
7
5
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
8
6
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
9
7
  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; }
8
+ 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; }
9
+ 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; }
10
10
  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; }
11
11
  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); } }
12
12
  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); }); }; }
@@ -119,7 +119,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
119
119
  }, {
120
120
  key: "createOrder",
121
121
  value: function createOrder(params) {
122
- var order = {
122
+ var order = _objectSpread({
123
123
  type: (params === null || params === void 0 ? void 0 : params.type) || 'appointment_booking',
124
124
  // 要从外面拿,virtual
125
125
  platform: (params === null || params === void 0 ? void 0 : params.platform) === 'pc' ? 'PC' : 'H5',
@@ -131,7 +131,7 @@ export var OrderModule = /*#__PURE__*/function (_BaseModule) {
131
131
  is_deposit: 0,
132
132
  relation_products: [],
133
133
  relation_forms: []
134
- };
134
+ }, (params === null || params === void 0 ? void 0 : params.extraData) || {});
135
135
  var is_deposit = 0; // 是否存在定金,0 不存在,1 存在
136
136
  if (params.cartItems.length > 0) {
137
137
  params.cartItems.forEach(function (item) {
@@ -16,6 +16,7 @@ export interface CommitOrderParams {
16
16
  cartItems: CartItem[];
17
17
  type: 'virtual' | 'appointment_booking';
18
18
  platform?: 'pc' | 'h5';
19
+ extraData?: Record<string, any>;
19
20
  };
20
21
  }
21
22
  /**
@@ -49,5 +49,5 @@ export declare class Product extends BaseModule implements Module {
49
49
  getCategories(): ProductCategory[];
50
50
  setOtherParams(key: string, value: any): void;
51
51
  getOtherParams(): any;
52
- getProductType(): "duration" | "session" | "normal";
52
+ getProductType(): "normal" | "duration" | "session";
53
53
  }
@@ -166,7 +166,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
166
166
  * @returns boolean
167
167
  */
168
168
  checkBeforeSubmitOrder(type: 'holder' | 'account'): boolean;
169
- submitOrder(): Promise<void>;
169
+ submitOrder(extraData?: Record<string, any>): Promise<void>;
170
170
  pay(): Promise<void>;
171
171
  getPayInfo(): Promise<void>;
172
172
  setOtherParams(params: Record<string, any>, { cover }?: {
@@ -342,7 +342,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
342
342
  };
343
343
  setOtherData(key: string, value: any): void;
344
344
  getOtherData(key: string): any;
345
- getProductTypeById(id: number): Promise<"duration" | "session" | "normal">;
345
+ getProductTypeById(id: number): Promise<"normal" | "duration" | "session">;
346
346
  /**
347
347
  * 提供给 UI 的方法,减轻 UI 层的计算压力,UI 层只需要传递 cartItemId 和 resourceCode 即返回对应的 renderList
348
348
  *
@@ -374,4 +374,8 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
374
374
  isCartHasDurationProduct(): boolean;
375
375
  isTargetNormalProduct(product: ProductData): boolean;
376
376
  isTargetCartIdNormalProduct(id: string): boolean | undefined;
377
+ /**
378
+ * 获取联系信息
379
+ */
380
+ getContactInfo(params: any): Promise<any>;
377
381
  }
@@ -966,7 +966,7 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
966
966
  }, {
967
967
  key: "submitOrder",
968
968
  value: function () {
969
- var _submitOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19() {
969
+ var _submitOrder = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19(extraData) {
970
970
  var cartItems, newCartItems, type;
971
971
  return _regeneratorRuntime().wrap(function _callee19$(_context19) {
972
972
  while (1) switch (_context19.prev = _context19.next) {
@@ -1003,7 +1003,8 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
1003
1003
  query: {
1004
1004
  cartItems: newCartItems,
1005
1005
  type: type,
1006
- platform: this.platform
1006
+ platform: this.platform,
1007
+ extraData: extraData
1007
1008
  }
1008
1009
  }));
1009
1010
  case 6:
@@ -1012,7 +1013,7 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
1012
1013
  }
1013
1014
  }, _callee19, this);
1014
1015
  }));
1015
- function submitOrder() {
1016
+ function submitOrder(_x17) {
1016
1017
  return _submitOrder.apply(this, arguments);
1017
1018
  }
1018
1019
  return submitOrder;
@@ -1074,7 +1075,7 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
1074
1075
  }
1075
1076
  }, _callee22, this);
1076
1077
  }));
1077
- function setOtherParams(_x17) {
1078
+ function setOtherParams(_x18) {
1078
1079
  return _setOtherParams.apply(this, arguments);
1079
1080
  }
1080
1081
  return setOtherParams;
@@ -1195,8 +1196,8 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
1195
1196
  this.addProductCheck({
1196
1197
  date: date
1197
1198
  });
1198
- // 如果 quantity 大于 1,则进入购物车拆散成多条数据
1199
- if (addItemParams.quantity > 1) {
1199
+ // 如果 quantity 大于 1,且是预约商品,则进入购物车拆散成多条数据
1200
+ if (addItemParams.quantity > 1 && !isNormalProduct(productData.origin)) {
1200
1201
  for (var i = 0; i < addItemParams.quantity; i++) {
1201
1202
  var newAddItemParams = cloneDeep(addItemParams);
1202
1203
  newAddItemParams.quantity = 1;
@@ -2380,7 +2381,7 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
2380
2381
  }
2381
2382
  }, _callee24, this);
2382
2383
  }));
2383
- function openProductDetail(_x18) {
2384
+ function openProductDetail(_x19) {
2384
2385
  return _openProductDetail.apply(this, arguments);
2385
2386
  }
2386
2387
  return openProductDetail;
@@ -3572,7 +3573,7 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
3572
3573
  }
3573
3574
  }, _callee25, this);
3574
3575
  }));
3575
- function getProductTypeById(_x19) {
3576
+ function getProductTypeById(_x20) {
3576
3577
  return _getProductTypeById.apply(this, arguments);
3577
3578
  }
3578
3579
  return getProductTypeById;
@@ -3729,7 +3730,7 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
3729
3730
  }
3730
3731
  }, _callee26, this);
3731
3732
  }));
3732
- function getTimeslotsScheduleByDateRange(_x20) {
3733
+ function getTimeslotsScheduleByDateRange(_x21) {
3733
3734
  return _getTimeslotsScheduleByDateRange.apply(this, arguments);
3734
3735
  }
3735
3736
  return getTimeslotsScheduleByDateRange;
@@ -4016,6 +4017,29 @@ export var BookingByStepImpl = /*#__PURE__*/function (_BaseModule) {
4016
4017
  });
4017
4018
  return cartItem && isNormalProduct(cartItem._productOrigin);
4018
4019
  }
4020
+
4021
+ /**
4022
+ * 获取联系信息
4023
+ */
4024
+ }, {
4025
+ key: "getContactInfo",
4026
+ value: (function () {
4027
+ var _getContactInfo = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee28(params) {
4028
+ return _regeneratorRuntime().wrap(function _callee28$(_context29) {
4029
+ while (1) switch (_context29.prev = _context29.next) {
4030
+ case 0:
4031
+ return _context29.abrupt("return", this.request.get('/customer/metadata', params));
4032
+ case 1:
4033
+ case "end":
4034
+ return _context29.stop();
4035
+ }
4036
+ }, _callee28, this);
4037
+ }));
4038
+ function getContactInfo(_x22) {
4039
+ return _getContactInfo.apply(this, arguments);
4040
+ }
4041
+ return getContactInfo;
4042
+ }())
4019
4043
  }]);
4020
4044
  return BookingByStepImpl;
4021
4045
  }(BaseModule);
@@ -343,7 +343,8 @@ export function checkTimeSlotCapacity(timeSlotStart, timeSlotEnd, cartItems, all
343
343
  resourcesInType.forEach(function (resource) {
344
344
  // 过滤出在时间段内的资源时间片
345
345
  var availableTimes = resource.times.filter(function (time) {
346
- return !dayjs(time.start_at).isAfter(dayjs(timeSlotStart), 'minute') && !dayjs(time.end_at).isBefore(dayjs(timeSlotEnd), 'minute') || dayjs(time.start_at).isBefore(dayjs(timeSlotEnd), 'minute') && dayjs(time.end_at).isAfter(dayjs(timeSlotStart), 'minute');
346
+ var _time$event_list;
347
+ return !dayjs(time.start_at).isAfter(dayjs(timeSlotStart), 'minute') && !dayjs(time.end_at).isBefore(dayjs(timeSlotEnd), 'minute') || dayjs(time.start_at).isBefore(dayjs(timeSlotEnd), 'minute') && dayjs(time.end_at).isAfter(dayjs(timeSlotStart), 'minute') && ((_time$event_list = time.event_list) === null || _time$event_list === void 0 ? void 0 : _time$event_list.length) === 0;
347
348
  });
348
349
  if (availableTimes.length > 0) {
349
350
  availableResourceCount++;
@@ -105,7 +105,8 @@ var OrderModule = class extends import_BaseModule.BaseModule {
105
105
  schedule_date: "",
106
106
  is_deposit: 0,
107
107
  relation_products: [],
108
- relation_forms: []
108
+ relation_forms: [],
109
+ ...(params == null ? void 0 : params.extraData) || {}
109
110
  };
110
111
  let is_deposit = 0;
111
112
  if (params.cartItems.length > 0) {
@@ -121,7 +122,9 @@ var OrderModule = class extends import_BaseModule.BaseModule {
121
122
  order.relation_forms.push(...relationForms);
122
123
  delete item._origin.relation_forms;
123
124
  } else {
124
- const relationForms = (0, import_utils.mergeRelationForms)(item._origin.relation_forms || []);
125
+ const relationForms = (0, import_utils.mergeRelationForms)(
126
+ item._origin.relation_forms || []
127
+ );
125
128
  item._origin.relation_forms = relationForms;
126
129
  order.bookings.push(item._origin);
127
130
  }
@@ -16,6 +16,7 @@ export interface CommitOrderParams {
16
16
  cartItems: CartItem[];
17
17
  type: 'virtual' | 'appointment_booking';
18
18
  platform?: 'pc' | 'h5';
19
+ extraData?: Record<string, any>;
19
20
  };
20
21
  }
21
22
  /**
@@ -49,5 +49,5 @@ export declare class Product extends BaseModule implements Module {
49
49
  getCategories(): ProductCategory[];
50
50
  setOtherParams(key: string, value: any): void;
51
51
  getOtherParams(): any;
52
- getProductType(): "duration" | "session" | "normal";
52
+ getProductType(): "normal" | "duration" | "session";
53
53
  }
@@ -166,7 +166,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
166
166
  * @returns boolean
167
167
  */
168
168
  checkBeforeSubmitOrder(type: 'holder' | 'account'): boolean;
169
- submitOrder(): Promise<void>;
169
+ submitOrder(extraData?: Record<string, any>): Promise<void>;
170
170
  pay(): Promise<void>;
171
171
  getPayInfo(): Promise<void>;
172
172
  setOtherParams(params: Record<string, any>, { cover }?: {
@@ -342,7 +342,7 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
342
342
  };
343
343
  setOtherData(key: string, value: any): void;
344
344
  getOtherData(key: string): any;
345
- getProductTypeById(id: number): Promise<"duration" | "session" | "normal">;
345
+ getProductTypeById(id: number): Promise<"normal" | "duration" | "session">;
346
346
  /**
347
347
  * 提供给 UI 的方法,减轻 UI 层的计算压力,UI 层只需要传递 cartItemId 和 resourceCode 即返回对应的 renderList
348
348
  *
@@ -374,4 +374,8 @@ export declare class BookingByStepImpl extends BaseModule implements Module {
374
374
  isCartHasDurationProduct(): boolean;
375
375
  isTargetNormalProduct(product: ProductData): boolean;
376
376
  isTargetCartIdNormalProduct(id: string): boolean | undefined;
377
+ /**
378
+ * 获取联系信息
379
+ */
380
+ getContactInfo(params: any): Promise<any>;
377
381
  }
@@ -504,7 +504,7 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
504
504
  });
505
505
  }
506
506
  // 购物车提交订单
507
- async submitOrder() {
507
+ async submitOrder(extraData) {
508
508
  const cartItems = this.store.cart.getItems();
509
509
  const newCartItems = (0, import_lodash_es.cloneDeep)(cartItems);
510
510
  newCartItems.forEach((item) => {
@@ -535,7 +535,8 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
535
535
  query: {
536
536
  cartItems: newCartItems,
537
537
  type,
538
- platform: this.platform
538
+ platform: this.platform,
539
+ extraData
539
540
  }
540
541
  });
541
542
  }
@@ -636,7 +637,7 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
636
637
  addItemParams.account = account;
637
638
  }
638
639
  this.addProductCheck({ date });
639
- if (addItemParams.quantity > 1) {
640
+ if (addItemParams.quantity > 1 && !(0, import_utils5.isNormalProduct)(productData.origin)) {
640
641
  for (let i = 0; i < addItemParams.quantity; i++) {
641
642
  const newAddItemParams = (0, import_lodash_es.cloneDeep)(addItemParams);
642
643
  newAddItemParams.quantity = 1;
@@ -2751,6 +2752,12 @@ var BookingByStepImpl = class extends import_BaseModule.BaseModule {
2751
2752
  const cartItem = this.store.cart.getItems().find((n) => n._id === id);
2752
2753
  return cartItem && (0, import_utils5.isNormalProduct)(cartItem._productOrigin);
2753
2754
  }
2755
+ /**
2756
+ * 获取联系信息
2757
+ */
2758
+ async getContactInfo(params) {
2759
+ return this.request.get("/customer/metadata", params);
2760
+ }
2754
2761
  };
2755
2762
  // Annotate the CommonJS export names for ESM import in node:
2756
2763
  0 && (module.exports = {
@@ -248,7 +248,8 @@ function checkTimeSlotCapacity(timeSlotStart, timeSlotEnd, cartItems, allResourc
248
248
  let availableResourceCount = 0;
249
249
  resourcesInType.forEach((resource) => {
250
250
  const availableTimes = resource.times.filter((time) => {
251
- return !(0, import_dayjs.default)(time.start_at).isAfter((0, import_dayjs.default)(timeSlotStart), "minute") && !(0, import_dayjs.default)(time.end_at).isBefore((0, import_dayjs.default)(timeSlotEnd), "minute") || (0, import_dayjs.default)(time.start_at).isBefore((0, import_dayjs.default)(timeSlotEnd), "minute") && (0, import_dayjs.default)(time.end_at).isAfter((0, import_dayjs.default)(timeSlotStart), "minute");
251
+ var _a2;
252
+ return !(0, import_dayjs.default)(time.start_at).isAfter((0, import_dayjs.default)(timeSlotStart), "minute") && !(0, import_dayjs.default)(time.end_at).isBefore((0, import_dayjs.default)(timeSlotEnd), "minute") || (0, import_dayjs.default)(time.start_at).isBefore((0, import_dayjs.default)(timeSlotEnd), "minute") && (0, import_dayjs.default)(time.end_at).isAfter((0, import_dayjs.default)(timeSlotStart), "minute") && ((_a2 = time.event_list) == null ? void 0 : _a2.length) === 0;
252
253
  });
253
254
  if (availableTimes.length > 0) {
254
255
  availableResourceCount++;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@pisell/pisellos",
4
- "version": "0.0.332",
4
+ "version": "0.0.334",
5
5
  "description": "一个可扩展的前端模块化SDK框架,支持插件系统",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",