annil 1.8.3 → 1.10.1
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 +31 -0
- package/README.md +1 -1
- package/dist/api/DefineComponent/normalizeOptions/hijackHandle/pagePathCheck.d.ts +2 -0
- package/dist/api/DefineComponent/normalizeOptions/hijackHandle/pagePathCheck.js +8 -0
- package/dist/api/DefineComponent/normalizeOptions/hijackHandle/pagePathCheck.js.map +1 -0
- package/dist/api/DefineComponent/normalizeOptions/index.d.ts +1 -2
- package/dist/api/DefineComponent/normalizeOptions/index.js +5 -1
- package/dist/api/DefineComponent/normalizeOptions/index.js.map +1 -1
- package/dist/api/SubComponent/SubComponentType.d.ts +1 -1
- package/dist/api/SubComponent/index.d.ts +9 -1
- package/dist/api/SubComponent/index.js.map +1 -1
- package/dist/api/{navigateTo.d.ts → wxSugar.d.ts} +11 -1
- package/dist/api/{navigateTo.js → wxSugar.js} +34 -2
- package/dist/api/wxSugar.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/thirdLib/wm/index.d.ts +1 -0
- package/dist/thirdLib/wm/map.d.ts +201 -0
- package/dist/thirdLib/wm/map.js +2 -0
- package/dist/thirdLib/wm/map.js.map +1 -0
- package/dist/utils/applyDebounceAndThrottle.d.ts +7 -0
- package/dist/utils/applyDebounceAndThrottle.js +28 -0
- package/dist/utils/applyDebounceAndThrottle.js.map +1 -0
- package/dist/utils/debounce.d.ts +5 -3
- package/dist/utils/debounce.js +6 -6
- package/dist/utils/debounce.js.map +1 -1
- package/dist/utils/throttle.js +2 -1
- package/dist/utils/throttle.js.map +1 -1
- package/package.json +1 -1
- package/src/api/DefineComponent/normalizeOptions/hijackHandle/pagePathCheck.ts +9 -0
- package/src/api/DefineComponent/normalizeOptions/index.ts +8 -4
- package/src/api/SubComponent/SubComponentType.ts +1 -0
- package/src/api/SubComponent/SubComputed/test/error.test.ts +33 -0
- package/src/api/SubComponent/SubComputed/test/normal.test.ts +12 -0
- package/src/api/SubComponent/SubData/test/error.test.ts +7 -0
- package/src/api/SubComponent/SubStore/test/error.test.ts +15 -3
- package/src/api/SubComponent/index.ts +57 -7
- package/src/api/{navigateTo.ts → wxSugar.ts} +41 -1
- package/src/index.ts +3 -1
- package/src/thirdLib/wm/index.ts +2 -0
- package/src/thirdLib/wm/map.ts +266 -0
- package/src/utils/applyDebounceAndThrottle.ts +31 -0
- package/src/utils/debounce.ts +8 -6
- package/src/utils/throttle.ts +3 -2
- package/dist/api/navigateTo.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,37 @@
|
|
|
4
4
|
|
|
5
5
|
* 解决DetailedType不接收接口类型的错误 ([ae8acbf](https://github.com/missannil/annil/commit/ae8acbfc2e62f99db565c448ad9253aa549e78bb))
|
|
6
6
|
|
|
7
|
+
## [1.10.1](https://github.com/missannil/annil/compare/v1.10.0...v1.10.1) (2024-11-11)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* 上次覆盖率没通过 ([d5b4f23](https://github.com/missannil/annil/commit/d5b4f2398974878ae92d87c4155265554e08e5e7))
|
|
13
|
+
|
|
14
|
+
## [1.10.0](https://github.com/missannil/annil/compare/v1.9.0...v1.10.0) (2024-11-11)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* 增加原生组件类型 Wm.Map,增加API navigateBack ([a58fed1](https://github.com/missannil/annil/commit/a58fed110582a6f5edd0013f920a69769d08e1a8))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* _SubComponentType 增加undefined类型,subComponent组件配置增加与root数据字段和彼此内部字段重复检测 ([eacc152](https://github.com/missannil/annil/commit/eacc152c7a8fe8953202fa53aff2742c0066dccc))
|
|
25
|
+
|
|
26
|
+
## [1.9.0](https://github.com/missannil/annil/compare/v1.8.3...v1.9.0) (2024-10-23)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Features
|
|
30
|
+
|
|
31
|
+
* api/navigateTo 改为wxSugar 增加导出redirectTo ([f5a6141](https://github.com/missannil/annil/commit/f5a61411fa903545de8460052ca3512923905388))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
* 增加对DefinedComponent 的 path字段检测(与实例的is比较) ([8460e4e](https://github.com/missannil/annil/commit/8460e4eb29ad21a2df7adf53bffeb4c887a122e9))
|
|
37
|
+
|
|
7
38
|
## [1.8.3](https://github.com/missannil/annil/compare/v1.8.2...v1.8.3) (2024-09-08)
|
|
8
39
|
|
|
9
40
|
|
package/README.md
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagePathCheck.js","sourceRoot":"","sources":["../../../../../src/api/DefineComponent/normalizeOptions/hijackHandle/pagePathCheck.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,OAAO;QACL,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -18,7 +18,6 @@ export type OptionsInnerFields = {
|
|
|
18
18
|
__throttleDebounce__?: ThrottleDebounce;
|
|
19
19
|
};
|
|
20
20
|
methods: {
|
|
21
|
-
disposer?: Record<string, Func>;
|
|
22
21
|
__computedUpdater__?: Func;
|
|
23
22
|
};
|
|
24
23
|
};
|
|
@@ -34,7 +33,7 @@ export type FinalOptionsOfComponent = {
|
|
|
34
33
|
data: DataConstraint & OptionsInnerFields["data"];
|
|
35
34
|
observers: Record<string, Func>;
|
|
36
35
|
behaviors: string[];
|
|
37
|
-
methods: MethodsConstraint
|
|
36
|
+
methods: MethodsConstraint;
|
|
38
37
|
externalClasses: string[];
|
|
39
38
|
pageLifetimes: PageLifetimesOption<false, object>["pageLifetimes"] & {};
|
|
40
39
|
isPage: boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BBeforeCreate } from "../../../behaviors/BbeforeCreated";
|
|
2
2
|
import { BStore } from "../../../behaviors/BStore";
|
|
3
3
|
import { BthrottleDebounce } from "../../../behaviors/BthrottleDebounce";
|
|
4
|
+
import { applyDebounceAndThrottle } from "../../../utils/applyDebounceAndThrottle";
|
|
4
5
|
import { isEmptyObject } from "../../../utils/isEmptyObject";
|
|
5
6
|
import { instanceConfig } from "../../InstanceInject/instanceConfig";
|
|
6
7
|
import { __throttleDebounce__FieldCheck } from "./__throttleDebounce__FieldCheck";
|
|
@@ -9,6 +10,7 @@ import { hijack } from "./hijackHandle";
|
|
|
9
10
|
import { isPageCheck } from "./hijackHandle/isPageCheck";
|
|
10
11
|
import { loadReceivedDataHandle } from "./hijackHandle/loadReceivedDataHandle";
|
|
11
12
|
import { onLoadReceivedDataHandle } from "./hijackHandle/onLoadReceivedDataHandle";
|
|
13
|
+
import { pagePathCheck } from "./hijackHandle/pagePathCheck";
|
|
12
14
|
import { initStore } from "./initStore";
|
|
13
15
|
import { injectInfoHandler } from "./injectInfoHandler";
|
|
14
16
|
import { InternalFieldProtection } from "./internalFieldProtection";
|
|
@@ -67,11 +69,13 @@ export function normalizeOptions(defineComponentOption) {
|
|
|
67
69
|
}
|
|
68
70
|
hijack(finalOptionsForComponent.methods, "onLoad", [onLoadReceivedDataHandle]);
|
|
69
71
|
// 验证isPage字段是否配置正确
|
|
70
|
-
hijack(finalOptionsForComponent.lifetimes, "attached", [isPageCheck(rootComponentOption === null || rootComponentOption === void 0 ? void 0 : rootComponentOption.isPage)]);
|
|
72
|
+
hijack(finalOptionsForComponent.lifetimes, "attached", [isPageCheck(rootComponentOption === null || rootComponentOption === void 0 ? void 0 : rootComponentOption.isPage), pagePathCheck(defineComponentOption.path)]);
|
|
71
73
|
// 页面时删除预设的虚拟组件字段
|
|
72
74
|
if (finalOptionsForComponent.isPage && finalOptionsForComponent.options) {
|
|
73
75
|
Reflect.deleteProperty(finalOptionsForComponent.options, "virtualHost");
|
|
74
76
|
}
|
|
77
|
+
// 处理debounce和throttle前缀的方法(事件)配置
|
|
78
|
+
applyDebounceAndThrottle(finalOptionsForComponent.methods);
|
|
75
79
|
// 初始化store数据到data并把store配置放入到data的__storeConfig__下为后续使用
|
|
76
80
|
initStore(finalOptionsForComponent);
|
|
77
81
|
// 处理computed和watch配置
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/DefineComponent/normalizeOptions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AASrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/DefineComponent/normalizeOptions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SelectKeys } from "hry-types/src/Object/_api";
|
|
2
2
|
import type { Composed, CustomEventsTags } from "../RootComponent/CustomEvents/CustomEventsTag";
|
|
3
3
|
type _SubComponentType = {
|
|
4
|
-
[k in string]: string | number | bigint | boolean | symbol | null | Record<string, any> | unknown[] | CustomEventsTags;
|
|
4
|
+
[k in string]: string | number | bigint | boolean | symbol | null | undefined | Record<string, any> | unknown[] | CustomEventsTags;
|
|
5
5
|
};
|
|
6
6
|
type _Validator<O, ErrKeys = Exclude<keyof O, SelectKeys<O, Composed, "contains->">>> = [ErrKeys] extends [never] ? _SubComponentType : `${ErrKeys & string} 不是穿透事件`;
|
|
7
7
|
/**
|
|
@@ -38,7 +38,15 @@ import type { CreateSubComponentDoc } from "./SubReturnType/CreateSubComponentDo
|
|
|
38
38
|
import type { SubStoreConstraint } from "./SubStore/SubStoreConstraint";
|
|
39
39
|
import type { SubStoreOption } from "./SubStore/SubStoreOption";
|
|
40
40
|
import type { SubWatchOption } from "./SubWatch/SubWatchOption";
|
|
41
|
-
type Options<RootDoc extends RootComponentType, IsPage extends boolean, CurrentCompDoc extends ComponentType, Prefix extends string, AllRootDataDoc extends object, TInherit extends object, TSubData extends object, TSubStore extends object, TSubComputed extends object, TEvents extends object, TSubMethods extends SubMethodsConstraint, InheritDoc extends object, SubDataDoc extends object, SubStoreDoc extends object, SubComputedDoc extends object, SubEventsDoc extends object, SubMethodsDoc extends object, CompDocKeys extends PropertyKey = keyof CurrentCompDoc["properties"]> = SubInheritOption<TInherit,
|
|
41
|
+
type Options<RootDoc extends RootComponentType, IsPage extends boolean, CurrentCompDoc extends ComponentType, Prefix extends string, AllRootDataDoc extends object, TInherit extends object, TSubData extends object, TSubStore extends object, TSubComputed extends object, TEvents extends object, TSubMethods extends SubMethodsConstraint, InheritDoc extends object, SubDataDoc extends object, SubStoreDoc extends object, SubComputedDoc extends object, SubEventsDoc extends object, SubMethodsDoc extends object, CompDocKeys extends PropertyKey = keyof CurrentCompDoc["properties"]> = SubInheritOption<TInherit, {
|
|
42
|
+
[k in keyof NoInfer<TInherit>]: k extends keyof (AllRootDataDoc) ? never : k extends CompDocKeys ? k : never;
|
|
43
|
+
}[keyof NoInfer<TInherit>]> & SubDataOption<TSubData, {
|
|
44
|
+
[k in keyof NoInfer<TSubData>]: k extends keyof (AllRootDataDoc) ? never : k extends Exclude<CompDocKeys, (keyof (InheritDoc))> ? k : k extends InnerFields<Prefix> ? k : never;
|
|
45
|
+
}[keyof NoInfer<TSubData>]> & SubStoreOption<TSubStore, {
|
|
46
|
+
[k in keyof NoInfer<TSubStore>]: k extends keyof (AllRootDataDoc & SubDataDoc) ? never : k extends Exclude<CompDocKeys, (keyof (InheritDoc & SubDataDoc))> ? k : k extends InnerFields<Prefix> ? k : never;
|
|
47
|
+
}[keyof NoInfer<TSubStore>]> & SubComputedOption<TSubComputed, {
|
|
48
|
+
[k in keyof NoInfer<TSubComputed>]: k extends keyof (AllRootDataDoc & SubDataDoc & SubStoreDoc) ? never : k extends Exclude<CompDocKeys, (keyof (InheritDoc & SubDataDoc & SubStoreDoc))> ? k : k extends InnerFields<Prefix> ? k : never;
|
|
49
|
+
}[keyof NoInfer<TSubComputed>], {
|
|
42
50
|
data: ComputeObject<AllRootDataDoc & Replace<SubComputedDoc, Required<CurrentCompDoc["properties"]>> & SubStoreDoc & SubDataDoc & IInjectAllData>;
|
|
43
51
|
}> & SubEventsOption<TEvents, SubEventsDoc, keyof SubEventsConstraint<CurrentCompDoc>> & SubMethodsOption<TSubMethods, Prefix, keyof (CurrentCompDoc["customEvents"] & SubEventsDoc)> & SubPageLifetimesOption<IsPage, NonNullable<RootDoc["properties"]>> & SubLifetimesOption & SubWatchOption<SubComputedDoc & SubDataDoc & AllRootDataDoc & SubStoreDoc & IInjectStore> & Partial<Omit<WMCompOtherOption, "pageLifetimes" | "definitionFilter" | "export" | "observers" | "relations">> & SubObserversOption<SubComputedDoc & SubDataDoc & AllRootDataDoc & SubStoreDoc & IInjectStore> & ThisType<SubInstance<SubMethodsDoc & RootDoc["methods"], Replace<SubDataDoc, Required<CurrentCompDoc["properties"]>>, AllRootDataDoc & Replace<SubDataDoc & SubComputedDoc & SubStoreDoc, Required<CurrentCompDoc["properties"]>>, NonNullable<RootDoc["customEvents"]>, SubStoreDoc>>;
|
|
44
52
|
type SubComponentConstructor<TRootDoc extends RootComponentType, TOriginalCompDoc extends ComponentType, TSupplementalPrefix extends string = "", IsPage extends boolean = TRootDoc["isPage"] extends true ? true : false, CurrentPrefix extends string = `${GetComponentPrefix<TOriginalCompDoc>}${Capitalize<TSupplementalPrefix>}`, CurrentCompDoc extends ComponentType = IfExtends<TSupplementalPrefix, "", TOriginalCompDoc & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/SubComponent/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/SubComponent/index.ts"],"names":[],"mappings":"AA8RA;;;GAGG;AACH,MAAM,UAAU,YAAY;IAK1B,8DAA8D;IAC9D,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,OAAkC,CAAQ,CAAC;AACvE,CAAC"}
|
|
@@ -16,5 +16,15 @@ type NavigateToOption<T extends PageDoc> = {
|
|
|
16
16
|
* test页面onLoad(data)的参数data接受内容为` data = {num:"123",obj:"{"name":"zhao"}"}`即默认的url传的数据值为字符串,需要在接收时自行解析(JSON.parse)。且url采取ASCII编码只能接受0x20-0x7e区间的符号。无法使用一些特殊符号 如 ` :/?#[]@!$&'()*+,;= `。
|
|
17
17
|
* navigateTo API 为 wx.navigateTo的语法糖,增加了data字段,最终的url数据拼接了通过encodeURIComponent编码(支持默认忽略的特殊符号)的data字段,在跳转页面的onload中通过decodeURIComponent解析url赋值给实例的data对象。为求使用时更加方便(无需对参数data解析再赋值)。且有ts类型提示。
|
|
18
18
|
*/
|
|
19
|
-
export declare function navigateTo<TPageDoc extends PageDoc = never>(option: NoInfer<NavigateToOption<TPageDoc
|
|
19
|
+
export declare function navigateTo<TPageDoc extends PageDoc = never>(option: NoInfer<NavigateToOption<TPageDoc>>, onBack?: (res: unknown) => void): Promise<WechatMiniprogram.NavigateToSuccessCallbackResult>;
|
|
20
|
+
type WMNavigateBackOption = WechatMiniprogram.NavigateBackOption;
|
|
21
|
+
type NavigateBackOption<Data> = WMNavigateBackOption & {
|
|
22
|
+
data?: Data;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* @param options
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
export declare function navigateBack<Data, T extends NavigateBackOption<Data> = NavigateBackOption<Data>>(options?: T): WechatMiniprogram.PromisifySuccessResult<T, WMNavigateBackOption>;
|
|
29
|
+
export declare function redirectTo<TPageDoc extends PageDoc = never>(option: NoInfer<NavigateToOption<TPageDoc>>): Promise<WechatMiniprogram.GeneralCallbackResult>;
|
|
20
30
|
export {};
|
|
@@ -10,12 +10,14 @@ function _encodeURIComponent(option) {
|
|
|
10
10
|
Reflect.deleteProperty(option, "data");
|
|
11
11
|
return Object.assign(result, option);
|
|
12
12
|
}
|
|
13
|
+
const backFuncs = [];
|
|
13
14
|
/**
|
|
14
15
|
* 页面onload参数中接受的数据值是传递的url解析后的字符串。例如:A页面通过`wx.navigateTo({url:'/pages/test/test?num=123&obj={"name":"zhao"}'})`
|
|
15
16
|
* test页面onLoad(data)的参数data接受内容为` data = {num:"123",obj:"{"name":"zhao"}"}`即默认的url传的数据值为字符串,需要在接收时自行解析(JSON.parse)。且url采取ASCII编码只能接受0x20-0x7e区间的符号。无法使用一些特殊符号 如 ` :/?#[]@!$&'()*+,;= `。
|
|
16
17
|
* navigateTo API 为 wx.navigateTo的语法糖,增加了data字段,最终的url数据拼接了通过encodeURIComponent编码(支持默认忽略的特殊符号)的data字段,在跳转页面的onload中通过decodeURIComponent解析url赋值给实例的data对象。为求使用时更加方便(无需对参数data解析再赋值)。且有ts类型提示。
|
|
17
18
|
*/
|
|
18
|
-
export function navigateTo(option) {
|
|
19
|
+
export function navigateTo(option, onBack) {
|
|
20
|
+
backFuncs.push(onBack);
|
|
19
21
|
// @ts-ignore 隐式索引
|
|
20
22
|
if (!option.data) {
|
|
21
23
|
return wx.navigateTo(option);
|
|
@@ -24,4 +26,34 @@ export function navigateTo(option) {
|
|
|
24
26
|
return wx.navigateTo(_encodeURIComponent(option));
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
|
-
|
|
29
|
+
/**
|
|
30
|
+
* @param options
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
export function navigateBack(options) {
|
|
34
|
+
const backFunc = backFuncs.pop();
|
|
35
|
+
if (backFunc) {
|
|
36
|
+
if (!options || options.data === undefined) {
|
|
37
|
+
throw new Error("navigateBack 需要带有data参数的配置对象,因为返回的组件需要data数据");
|
|
38
|
+
}
|
|
39
|
+
const data = options.data;
|
|
40
|
+
const complete = options.complete;
|
|
41
|
+
options.complete = (res) => {
|
|
42
|
+
backFunc(data);
|
|
43
|
+
if (complete) {
|
|
44
|
+
complete(res);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return wx.navigateBack(options);
|
|
49
|
+
}
|
|
50
|
+
export function redirectTo(option) {
|
|
51
|
+
// @ts-ignore 隐式索引
|
|
52
|
+
if (!option.data) {
|
|
53
|
+
return wx.redirectTo(option);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return wx.redirectTo(_encodeURIComponent(option));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=wxSugar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wxSugar.js","sourceRoot":"","sources":["../../src/api/wxSugar.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAwBnD;;GAEG;AACH,SAAS,mBAAmB,CAC1B,MAAuE;IAEvE,MAAM,MAAM,GAAuB;QACjC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,IACnC,kBAAkB,CAChB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAE/B,EAAE;KACH,CAAC;IAEF,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEtC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AACD,MAAM,SAAS,GAAmD,EAAE,CAAC;AACrE;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,MAA2C,EAC3C,MAA+B;IAE/B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,kBAAkB;IAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC,UAAU,CAClB,mBAAmB,CAAC,MAAuD,CAAC,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC;AAID;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAW;IAEX,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;IACjC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AACD,MAAM,UAAU,UAAU,CACxB,MAA2C;IAE3C,kBAAkB;IAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC,UAAU,CAClB,mBAAmB,CAAC,MAAuD,CAAC,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DefineComponent } from "./api/DefineComponent";
|
|
2
2
|
import { type IInjectInfo, instanceConfig } from "./api/InstanceInject/instanceConfig";
|
|
3
|
-
import { navigateTo } from "./api/navigateTo";
|
|
4
3
|
import { RootComponent } from "./api/RootComponent";
|
|
5
4
|
import { SubComponent } from "./api/SubComponent";
|
|
5
|
+
import { navigateBack, navigateTo, redirectTo } from "./api/wxSugar";
|
|
6
6
|
import type { CreateComponentType } from "./types/CreateComponentType";
|
|
7
7
|
import type { DetailedType } from "./types/DetailedType";
|
|
8
8
|
import type { ExtendComponentType } from "./types/ExtendComponentType";
|
|
@@ -11,4 +11,4 @@ export * from "./utils/_utils";
|
|
|
11
11
|
export type { Bubbles, BubblesCapture, BubblesCaptureComposed, BubblesComposed, Capture, CaptureComposed, Composed, CustomEventsTags, } from "./api/RootComponent/CustomEvents/CustomEventsTag";
|
|
12
12
|
export type { Vant, Wm } from "./thirdLib";
|
|
13
13
|
export type { CurrentTargetDataset, Dataset, Detail, Mark, TargetDataset, WMBaseEvent, WMCustomEvent, } from "./types/OfficialTypeAlias";
|
|
14
|
-
export { type CreateComponentType, DefineComponent, type DetailedType, type ExtendComponentType, type IInjectInfo, instanceConfig, navigateTo, type ParamsEqual, RootComponent, SubComponent, };
|
|
14
|
+
export { type CreateComponentType, DefineComponent, type DetailedType, type ExtendComponentType, type IInjectInfo, instanceConfig, navigateBack, navigateTo, type ParamsEqual, redirectTo, RootComponent, SubComponent, };
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DefineComponent } from "./api/DefineComponent";
|
|
2
2
|
import { instanceConfig } from "./api/InstanceInject/instanceConfig";
|
|
3
|
-
import { navigateTo } from "./api/navigateTo";
|
|
4
3
|
import { RootComponent } from "./api/RootComponent";
|
|
5
4
|
import { SubComponent } from "./api/SubComponent";
|
|
5
|
+
import { navigateBack, navigateTo, redirectTo } from "./api/wxSugar";
|
|
6
6
|
export * from "./utils/_utils";
|
|
7
|
-
export { DefineComponent, instanceConfig, navigateTo, RootComponent, SubComponent, };
|
|
7
|
+
export { DefineComponent, instanceConfig, navigateBack, navigateTo, redirectTo, RootComponent, SubComponent, };
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKrE,cAAc,gBAAgB,CAAC;AAwB/B,OAAO,EAEL,eAAe,EAIf,cAAc,EACd,YAAY,EACZ,UAAU,EAEV,UAAU,EACV,aAAa,EACb,YAAY,GACb,CAAC"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import type { CreateComponentType } from "../../types/CreateComponentType";
|
|
2
|
+
type RegionChangeBegin = {
|
|
3
|
+
type: "begin";
|
|
4
|
+
causedBy: "gesture" | "update";
|
|
5
|
+
};
|
|
6
|
+
export type MarkLocation = {
|
|
7
|
+
latitude: number;
|
|
8
|
+
longitude: number;
|
|
9
|
+
};
|
|
10
|
+
type RegionChangeEnd = {
|
|
11
|
+
type: "end";
|
|
12
|
+
causedBy: "drag" | "scale" | "update";
|
|
13
|
+
centerLocation: MarkLocation;
|
|
14
|
+
region: {
|
|
15
|
+
northeast: MarkLocation;
|
|
16
|
+
southwest: MarkLocation;
|
|
17
|
+
};
|
|
18
|
+
rotate: number;
|
|
19
|
+
scale: number;
|
|
20
|
+
skew: number;
|
|
21
|
+
};
|
|
22
|
+
type RegionChangeDetail = RegionChangeBegin | RegionChangeEnd;
|
|
23
|
+
export type Callout = {
|
|
24
|
+
content: string;
|
|
25
|
+
display: "ALWAYS" | "BYCLICK";
|
|
26
|
+
color?: string;
|
|
27
|
+
fontSize?: string | number;
|
|
28
|
+
borderWidth?: number;
|
|
29
|
+
borderRadius?: number;
|
|
30
|
+
borderColor?: string;
|
|
31
|
+
bgColor?: string;
|
|
32
|
+
padding?: number;
|
|
33
|
+
textAlign?: "center" | "left" | "right";
|
|
34
|
+
/**
|
|
35
|
+
* 横向偏移量,向右为正数 number 2.11.0
|
|
36
|
+
*/
|
|
37
|
+
anchorX?: number;
|
|
38
|
+
/**
|
|
39
|
+
* anchorY 纵向偏移量,向下为正数 number 2.11.0
|
|
40
|
+
*/
|
|
41
|
+
anchorYL?: number;
|
|
42
|
+
};
|
|
43
|
+
export type Marker = {
|
|
44
|
+
id: number;
|
|
45
|
+
width: number | string;
|
|
46
|
+
height: number | string;
|
|
47
|
+
clusterId?: number;
|
|
48
|
+
joinCluster?: boolean;
|
|
49
|
+
latitude: number;
|
|
50
|
+
longitude: number;
|
|
51
|
+
title?: string;
|
|
52
|
+
zIndex?: number;
|
|
53
|
+
iconPath: string;
|
|
54
|
+
rotate?: number;
|
|
55
|
+
alpha?: number;
|
|
56
|
+
callout?: Callout;
|
|
57
|
+
customCallout?: Callout;
|
|
58
|
+
label?: Callout;
|
|
59
|
+
anchor?: {
|
|
60
|
+
x: number;
|
|
61
|
+
y: number;
|
|
62
|
+
};
|
|
63
|
+
ariaLabel?: string;
|
|
64
|
+
collisionRelation?: string;
|
|
65
|
+
collision?: string;
|
|
66
|
+
};
|
|
67
|
+
export type Circle = {
|
|
68
|
+
latitude: number;
|
|
69
|
+
longitude: number;
|
|
70
|
+
radius: number;
|
|
71
|
+
color?: string;
|
|
72
|
+
fillColor?: string;
|
|
73
|
+
strokeWidth?: number;
|
|
74
|
+
level?: string;
|
|
75
|
+
};
|
|
76
|
+
export type Polygon = {
|
|
77
|
+
dashArray?: number[];
|
|
78
|
+
points: MarkLocation[];
|
|
79
|
+
strokeWidth?: number;
|
|
80
|
+
strokeColor?: string;
|
|
81
|
+
fillColor?: string;
|
|
82
|
+
zIndex?: number;
|
|
83
|
+
level?: string;
|
|
84
|
+
};
|
|
85
|
+
export type Polyline = {
|
|
86
|
+
points: MarkLocation[];
|
|
87
|
+
color?: string;
|
|
88
|
+
colorList?: string[];
|
|
89
|
+
width?: number;
|
|
90
|
+
dottedLine?: boolean;
|
|
91
|
+
arrowLine?: boolean;
|
|
92
|
+
arrowIconPath?: string;
|
|
93
|
+
borderColor?: string;
|
|
94
|
+
borderWidth?: number;
|
|
95
|
+
level?: string;
|
|
96
|
+
textStyle?: TextStyle;
|
|
97
|
+
segmentTexts?: SegmentText[];
|
|
98
|
+
};
|
|
99
|
+
export type TextStyle = {
|
|
100
|
+
textColor?: string;
|
|
101
|
+
strokeColor?: string;
|
|
102
|
+
fontSize?: number;
|
|
103
|
+
};
|
|
104
|
+
export type SegmentText = {
|
|
105
|
+
name: string;
|
|
106
|
+
startIndex: string;
|
|
107
|
+
endIndex: number;
|
|
108
|
+
};
|
|
109
|
+
export type Map = CreateComponentType<"map", {
|
|
110
|
+
properties: {
|
|
111
|
+
latitude: number;
|
|
112
|
+
longitude: number;
|
|
113
|
+
scale?: number;
|
|
114
|
+
minScale?: number;
|
|
115
|
+
maxScale?: number;
|
|
116
|
+
markers?: Marker[];
|
|
117
|
+
covers?: Marker[];
|
|
118
|
+
polyline?: Polyline[];
|
|
119
|
+
circles?: Circle[];
|
|
120
|
+
controls?: Marker[];
|
|
121
|
+
includePoints?: Marker[];
|
|
122
|
+
/**
|
|
123
|
+
* 显示带有方向的当前定位点 1.0.0
|
|
124
|
+
*/
|
|
125
|
+
showLocation?: boolean;
|
|
126
|
+
polygons?: Polygon[];
|
|
127
|
+
subkey?: string;
|
|
128
|
+
layerStyle?: number;
|
|
129
|
+
rotate?: number;
|
|
130
|
+
skew?: number;
|
|
131
|
+
enable3D?: boolean;
|
|
132
|
+
showCompass?: boolean;
|
|
133
|
+
showScale?: boolean;
|
|
134
|
+
enableOverlooking?: boolean;
|
|
135
|
+
enableAutoMaxOverlooking?: boolean;
|
|
136
|
+
enableZoom?: boolean;
|
|
137
|
+
enableScroll?: boolean;
|
|
138
|
+
enableRotate?: boolean;
|
|
139
|
+
enableSatellite?: boolean;
|
|
140
|
+
enableTraffic?: boolean;
|
|
141
|
+
enablePOI?: boolean;
|
|
142
|
+
enableBuilding?: boolean;
|
|
143
|
+
setting?: object;
|
|
144
|
+
};
|
|
145
|
+
customEvents: {
|
|
146
|
+
tap: MarkLocation;
|
|
147
|
+
markertap: {
|
|
148
|
+
markerId: number;
|
|
149
|
+
};
|
|
150
|
+
labeltap: {
|
|
151
|
+
markerId: number;
|
|
152
|
+
};
|
|
153
|
+
controltap: {
|
|
154
|
+
controlId: number;
|
|
155
|
+
};
|
|
156
|
+
callouttap: {
|
|
157
|
+
markerId: number;
|
|
158
|
+
};
|
|
159
|
+
updated: undefined;
|
|
160
|
+
/**
|
|
161
|
+
* 视野改变时,regionchange 会触发两次,返回的 type 值分别为 begin 和 end。
|
|
162
|
+
* 2.8.0 起 begin 阶段返回 causedBy,有效值为 gesture(手势触发) & update(接口触发)
|
|
163
|
+
* 2.3.0 起 end 阶段返回 causedBy,有效值为 drag(拖动导致)、scale(缩放导致)、update(调用更新接口导致)
|
|
164
|
+
*/
|
|
165
|
+
regionchange: RegionChangeDetail;
|
|
166
|
+
poitap: {
|
|
167
|
+
name: string;
|
|
168
|
+
longitude: number;
|
|
169
|
+
latitude: number;
|
|
170
|
+
};
|
|
171
|
+
polylinetap: {
|
|
172
|
+
longitude: number;
|
|
173
|
+
latitude: number;
|
|
174
|
+
};
|
|
175
|
+
abilitysuccess: {
|
|
176
|
+
ability: string;
|
|
177
|
+
errCode: number;
|
|
178
|
+
errMsg: string;
|
|
179
|
+
};
|
|
180
|
+
abilityfail: {
|
|
181
|
+
ability: string;
|
|
182
|
+
errCode: number;
|
|
183
|
+
errMsg: string;
|
|
184
|
+
};
|
|
185
|
+
authsuccess: {
|
|
186
|
+
errCode: number;
|
|
187
|
+
errMsg: string;
|
|
188
|
+
};
|
|
189
|
+
interpolatepoint: {
|
|
190
|
+
markerId: number;
|
|
191
|
+
longitude: number;
|
|
192
|
+
latitude: number;
|
|
193
|
+
animationStatus: "interpolating" | "complete";
|
|
194
|
+
};
|
|
195
|
+
error: {
|
|
196
|
+
longitude: number;
|
|
197
|
+
latitude: number;
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
}>;
|
|
201
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/thirdLib/wm/map.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { debounce } from "./debounce";
|
|
2
|
+
import { throttle } from "./throttle";
|
|
3
|
+
/**
|
|
4
|
+
* 对象中的函数应用防抖和节流
|
|
5
|
+
* 规则 函数字段已下划线开始的后缀 如 xxx_debounced500 或 sub_xxx_throttled,无效后缀如 _debouncedxxx 不会被处理
|
|
6
|
+
* @param obj
|
|
7
|
+
*/
|
|
8
|
+
export function applyDebounceAndThrottle(obj) {
|
|
9
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
10
|
+
if (!key.includes("_"))
|
|
11
|
+
continue;
|
|
12
|
+
const suffix = key.split("_").at(-1);
|
|
13
|
+
const remaining = suffix.slice(9);
|
|
14
|
+
const delay = remaining === "" ? 300 : Number(remaining);
|
|
15
|
+
if (suffix.startsWith("debounced")) {
|
|
16
|
+
if (!isNaN(delay)) {
|
|
17
|
+
obj[key] = debounce(value, delay);
|
|
18
|
+
}
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (suffix.startsWith("throttled")) {
|
|
22
|
+
if (!isNaN(delay)) {
|
|
23
|
+
obj[key] = throttle(value, delay);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=applyDebounceAndThrottle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyDebounceAndThrottle.js","sourceRoot":"","sources":["../../src/utils/applyDebounceAndThrottle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAyB;IAChE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACjC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAW,CAAC;QAE/C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/utils/debounce.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
type Callback = (...args: any[]) => any;
|
|
1
2
|
/**
|
|
2
3
|
* 防抖函数
|
|
3
4
|
* 注意 需要在tsconfig.json的types中添加"node",否则NodeJS.Timeout会报错
|
|
4
|
-
* 例如
|
|
5
|
+
* 例如 在input框输入内容时,只有输入停止一段时间(wait)后,才会触发输入事件.
|
|
5
6
|
* @param func
|
|
6
|
-
* @param
|
|
7
|
+
* @param wait
|
|
7
8
|
* @returns
|
|
8
9
|
*/
|
|
9
|
-
export declare function debounce<F extends
|
|
10
|
+
export declare function debounce<F extends Callback>(func: F, wait?: number): (...args: Parameters<F>) => void;
|
|
11
|
+
export {};
|
package/dist/utils/debounce.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 防抖函数
|
|
3
3
|
* 注意 需要在tsconfig.json的types中添加"node",否则NodeJS.Timeout会报错
|
|
4
|
-
* 例如
|
|
4
|
+
* 例如 在input框输入内容时,只有输入停止一段时间(wait)后,才会触发输入事件.
|
|
5
5
|
* @param func
|
|
6
|
-
* @param
|
|
6
|
+
* @param wait
|
|
7
7
|
* @returns
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
export function debounce(func,
|
|
9
|
+
/* istanbul ignore next */
|
|
10
|
+
export function debounce(func, wait = 300) {
|
|
11
11
|
let timeoutId = null;
|
|
12
|
-
return (...args)
|
|
12
|
+
return function (...args) {
|
|
13
13
|
if (timeoutId) {
|
|
14
14
|
clearTimeout(timeoutId);
|
|
15
15
|
}
|
|
16
|
-
timeoutId = setTimeout(() => func(...args),
|
|
16
|
+
timeoutId = setTimeout(() => func.call(this, ...args), wait);
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=debounce.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/utils/debounce.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/utils/debounce.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,2BAA2B;AAC3B,MAAM,UAAU,QAAQ,CAAqB,IAAO,EAAE,IAAI,GAAG,GAAG;IAC9D,IAAI,SAAS,GAA0B,IAAI,CAAC;IAE5C,OAAO,UAAwB,GAAG,IAAmB;QACnD,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAED,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/utils/throttle.js
CHANGED
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
* @param interval 单位毫秒
|
|
6
6
|
* @returns
|
|
7
7
|
*/
|
|
8
|
+
/* istanbul ignore next */
|
|
8
9
|
export function throttle(callback, interval = 200) {
|
|
9
10
|
let lastCall = 0;
|
|
10
11
|
return function (...args) {
|
|
11
12
|
const now = Date.now();
|
|
12
13
|
if (now - lastCall >= interval) {
|
|
13
14
|
lastCall = now;
|
|
14
|
-
callback(...args);
|
|
15
|
+
callback.call(this, ...args);
|
|
15
16
|
}
|
|
16
17
|
};
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/utils/throttle.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAqB,QAAW,EAAE,QAAQ,GAAG,GAAG;IACtE,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,OAAO,
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../src/utils/throttle.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,2BAA2B;AAC3B,MAAM,UAAU,QAAQ,CAAqB,QAAW,EAAE,QAAQ,GAAG,GAAG;IACtE,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,OAAO,UAAwB,GAAG,IAAmB;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,GAAG,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAC/B,QAAQ,GAAG,GAAG,CAAC;YAEf,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Instance } from "../../../RootComponent/Instance/RootComponentInstance";
|
|
2
|
+
|
|
3
|
+
export function pagePathCheck(path?: string) {
|
|
4
|
+
return function(this: Instance) {
|
|
5
|
+
if (path && `/${this.is}` !== path) {
|
|
6
|
+
throw new Error(`页面路径错误,应为 /${this.is}`);
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
}
|