@cloudbase/framework-plugin-low-code 0.6.32 → 0.6.33

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 (79) hide show
  1. package/lib/builder/config/index.js +2 -5
  2. package/lib/builder/core/copy.d.ts.map +1 -1
  3. package/lib/builder/mp/materials.d.ts.map +1 -1
  4. package/lib/builder/mp/materials.js +21 -5
  5. package/package.json +5 -3
  6. package/template/dist/mp/miniprogram_npm/miniprogram-render/bom/cookie.js +0 -286
  7. package/template/dist/mp/miniprogram_npm/miniprogram-render/bom/history.js +0 -133
  8. package/template/dist/mp/miniprogram_npm/miniprogram-render/bom/local-storage.js +0 -103
  9. package/template/dist/mp/miniprogram_npm/miniprogram-render/bom/location.js +0 -588
  10. package/template/dist/mp/miniprogram_npm/miniprogram-render/bom/miniprogram.js +0 -101
  11. package/template/dist/mp/miniprogram_npm/miniprogram-render/bom/navigator.js +0 -80
  12. package/template/dist/mp/miniprogram_npm/miniprogram-render/bom/performance.js +0 -28
  13. package/template/dist/mp/miniprogram_npm/miniprogram-render/bom/screen.js +0 -31
  14. package/template/dist/mp/miniprogram_npm/miniprogram-render/bom/session-storage.js +0 -96
  15. package/template/dist/mp/miniprogram_npm/miniprogram-render/bom/xml-http-request.js +0 -290
  16. package/template/dist/mp/miniprogram_npm/miniprogram-render/document.js +0 -396
  17. package/template/dist/mp/miniprogram_npm/miniprogram-render/event/custom-event.js +0 -12
  18. package/template/dist/mp/miniprogram_npm/miniprogram-render/event/event-target.js +0 -389
  19. package/template/dist/mp/miniprogram_npm/miniprogram-render/event/event.js +0 -186
  20. package/template/dist/mp/miniprogram_npm/miniprogram-render/index.js +0 -41
  21. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/attribute.js +0 -226
  22. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/class-list.js +0 -153
  23. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/comment.js +0 -80
  24. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/a.js +0 -165
  25. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/canvas.js +0 -138
  26. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/image.js +0 -177
  27. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/input.js +0 -181
  28. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/not-support.js +0 -60
  29. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/option.js +0 -126
  30. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/select.js +0 -155
  31. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/textarea.js +0 -178
  32. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/video.js +0 -165
  33. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/wx-component.js +0 -84
  34. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element/wx-custom-component.js +0 -64
  35. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/element.js +0 -970
  36. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/node.js +0 -140
  37. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/style-list.js +0 -28
  38. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/style.js +0 -158
  39. package/template/dist/mp/miniprogram_npm/miniprogram-render/node/text-node.js +0 -127
  40. package/template/dist/mp/miniprogram_npm/miniprogram-render/tree/parser.js +0 -269
  41. package/template/dist/mp/miniprogram_npm/miniprogram-render/tree/query-selector.js +0 -420
  42. package/template/dist/mp/miniprogram_npm/miniprogram-render/tree/tree.js +0 -130
  43. package/template/dist/mp/miniprogram_npm/miniprogram-render/util/cache.js +0 -95
  44. package/template/dist/mp/miniprogram_npm/miniprogram-render/util/pool.js +0 -24
  45. package/template/dist/mp/miniprogram_npm/miniprogram-render/util/tool.js +0 -131
  46. package/template/dist/mp/miniprogram_npm/miniprogram-render/window.js +0 -651
  47. package/template/generator/app/common.js +0 -17
  48. package/template/generator/app/global-api.js +0 -163
  49. package/template/generator/app/handlers.js +0 -13
  50. package/template/generator/datasources/config.js.tpl +0 -21
  51. package/template/generator/datasources/dataset-profiles.js.tpl +0 -5
  52. package/template/generator/datasources/datasource-profiles.js.tpl +0 -4
  53. package/template/generator/datasources/index.js.tpl +0 -14
  54. package/template/generator/handlers/NodeRenderer.jsx +0 -471
  55. package/template/generator/handlers/RenderWrapper.jsx +0 -145
  56. package/template/generator/index.jsx +0 -116
  57. package/template/generator/index.less +0 -120
  58. package/template/generator/pages/app.tpl +0 -181
  59. package/template/generator/pages/composite.tpl +0 -267
  60. package/template/generator/router/index.tpl +0 -49
  61. package/template/generator/store/computed.js +0 -11
  62. package/template/generator/store/index.js +0 -5
  63. package/template/generator/utils/ScanCodeComponent.js +0 -345
  64. package/template/generator/utils/actionHandler.js +0 -119
  65. package/template/generator/utils/common.js +0 -225
  66. package/template/generator/utils/computed.js +0 -9
  67. package/template/generator/utils/date.js +0 -324
  68. package/template/generator/utils/error.jsx +0 -14
  69. package/template/generator/utils/eventProxy.js +0 -64
  70. package/template/generator/utils/history.js +0 -35
  71. package/template/generator/utils/hooks.js +0 -10
  72. package/template/generator/utils/index.js +0 -41
  73. package/template/generator/utils/initGlobalVar.js +0 -14
  74. package/template/generator/utils/lifecycle.js +0 -158
  75. package/template/generator/utils/monitor-jssdk.min.js +0 -881
  76. package/template/generator/utils/page.js +0 -10
  77. package/template/generator/utils/scan-code-action.js +0 -27
  78. package/template/generator/utils/style.js +0 -81
  79. package/template/generator/utils/widgets.js +0 -343
