@pisell/pisellos 3.0.55 → 3.0.57

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.
Files changed (268) hide show
  1. package/dist/core/index.js +2 -1
  2. package/dist/effects/index.d.ts +4 -3
  3. package/dist/effects/index.js +15 -6
  4. package/dist/modules/AccountList/index.d.ts +7 -1
  5. package/dist/modules/AccountList/index.js +81 -14
  6. package/dist/modules/AccountList/types.d.ts +28 -0
  7. package/dist/modules/AccountList/types.js +8 -0
  8. package/dist/modules/Cart/index.js +1 -1
  9. package/dist/modules/Cart/utils/changePrice.d.ts +2 -2
  10. package/dist/modules/Cart/utils/changePrice.js +1 -1
  11. package/dist/modules/Customer/constants.d.ts +7 -0
  12. package/dist/modules/Customer/constants.js +12 -0
  13. package/dist/modules/Customer/index.d.ts +122 -0
  14. package/dist/modules/Customer/index.js +697 -0
  15. package/dist/modules/Customer/types.d.ts +146 -0
  16. package/dist/modules/Customer/types.js +41 -0
  17. package/dist/modules/Payment/cash.d.ts +11 -0
  18. package/dist/modules/Payment/cash.js +78 -0
  19. package/dist/modules/Payment/eftpos.d.ts +11 -0
  20. package/dist/modules/Payment/eftpos.js +80 -0
  21. package/dist/modules/Payment/index.d.ts +273 -9
  22. package/dist/modules/Payment/index.js +2525 -109
  23. package/dist/modules/Payment/types.d.ts +382 -30
  24. package/dist/modules/Payment/types.js +116 -14
  25. package/dist/modules/Payment/wallet.d.ts +11 -0
  26. package/dist/modules/Payment/wallet.js +78 -0
  27. package/dist/modules/Payment/walletpass.d.ts +0 -0
  28. package/dist/modules/Payment/walletpass.js +0 -0
  29. package/dist/modules/ProductList/index.d.ts +14 -3
  30. package/dist/modules/ProductList/index.js +58 -44
  31. package/dist/modules/ProductList/types.d.ts +0 -1
  32. package/dist/modules/Rules/index.js +27 -14
  33. package/dist/modules/Rules/types.d.ts +1 -0
  34. package/dist/modules/index.d.ts +1 -0
  35. package/dist/modules/index.js +1 -0
  36. package/dist/plugins/app-types/app/app.d.ts +83 -0
  37. package/dist/plugins/app-types/app/const.d.ts +4 -0
  38. package/dist/plugins/app-types/app/index.d.ts +14 -0
  39. package/dist/plugins/app-types/applicationManager/application.d.ts +50 -0
  40. package/dist/plugins/app-types/applicationManager/index.d.ts +13 -0
  41. package/dist/plugins/app-types/config.d.ts +3 -0
  42. package/dist/plugins/app-types/cookie/index.d.ts +13 -0
  43. package/dist/plugins/app-types/data/index.d.ts +8 -0
  44. package/dist/plugins/app-types/history/config.d.ts +24 -0
  45. package/dist/plugins/app-types/history/index.d.ts +20 -0
  46. package/dist/plugins/app-types/history/type.d.ts +2 -0
  47. package/dist/plugins/app-types/hooks/index.d.ts +12 -0
  48. package/dist/plugins/app-types/hooks/useDelayedValue/index.d.ts +2 -0
  49. package/dist/plugins/app-types/hooks/useDispatch/index.d.ts +2 -0
  50. package/dist/plugins/app-types/hooks/useLowCode/index.d.ts +13 -0
  51. package/dist/plugins/app-types/hooks/useStore/index.d.ts +6 -0
  52. package/dist/plugins/app-types/index.d.ts +6 -0
  53. package/dist/plugins/app-types/indexDB/index.d.ts +178 -0
  54. package/dist/plugins/app-types/locales/en.d.ts +3 -0
  55. package/dist/plugins/app-types/locales/index.d.ts +37 -0
  56. package/dist/plugins/app-types/locales/original.d.ts +3 -0
  57. package/dist/plugins/app-types/locales/type.d.ts +19 -0
  58. package/dist/plugins/app-types/locales/zh-CN.d.ts +3 -0
  59. package/dist/plugins/app-types/locales/zh-HK.d.ts +3 -0
  60. package/dist/plugins/app-types/logger/feishu.d.ts +11 -0
  61. package/dist/plugins/app-types/logger/index.d.ts +122 -0
  62. package/dist/plugins/app-types/menuManager/hooks.d.ts +17 -0
  63. package/dist/plugins/app-types/menuManager/index.d.ts +28 -0
  64. package/dist/plugins/app-types/models/global.d.ts +32 -0
  65. package/dist/plugins/app-types/models/index.d.ts +45 -0
  66. package/dist/plugins/app-types/models/type.d.ts +2 -0
  67. package/dist/plugins/app-types/package.json +15 -0
  68. package/dist/plugins/app-types/plugin/index.d.ts +0 -0
  69. package/dist/plugins/app-types/pubsub/example.d.ts +5 -0
  70. package/dist/plugins/app-types/pubsub/index.d.ts +63 -0
  71. package/dist/plugins/app-types/request/cache.d.ts +46 -0
  72. package/dist/plugins/app-types/request/cancelToken.d.ts +38 -0
  73. package/dist/plugins/app-types/request/config.d.ts +3 -0
  74. package/dist/plugins/app-types/request/constants.d.ts +2 -0
  75. package/dist/plugins/app-types/request/index.d.ts +24 -0
  76. package/dist/plugins/app-types/request/pisell2Request.d.ts +6 -0
  77. package/dist/plugins/app-types/request/type.d.ts +41 -0
  78. package/dist/plugins/app-types/request/utils.d.ts +46 -0
  79. package/dist/plugins/app-types/routes/config.d.ts +7 -0
  80. package/dist/plugins/app-types/routes/index.d.ts +28 -0
  81. package/dist/plugins/app-types/socket/components/SocketMonitorPage.d.ts +6 -0
  82. package/dist/plugins/app-types/socket/components/index.d.ts +2 -0
  83. package/dist/plugins/app-types/socket/constants.d.ts +33 -0
  84. package/dist/plugins/app-types/socket/events.d.ts +31 -0
  85. package/dist/plugins/app-types/socket/heartbeat.d.ts +66 -0
  86. package/dist/plugins/app-types/socket/index.d.ts +61 -0
  87. package/dist/plugins/app-types/socket/monitor.d.ts +169 -0
  88. package/dist/plugins/app-types/socket/reconnect.d.ts +61 -0
  89. package/dist/plugins/app-types/socket/socket.d.ts +129 -0
  90. package/dist/plugins/app-types/socket/types.d.ts +85 -0
  91. package/dist/plugins/app-types/storage/index.d.ts +17 -0
  92. package/dist/plugins/app-types/tasks/index.d.ts +77 -0
  93. package/dist/plugins/app-types/tasks/type.d.ts +62 -0
  94. package/dist/plugins/app-types/tasks/useTasks.d.ts +5 -0
  95. package/dist/plugins/app-types/type.d.ts +2 -0
  96. package/dist/plugins/app-types/variables/VariablesProvider.d.ts +7 -0
  97. package/dist/plugins/app-types/variables/config.d.ts +3 -0
  98. package/dist/plugins/app-types/variables/index.d.ts +6 -0
  99. package/dist/plugins/app-types/variables/type.d.ts +2 -0
  100. package/dist/plugins/app-types/website/index.d.ts +6 -0
  101. package/dist/plugins/app.d.ts +8 -0
  102. package/dist/plugins/app.js +1 -0
  103. package/dist/plugins/window.d.ts +1 -0
  104. package/dist/solution/BookingByStep/index.js +59 -35
  105. package/dist/solution/BookingByStep/types.d.ts +3 -2
  106. package/dist/solution/BookingTicket/index.d.ts +172 -0
  107. package/dist/solution/BookingTicket/index.js +665 -0
  108. package/dist/solution/BookingTicket/types.d.ts +68 -0
  109. package/dist/solution/BookingTicket/types.js +43 -0
  110. package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +22 -0
  111. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +159 -0
  112. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +16 -0
  113. package/dist/solution/BookingTicket/utils/scan/handleScan.js +174 -0
  114. package/dist/solution/BookingTicket/utils/scan/index.d.ts +81 -0
  115. package/dist/solution/BookingTicket/utils/scan/index.js +285 -0
  116. package/dist/solution/BookingTicket/utils/scan/scanCache.d.ts +78 -0
  117. package/dist/solution/BookingTicket/utils/scan/scanCache.js +305 -0
  118. package/dist/solution/BuyTickets/index.d.ts +2 -2
  119. package/dist/solution/BuyTickets/index.js +1 -1
  120. package/dist/solution/Checkout/appointmentDemo.json +1 -0
  121. package/dist/solution/Checkout/index.d.ts +181 -0
  122. package/dist/solution/Checkout/index.js +1596 -0
  123. package/dist/solution/Checkout/types.d.ts +550 -0
  124. package/dist/solution/Checkout/types.js +132 -0
  125. package/dist/solution/Checkout/utils/index.d.ts +73 -0
  126. package/dist/solution/Checkout/utils/index.js +371 -0
  127. package/dist/solution/ShopDiscount/index.js +4 -2
  128. package/dist/solution/index.d.ts +2 -0
  129. package/dist/solution/index.js +3 -1
  130. package/dist/types/index.d.ts +3 -1
  131. package/dist/utils/task.d.ts +40 -0
  132. package/dist/utils/task.js +171 -0
  133. package/dist/utils/watch.d.ts +102 -0
  134. package/dist/utils/watch.js +294 -0
  135. package/lib/core/index.js +1 -1
  136. package/lib/effects/index.d.ts +4 -3
  137. package/lib/effects/index.js +4 -1
  138. package/lib/modules/AccountList/index.d.ts +7 -1
  139. package/lib/modules/AccountList/index.js +27 -0
  140. package/lib/modules/AccountList/types.d.ts +28 -0
  141. package/lib/modules/Cart/index.js +1 -1
  142. package/lib/modules/Cart/utils/changePrice.d.ts +2 -2
  143. package/lib/modules/Cart/utils/changePrice.js +1 -1
  144. package/lib/modules/Customer/constants.d.ts +7 -0
  145. package/lib/modules/Customer/constants.js +39 -0
  146. package/lib/modules/Customer/index.d.ts +122 -0
  147. package/lib/modules/Customer/index.js +440 -0
  148. package/lib/modules/Customer/types.d.ts +146 -0
  149. package/lib/modules/Customer/types.js +37 -0
  150. package/lib/modules/Payment/cash.d.ts +11 -0
  151. package/lib/modules/Payment/cash.js +51 -0
  152. package/lib/modules/Payment/eftpos.d.ts +11 -0
  153. package/lib/modules/Payment/eftpos.js +51 -0
  154. package/lib/modules/Payment/index.d.ts +273 -9
  155. package/lib/modules/Payment/index.js +1285 -50
  156. package/lib/modules/Payment/types.d.ts +382 -30
  157. package/lib/modules/Payment/types.js +41 -6
  158. package/lib/modules/Payment/wallet.d.ts +11 -0
  159. package/lib/modules/Payment/wallet.js +51 -0
  160. package/lib/modules/Payment/walletpass.d.ts +0 -0
  161. package/lib/modules/Payment/walletpass.js +0 -0
  162. package/lib/modules/ProductList/index.d.ts +14 -3
  163. package/lib/modules/ProductList/index.js +42 -28
  164. package/lib/modules/ProductList/types.d.ts +0 -1
  165. package/lib/modules/Rules/index.js +20 -12
  166. package/lib/modules/Rules/types.d.ts +1 -0
  167. package/lib/modules/index.d.ts +1 -0
  168. package/lib/modules/index.js +2 -0
  169. package/lib/plugins/app-types/app/app.d.ts +83 -0
  170. package/lib/plugins/app-types/app/const.d.ts +4 -0
  171. package/lib/plugins/app-types/app/index.d.ts +14 -0
  172. package/lib/plugins/app-types/applicationManager/application.d.ts +50 -0
  173. package/lib/plugins/app-types/applicationManager/index.d.ts +13 -0
  174. package/lib/plugins/app-types/config.d.ts +3 -0
  175. package/lib/plugins/app-types/cookie/index.d.ts +13 -0
  176. package/lib/plugins/app-types/data/index.d.ts +8 -0
  177. package/lib/plugins/app-types/history/config.d.ts +24 -0
  178. package/lib/plugins/app-types/history/index.d.ts +20 -0
  179. package/lib/plugins/app-types/history/type.d.ts +2 -0
  180. package/lib/plugins/app-types/hooks/index.d.ts +12 -0
  181. package/lib/plugins/app-types/hooks/useDelayedValue/index.d.ts +2 -0
  182. package/lib/plugins/app-types/hooks/useDispatch/index.d.ts +2 -0
  183. package/lib/plugins/app-types/hooks/useLowCode/index.d.ts +13 -0
  184. package/lib/plugins/app-types/hooks/useStore/index.d.ts +6 -0
  185. package/lib/plugins/app-types/index.d.ts +6 -0
  186. package/lib/plugins/app-types/indexDB/index.d.ts +178 -0
  187. package/lib/plugins/app-types/locales/en.d.ts +3 -0
  188. package/lib/plugins/app-types/locales/index.d.ts +37 -0
  189. package/lib/plugins/app-types/locales/original.d.ts +3 -0
  190. package/lib/plugins/app-types/locales/type.d.ts +19 -0
  191. package/lib/plugins/app-types/locales/zh-CN.d.ts +3 -0
  192. package/lib/plugins/app-types/locales/zh-HK.d.ts +3 -0
  193. package/lib/plugins/app-types/logger/feishu.d.ts +11 -0
  194. package/lib/plugins/app-types/logger/index.d.ts +122 -0
  195. package/lib/plugins/app-types/menuManager/hooks.d.ts +17 -0
  196. package/lib/plugins/app-types/menuManager/index.d.ts +28 -0
  197. package/lib/plugins/app-types/models/global.d.ts +32 -0
  198. package/lib/plugins/app-types/models/index.d.ts +45 -0
  199. package/lib/plugins/app-types/models/type.d.ts +2 -0
  200. package/lib/plugins/app-types/package.json +15 -0
  201. package/lib/plugins/app-types/plugin/index.d.ts +0 -0
  202. package/lib/plugins/app-types/pubsub/example.d.ts +5 -0
  203. package/lib/plugins/app-types/pubsub/index.d.ts +63 -0
  204. package/lib/plugins/app-types/request/cache.d.ts +46 -0
  205. package/lib/plugins/app-types/request/cancelToken.d.ts +38 -0
  206. package/lib/plugins/app-types/request/config.d.ts +3 -0
  207. package/lib/plugins/app-types/request/constants.d.ts +2 -0
  208. package/lib/plugins/app-types/request/index.d.ts +24 -0
  209. package/lib/plugins/app-types/request/pisell2Request.d.ts +6 -0
  210. package/lib/plugins/app-types/request/type.d.ts +41 -0
  211. package/lib/plugins/app-types/request/utils.d.ts +46 -0
  212. package/lib/plugins/app-types/routes/config.d.ts +7 -0
  213. package/lib/plugins/app-types/routes/index.d.ts +28 -0
  214. package/lib/plugins/app-types/socket/components/SocketMonitorPage.d.ts +6 -0
  215. package/lib/plugins/app-types/socket/components/index.d.ts +2 -0
  216. package/lib/plugins/app-types/socket/constants.d.ts +33 -0
  217. package/lib/plugins/app-types/socket/events.d.ts +31 -0
  218. package/lib/plugins/app-types/socket/heartbeat.d.ts +66 -0
  219. package/lib/plugins/app-types/socket/index.d.ts +61 -0
  220. package/lib/plugins/app-types/socket/monitor.d.ts +169 -0
  221. package/lib/plugins/app-types/socket/reconnect.d.ts +61 -0
  222. package/lib/plugins/app-types/socket/socket.d.ts +129 -0
  223. package/lib/plugins/app-types/socket/types.d.ts +85 -0
  224. package/lib/plugins/app-types/storage/index.d.ts +17 -0
  225. package/lib/plugins/app-types/tasks/index.d.ts +77 -0
  226. package/lib/plugins/app-types/tasks/type.d.ts +62 -0
  227. package/lib/plugins/app-types/tasks/useTasks.d.ts +5 -0
  228. package/lib/plugins/app-types/type.d.ts +2 -0
  229. package/lib/plugins/app-types/variables/VariablesProvider.d.ts +7 -0
  230. package/lib/plugins/app-types/variables/config.d.ts +3 -0
  231. package/lib/plugins/app-types/variables/index.d.ts +6 -0
  232. package/lib/plugins/app-types/variables/type.d.ts +2 -0
  233. package/lib/plugins/app-types/website/index.d.ts +6 -0
  234. package/lib/plugins/app.d.ts +8 -0
  235. package/lib/plugins/app.js +17 -0
  236. package/lib/plugins/window.d.ts +1 -0
  237. package/lib/solution/BookingByStep/index.js +40 -29
  238. package/lib/solution/BookingByStep/types.d.ts +3 -2
  239. package/lib/solution/BookingTicket/index.d.ts +172 -0
  240. package/lib/solution/BookingTicket/index.js +399 -0
  241. package/lib/solution/BookingTicket/types.d.ts +68 -0
  242. package/lib/solution/BookingTicket/types.js +72 -0
  243. package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +22 -0
  244. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +117 -0
  245. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +16 -0
  246. package/lib/solution/BookingTicket/utils/scan/handleScan.js +125 -0
  247. package/lib/solution/BookingTicket/utils/scan/index.d.ts +81 -0
  248. package/lib/solution/BookingTicket/utils/scan/index.js +210 -0
  249. package/lib/solution/BookingTicket/utils/scan/scanCache.d.ts +78 -0
  250. package/lib/solution/BookingTicket/utils/scan/scanCache.js +231 -0
  251. package/lib/solution/BuyTickets/index.d.ts +2 -2
  252. package/lib/solution/BuyTickets/index.js +1 -1
  253. package/lib/solution/Checkout/appointmentDemo.json +1 -0
  254. package/lib/solution/Checkout/index.d.ts +181 -0
  255. package/lib/solution/Checkout/index.js +864 -0
  256. package/lib/solution/Checkout/types.d.ts +550 -0
  257. package/lib/solution/Checkout/types.js +75 -0
  258. package/lib/solution/Checkout/utils/index.d.ts +73 -0
  259. package/lib/solution/Checkout/utils/index.js +266 -0
  260. package/lib/solution/ShopDiscount/index.js +2 -1
  261. package/lib/solution/index.d.ts +2 -0
  262. package/lib/solution/index.js +5 -1
  263. package/lib/types/index.d.ts +3 -1
  264. package/lib/utils/task.d.ts +40 -0
  265. package/lib/utils/task.js +109 -0
  266. package/lib/utils/watch.d.ts +102 -0
  267. package/lib/utils/watch.js +217 -0
  268. package/package.json +4 -2
