annil 1.2.0-beta.0 → 1.2.0-beta.3
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/CHANGELOG.md +14 -0
- package/dist/api/DefineComponent/collectOptionsForComponent.js +9 -2
- package/dist/api/DefineComponent/collectOptionsForComponent.js.map +1 -1
- package/dist/utils/deepClone.js.map +1 -1
- package/package.json +1 -1
- package/src/api/DefineComponent/collectOptionsForComponent.ts +26 -27
- package/src/utils/deepClone.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
* 解决DetailedType不接收接口类型的错误 ([ae8acbf](https://github.com/missannil/annil/commit/ae8acbfc2e62f99db565c448ad9253aa549e78bb))
|
|
6
6
|
|
|
7
|
+
## [1.2.0-beta.3](https://github.com/missannil/annil/compare/v1.2.0-beta.1...v1.2.0-beta.3) (2023-12-07)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Miscellaneous Chores
|
|
11
|
+
|
|
12
|
+
* test beta ([a87e793](https://github.com/missannil/annil/commit/a87e793601986aca1544506f2bf659420879e741))
|
|
13
|
+
|
|
14
|
+
## [1.2.0-beta.1](https://github.com/missannil/annil/compare/v1.2.0-beta.0...v1.2.0-beta.1) (2023-12-07)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* 组件/页面接受load和onLoad是参数解析的问题 ([d4b13f9](https://github.com/missannil/annil/commit/d4b13f95679dd5ea81f872991403fe4bb3cfd448))
|
|
20
|
+
|
|
7
21
|
## [1.2.0-beta.0](https://github.com/missannil/annil/compare/v1.1.2...v1.2.0-beta.0) (2023-12-07)
|
|
8
22
|
|
|
9
23
|
|
|
@@ -5,6 +5,13 @@ import { BStore } from "../../behaviors/BStore";
|
|
|
5
5
|
import { INNERMARKER } from "../../utils/InnerMarker";
|
|
6
6
|
import { isEmptyObject } from "../../utils/isEmptyObject";
|
|
7
7
|
function onLoadReceivedDataHandle(option) {
|
|
8
|
+
const innerData = option[INNERMARKER.url];
|
|
9
|
+
if (innerData !== INNERMARKER.url)
|
|
10
|
+
return;
|
|
11
|
+
delete option[INNERMARKER.url];
|
|
12
|
+
this.setData(option);
|
|
13
|
+
}
|
|
14
|
+
function loadReceivedDataHandle(option) {
|
|
8
15
|
const innerData = option[INNERMARKER.url];
|
|
9
16
|
if (innerData === undefined)
|
|
10
17
|
return;
|
|
@@ -12,7 +19,7 @@ function onLoadReceivedDataHandle(option) {
|
|
|
12
19
|
for (const key in decodeOption) {
|
|
13
20
|
option[key] = decodeOption[key];
|
|
14
21
|
}
|
|
15
|
-
|
|
22
|
+
option[INNERMARKER.url] = INNERMARKER.url;
|
|
16
23
|
}
|
|
17
24
|
function hijack(config, field, before = [], after = []) {
|
|
18
25
|
const originalFunc = config[field];
|
|
@@ -138,7 +145,7 @@ export function collectOptionsForComponent(rootComponentOption, subComponentsLis
|
|
|
138
145
|
((_a = finalOptionsForComponent.methods) === null || _a === void 0 ? void 0 : _a.onLoad)
|
|
139
146
|
&& hijack(finalOptionsForComponent.methods, "onLoad", [onLoadReceivedDataHandle, initComputed], []);
|
|
140
147
|
((_b = finalOptionsForComponent.pageLifetimes) === null || _b === void 0 ? void 0 : _b.load)
|
|
141
|
-
&& hijack(finalOptionsForComponent.pageLifetimes, "load", [
|
|
148
|
+
&& hijack(finalOptionsForComponent.pageLifetimes, "load", [loadReceivedDataHandle], []);
|
|
142
149
|
if (finalOptionsForComponent.isPage) {
|
|
143
150
|
Reflect.deleteProperty(finalOptionsForComponent.options, "virtualHost");
|
|
144
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectOptionsForComponent.js","sourceRoot":"","sources":["../../../src/api/DefineComponent/collectOptionsForComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"collectOptionsForComponent.js","sourceRoot":"","sources":["../../../src/api/DefineComponent/collectOptionsForComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../src/utils/deepClone.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CAAI,KAAQ;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAEpD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../src/utils/deepClone.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CAAI,KAAQ;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC;IAEpD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAG3D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -17,8 +17,11 @@ import type { PageInstance } from "../RootComponent/Instance/RootComponentInstan
|
|
|
17
17
|
import type { SubComponentTrueOptions } from "../SubComponent";
|
|
18
18
|
import type { FinalOptionsOfComponent, FuncOptions } from ".";
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
20
|
+
* 原生Component会对传入的对象字段匹配的properties字段setData赋值。不符合字段或Page时不会赋值。
|
|
21
|
+
* 此函数为给实例setData赋值,默认传递值与properties相符(ts类型安全)。
|
|
22
|
+
* @param option - 传入onLoad的参数 有以下两种可能
|
|
23
|
+
* 1. 使用wx.navigateTo传值的。这种情况无内置字段 option[INNERMARKER.url] 等于 undefined
|
|
24
|
+
* 2. 使用插件提供的navigateTo传值。这种情况 INNERMARKER.url被load周期劫持函数解码后赋值INNERMARKER.url字段为本身,即option[INNERMARKER.url] 等于 INNERMARKER.url
|
|
22
25
|
*/
|
|
23
26
|
/* istanbul ignore next: miniprogram-simulate(当前版本 1.6.1) 无法测试页面 */
|
|
24
27
|
function onLoadReceivedDataHandle(
|
|
@@ -26,39 +29,35 @@ function onLoadReceivedDataHandle(
|
|
|
26
29
|
option: Record<typeof INNERMARKER.url, string>,
|
|
27
30
|
) {
|
|
28
31
|
const innerData: string | undefined = option[INNERMARKER.url];
|
|
29
|
-
// 未使用navigateTo API
|
|
30
|
-
if (innerData === undefined) return;
|
|
31
|
-
const decodeOption = JSON.parse(decodeURIComponent(innerData));
|
|
32
32
|
|
|
33
|
-
//
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
33
|
+
// 情况1为undefined,2为INNERMARKER.url所以innerData !== INNERMARKER.url表示没有通过插件提供的API传值
|
|
34
|
+
if (innerData !== INNERMARKER.url) return;
|
|
35
|
+
|
|
37
36
|
delete option[INNERMARKER.url];
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
// this.setData(option);
|
|
38
|
+
this.setData(option);
|
|
41
39
|
}
|
|
42
40
|
/**
|
|
43
41
|
* 针对通过 navigateTo传过来的数据对组件load周期传入数据解析
|
|
44
42
|
* @param option - option中的url是拼接了encodeURIComponent转码的data对象的,key为INNERMARKER.url
|
|
45
43
|
*/
|
|
46
44
|
/* istanbul ignore next: miniprogram-simulate(当前版本 1.6.1) 无法测试页面 */
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
//
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
//
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
//
|
|
61
|
-
|
|
45
|
+
function loadReceivedDataHandle(
|
|
46
|
+
this: PageInstance,
|
|
47
|
+
option: Record<typeof INNERMARKER.url, string>,
|
|
48
|
+
) {
|
|
49
|
+
const innerData: string | undefined = option[INNERMARKER.url];
|
|
50
|
+
// 未使用自定义的navigateTo
|
|
51
|
+
if (innerData === undefined) return;
|
|
52
|
+
const decodeOption = JSON.parse(decodeURIComponent(innerData));
|
|
53
|
+
|
|
54
|
+
// 使用navigateTo API
|
|
55
|
+
for (const key in decodeOption) {
|
|
56
|
+
option[key] = decodeOption[key];
|
|
57
|
+
}
|
|
58
|
+
// 给onLoad劫持函数一个标记,判断传值来自哪个API
|
|
59
|
+
option[INNERMARKER.url] = INNERMARKER.url;
|
|
60
|
+
}
|
|
62
61
|
/**
|
|
63
62
|
* 劫持指定配置字段
|
|
64
63
|
*/
|
|
@@ -386,7 +385,7 @@ export function collectOptionsForComponent(
|
|
|
386
385
|
|
|
387
386
|
/* istanbul ignore next: miniprogram-simulate(当前版本 1.6.1) 无法测试页面 */
|
|
388
387
|
finalOptionsForComponent.pageLifetimes?.load
|
|
389
|
-
&& hijack(finalOptionsForComponent.pageLifetimes, "load", [
|
|
388
|
+
&& hijack(finalOptionsForComponent.pageLifetimes, "load", [loadReceivedDataHandle], []);
|
|
390
389
|
|
|
391
390
|
/* istanbul ignore next: miniprogram-simulate(当前版本 1.6.1) 无法测试页面 */
|
|
392
391
|
if (finalOptionsForComponent.isPage) {
|
package/src/utils/deepClone.ts
CHANGED
|
@@ -10,6 +10,7 @@ export function deepClone<T>(value: T): T {
|
|
|
10
10
|
|
|
11
11
|
Object.setPrototypeOf(clone, Object.getPrototypeOf(value));
|
|
12
12
|
|
|
13
|
+
/* istanbul ignore next */
|
|
13
14
|
for (const key in value) {
|
|
14
15
|
if (Object.prototype.hasOwnProperty.call(value, key)) {
|
|
15
16
|
clone[key] = deepClone(value[key]);
|