@@ -1,119 +0,0 @@
1
- import { resolveDataBinds } from './common';
2
- import lodashSet from 'lodash.set';
3
-
4
- const DEFAULT_MAX_TIMEOUT = 10 * 1000;
5
-
6
- export function getMetaInfoBySourceKey(sourceKey) {
7
- const [materialName, name] = sourceKey.split(':');
8
- return {
9
- materialName,
10
- name,
11
- };
12
- }
13
-
14
- export function emitEvent(trigger, listeners = [], args, scopeContext = {}) {
15
- const targetListeners = listeners.filter((l) => l.trigger === trigger);
16
- targetListeners.forEach(async (listener) => {
17
- // 当前非捕获Event,再判断冒泡行为
18
- if (!args?.event?.detail?.isCapturePhase && listener.noPropagation) {
19
- args?.domEvent?.stopPropagation && args?.domEvent?.stopPropagation();
20
- }
21
-
22
- // 判断捕获的执行,只有执行的捕获与配置的捕获一致时。才会执行。
23
- if (
24
- (listener?.isCapturePhase || false) ===
25
- (args?.customEventData?.detail?.isCapturePhase || false)
26
- ) {
27
- try {
28
- const res = await invokeListener(listener, args, scopeContext);
29
- const eventName = `${listener.key}.success`;
30
- const event = {
31
- detail: {
32
- value: res,
33
- origin: args.event,
34
- isCapturePhase: !!args.event?.isCapturePhase,
35
- },
36
- name: eventName,
37
- };
38
- emitEvent(
39
- eventName,
40
- listeners,
41
- {
42
- ...args,
43
- event,
44
- customEventData: event,
45
- },
46
- scopeContext
47
- );
48
- } catch (e) {
49
- const eventName = `${listener.key}.fail`;
50
- const event = {
51
- detail: {
52
- value: e,
53
- origin: args.event,
54
- isCapturePhase: !!args.event?.isCapturePhase,
55
- },
56
- name: eventName,
57
- };
58
- emitEvent(
59
- eventName,
60
- listeners,
61
- {
62
- ...args,
63
- event,
64
- customEventData: event,
65
- },
66
- scopeContext
67
- );
68
- // 之前 invoke 内部catch 了错误,不会抛错
69
- // throw e
70
- console.error(`Action error: [${listener.trigger}]`, e);
71
- }
72
- }
73
- });
74
- }
75
-
76
- function invokeListener(
77
- { instanceFunction, data = {}, dataBinds = {} },
78
- args,
79
- scopeContext
80
- ) {
81
- // ToDo resolve databinds
82
- const action = instanceFunction;
83
- const resolvedData = {
84
- ...data,
85
- };
86
- const resolvedDataBinds = resolveDataBinds(
87
- dataBinds,
88
- args.forItems,
89
- { event: args.event },
90
- scopeContext,
91
- true
92
- );
93
-
94
- // eslint-disable-next-line no-restricted-syntax
95
- for (const key in resolvedDataBinds) {
96
- if (
97
- resolvedDataBinds[key] &&
98
- resolvedDataBinds[key].__type === 'scopedValue'
99
- ) {
100
- try {
101
- lodashSet(
102
- resolvedData,
103
- key,
104
- resolvedDataBinds[key].getValue(scopeContext)
105
- );
106
- } catch (e) {
107
- lodashSet(resolvedData, key, '');
108
- }
109
- } else {
110
- lodashSet(resolvedData, key, resolvedDataBinds[key]);
111
- }
112
- }
113
- const params = {
114
- data: resolvedData,
115
- ...args,
116
- };
117
-
118
- return action(params);
119
- }
@@ -1,225 +0,0 @@
1
- /**
2
- * All data bindings are generated as functions: (forItems) => any
3
- * @param {*} dataBinds
4
- * @param {*} forItems
5
- */
6
- export function resolveDataBinds(
7
- dataBinds,
8
- forItems,
9
- codeContext,
10
- scopeContext,
11
- throwError
12
- ) {
13
- const resolvedProps = {};
14
- for (const prop in dataBinds) {
15
- let fn = dataBinds[prop];
16
- try {
17
- if (codeContext && codeContext.$WEAPPS_COMP) {
18
- fn = fn.bind(codeContext.$WEAPPS_COMP);
19
- }
20
- resolvedProps[prop] = fn(
21
- forItems,
22
- codeContext && codeContext.event,
23
- scopeContext
24
- );
25
- } catch (e) {
26
- console.error('Error resolving data binding', prop, dataBinds[prop], e);
27
- if (throwError) {
28
- throw e;
29
- }
30
- }
31
- }
32
- return resolvedProps;
33
- }
34
-
35
- /**
36
- * 对函数进行批量绑定
37
- * @param {*} funcObj
38
- * @param {*} context
39
- */
40
- export function bindFuncObj(funcObj = {}, context) {
41
- return Object.keys(funcObj).reduce((obj, fnName) => {
42
- obj[fnName] = funcObj[fnName].bind(context);
43
- return obj;
44
- }, {});
45
- }
46
-
47
- export function kebabCase(str) {
48
- return str.replace(KEBAB_REGEX, function (match) {
49
- return '-' + match.toLowerCase();
50
- });
51
- }
52
-
53
- export function camelcase(str, firstUpperCase = false) {
54
- str = str.replace(/[_-]([a-z])/g, function (l) {
55
- return l[1].toUpperCase();
56
- });
57
-
58
- if (firstUpperCase) str = str.charAt(0).toUpperCase() + str.slice(1);
59
-
60
- return str;
61
- }
62
-
63
- export const isEmptyObj = (obj) => {
64
- if (!isPlainObject(obj)) {
65
- return false;
66
- }
67
- for (const i in obj) {
68
- if (Object.prototype.hasOwnProperty.call(obj, i)) {
69
- return false;
70
- }
71
- }
72
- return true;
73
- };
74
-
75
- export function isPlainObject(src) {
76
- return Object.prototype.toString.call(src) === '[object Object]';
77
- }
78
-
79
- /**
80
- * 用于处理自定义组件props传参结构,对系统变量进行保留
81
- */
82
- export function resolveComponentProps(props, isPlainProps) {
83
- const { staticResourceAttribute } = props;
84
- staticResourceAttribute &&
85
- staticResourceAttribute.map((property) => {
86
- if (props.data && props.data[property]) {
87
- props.data[property] = getStaticResourceAttribute(props.data[property]);
88
- }
89
- });
90
- if (!isPlainProps) {
91
- return {
92
- ...props,
93
- };
94
- }
95
- const { data = {}, events = [], ...restProps } = props;
96
- const customProps = { ...data };
97
- const builtinProps = [
98
- // react 保留字
99
- 'ref',
100
- 'key',
101
- 'dangerouslySetInnerHTML',
102
- 'className',
103
- 'htmlFor',
104
- 'style',
105
- 'contentEditable',
106
- // lowcode 保留字
107
- 'events',
108
- 'children',
109
- '_parentId',
110
- '_visible',
111
- 'classList',
112
- 'widgetType',
113
- 'getWidgetsByType',
114
- 'getDom',
115
- 'domRef',
116
- 'extends',
117
- // 小程序保留字
118
- 'id',
119
- 'class',
120
- 'hidden',
121
- 'slot',
122
- ];
123
- // delete builtin props
124
- builtinProps.map((prop) => delete customProps[prop]);
125
- // 选区events处理
126
- const { _selectableBlockEvents, ...restData } = data;
127
- const { emit: _selectableBlockEmit } = _selectableBlockEvents;
128
- _selectableBlockEvents.events = new Proxy(
129
- _selectableBlockEvents.events.reduce((events, item) => {
130
- const propName = item;
131
- events[propName] = (e) => _selectableBlockEmit(propName, e);
132
- return events;
133
- }, {}),
134
- {
135
- get(obj, prop) {
136
- return prop in obj ? obj[prop] : (e) => _selectableBlockEmit(prop, e);
137
- },
138
- }
139
- );
140
- return {
141
- ...restData,
142
- ...restProps,
143
- _selectableBlockEvents,
144
- events: new Proxy(
145
- events.reduce((events, item) => {
146
- const propName = item;
147
- events[propName] = (e) => restProps.emit(propName, e);
148
- return events;
149
- }, {}),
150
- {
151
- get(obj, prop) {
152
- return prop in obj ? obj[prop] : (e) => restProps.emit(prop, e);
153
- },
154
- }
155
- ),
156
- };
157
- }
158
-
159
- const SCOPE_SLOT_COMPONENT_LIB = ['tea_basis', 'tea_shop', 'crm_basis'];
160
-
161
- const SCOPE_SLOT_MAP = SCOPE_SLOT_COMPONENT_LIB.reduce((map, lib) => {
162
- map[`${lib}:TableMatching`] = {
163
- headerSlot: true,
164
- recordSlot: true,
165
- };
166
-
167
- map[`${lib}:TableExpanded`] = {
168
- headerSlot: true,
169
- recordSlot: true,
170
- };
171
-
172
- map[`${lib}:TabsTable`] = {
173
- headerSlot: true,
174
- recordSlot: true,
175
- };
176
-
177
- map[`${lib}:Table`] = {
178
- headerSlot: true,
179
- recordSlot: true,
180
- };
181
-
182
- return map;
183
- }, {});
184
-
185
- export function isScopeSlot(comp, slot) {
186
- const { 'x-props': xProps } = comp;
187
- const sourceKey = xProps && xProps.sourceKey;
188
- const map = SCOPE_SLOT_MAP[sourceKey];
189
- return map && map[slot];
190
- }
191
-
192
- export function getStaticResourceAttribute(staticUrl) {
193
- if (/^\//.test(staticUrl)) {
194
- const { domain = '' } = window.app || {};
195
- const url = `https://${domain}${staticUrl}`;
196
- return url;
197
- }
198
- return staticUrl;
199
- }
200
- /**
201
- * 检查页面权限
202
- **/
203
- export async function checkAuth(app, appId, pageId) {
204
- app.showNavigationBarLoading();
205
- const checkAuthResult = await app.cloud.callWedaApi({
206
- action: 'DescribeResourcesPermission',
207
- data: {
208
- ResourceType: `<%= isAdminPortal? 'modelApp' : 'app'%>`,
209
- ResourceIdList: [`${appId}-${pageId}`],
210
- },
211
- });
212
- let isLogin = false;
213
- if (Array.isArray(checkAuthResult) && checkAuthResult.length > 0) {
214
- isLogin = checkAuthResult[0]?.IsAccess ?? false;
215
- }
216
- app.hideNavigationBarLoading();
217
-
218
- if (!isLogin) {
219
- app.showToast({
220
- title: '页面无访问权限',
221
- icon: 'error',
222
- });
223
- }
224
- return isLogin;
225
- }
@@ -1,9 +0,0 @@
1
- export function createComputed(funcs, bindContext = null) {
2
- const obj = {}
3
- for (const name in funcs) {
4
- Object.defineProperty(obj, name, {
5
- get: bindContext ? funcs[name].bind(bindContext) : funcs[name],
6
- })
7
- }
8
- return obj
9
- }
@@ -1,324 +0,0 @@
1
- // 日期转换
2
- class CustomDate {
3
- constructor() {
4
- this.i18n = {
5
- dayNames: [
6
- 'Sun',
7
- 'Mon',
8
- 'Tue',
9
- 'Wed',
10
- 'Thu',
11
- 'Fri',
12
- 'Sat',
13
- 'Sunday',
14
- 'Monday',
15
- 'Tuesday',
16
- 'Wednesday',
17
- 'Thursday',
18
- 'Friday',
19
- 'Saturday',
20
- ],
21
- monthNames: [
22
- 'Jan',
23
- 'Feb',
24
- 'Mar',
25
- 'Apr',
26
- 'May',
27
- 'Jun',
28
- 'Jul',
29
- 'Aug',
30
- 'Sep',
31
- 'Oct',
32
- 'Nov',
33
- 'Dec',
34
- 'January',
35
- 'February',
36
- 'March',
37
- 'April',
38
- 'May',
39
- 'June',
40
- 'July',
41
- 'August',
42
- 'September',
43
- 'October',
44
- 'November',
45
- 'December',
46
- ],
47
- timeNames: ['a', 'p', 'am', 'pm', 'A', 'P', 'AM', 'PM'],
48
- };
49
- this.masks = {
50
- default: 'ddd mmm dd yyyy HH:MM:ss',
51
- shortDate: 'm/d/yy',
52
- paddedShortDate: 'mm/dd/yyyy',
53
- mediumDate: 'mmm d, yyyy',
54
- longDate: 'mmmm d, yyyy',
55
- fullDate: 'dddd, mmmm d, yyyy',
56
- shortTime: 'h:MM TT',
57
- mediumTime: 'h:MM:ss TT',
58
- longTime: 'h:MM:ss TT Z',
59
- isoDate: 'yyyy-mm-dd',
60
- isoTime: 'HH:MM:ss',
61
- isoDateTime: "yyyy-mm-dd'T'HH:MM:sso",
62
- isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",
63
- expiresHeaderFormat: 'ddd, dd mmm yyyy HH:MM:ss Z',
64
- };
65
- this.token = /d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g;
66
- this.timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g;
67
- this.timezoneClip = /[^-+\dA-Z]/g;
68
- }
69
-
70
- /*
71
- *
72
- | Name | Mask | Example |
73
- | ----------------- | ------------------------------ | ------------------------ |
74
- | `default` | `ddd mmm dd yyyy HH:MM:ss` | Sat Jun 09 2007 17:46:21 |
75
- | `shortDate` | `m/d/yy` | 6/9/07 |
76
- | `paddedShortDate` | `mm/dd/yyyy` | 06/09/2007 |
77
- | `mediumDate` | `mmm d, yyyy` | Jun 9, 2007 |
78
- | `longDate` | `mmmm d, yyyy` | June 9, 2007 |
79
- | `fullDate` | `dddd, mmmm d, yyyy` | Saturday, June 9, 2007 |
80
- | `shortTime` | `h:MM TT` | 5:46 PM |
81
- | `mediumTime` | `h:MM:ss TT` | 5:46:21 PM |
82
- | `longTime` | `h:MM:ss TT Z` | 5:46:21 PM EST |
83
- | `isoDate` | `yyyy-mm-dd` | 2007-06-09 |
84
- | `isoTime` | `HH:MM:ss` | 17:46:21 |
85
- | `isoDateTime` | `yyyy-mm-dd'T'HH:MM:sso` | 2007-06-09T17:46:21+0700 |
86
- | `isoUtcDateTime` | `UTC:yyyy-mm-dd'T'HH:MM:ss'Z'` | 2007-06-09T22:46:21Z |
87
- *
88
- */
89
- format(date, mask, utc, gmt) {
90
- let newMask = mask;
91
- let newDate = date;
92
- let newUtc = utc;
93
- let newGmt = gmt;
94
- if (
95
- arguments.length === 1 &&
96
- this._kindOf(newDate) === 'string' &&
97
- !/\d/.test(newDate)
98
- ) {
99
- newDate = undefined;
100
- }
101
- newDate = newDate || newDate === 0 ? newDate : new Date();
102
- if (!(newDate instanceof Date)) newDate = new Date(newDate);
103
- if (isNaN(newDate)) throw TypeError('Invalid date');
104
- newMask = String(this.masks[newMask] || newMask || this.masks['default']);
105
- const maskSlice = newMask.slice(0, 4);
106
- if (maskSlice === 'UTC:' || maskSlice === 'GMT:') {
107
- newMask = newMask.slice(4);
108
- newUtc = true;
109
- if (maskSlice === 'GMT:') newGmt = true;
110
- }
111
- const _ = newUtc ? 'getUTC' : 'get';
112
- const _d = newDate[`${_}Date`]();
113
- const D = newDate[`${_}Day`]();
114
- const _m = newDate[`${_}Month`]();
115
- const y = newDate[`${_}FullYear`]();
116
- const _H = newDate[`${_}Hours`]();
117
- const _M = newDate[`${_}Minutes`]();
118
- const _s = newDate[`${_}Seconds`]();
119
- const _L = newDate[`${_}Milliseconds`]();
120
- const _o = newUtc ? 0 : newDate.getTimezoneOffset();
121
- const _W = this._getWeek(newDate);
122
- const _N = this._getDayOfWeek(newDate);
123
- // eslint-disable-next-line @typescript-eslint/no-this-alias
124
- const self = this;
125
- // @ts-ignore
126
- // @ts-ignore
127
- const flags = {
128
- d: () => _d,
129
- dd: () => self._pad(_d),
130
- ddd: () => self.i18n.dayNames[D],
131
- DDD: () =>
132
- self._getDayName({
133
- y,
134
- m: _m,
135
- d: _d,
136
- _,
137
- dayName: self.i18n.dayNames[D],
138
- short: true,
139
- }),
140
- dddd: () => self.i18n.dayNames[D + 7],
141
- DDDD: () =>
142
- self._getDayName({
143
- y: y,
144
- m: _m,
145
- d: _d,
146
- _: _,
147
- dayName: self.i18n.dayNames[D + 7],
148
- }),
149
- m: () => _m + 1,
150
- mm: () => self._pad(_m + 1),
151
- mmm: () => self.i18n.monthNames[_m],
152
- mmmm: () => self.i18n.monthNames[_m + 12],
153
- yy: () => String(y).slice(2),
154
- yyyy: () => self._pad(y, 4),
155
- h: () => _H % 12 || 12,
156
- hh: () => self._pad(_H % 12 || 12),
157
- H: () => _H,
158
- HH: () => self._pad(_H),
159
- M: () => _M,
160
- MM: () => self._pad(_M),
161
- s: () => _s,
162
- ss: () => self._pad(_s),
163
- l: () => self._pad(_L, 3),
164
- L: () => self._pad(Math.floor(_L / 10)),
165
- t: () => (_H < 12 ? self.i18n.timeNames[0] : self.i18n.timeNames[1]),
166
- tt: () => (_H < 12 ? self.i18n.timeNames[2] : self.i18n.timeNames[3]),
167
- T: () => (_H < 12 ? self.i18n.timeNames[4] : self.i18n.timeNames[5]),
168
- TT: () => (_H < 12 ? self.i18n.timeNames[6] : self.i18n.timeNames[7]),
169
- // eslint-disable-next-line no-nested-ternary
170
- Z: () =>
171
- newGmt
172
- ? 'GMT'
173
- : newUtc
174
- ? 'UTC'
175
- : (String(newDate).match(self.timezone) || [''])
176
- .pop()
177
- .replace(self.timezoneClip, '')
178
- .replace(/GMT\+0000/g, 'UTC'),
179
- o: () =>
180
- (_o > 0 ? '-' : '+') +
181
- self._pad(Math.floor(Math.abs(_o) / 60) * 100 + (Math.abs(_o) % 60), 4),
182
- p: () =>
183
- `${
184
- (_o > 0 ? '-' : '+') + self._pad(Math.floor(Math.abs(_o) / 60), 2)
185
- }:${self._pad(Math.floor(Math.abs(_o) % 60), 2)}`,
186
- // @ts-ignore
187
- S: () =>
188
- ['th', 'st', 'nd', 'rd'][
189
- _d % 10 > 3 ? 0 : (((_d % 100) - (_d % 10) != 10) * _d) % 10
190
- ],
191
- W: () => _W,
192
- WW: () => self._pad(_W),
193
- N: () => _N,
194
- };
195
- return mask.replace(this.token, (match) => {
196
- if (match in flags) {
197
- return flags[match]();
198
- }
199
- return match.slice(1, match.length - 1);
200
- });
201
- }
202
-
203
- _pad(val, len) {
204
- let newVal = String(val);
205
- const newLen = len || 2;
206
- while (newVal.length < newLen) {
207
- newVal = `0${newVal}`;
208
- }
209
- return newVal;
210
- }
211
-
212
- _getDayName(_ref) {
213
- const { y, m, d, _, dayName } = _ref;
214
- const _ref$short = _ref['short'];
215
- const _short = _ref$short === void 0 ? false : _ref$short;
216
- const today = new Date();
217
- const yesterday = new Date();
218
- yesterday.setDate(yesterday[`${_}Date`]() - 1);
219
- const tomorrow = new Date();
220
- tomorrow.setDate(tomorrow[`${_}Date`]() + 1);
221
- const today_d = function today_d() {
222
- return today[`${_}Date`]();
223
- };
224
- const today_m = function today_m() {
225
- return today[`${_}Month`]();
226
- };
227
- const today_y = function today_y() {
228
- return today[`${_}FullYear`]();
229
- };
230
- const yesterday_d = function yesterday_d() {
231
- return yesterday[`${_}Date`]();
232
- };
233
- const yesterday_m = function yesterday_m() {
234
- return yesterday[`${_}Month`]();
235
- };
236
- const yesterday_y = function yesterday_y() {
237
- return yesterday[`${_}FullYear`]();
238
- };
239
- const tomorrow_d = function tomorrow_d() {
240
- return tomorrow[`${_}Date`]();
241
- };
242
- const tomorrow_m = function tomorrow_m() {
243
- return tomorrow[`${_}Month`]();
244
- };
245
- const tomorrow_y = function tomorrow_y() {
246
- return tomorrow[`${_}FullYear`]();
247
- };
248
- if (today_y() === y && today_m() === m && today_d() === d) {
249
- return _short ? 'Tdy' : 'Today';
250
- }
251
- if (yesterday_y() === y && yesterday_m() === m && yesterday_d() === d) {
252
- return _short ? 'Ysd' : 'Yesterday';
253
- }
254
- if (tomorrow_y() === y && tomorrow_m() === m && tomorrow_d() === d) {
255
- return _short ? 'Tmw' : 'Tomorrow';
256
- }
257
- return dayName;
258
- }
259
-
260
- _getWeek(date) {
261
- const targetThursday = new Date(
262
- date.getFullYear(),
263
- date.getMonth(),
264
- date.getDate()
265
- );
266
- targetThursday.setDate(
267
- targetThursday.getDate() - ((targetThursday.getDay() + 6) % 7) + 3
268
- );
269
- const firstThursday = new Date(targetThursday.getFullYear(), 0, 4);
270
- firstThursday.setDate(
271
- firstThursday.getDate() - ((firstThursday.getDay() + 6) % 7) + 3
272
- );
273
- const ds =
274
- targetThursday.getTimezoneOffset() - firstThursday.getTimezoneOffset();
275
- targetThursday.setHours(targetThursday.getHours() - ds);
276
- const weekDiff = (targetThursday - firstThursday) / (864e5 * 7);
277
- return 1 + Math.floor(weekDiff);
278
- }
279
-
280
- _getDayOfWeek(date) {
281
- let dow = date.getDay();
282
- if (dow === 0) {
283
- dow = 7;
284
- }
285
- return dow;
286
- }
287
-
288
- _kindOf(val) {
289
- if (val === null) {
290
- return 'null';
291
- }
292
- if (val === undefined) {
293
- return 'undefined';
294
- }
295
- if (this._typeof(val) !== 'object') {
296
- return this._typeof(val);
297
- }
298
- if (Array.isArray(val)) {
299
- return 'array';
300
- }
301
- return {}.toString.call(val).slice(8, -1).toLowerCase();
302
- }
303
-
304
- _typeof(obj) {
305
- if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {
306
- this._typeof = function _typeof(obj) {
307
- return typeof obj;
308
- };
309
- } else {
310
- this._typeof = function _typeof(obj) {
311
- return obj &&
312
- typeof Symbol === 'function' &&
313
- obj.constructor === Symbol &&
314
- obj !== Symbol.prototype
315
- ? 'symbol'
316
- : typeof obj;
317
- };
318
- }
319
- return this._typeof(obj);
320
- }
321
- }
322
-
323
- const dataInstance = new CustomDate();
324
- export const formatDate = new CustomDate().format.bind(dataInstance);
@@ -1,14 +0,0 @@
1
- import React from 'react'
2
-
3
- export function createErrorFallback(cmpKey, id) {
4
- return function ComponentErrorFallback(props) {
5
- return (
6
- <div
7
- style={{ color: 'red', display: 'flex', alignItems: 'center' }}
8
- title={`组件${cmpKey} ${id}发生了错误,错误信息:${props.error}`}
9
- >
10
- {cmpKey}组件错误
11
- </div>
12
- )
13
- }
14
- }