@@ -0,0 +1,178 @@
1
+ import App from "../app";
2
+ /**
3
+ * IndexDB 管理器模块
4
+ *
5
+ * 这个模块提供了对浏览器 IndexedDB 的简单封装,并在不支持 IndexedDB 的环境中
6
+ * 自动降级使用 localStorage 作为备选存储方案。
7
+ */
8
+ /**
9
+ * 数据库配置选项接口
10
+ * @interface DBOptions
11
+ * @property {string} dbName - 数据库名称
12
+ * @property {number} version - 数据库版本号
13
+ * @property {Array} stores - 存储对象配置数组
14
+ * @property {string} stores[].name - 存储对象名称
15
+ * @property {string} stores[].keyPath - 主键路径
16
+ * @property {Array} [stores[].indexes] - 索引配置数组(可选)
17
+ * @property {string} stores[].indexes[].name - 索引名称
18
+ * @property {string} stores[].indexes[].keyPath - 索引键路径
19
+ * @property {IDBIndexParameters} [stores[].indexes[].options] - 索引选项(可选)
20
+ */
21
+ export interface DBOptions {
22
+ dbName: string;
23
+ version: number;
24
+ stores: {
25
+ name: string;
26
+ keyPath: string;
27
+ indexes?: {
28
+ name: string;
29
+ keyPath: string;
30
+ options?: IDBIndexParameters;
31
+ }[];
32
+ }[];
33
+ }
34
+ /**
35
+ * IndexDB 管理器类
36
+ * 提供对 IndexedDB 的简单封装,支持自动降级到 localStorage
37
+ * @class IndexDBManager
38
+ */
39
+ declare class IndexDBManager {
40
+ /**
41
+ * 检查环境是否支持 IndexedDB
42
+ * @returns {boolean} 是否支持 IndexedDB
43
+ * @private
44
+ */
45
+ private static isSupported;
46
+ private db;
47
+ private dbName;
48
+ private version;
49
+ private stores;
50
+ private useIndexDB;
51
+ private app;
52
+ /**
53
+ * 创建 IndexDBManager 实例
54
+ * @param {DBOptions} options - 数据库配置选项
55
+ */
56
+ constructor(app: App, options: DBOptions);
57
+ /**
58
+ * 初始化数据库连接
59
+ * 如果环境不支持 IndexedDB,将自动使用 localStorage
60
+ * @returns {Promise<boolean>} 连接是否成功
61
+ */
62
+ connect(): Promise<boolean>;
63
+ /**
64
+ * 生成用于 localStorage 的存储键
65
+ * @param {string} storeName - 存储对象名称
66
+ * @param {string|number} [key] - 可选的键值
67
+ * @returns {string} 格式化的存储键
68
+ * @private
69
+ */
70
+ private getStorageKey;
71
+ /**
72
+ * 添加数据到指定的存储对象
73
+ * @param {string} storeName - 存储对象名称
74
+ * @param {T} data - 要添加的数据
75
+ * @returns {Promise<T>} 添加的数据
76
+ * @template T
77
+ */
78
+ add<T>(storeName: string, data: T): Promise<T>;
79
+ /**
80
+ * 获取指定存储对象中的数据
81
+ * @param {string} storeName - 存储对象名称
82
+ * @param {string|number} key - 数据主键
83
+ * @returns {Promise<T|null>} 获取的数据,不存在则返回 null
84
+ * @template T
85
+ */
86
+ get<T>(storeName: string, key: string | number): Promise<T | null>;
87
+ /**
88
+ * 更新指定存储对象中的数据
89
+ * @param {string} storeName - 存储对象名称
90
+ * @param {T} data - 要更新的数据
91
+ * @returns {Promise<T>} 更新后的数据
92
+ * @template T
93
+ */
94
+ update<T>(storeName: string, data: T): Promise<T>;
95
+ /**
96
+ * 删除指定存储对象中的数据
97
+ * @param {string} storeName - 存储对象名称
98
+ * @param {string|number} key - 数据主键
99
+ * @returns {Promise<boolean>} 删除是否成功
100
+ */
101
+ delete(storeName: string, key: string | number): Promise<boolean>;
102
+ /**
103
+ * 获取指定存储对象中的所有数据
104
+ * @param {string} storeName - 存储对象名称
105
+ * @returns {Promise<T[]>} 数据数组
106
+ * @template T
107
+ */
108
+ getAll<T>(storeName: string): Promise<T[]>;
109
+ /**
110
+ * 清空指定存储对象中的所有数据
111
+ * @param {string} storeName - 存储对象名称
112
+ * @returns {Promise<boolean>} 清空是否成功
113
+ */
114
+ clear(storeName: string): Promise<boolean>;
115
+ /**
116
+ * 关闭数据库连接
117
+ * 在不再需要使用数据库时调用,释放资源
118
+ */
119
+ close(): void;
120
+ /**
121
+ * 获取当前使用的存储方式
122
+ * @returns {'indexDB'|'localStorage'} 当前使用的存储方式
123
+ */
124
+ getCurrentStorage(): 'indexDB' | 'localStorage';
125
+ }
126
+ /**
127
+ * 使用示例:
128
+ *
129
+ * // 1. 创建数据库配置
130
+ * const dbOptions: DBOptions = {
131
+ * dbName: 'myApp',
132
+ * version: 1,
133
+ * stores: [
134
+ * {
135
+ * name: 'users',
136
+ * keyPath: 'id',
137
+ * indexes: [
138
+ * { name: 'email', keyPath: 'email', options: { unique: true } }
139
+ * ]
140
+ * },
141
+ * {
142
+ * name: 'products',
143
+ * keyPath: 'id'
144
+ * }
145
+ * ]
146
+ * };
147
+ *
148
+ * // 2. 创建并连接数据库
149
+ * const db = new IndexDBManager(dbOptions);
150
+ * await db.connect();
151
+ *
152
+ * // 3. 添加数据
153
+ * const user = { id: '1', name: '张三', email: 'zhangsan@example.com' };
154
+ * await db.add('users', user);
155
+ *
156
+ * // 4. 获取数据
157
+ * const retrievedUser = await db.get('users', '1');
158
+ *
159
+ * // 5. 更新数据
160
+ * user.name = '张三 (已更新)';
161
+ * await db.update('users', user);
162
+ *
163
+ * // 6. 获取所有数据
164
+ * const allUsers = await db.getAll('users');
165
+ *
166
+ * // 7. 删除数据
167
+ * await db.delete('users', '1');
168
+ *
169
+ * // 8. 清空存储对象
170
+ * await db.clear('users');
171
+ *
172
+ * // 9. 关闭数据库连接
173
+ * db.close();
174
+ *
175
+ * // 10. 检查当前使用的存储方式
176
+ * const storageType = db.getCurrentStorage(); // 'indexDB' 或 'localStorage'
177
+ */
178
+ export default IndexDBManager;
@@ -0,0 +1,3 @@
1
+ import { LibraryItem } from './type';
2
+ declare const _default: LibraryItem;
3
+ export default _default;
@@ -0,0 +1,37 @@
1
+ import { Locale, LibraryItem, LoadLibraryByUrlParams } from "./type";
2
+ import App from "../app";
3
+ export interface LocalesOptions {
4
+ locale?: Locale;
5
+ library?: {
6
+ [key in Locale]: LibraryItem;
7
+ };
8
+ }
9
+ export declare class Locales {
10
+ private app;
11
+ locale: string;
12
+ library: {
13
+ [key in Locale]: LibraryItem;
14
+ };
15
+ constructor(app: App, options?: LocalesOptions);
16
+ getLocale: () => string;
17
+ getCurrentTexts: (locale?: Locale) => {
18
+ [key: string]: string;
19
+ };
20
+ setLocale: (locale: Locale, reload?: boolean) => void;
21
+ getText: (id: string, locale?: Locale) => string;
22
+ isCN: () => boolean;
23
+ loadLibraryByUrl: (urls: LoadLibraryByUrlParams) => Promise<{
24
+ [x: string]: LibraryItem;
25
+ }>;
26
+ loadLibraryByItems(libraryList: LibraryItem[]): void;
27
+ loadLibrary: (urls: LoadLibraryByUrlParams) => Promise<{
28
+ [x: string]: LibraryItem;
29
+ }>;
30
+ translation: (text: string | {
31
+ [key: Locale]: string;
32
+ }, locale?: Locale) => string | number;
33
+ getLibraryByData: (data: LibraryItem[]) => LibraryItem;
34
+ createTextsByLibrary: (id: string, library?: { [key in Locale]: LibraryItem; }) => {
35
+ [x: string]: string;
36
+ };
37
+ }
@@ -0,0 +1,3 @@
1
+ import { LibraryItem } from './type';
2
+ declare const _default: LibraryItem;
3
+ export default _default;
@@ -0,0 +1,19 @@
1
+ export type Locale = 'original' | 'en' | 'zh-CN' | 'zh-HK' | string;
2
+ export type MultiLanguage = {
3
+ [key in Locale]: string;
4
+ };
5
+ export interface LibraryItem {
6
+ locale: Locale;
7
+ name: string;
8
+ translations: {
9
+ [key: string]: string;
10
+ };
11
+ [key: string]: any;
12
+ }
13
+ export interface LocaleConfig {
14
+ locale: Locale;
15
+ library: {
16
+ [key in Locale]: LibraryItem;
17
+ };
18
+ }
19
+ export type LoadLibraryByUrlParams = (string | Promise<LibraryItem> | (() => Promise<LibraryItem>) | LibraryItem)[];
@@ -0,0 +1,3 @@
1
+ import { LibraryItem } from './type';
2
+ declare const _default: LibraryItem;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { LibraryItem } from './type';
2
+ declare const _default: LibraryItem;
3
+ export default _default;
@@ -0,0 +1,11 @@
1
+ interface contentItem {
2
+ key: string;
3
+ value: string;
4
+ }
5
+ interface sendWebhookProps {
6
+ title: string;
7
+ content: contentItem[];
8
+ webhook: string;
9
+ }
10
+ export declare const sendWarningLog: ({ title, content, webhook }: sendWebhookProps) => Promise<any>;
11
+ export {};
@@ -0,0 +1,122 @@
1
+ import App from "../app";
2
+ export type LogConsoleType = "info" | "warning" | "error" | "debug";
3
+ /**
4
+ * 日志项接口
5
+ */
6
+ interface LogItem {
7
+ type: LogConsoleType;
8
+ title: string;
9
+ date?: string;
10
+ metadata?: any;
11
+ }
12
+ interface LogFile {
13
+ fileName: string;
14
+ date: string;
15
+ fileContent: LogFileContent;
16
+ }
17
+ interface LogFileContent {
18
+ metadata: any;
19
+ logs: LogItem[];
20
+ }
21
+ export interface LoggerOptions {
22
+ prefix?: string;
23
+ checkInterval?: number;
24
+ feishuConfig?: any;
25
+ retentionDays?: number;
26
+ }
27
+ /**
28
+ * 日志管理器类
29
+ */
30
+ declare class LoggerManager {
31
+ private logBuffer;
32
+ private timer;
33
+ private checkInterval;
34
+ private prefix;
35
+ private metadata;
36
+ private db;
37
+ private app;
38
+ private feishuConfig;
39
+ private retentionDays;
40
+ private metadataFunction;
41
+ /**
42
+ * 构造函数
43
+ * @param prefix 日志前缀
44
+ * @param checkInterval 检查间隔时间,默认5分钟
45
+ */
46
+ constructor(app: App, options?: LoggerOptions);
47
+ init(): void;
48
+ /**
49
+ * 初始化 IndexDB
50
+ */
51
+ private initDB;
52
+ /**
53
+ * 设置元数据
54
+ * @param metadata 元数据
55
+ */
56
+ setMetadata(metadata: any): void;
57
+ setMetadataFunction(metadataFunction: () => any): void;
58
+ /**
59
+ * 初始化定时器
60
+ */
61
+ initTimer(): void;
62
+ /**
63
+ * 添加日志
64
+ * @param log 日志项
65
+ */
66
+ addLog(log: LogItem): void;
67
+ /**
68
+ * 发送飞书通知
69
+ * @param log 日志项
70
+ */
71
+ private sendFeishuNotification;
72
+ /**
73
+ * 创建日志文件名
74
+ * @returns 日志文件名
75
+ */
76
+ private createFileName;
77
+ /**
78
+ * 创建日志文件
79
+ * @param _fileName 文件名
80
+ * @returns 日志文件对象
81
+ */
82
+ private createFile;
83
+ /**
84
+ * 存储日志到持久化存储
85
+ */
86
+ private storeLog;
87
+ /**
88
+ * 清理旧日志,只保留最近指定天数的日志
89
+ */
90
+ private cleanupOldLogs;
91
+ /**
92
+ * 获取日志文件列表
93
+ * @returns 日志文件列表
94
+ */
95
+ getLogFiles(): Promise<LogFile[]>;
96
+ /**
97
+ * 获取指定日志文件的内容
98
+ * @param fileName 日志文件名
99
+ * @returns 日志文件内容
100
+ */
101
+ getLogFile(fileName: string): Promise<LogFile | null>;
102
+ /**
103
+ * 清空指定日志文件
104
+ * @param fileName 日志文件名,不指定则清空所有日志
105
+ * @returns 是否成功
106
+ */
107
+ clearLogs(fileName?: string): Promise<boolean>;
108
+ /**
109
+ * 设置日志保留天数
110
+ * @param days 保留天数
111
+ */
112
+ setRetentionDays(days: number): void;
113
+ /**
114
+ * 手动触发清理旧日志
115
+ */
116
+ manualCleanup(): Promise<void>;
117
+ /**
118
+ * 销毁实例
119
+ */
120
+ destroy(): void;
121
+ }
122
+ export default LoggerManager;
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import { MenuItem } from "./index";
3
+ export declare const isHttp: (url: string) => boolean;
4
+ export interface MenuContextType {
5
+ selectedKeys: string[];
6
+ openKeys: string[];
7
+ setOpenKeys: (keys: string[]) => void;
8
+ handleClick: (key: string) => void;
9
+ menuItems: MenuItem[];
10
+ getShowChildren: (children: MenuItem[]) => MenuItem[];
11
+ setMenuItems: (items: MenuItem[]) => void;
12
+ }
13
+ export declare const MenuProvider: React.FC<{
14
+ children: React.ReactNode;
15
+ menus: MenuItem[];
16
+ }>;
17
+ export declare const useMenu: () => MenuContextType;
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import App from '../app';
3
+ export interface MenuItem {
4
+ key: string;
5
+ label: string;
6
+ path: string;
7
+ children?: MenuItem[];
8
+ icon?: string | React.ReactNode;
9
+ hide?: boolean;
10
+ }
11
+ export declare class MenuManager {
12
+ private menuItems;
13
+ private menuMaps;
14
+ private app;
15
+ useMenu: () => import("./hooks").MenuContextType;
16
+ MenuProvider: React.FC<{
17
+ children: React.ReactNode;
18
+ menus: MenuItem[];
19
+ }>;
20
+ constructor(items: MenuItem[], app: App);
21
+ set(items: MenuItem[]): void;
22
+ getMenus(): MenuItem[];
23
+ getMenuMaps(): void;
24
+ findMenuItemByPath(items: MenuItem[], path: string): MenuItem | null;
25
+ findParent(items: MenuItem[], key: string, parent?: MenuItem | null): MenuItem | null;
26
+ getShowChildren(items: MenuItem[]): MenuItem[];
27
+ findMenuItemByKey(items: MenuItem[], key: string): MenuItem | null;
28
+ }
@@ -0,0 +1,32 @@
1
+ import { Effect, Subscription } from 'dva';
2
+ import { Reducer } from 'redux';
3
+ export interface GlobalModal {
4
+ namespace: 'global';
5
+ state: {
6
+ isLogin: boolean;
7
+ account: any;
8
+ core: any;
9
+ isInstallAPP: boolean;
10
+ app: {
11
+ status: {
12
+ login: boolean;
13
+ storage: boolean;
14
+ network: boolean;
15
+ materials: boolean;
16
+ pisell2: boolean;
17
+ };
18
+ };
19
+ };
20
+ effects: {
21
+ init: Effect;
22
+ };
23
+ reducers: {
24
+ saveGlobalState: Reducer<any>;
25
+ setInit: Reducer<any>;
26
+ };
27
+ subscriptions: {
28
+ _init: Subscription;
29
+ };
30
+ }
31
+ declare const modal: GlobalModal;
32
+ export default modal;
@@ -0,0 +1,45 @@
1
+ import hooks from '../hooks';
2
+ import { Provider as StoreProvider } from "react-redux";
3
+ declare const models: import("./global").GlobalModal[];
4
+ type ModalsType = (typeof models[number]);
5
+ export interface Store {
6
+ getDataByModel: typeof getDataByModel;
7
+ useStore: typeof hooks.useStore;
8
+ useDispatch: typeof hooks.useDispatch;
9
+ setDataByModel: typeof setDataByModel;
10
+ dispatch: any;
11
+ getState: any;
12
+ }
13
+ export type ModelsNames = ModalsType['namespace'];
14
+ export type ModelsState = {
15
+ [K in (ModalsType['namespace'])]: Extract<ModalsType, {
16
+ namespace: K;
17
+ }>['state'];
18
+ };
19
+ /**
20
+ * @title: 从store内获取数据
21
+ * @description:
22
+ * @param {string} model
23
+ * @param {string} key
24
+ * @return {*}
25
+ * @Author: zhiwei.Wang
26
+ * @Date: 2024-09-03 11:07
27
+ */
28
+ declare const getDataByModel: <T extends keyof ModelsState, D extends keyof ModelsState[T]>(model: string, key?: D) => D extends undefined ? ModelsState[T] : ModelsState[T][D];
29
+ /**
30
+ * @title: 设置数据到store
31
+ * @description:
32
+ * @param {string} model
33
+ * @param {string} key
34
+ * @param {string} value
35
+ * @return {*}
36
+ * @Author: zhiwei.Wang
37
+ * @Date: 2024-09-08 15:17
38
+ */
39
+ declare const setDataByModel: <T extends keyof ModelsState, D extends keyof ModelsState[T]>(model: string, key: any, value: any) => void;
40
+ declare const _default: {
41
+ getStore: () => Store;
42
+ StoreProvider: typeof StoreProvider;
43
+ setConfig: (models: any[]) => void;
44
+ };
45
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export interface ModelsConfig {
2
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "@pisell/core-types",
3
+ "version": "1.0.1",
4
+ "description": "TypeScript type definitions for @pisell/core",
5
+ "main": "index.d.ts",
6
+ "types": "index.d.ts",
7
+ "typings": "index.d.ts",
8
+ "peerDependencies": {
9
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
10
+ },
11
+ "files": ["**/*.d.ts"],
12
+ "publishConfig": {
13
+ "access": "public"
14
+ }
15
+ }
File without changes
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 发布订阅模块使用示例
3
+ * 此文件仅用于演示,不会被实际引入项目
4
+ */
5
+ export {};
@@ -0,0 +1,63 @@
1
+ /**
2
+ * 发布订阅模块
3
+ * 用于组件/服务间的事件通信
4
+ */
5
+ type EventCallback = (...args: any[]) => void;
6
+ interface EventSubscription {
7
+ unsubscribe: () => void;
8
+ }
9
+ declare class PubSub {
10
+ private events;
11
+ /**
12
+ * 订阅事件
13
+ * @param event 事件名称
14
+ * @param callback 回调函数
15
+ * @returns 订阅对象,可用于取消订阅
16
+ */
17
+ subscribe(event: string, callback: EventCallback): EventSubscription;
18
+ /**
19
+ * 取消订阅事件
20
+ * @param event 事件名称
21
+ * @param callback 回调函数
22
+ * @returns 是否成功取消订阅
23
+ */
24
+ unsubscribe(event: string, callback: EventCallback): boolean;
25
+ /**
26
+ * 发布事件
27
+ * @param event 事件名称
28
+ * @param args 事件参数
29
+ */
30
+ publish(event: string, ...args: any[]): void;
31
+ /**
32
+ * 移除某个事件的所有订阅
33
+ * @param event 事件名称
34
+ * @returns 是否成功移除
35
+ */
36
+ clearEvent(event: string): boolean;
37
+ /**
38
+ * 移除所有事件订阅
39
+ */
40
+ clearAllEvents(): void;
41
+ /**
42
+ * 获取事件的订阅数量
43
+ * @param event 事件名称
44
+ * @returns 订阅数量
45
+ */
46
+ getSubscriberCount(event: string): number;
47
+ /**
48
+ * 检查事件是否有订阅者
49
+ * @param event 事件名称
50
+ * @returns 是否有订阅者
51
+ */
52
+ hasSubscribers(event: string): boolean;
53
+ /**
54
+ * 一次性订阅事件,事件触发后自动取消订阅
55
+ * @param event 事件名称
56
+ * @param callback 回调函数
57
+ * @returns 订阅对象,可用于取消订阅
58
+ */
59
+ once(event: string, callback: EventCallback): EventSubscription;
60
+ }
61
+ declare const pubsub: PubSub;
62
+ export default pubsub;
63
+ export { PubSub, type EventCallback, type EventSubscription };
@@ -0,0 +1,46 @@
1
+ import { CacheProps } from './type';
2
+ export type CacheType = 'memory' | 'storage' | 'indexDB';
3
+ /**
4
+ * @title: 设置缓存
5
+ * @description:
6
+ * @return {*}
7
+ * @Author: zhiwei.Wang
8
+ */
9
+ export declare const setCache: (key: string, data: any, cache: CacheProps) => Promise<void>;
10
+ /**
11
+ * @title: 删除缓存数据
12
+ * @description:
13
+ * @return {*}
14
+ * @Author: zhiwei.Wang
15
+ */
16
+ export declare const removeCache: (key: string, cache: CacheProps) => void;
17
+ /**
18
+ * @title: 获取数据
19
+ * @description:
20
+ * @param {any} url
21
+ * @param {any} data
22
+ * @return {*}
23
+ * @Author: zhiwei.Wang
24
+ */
25
+ export declare const getCacheData: (url: string, data: any, cache: CacheProps) => Promise<any>;
26
+ /**
27
+ * @title: 设置缓存
28
+ * @description:
29
+ * @param {any} url 路径
30
+ * @param {any} data 参数
31
+ * @param {any} res 数据
32
+ * @return {*}
33
+ * @Author: zhiwei.Wang
34
+ */
35
+ export declare const setCacheData: (url: string, data: any, res: any, cache: CacheProps) => any | null;
36
+ /**
37
+ * @title: 缓存函数包装器
38
+ * @description:
39
+ * @param {any} url
40
+ * @param {any} data
41
+ * @param {any} config
42
+ * @param {any} fn
43
+ * @return {*}
44
+ * @Author: zhiwei.Wang
45
+ */
46
+ export declare const cacheFn: (props: any, fn: any) => Promise<any>;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @Title: 请求列表
3
+ * @Describe:
4
+ * @Author: Wzw
5
+ */
6
+ export declare let requestList: {
7
+ [key: string]: AbortController;
8
+ };
9
+ /**
10
+ * @Title: 创建一个控制器
11
+ * @Describe:
12
+ * @Author: Wzw
13
+ * @param {string} key
14
+ */
15
+ export declare const createController: (key: string) => AbortController;
16
+ /**
17
+ * @Title: 储存请求
18
+ * @Describe:
19
+ * @Author: Wzw
20
+ * @param {AbortController} controller
21
+ * @param {string} key
22
+ */
23
+ export declare const setRequestList: (controller: AbortController, key: string) => void;
24
+ /**
25
+ * @Title: 取消请求
26
+ * @Describe:
27
+ * @Author: Wzw
28
+ * @param {string} key
29
+ */
30
+ export declare const abortRequest: (key: string) => void;
31
+ /**
32
+ * @Title: 创建signal
33
+ * @Describe:
34
+ * @Author: Wzw
35
+ * @param {string} isAbort
36
+ * @param {string} url
37
+ */
38
+ export declare const createSignal: (isAbort: boolean, url: string) => AbortSignal | null;