@pisell/pisellos 0.0.5
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/README.md +180 -0
- package/dist/core/index.d.ts +30 -0
- package/dist/core/index.js +360 -0
- package/dist/effects/index.d.ts +17 -0
- package/dist/effects/index.js +162 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +17 -0
- package/dist/modules/Account/index.d.ts +21 -0
- package/dist/modules/Account/index.js +212 -0
- package/dist/modules/Account/types.d.ts +41 -0
- package/dist/modules/Account/types.js +19 -0
- package/dist/modules/BaseModule.d.ts +11 -0
- package/dist/modules/BaseModule.js +27 -0
- package/dist/modules/Cart/index.d.ts +33 -0
- package/dist/modules/Cart/index.js +242 -0
- package/dist/modules/Cart/types.d.ts +35 -0
- package/dist/modules/Cart/types.js +19 -0
- package/dist/modules/Date/index.d.ts +17 -0
- package/dist/modules/Date/index.js +133 -0
- package/dist/modules/Date/types.d.ts +32 -0
- package/dist/modules/Date/types.js +17 -0
- package/dist/modules/Guests/index.d.ts +17 -0
- package/dist/modules/Guests/index.js +259 -0
- package/dist/modules/Guests/types.d.ts +43 -0
- package/dist/modules/Guests/types.js +23 -0
- package/dist/modules/Order/index.d.ts +17 -0
- package/dist/modules/Order/index.js +228 -0
- package/dist/modules/Order/types.d.ts +57 -0
- package/dist/modules/Order/types.js +29 -0
- package/dist/modules/Payment/index.d.ts +18 -0
- package/dist/modules/Payment/index.js +243 -0
- package/dist/modules/Payment/types.d.ts +49 -0
- package/dist/modules/Payment/types.js +31 -0
- package/dist/modules/Product/index.d.ts +39 -0
- package/dist/modules/Product/index.js +118 -0
- package/dist/modules/Product/types.d.ts +387 -0
- package/dist/modules/Product/types.js +1 -0
- package/dist/modules/ProductList/index.d.ts +16 -0
- package/dist/modules/ProductList/index.js +158 -0
- package/dist/modules/ProductList/types.d.ts +9 -0
- package/dist/modules/ProductList/types.js +5 -0
- package/dist/modules/Resource/index.d.ts +15 -0
- package/dist/modules/Resource/index.js +219 -0
- package/dist/modules/Resource/types.d.ts +44 -0
- package/dist/modules/Resource/types.js +22 -0
- package/dist/modules/index.d.ts +3 -0
- package/dist/modules/index.js +3 -0
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/request.d.ts +127 -0
- package/dist/plugins/request.js +592 -0
- package/dist/plugins/window.d.ts +115 -0
- package/dist/plugins/window.js +328 -0
- package/dist/solution/BookingByStep/index.d.ts +12 -0
- package/dist/solution/BookingByStep/index.js +77 -0
- package/dist/solution/BookingByStep/types.d.ts +27 -0
- package/dist/solution/BookingByStep/types.js +10 -0
- package/dist/solution/BuyTickets/index.d.ts +26 -0
- package/dist/solution/BuyTickets/index.js +339 -0
- package/dist/solution/BuyTickets/types.d.ts +24 -0
- package/dist/solution/BuyTickets/types.js +19 -0
- package/dist/solution/PlaceOrder/index.d.ts +0 -0
- package/dist/solution/PlaceOrder/index.js +54 -0
- package/dist/solution/index.d.ts +1 -0
- package/dist/solution/index.js +1 -0
- package/dist/store/createStore.d.ts +3 -0
- package/dist/store/createStore.js +43 -0
- package/dist/types/index.d.ts +85 -0
- package/dist/types/index.js +1 -0
- package/lib/core/index.d.ts +30 -0
- package/lib/core/index.js +212 -0
- package/lib/effects/index.d.ts +17 -0
- package/lib/effects/index.js +78 -0
- package/lib/index.d.ts +11 -0
- package/lib/index.js +51 -0
- package/lib/modules/Account/index.d.ts +21 -0
- package/lib/modules/Account/index.js +93 -0
- package/lib/modules/Account/types.d.ts +41 -0
- package/lib/modules/Account/types.js +35 -0
- package/lib/modules/BaseModule.d.ts +11 -0
- package/lib/modules/BaseModule.js +40 -0
- package/lib/modules/Cart/index.d.ts +33 -0
- package/lib/modules/Cart/index.js +104 -0
- package/lib/modules/Cart/types.d.ts +35 -0
- package/lib/modules/Cart/types.js +35 -0
- package/lib/modules/Date/index.d.ts +17 -0
- package/lib/modules/Date/index.js +75 -0
- package/lib/modules/Date/types.d.ts +32 -0
- package/lib/modules/Date/types.js +33 -0
- package/lib/modules/Guests/index.d.ts +17 -0
- package/lib/modules/Guests/index.js +95 -0
- package/lib/modules/Guests/types.d.ts +43 -0
- package/lib/modules/Guests/types.js +35 -0
- package/lib/modules/Order/index.d.ts +17 -0
- package/lib/modules/Order/index.js +95 -0
- package/lib/modules/Order/types.d.ts +57 -0
- package/lib/modules/Order/types.js +35 -0
- package/lib/modules/Payment/index.d.ts +18 -0
- package/lib/modules/Payment/index.js +103 -0
- package/lib/modules/Payment/types.d.ts +49 -0
- package/lib/modules/Payment/types.js +35 -0
- package/lib/modules/Product/index.d.ts +39 -0
- package/lib/modules/Product/index.js +87 -0
- package/lib/modules/Product/types.d.ts +387 -0
- package/lib/modules/Product/types.js +17 -0
- package/lib/modules/ProductList/index.d.ts +16 -0
- package/lib/modules/ProductList/index.js +71 -0
- package/lib/modules/ProductList/types.d.ts +9 -0
- package/lib/modules/ProductList/types.js +33 -0
- package/lib/modules/Resource/index.d.ts +15 -0
- package/lib/modules/Resource/index.js +91 -0
- package/lib/modules/Resource/types.d.ts +44 -0
- package/lib/modules/Resource/types.js +34 -0
- package/lib/modules/index.d.ts +3 -0
- package/lib/modules/index.js +27 -0
- package/lib/plugins/index.d.ts +2 -0
- package/lib/plugins/index.js +25 -0
- package/lib/plugins/request.d.ts +127 -0
- package/lib/plugins/request.js +297 -0
- package/lib/plugins/window.d.ts +115 -0
- package/lib/plugins/window.js +252 -0
- package/lib/solution/BookingByStep/index.d.ts +12 -0
- package/lib/solution/BookingByStep/index.js +53 -0
- package/lib/solution/BookingByStep/types.d.ts +27 -0
- package/lib/solution/BookingByStep/types.js +38 -0
- package/lib/solution/BuyTickets/index.d.ts +26 -0
- package/lib/solution/BuyTickets/index.js +122 -0
- package/lib/solution/BuyTickets/types.d.ts +24 -0
- package/lib/solution/BuyTickets/types.js +40 -0
- package/lib/solution/PlaceOrder/index.d.ts +0 -0
- package/lib/solution/PlaceOrder/index.js +0 -0
- package/lib/solution/index.d.ts +1 -0
- package/lib/solution/index.js +23 -0
- package/lib/store/createStore.d.ts +3 -0
- package/lib/store/createStore.js +46 -0
- package/lib/types/index.d.ts +85 -0
- package/lib/types/index.js +17 -0
- package/package.json +65 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Guest } from '../Guests/types';
|
|
2
|
+
import { Resource } from '../Resource/types';
|
|
3
|
+
import { TimeSlot } from '../Date/types';
|
|
4
|
+
export declare enum OrderHooks {
|
|
5
|
+
OnOrderCreate = "order:onOrderCreate",
|
|
6
|
+
OnOrderUpdate = "order:onOrderUpdate",
|
|
7
|
+
OnOrderCancel = "order:onOrderCancel",
|
|
8
|
+
OnOrderStatusChange = "order:onOrderStatusChange"
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 订单状态
|
|
12
|
+
*/
|
|
13
|
+
export type OrderStatus = 'pending' | 'paid' | 'confirmed' | 'completed' | 'cancelled' | 'refunded';
|
|
14
|
+
/**
|
|
15
|
+
* 订单项
|
|
16
|
+
*/
|
|
17
|
+
export interface OrderItem {
|
|
18
|
+
id: string;
|
|
19
|
+
productId: string;
|
|
20
|
+
quantity: number;
|
|
21
|
+
price: number;
|
|
22
|
+
guest: Guest;
|
|
23
|
+
resource: Resource;
|
|
24
|
+
timeSlot: TimeSlot;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 订单信息
|
|
28
|
+
*/
|
|
29
|
+
export interface Order {
|
|
30
|
+
id: string;
|
|
31
|
+
orderNumber: string;
|
|
32
|
+
status: OrderStatus;
|
|
33
|
+
items: OrderItem[];
|
|
34
|
+
totalAmount: number;
|
|
35
|
+
createdAt: Date;
|
|
36
|
+
updatedAt: Date;
|
|
37
|
+
metadata?: Record<string, any>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 订单模块状态
|
|
41
|
+
*/
|
|
42
|
+
export interface OrderState {
|
|
43
|
+
currentOrder: Order | null;
|
|
44
|
+
orderHistory: Order[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 订单模块 API
|
|
48
|
+
*/
|
|
49
|
+
export interface OrderModuleAPI {
|
|
50
|
+
createOrder: (items: OrderItem[]) => Promise<Order>;
|
|
51
|
+
getOrder: (orderId: string) => Promise<Order>;
|
|
52
|
+
updateOrderStatus: (orderId: string, status: OrderStatus) => Promise<void>;
|
|
53
|
+
cancelOrder: (orderId: string) => Promise<void>;
|
|
54
|
+
getOrderHistory: () => Promise<Order[]>;
|
|
55
|
+
getCurrentOrder: () => Order | null;
|
|
56
|
+
calculateTotalAmount: (items: OrderItem[]) => number;
|
|
57
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export var OrderHooks = /*#__PURE__*/function (OrderHooks) {
|
|
2
|
+
OrderHooks["OnOrderCreate"] = "order:onOrderCreate";
|
|
3
|
+
OrderHooks["OnOrderUpdate"] = "order:onOrderUpdate";
|
|
4
|
+
OrderHooks["OnOrderCancel"] = "order:onOrderCancel";
|
|
5
|
+
OrderHooks["OnOrderStatusChange"] = "order:onOrderStatusChange";
|
|
6
|
+
return OrderHooks;
|
|
7
|
+
}({});
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 订单状态
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
// 已退款
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 订单项
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 订单信息
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 订单模块状态
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 订单模块 API
|
|
29
|
+
*/
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Module, PisellCore, ModuleOptions } from '../../types';
|
|
2
|
+
import { BaseModule } from '../BaseModule';
|
|
3
|
+
import { Payment, PaymentModuleAPI, PaymentMethod, PaymentStatus } from './types';
|
|
4
|
+
import { Order } from '../Order/types';
|
|
5
|
+
export declare class PaymentModule extends BaseModule implements Module, PaymentModuleAPI {
|
|
6
|
+
protected defaultName: string;
|
|
7
|
+
protected defaultVersion: string;
|
|
8
|
+
private state;
|
|
9
|
+
constructor(name?: string, version?: string);
|
|
10
|
+
initialize(core: PisellCore, options?: ModuleOptions): Promise<void>;
|
|
11
|
+
initPayment(order: Order, method: PaymentMethod): Promise<Payment>;
|
|
12
|
+
processPayment(paymentId: string): Promise<void>;
|
|
13
|
+
getPayment(paymentId: string): Promise<Payment>;
|
|
14
|
+
getPaymentHistory(): Promise<Payment[]>;
|
|
15
|
+
refund(paymentId: string): Promise<void>;
|
|
16
|
+
getAvailablePaymentMethods(): PaymentMethod[];
|
|
17
|
+
checkPaymentStatus(paymentId: string): Promise<PaymentStatus>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,243 @@
|
|
|
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 _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 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); } }
|
|
6
|
+
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); }); }; }
|
|
7
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
8
|
+
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); } }
|
|
9
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
10
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
11
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
12
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
13
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
14
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
15
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
16
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
17
|
+
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; }
|
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
19
|
+
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); }
|
|
20
|
+
import { BaseModule } from "../BaseModule";
|
|
21
|
+
import { PaymentHooks } from "./types";
|
|
22
|
+
export var PaymentModule = /*#__PURE__*/function (_BaseModule) {
|
|
23
|
+
_inherits(PaymentModule, _BaseModule);
|
|
24
|
+
var _super = _createSuper(PaymentModule);
|
|
25
|
+
function PaymentModule(name, version) {
|
|
26
|
+
var _this;
|
|
27
|
+
_classCallCheck(this, PaymentModule);
|
|
28
|
+
_this = _super.call(this, name, version);
|
|
29
|
+
_defineProperty(_assertThisInitialized(_this), "defaultName", 'bookingByStep');
|
|
30
|
+
_defineProperty(_assertThisInitialized(_this), "defaultVersion", '1.0.0');
|
|
31
|
+
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
32
|
+
currentPayment: null,
|
|
33
|
+
paymentHistory: []
|
|
34
|
+
});
|
|
35
|
+
return _this;
|
|
36
|
+
}
|
|
37
|
+
_createClass(PaymentModule, [{
|
|
38
|
+
key: "initialize",
|
|
39
|
+
value: function () {
|
|
40
|
+
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(core, options) {
|
|
41
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
42
|
+
while (1) switch (_context.prev = _context.next) {
|
|
43
|
+
case 0:
|
|
44
|
+
this.core = core;
|
|
45
|
+
if (options !== null && options !== void 0 && options.initialState) {
|
|
46
|
+
this.state = _objectSpread(_objectSpread({}, this.state), options.initialState);
|
|
47
|
+
}
|
|
48
|
+
case 2:
|
|
49
|
+
case "end":
|
|
50
|
+
return _context.stop();
|
|
51
|
+
}
|
|
52
|
+
}, _callee, this);
|
|
53
|
+
}));
|
|
54
|
+
function initialize(_x, _x2) {
|
|
55
|
+
return _initialize.apply(this, arguments);
|
|
56
|
+
}
|
|
57
|
+
return initialize;
|
|
58
|
+
}()
|
|
59
|
+
}, {
|
|
60
|
+
key: "initPayment",
|
|
61
|
+
value: function () {
|
|
62
|
+
var _initPayment = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(order, method) {
|
|
63
|
+
var payment;
|
|
64
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
65
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
66
|
+
case 0:
|
|
67
|
+
payment = {
|
|
68
|
+
id: Date.now().toString(),
|
|
69
|
+
// 实际应该使用更可靠的 ID 生成方式
|
|
70
|
+
orderId: order.id,
|
|
71
|
+
amount: order.totalAmount,
|
|
72
|
+
currency: 'CNY',
|
|
73
|
+
// 默认货币
|
|
74
|
+
method: method,
|
|
75
|
+
status: 'pending',
|
|
76
|
+
createdAt: new Date(),
|
|
77
|
+
updatedAt: new Date()
|
|
78
|
+
};
|
|
79
|
+
this.state.currentPayment = payment;
|
|
80
|
+
_context2.next = 4;
|
|
81
|
+
return this.core.effects.emit(PaymentHooks.OnPaymentInit, payment);
|
|
82
|
+
case 4:
|
|
83
|
+
return _context2.abrupt("return", payment);
|
|
84
|
+
case 5:
|
|
85
|
+
case "end":
|
|
86
|
+
return _context2.stop();
|
|
87
|
+
}
|
|
88
|
+
}, _callee2, this);
|
|
89
|
+
}));
|
|
90
|
+
function initPayment(_x3, _x4) {
|
|
91
|
+
return _initPayment.apply(this, arguments);
|
|
92
|
+
}
|
|
93
|
+
return initPayment;
|
|
94
|
+
}()
|
|
95
|
+
}, {
|
|
96
|
+
key: "processPayment",
|
|
97
|
+
value: function () {
|
|
98
|
+
var _processPayment = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(paymentId) {
|
|
99
|
+
var payment;
|
|
100
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
101
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
102
|
+
case 0:
|
|
103
|
+
payment = this.state.paymentHistory.find(function (p) {
|
|
104
|
+
return p.id === paymentId;
|
|
105
|
+
});
|
|
106
|
+
if (payment) {
|
|
107
|
+
_context3.next = 3;
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
return _context3.abrupt("return");
|
|
111
|
+
case 3:
|
|
112
|
+
payment.status = 'processing';
|
|
113
|
+
payment.updatedAt = new Date();
|
|
114
|
+
_context3.next = 7;
|
|
115
|
+
return this.core.effects.emit(PaymentHooks.OnPaymentSuccess, payment);
|
|
116
|
+
case 7:
|
|
117
|
+
case "end":
|
|
118
|
+
return _context3.stop();
|
|
119
|
+
}
|
|
120
|
+
}, _callee3, this);
|
|
121
|
+
}));
|
|
122
|
+
function processPayment(_x5) {
|
|
123
|
+
return _processPayment.apply(this, arguments);
|
|
124
|
+
}
|
|
125
|
+
return processPayment;
|
|
126
|
+
}()
|
|
127
|
+
}, {
|
|
128
|
+
key: "getPayment",
|
|
129
|
+
value: function () {
|
|
130
|
+
var _getPayment = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(paymentId) {
|
|
131
|
+
var payment;
|
|
132
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
133
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
134
|
+
case 0:
|
|
135
|
+
payment = this.state.paymentHistory.find(function (p) {
|
|
136
|
+
return p.id === paymentId;
|
|
137
|
+
});
|
|
138
|
+
if (payment) {
|
|
139
|
+
_context4.next = 3;
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
throw new Error('Payment not found');
|
|
143
|
+
case 3:
|
|
144
|
+
return _context4.abrupt("return", payment);
|
|
145
|
+
case 4:
|
|
146
|
+
case "end":
|
|
147
|
+
return _context4.stop();
|
|
148
|
+
}
|
|
149
|
+
}, _callee4, this);
|
|
150
|
+
}));
|
|
151
|
+
function getPayment(_x6) {
|
|
152
|
+
return _getPayment.apply(this, arguments);
|
|
153
|
+
}
|
|
154
|
+
return getPayment;
|
|
155
|
+
}()
|
|
156
|
+
}, {
|
|
157
|
+
key: "getPaymentHistory",
|
|
158
|
+
value: function () {
|
|
159
|
+
var _getPaymentHistory = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
160
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
161
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
162
|
+
case 0:
|
|
163
|
+
return _context5.abrupt("return", this.state.paymentHistory);
|
|
164
|
+
case 1:
|
|
165
|
+
case "end":
|
|
166
|
+
return _context5.stop();
|
|
167
|
+
}
|
|
168
|
+
}, _callee5, this);
|
|
169
|
+
}));
|
|
170
|
+
function getPaymentHistory() {
|
|
171
|
+
return _getPaymentHistory.apply(this, arguments);
|
|
172
|
+
}
|
|
173
|
+
return getPaymentHistory;
|
|
174
|
+
}()
|
|
175
|
+
}, {
|
|
176
|
+
key: "refund",
|
|
177
|
+
value: function () {
|
|
178
|
+
var _refund = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(paymentId) {
|
|
179
|
+
var payment;
|
|
180
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
181
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
182
|
+
case 0:
|
|
183
|
+
payment = this.state.paymentHistory.find(function (p) {
|
|
184
|
+
return p.id === paymentId;
|
|
185
|
+
});
|
|
186
|
+
if (payment) {
|
|
187
|
+
_context6.next = 3;
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
return _context6.abrupt("return");
|
|
191
|
+
case 3:
|
|
192
|
+
payment.status = 'refunded';
|
|
193
|
+
payment.updatedAt = new Date();
|
|
194
|
+
_context6.next = 7;
|
|
195
|
+
return this.core.effects.emit(PaymentHooks.OnPaymentRefund, payment);
|
|
196
|
+
case 7:
|
|
197
|
+
case "end":
|
|
198
|
+
return _context6.stop();
|
|
199
|
+
}
|
|
200
|
+
}, _callee6, this);
|
|
201
|
+
}));
|
|
202
|
+
function refund(_x7) {
|
|
203
|
+
return _refund.apply(this, arguments);
|
|
204
|
+
}
|
|
205
|
+
return refund;
|
|
206
|
+
}()
|
|
207
|
+
}, {
|
|
208
|
+
key: "getAvailablePaymentMethods",
|
|
209
|
+
value: function getAvailablePaymentMethods() {
|
|
210
|
+
return ['credit_card', 'debit_card', 'alipay', 'wechat_pay'];
|
|
211
|
+
}
|
|
212
|
+
}, {
|
|
213
|
+
key: "checkPaymentStatus",
|
|
214
|
+
value: function () {
|
|
215
|
+
var _checkPaymentStatus = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(paymentId) {
|
|
216
|
+
var payment;
|
|
217
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
218
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
219
|
+
case 0:
|
|
220
|
+
payment = this.state.paymentHistory.find(function (p) {
|
|
221
|
+
return p.id === paymentId;
|
|
222
|
+
});
|
|
223
|
+
if (payment) {
|
|
224
|
+
_context7.next = 3;
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
227
|
+
throw new Error('Payment not found');
|
|
228
|
+
case 3:
|
|
229
|
+
return _context7.abrupt("return", payment.status);
|
|
230
|
+
case 4:
|
|
231
|
+
case "end":
|
|
232
|
+
return _context7.stop();
|
|
233
|
+
}
|
|
234
|
+
}, _callee7, this);
|
|
235
|
+
}));
|
|
236
|
+
function checkPaymentStatus(_x8) {
|
|
237
|
+
return _checkPaymentStatus.apply(this, arguments);
|
|
238
|
+
}
|
|
239
|
+
return checkPaymentStatus;
|
|
240
|
+
}()
|
|
241
|
+
}]);
|
|
242
|
+
return PaymentModule;
|
|
243
|
+
}(BaseModule);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Order } from '../Order/types';
|
|
2
|
+
export declare enum PaymentHooks {
|
|
3
|
+
OnPaymentInit = "payment:onPaymentInit",
|
|
4
|
+
OnPaymentSuccess = "payment:onPaymentSuccess",
|
|
5
|
+
OnPaymentFailure = "payment:onPaymentFailure",
|
|
6
|
+
OnPaymentRefund = "payment:onPaymentRefund"
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 支付方式
|
|
10
|
+
*/
|
|
11
|
+
export type PaymentMethod = 'credit_card' | 'debit_card' | 'paypal' | 'alipay' | 'wechat_pay' | 'bank_transfer';
|
|
12
|
+
/**
|
|
13
|
+
* 支付状态
|
|
14
|
+
*/
|
|
15
|
+
export type PaymentStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'refunded';
|
|
16
|
+
/**
|
|
17
|
+
* 支付信息
|
|
18
|
+
*/
|
|
19
|
+
export interface Payment {
|
|
20
|
+
id: string;
|
|
21
|
+
orderId: string;
|
|
22
|
+
amount: number;
|
|
23
|
+
currency: string;
|
|
24
|
+
method: PaymentMethod;
|
|
25
|
+
status: PaymentStatus;
|
|
26
|
+
transactionId?: string;
|
|
27
|
+
createdAt: Date;
|
|
28
|
+
updatedAt: Date;
|
|
29
|
+
metadata?: Record<string, any>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 支付模块状态
|
|
33
|
+
*/
|
|
34
|
+
export interface PaymentState {
|
|
35
|
+
currentPayment: Payment | null;
|
|
36
|
+
paymentHistory: Payment[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 支付模块 API
|
|
40
|
+
*/
|
|
41
|
+
export interface PaymentModuleAPI {
|
|
42
|
+
initPayment: (order: Order, method: PaymentMethod) => Promise<Payment>;
|
|
43
|
+
processPayment: (paymentId: string) => Promise<void>;
|
|
44
|
+
getPayment: (paymentId: string) => Promise<Payment>;
|
|
45
|
+
getPaymentHistory: () => Promise<Payment[]>;
|
|
46
|
+
refund: (paymentId: string) => Promise<void>;
|
|
47
|
+
getAvailablePaymentMethods: () => PaymentMethod[];
|
|
48
|
+
checkPaymentStatus: (paymentId: string) => Promise<PaymentStatus>;
|
|
49
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export var PaymentHooks = /*#__PURE__*/function (PaymentHooks) {
|
|
2
|
+
PaymentHooks["OnPaymentInit"] = "payment:onPaymentInit";
|
|
3
|
+
PaymentHooks["OnPaymentSuccess"] = "payment:onPaymentSuccess";
|
|
4
|
+
PaymentHooks["OnPaymentFailure"] = "payment:onPaymentFailure";
|
|
5
|
+
PaymentHooks["OnPaymentRefund"] = "payment:onPaymentRefund";
|
|
6
|
+
return PaymentHooks;
|
|
7
|
+
}({});
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 支付方式
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
// 银行转账
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 支付状态
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
// 已退款
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 支付信息
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 支付模块状态
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* 支付模块 API
|
|
31
|
+
*/
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Module, PisellCore } from '../../types';
|
|
2
|
+
import { BaseModule } from '../BaseModule';
|
|
3
|
+
import { ProductData, ProductMedia, ProductTag, ProductCategory, ProductBundleGroup } from './types';
|
|
4
|
+
export * from './types';
|
|
5
|
+
export declare class Product extends BaseModule implements Module {
|
|
6
|
+
protected defaultName: string;
|
|
7
|
+
protected defaultVersion: string;
|
|
8
|
+
private store;
|
|
9
|
+
constructor(name?: string, version?: string);
|
|
10
|
+
initialize(core: PisellCore, options: any): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* 获取商品数据
|
|
13
|
+
*/
|
|
14
|
+
getData(): ProductData | null;
|
|
15
|
+
/**
|
|
16
|
+
* 获取商品ID
|
|
17
|
+
*/
|
|
18
|
+
getId(): number | null;
|
|
19
|
+
/**
|
|
20
|
+
* 获取商品标题
|
|
21
|
+
*/
|
|
22
|
+
getTitle(): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* 获取商品捆绑组
|
|
25
|
+
*/
|
|
26
|
+
getBundleGroups(): ProductBundleGroup[];
|
|
27
|
+
/**
|
|
28
|
+
* 获取商品媒体
|
|
29
|
+
*/
|
|
30
|
+
getMedia(): ProductMedia[];
|
|
31
|
+
/**
|
|
32
|
+
* 获取商品标签
|
|
33
|
+
*/
|
|
34
|
+
getTags(): ProductTag[];
|
|
35
|
+
/**
|
|
36
|
+
* 获取商品分类
|
|
37
|
+
*/
|
|
38
|
+
getCategories(): ProductCategory[];
|
|
39
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
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 _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 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); } }
|
|
4
|
+
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); }); }; }
|
|
5
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
6
|
+
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); } }
|
|
7
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
8
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
9
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
10
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
11
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
12
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
13
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
14
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
15
|
+
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; }
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
17
|
+
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); }
|
|
18
|
+
import { BaseModule } from "../BaseModule";
|
|
19
|
+
export * from "./types";
|
|
20
|
+
export var Product = /*#__PURE__*/function (_BaseModule) {
|
|
21
|
+
_inherits(Product, _BaseModule);
|
|
22
|
+
var _super = _createSuper(Product);
|
|
23
|
+
function Product(name, version) {
|
|
24
|
+
var _this;
|
|
25
|
+
_classCallCheck(this, Product);
|
|
26
|
+
_this = _super.call(this, name, version);
|
|
27
|
+
_defineProperty(_assertThisInitialized(_this), "defaultName", 'product');
|
|
28
|
+
_defineProperty(_assertThisInitialized(_this), "defaultVersion", '1.0.0');
|
|
29
|
+
_defineProperty(_assertThisInitialized(_this), "store", void 0);
|
|
30
|
+
return _this;
|
|
31
|
+
}
|
|
32
|
+
_createClass(Product, [{
|
|
33
|
+
key: "initialize",
|
|
34
|
+
value: function () {
|
|
35
|
+
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(core, options) {
|
|
36
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
37
|
+
while (1) switch (_context.prev = _context.next) {
|
|
38
|
+
case 0:
|
|
39
|
+
this.core = core;
|
|
40
|
+
this.store = options.store || {};
|
|
41
|
+
case 2:
|
|
42
|
+
case "end":
|
|
43
|
+
return _context.stop();
|
|
44
|
+
}
|
|
45
|
+
}, _callee, this);
|
|
46
|
+
}));
|
|
47
|
+
function initialize(_x, _x2) {
|
|
48
|
+
return _initialize.apply(this, arguments);
|
|
49
|
+
}
|
|
50
|
+
return initialize;
|
|
51
|
+
}()
|
|
52
|
+
/**
|
|
53
|
+
* 获取商品数据
|
|
54
|
+
*/
|
|
55
|
+
}, {
|
|
56
|
+
key: "getData",
|
|
57
|
+
value: function getData() {
|
|
58
|
+
return this.store;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* 获取商品ID
|
|
63
|
+
*/
|
|
64
|
+
}, {
|
|
65
|
+
key: "getId",
|
|
66
|
+
value: function getId() {
|
|
67
|
+
var _this$store$id, _this$store;
|
|
68
|
+
return (_this$store$id = (_this$store = this.store) === null || _this$store === void 0 ? void 0 : _this$store.id) !== null && _this$store$id !== void 0 ? _this$store$id : null;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* 获取商品标题
|
|
73
|
+
*/
|
|
74
|
+
}, {
|
|
75
|
+
key: "getTitle",
|
|
76
|
+
value: function getTitle() {
|
|
77
|
+
var _this$store$title, _this$store2;
|
|
78
|
+
return (_this$store$title = (_this$store2 = this.store) === null || _this$store2 === void 0 ? void 0 : _this$store2.title) !== null && _this$store$title !== void 0 ? _this$store$title : null;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* 获取商品捆绑组
|
|
83
|
+
*/
|
|
84
|
+
}, {
|
|
85
|
+
key: "getBundleGroups",
|
|
86
|
+
value: function getBundleGroups() {
|
|
87
|
+
return this.store.bundle_groups;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* 获取商品媒体
|
|
92
|
+
*/
|
|
93
|
+
}, {
|
|
94
|
+
key: "getMedia",
|
|
95
|
+
value: function getMedia() {
|
|
96
|
+
return this.store.media;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* 获取商品标签
|
|
101
|
+
*/
|
|
102
|
+
}, {
|
|
103
|
+
key: "getTags",
|
|
104
|
+
value: function getTags() {
|
|
105
|
+
return this.store.tags;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* 获取商品分类
|
|
110
|
+
*/
|
|
111
|
+
}, {
|
|
112
|
+
key: "getCategories",
|
|
113
|
+
value: function getCategories() {
|
|
114
|
+
return this.store.categories;
|
|
115
|
+
}
|
|
116
|
+
}]);
|
|
117
|
+
return Product;
|
|
118
|
+
}(BaseModule);
|