@tarojs/router 3.5.0-alpha.1 → 3.5.0-alpha.2

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/dist/history.js DELETED
@@ -1,99 +0,0 @@
1
- import { Action, createBrowserHistory, createHashHistory } from 'history';
2
- import { RouterConfig } from './router';
3
- export let history;
4
- let basename = '/';
5
- class MpaHistory {
6
- action;
7
- get location() {
8
- return {
9
- pathname: window.location.pathname,
10
- search: window.location.search,
11
- hash: window.location.hash,
12
- key: `${window.history.length}`,
13
- state: window.history.state
14
- };
15
- }
16
- createHref(_to) {
17
- throw new Error('Method not implemented.');
18
- }
19
- parseUrl(to) {
20
- let url = to.pathname || '';
21
- if (RouterConfig.isPage(url)) {
22
- url += '.html';
23
- }
24
- if (to.search) {
25
- url += `?${to.search}`;
26
- }
27
- if (to.hash) {
28
- url += `#${to.hash}`;
29
- }
30
- return url;
31
- }
32
- push(to, _state = {}) {
33
- window.location.pathname = this.parseUrl(to);
34
- // this.pushState(_state, '', this.parseUrl(to))
35
- }
36
- replace(to, _state = {}) {
37
- window.location.replace(this.parseUrl(to));
38
- // this.replaceState(_state, '', this.parseUrl(to))
39
- }
40
- go(delta) {
41
- window.history.go(delta);
42
- }
43
- back = window.history.back;
44
- forward = window.history.forward;
45
- listen(listener) {
46
- function callback(e) {
47
- if (e.action === 'pushState') {
48
- listener({ action: Action.Push, location: this.location });
49
- }
50
- else if (e.action === 'replaceState') {
51
- listener({ action: Action.Replace, location: this.location });
52
- }
53
- else {
54
- // NOTE: 这里包括 back、forward、go 三种可能,并非是 POP 事件
55
- listener({ action: Action.Pop, location: this.location });
56
- }
57
- }
58
- window.addEventListener('popstate', callback);
59
- return () => {
60
- window.removeEventListener('popstate', callback);
61
- };
62
- }
63
- block(_blocker) {
64
- throw new Error('Method not implemented.');
65
- }
66
- pushState = this.eventState('pushState');
67
- replaceState = this.eventState('replaceState');
68
- eventState(action) {
69
- return (data, unused, url) => {
70
- const wrapper = window.history[action](data, unused, url);
71
- const evt = new Event(action);
72
- evt.action = action;
73
- evt.state = data;
74
- evt.unused = unused;
75
- evt.url = url;
76
- window.dispatchEvent(evt);
77
- return wrapper;
78
- };
79
- }
80
- }
81
- export function setHistoryMode(mode, base = '/') {
82
- const options = {
83
- window
84
- };
85
- basename = base;
86
- if (mode === 'browser') {
87
- history = createBrowserHistory(options);
88
- }
89
- else if (mode === 'multi') {
90
- history = new MpaHistory();
91
- }
92
- else {
93
- // default is hash
94
- history = createHashHistory(options);
95
- }
96
- }
97
- export function prependBasename(url = '') {
98
- return basename.replace(/\/$/, '') + '/' + url.replace(/^\//, '');
99
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/utils.ts","../src/router/index.ts","../src/history.ts","../src/router/stack.ts","../src/api.ts","../src/animation.ts","../src/events/resize.ts","../src/events/scroll.ts","../src/tabbar.ts","../src/router/page.ts","../src/router/spa.ts","../src/router/multi-page.ts","../src/router/mpa.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["history","Action","createBrowserHistory","createHashHistory","parsePath","initTabBarApis","queryString","requestAnimationFrame","Current","container","SERVICE_IDENTIFIER","UniversalRouter","eventCenter","createPageConfig","stringify","LocationAction"],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { addLeadingSlash } from '../utils';
2
- export class RouterConfig {
3
- static __config;
4
- static set config(e) {
5
- this.__config = e;
6
- }
7
- static get config() {
8
- return this.__config;
9
- }
10
- static get pages() {
11
- return this.config.pages || [];
12
- }
13
- static get router() {
14
- return this.config.router || {};
15
- }
16
- static get mode() {
17
- return this.router.mode || 'hash';
18
- }
19
- static get customRoutes() { return this.router.customRoutes || {}; }
20
- static isPage(url = '') {
21
- return this.pages.findIndex(e => addLeadingSlash(e) === url) !== -1;
22
- }
23
- }
@@ -1,49 +0,0 @@
1
- /* eslint-disable dot-notation */
2
- import { container, createPageConfig, eventCenter, SERVICE_IDENTIFIER, stringify } from '@tarojs/runtime';
3
- import MultiPageHandler from './multi-page';
4
- import { RouterConfig } from '.';
5
- // TODO 支持多路由 (APP 生命周期仅触发一次)
6
- /** Note: 关于多页面应用
7
- * - 需要配置路由映射(根目录跳转、404 页面……)
8
- * - app.onPageNotFound 事件不支持
9
- * - 应用生命周期可能多次触发
10
- * - TabBar 会多次加载
11
- * - 不支持路由动画
12
- */
13
- export async function createMultiRouter(app, config, framework) {
14
- RouterConfig.config = config;
15
- const handler = new MultiPageHandler(config);
16
- const runtimeHooks = container.get(SERVICE_IDENTIFIER.Hooks);
17
- const launchParam = handler.getQuery();
18
- app.onLaunch?.(launchParam);
19
- const pathName = config.pageName;
20
- const pageConfig = handler.pageConfig;
21
- let element;
22
- try {
23
- element = await pageConfig.load?.();
24
- }
25
- catch (error) {
26
- throw new Error(error);
27
- }
28
- if (!element)
29
- return;
30
- let enablePullDownRefresh = config?.window?.enablePullDownRefresh || false;
31
- eventCenter.trigger('__taroRouterChange', {
32
- toLocation: {
33
- path: pathName
34
- }
35
- });
36
- if (pageConfig) {
37
- document.title = pageConfig.navigationBarTitleText ?? document.title;
38
- if (typeof pageConfig.enablePullDownRefresh === 'boolean') {
39
- enablePullDownRefresh = pageConfig.enablePullDownRefresh;
40
- }
41
- }
42
- const el = element.default ?? element;
43
- const loadConfig = { ...pageConfig };
44
- delete loadConfig['path'];
45
- delete loadConfig['load'];
46
- const page = createPageConfig(enablePullDownRefresh ? runtimeHooks.createPullDownComponent?.(el, location.pathname, framework, config.PullDownRefresh) : el, pathName + stringify(launchParam), {}, loadConfig);
47
- handler.load(page, pageConfig);
48
- app.onShow?.(launchParam);
49
- }
@@ -1,105 +0,0 @@
1
- import { Current } from '@tarojs/runtime';
2
- import queryString from 'query-string';
3
- import { bindPageResize } from '../events/resize';
4
- import { bindPageScroll } from '../events/scroll';
5
- import { setHistoryMode } from '../history';
6
- import { initTabbar } from '../tabbar';
7
- import { stripBasename } from '../utils';
8
- export default class MultiPageHandler {
9
- config;
10
- constructor(config) {
11
- this.config = config;
12
- this.mount();
13
- }
14
- get appId() { return 'app'; }
15
- get router() { return this.config.router; }
16
- get routerMode() { return this.router.mode || 'hash'; }
17
- get customRoutes() { return this.router.customRoutes || {}; }
18
- get tabBarList() { return this.config.tabBar?.list || []; }
19
- get PullDownRefresh() { return this.config.PullDownRefresh; }
20
- set pathname(p) { this.router.pathname = p; }
21
- get pathname() { return this.router.pathname; }
22
- get basename() { return this.router.basename || ''; }
23
- get pageConfig() { return this.config.route; }
24
- get isTabBar() {
25
- const routePath = stripBasename(this.pathname, this.basename);
26
- const pagePath = Object.entries(this.customRoutes).find(([, target]) => {
27
- if (typeof target === 'string') {
28
- return target === routePath;
29
- }
30
- else if (target?.length > 0) {
31
- return target.includes(routePath);
32
- }
33
- return false;
34
- })?.[0] || routePath;
35
- return !!pagePath && this.tabBarList.some(t => t.pagePath === pagePath);
36
- }
37
- get search() { return location.search.substr(1); }
38
- getQuery(search = '', options = {}) {
39
- search = search ? `${search}&${this.search}` : this.search;
40
- const query = search
41
- ? queryString.parse(search)
42
- : {};
43
- return { ...query, ...options };
44
- }
45
- mount() {
46
- setHistoryMode(this.routerMode, this.router.basename);
47
- document.getElementById('app')?.remove();
48
- const app = document.createElement('div');
49
- app.id = this.appId;
50
- app.classList.add('taro_router');
51
- if (this.tabBarList.length > 1) {
52
- const container = document.createElement('div');
53
- container.classList.add('taro-tabbar__container');
54
- container.id = 'container';
55
- const panel = document.createElement('div');
56
- panel.classList.add('taro-tabbar__panel');
57
- panel.appendChild(app);
58
- container.appendChild(panel);
59
- document.body.appendChild(container);
60
- initTabbar(this.config);
61
- }
62
- else {
63
- document.body.appendChild(app);
64
- }
65
- }
66
- onReady(page, onLoad = true) {
67
- const pageEl = this.getPageContainer(page);
68
- if (pageEl && !pageEl?.['__isReady']) {
69
- const el = pageEl.firstElementChild;
70
- el?.['componentOnReady']?.();
71
- onLoad && (pageEl['__page'] = page);
72
- }
73
- }
74
- load(page, pageConfig = {}) {
75
- if (!page)
76
- return;
77
- page.onLoad?.(this.getQuery('', page.options), () => {
78
- const pageEl = this.getPageContainer(page);
79
- this.isTabBar && pageEl?.classList.add('taro_tabbar_page');
80
- this.onReady(page, true);
81
- page.onShow?.();
82
- this.bindPageEvents(page, pageEl, pageConfig);
83
- });
84
- }
85
- getPageContainer(page) {
86
- const path = page ? page?.path : Current.page?.path;
87
- const id = path?.replace(/([^a-z0-9\u00a0-\uffff_-])/ig, '\\$1');
88
- if (page) {
89
- return document.querySelector(`.taro_page#${id}`);
90
- }
91
- const el = (id
92
- ? document.querySelector(`.taro_page#${id}`)
93
- : document.querySelector('.taro_page') ||
94
- document.querySelector('.taro_router'));
95
- return el || window;
96
- }
97
- bindPageEvents(page, pageEl, config = {}) {
98
- if (!pageEl) {
99
- pageEl = this.getPageContainer();
100
- }
101
- const distance = config.onReachBottomDistance || this.config.window?.onReachBottomDistance || 50;
102
- bindPageScroll(page, pageEl, distance);
103
- bindPageResize(page);
104
- }
105
- }
@@ -1,265 +0,0 @@
1
- import { Current, requestAnimationFrame } from '@tarojs/runtime';
2
- import queryString from 'query-string';
3
- import { loadAnimateStyle } from '../animation';
4
- import { bindPageResize } from '../events/resize';
5
- import { bindPageScroll } from '../events/scroll';
6
- import { setHistoryMode } from '../history';
7
- import { initTabbar } from '../tabbar';
8
- import { addLeadingSlash, routesAlias, stripBasename } from '../utils';
9
- import stacks from './stack';
10
- function setDisplay(el, type = '') {
11
- if (el) {
12
- el.style.display = type;
13
- }
14
- }
15
- export default class PageHandler {
16
- config;
17
- defaultAnimation = { duration: 300, delay: 50 };
18
- unloadTimer;
19
- hideTimer;
20
- lastHidePage;
21
- lastUnloadPage;
22
- constructor(config) {
23
- this.config = config;
24
- this.mount();
25
- }
26
- get appId() { return 'app'; }
27
- get router() { return this.config.router; }
28
- get routerMode() { return this.router.mode || 'hash'; }
29
- get customRoutes() { return this.router.customRoutes || {}; }
30
- get routes() { return this.config.routes; }
31
- get tabBarList() { return this.config.tabBar?.list || []; }
32
- get PullDownRefresh() { return this.config.PullDownRefresh; }
33
- get animation() { return this.config?.animation ?? this.defaultAnimation; }
34
- get animationDelay() {
35
- return (typeof this.animation === 'object'
36
- ? this.animation.delay
37
- : this.animation
38
- ? this.defaultAnimation?.delay
39
- : 0) || 0;
40
- }
41
- get animationDuration() {
42
- return (typeof this.animation === 'object'
43
- ? this.animation.duration
44
- : this.animation
45
- ? this.defaultAnimation?.duration
46
- : 0) || 0;
47
- }
48
- set pathname(p) { this.router.pathname = p; }
49
- get pathname() { return this.router.pathname; }
50
- get basename() { return this.router.basename || ''; }
51
- get pageConfig() {
52
- return this.routes.find(r => {
53
- const routePath = stripBasename(this.pathname, this.basename);
54
- const pagePath = addLeadingSlash(r.path);
55
- return pagePath === routePath || routesAlias.getConfig(pagePath)?.includes(routePath);
56
- });
57
- }
58
- get isTabBar() {
59
- const routePath = stripBasename(this.pathname, this.basename);
60
- const pagePath = Object.entries(this.customRoutes).find(([, target]) => {
61
- if (typeof target === 'string') {
62
- return target === routePath;
63
- }
64
- else if (target?.length > 0) {
65
- return target.includes(routePath);
66
- }
67
- return false;
68
- })?.[0] || routePath;
69
- return !!pagePath && this.tabBarList.some(t => t.pagePath === pagePath);
70
- }
71
- isSamePage(page) {
72
- const routePath = stripBasename(this.pathname, this.basename);
73
- const pagePath = stripBasename(page?.path, this.basename);
74
- return pagePath.startsWith(routePath + '?');
75
- }
76
- get search() {
77
- let search = '?';
78
- if (this.routerMode === 'hash') {
79
- const idx = location.hash.indexOf('?');
80
- if (idx > -1) {
81
- search = location.hash.slice(idx);
82
- }
83
- }
84
- else {
85
- search = location.search;
86
- }
87
- return search.substr(1);
88
- }
89
- getQuery(stamp = 0, search = '', options = {}) {
90
- search = search ? `${search}&${this.search}` : this.search;
91
- const query = search
92
- ? queryString.parse(search, { decode: false })
93
- : {};
94
- query.stamp = stamp.toString();
95
- return { ...query, ...options };
96
- }
97
- mount() {
98
- setHistoryMode(this.routerMode, this.router.basename);
99
- document.getElementById('app')?.remove();
100
- this.animation && loadAnimateStyle(this.animationDuration);
101
- const app = document.createElement('div');
102
- app.id = this.appId;
103
- app.classList.add('taro_router');
104
- if (this.tabBarList.length > 1) {
105
- const container = document.createElement('div');
106
- container.classList.add('taro-tabbar__container');
107
- container.id = 'container';
108
- const panel = document.createElement('div');
109
- panel.classList.add('taro-tabbar__panel');
110
- panel.appendChild(app);
111
- container.appendChild(panel);
112
- document.body.appendChild(container);
113
- initTabbar(this.config);
114
- }
115
- else {
116
- document.body.appendChild(app);
117
- }
118
- }
119
- onReady(page, onLoad = true) {
120
- const pageEl = this.getPageContainer(page);
121
- if (pageEl && !pageEl?.['__isReady']) {
122
- const el = pageEl.firstElementChild;
123
- el?.['componentOnReady']?.()?.then(() => {
124
- requestAnimationFrame(() => {
125
- page.onReady?.();
126
- pageEl['__isReady'] = true;
127
- });
128
- });
129
- onLoad && (pageEl['__page'] = page);
130
- }
131
- }
132
- load(page, pageConfig = {}, stacksIndex = 0) {
133
- if (!page)
134
- return;
135
- // NOTE: 页面栈推入太晚可能导致 getCurrentPages 无法获取到当前页面实例
136
- stacks.push(page);
137
- const param = this.getQuery(stacks.length, '', page.options);
138
- let pageEl = this.getPageContainer(page);
139
- if (pageEl) {
140
- setDisplay(pageEl);
141
- this.isTabBar && pageEl.classList.add('taro_tabbar_page');
142
- this.addAnimation(pageEl, stacksIndex === 0);
143
- page.onShow?.();
144
- this.bindPageEvents(page, pageEl, pageConfig);
145
- }
146
- else {
147
- page.onLoad?.(param, () => {
148
- pageEl = this.getPageContainer(page);
149
- this.isTabBar && pageEl?.classList.add('taro_tabbar_page');
150
- this.addAnimation(pageEl, stacksIndex === 0);
151
- this.onReady(page, true);
152
- page.onShow?.();
153
- this.bindPageEvents(page, pageEl, pageConfig);
154
- });
155
- }
156
- }
157
- unload(page, delta = 1, top = false) {
158
- if (!page)
159
- return;
160
- stacks.delta = --delta;
161
- stacks.pop();
162
- if (this.animation && top) {
163
- if (this.unloadTimer) {
164
- clearTimeout(this.unloadTimer);
165
- this.lastUnloadPage?.onUnload?.();
166
- this.unloadTimer = null;
167
- }
168
- this.lastUnloadPage = page;
169
- const pageEl = this.getPageContainer(page);
170
- pageEl?.classList.remove('taro_page_stationed');
171
- pageEl?.classList.remove('taro_page_show');
172
- this.unloadTimer = setTimeout(() => {
173
- this.unloadTimer = null;
174
- this.lastUnloadPage?.onUnload?.();
175
- }, this.animationDuration);
176
- }
177
- else {
178
- const pageEl = this.getPageContainer(page);
179
- pageEl?.classList.remove('taro_page_stationed');
180
- pageEl?.classList.remove('taro_page_show');
181
- page?.onUnload?.();
182
- }
183
- if (delta >= 1)
184
- this.unload(stacks.last, delta);
185
- }
186
- show(page, pageConfig = {}, stacksIndex = 0) {
187
- if (!page)
188
- return;
189
- const param = this.getQuery(stacks.length, '', page.options);
190
- let pageEl = this.getPageContainer(page);
191
- if (pageEl) {
192
- setDisplay(pageEl);
193
- this.addAnimation(pageEl, stacksIndex === 0);
194
- page.onShow?.();
195
- this.bindPageEvents(page, pageEl, pageConfig);
196
- }
197
- else {
198
- page.onLoad?.(param, () => {
199
- pageEl = this.getPageContainer(page);
200
- this.addAnimation(pageEl, stacksIndex === 0);
201
- this.onReady(page, false);
202
- page.onShow?.();
203
- this.bindPageEvents(page, pageEl, pageConfig);
204
- });
205
- }
206
- }
207
- hide(page) {
208
- if (!page)
209
- return;
210
- // NOTE: 修复多页并发问题,此处可能因为路由跳转过快,执行时页面可能还没有创建成功
211
- const pageEl = this.getPageContainer(page);
212
- if (pageEl) {
213
- if (this.hideTimer) {
214
- clearTimeout(this.hideTimer);
215
- this.hideTimer = null;
216
- setDisplay(this.lastHidePage, 'none');
217
- }
218
- this.lastHidePage = pageEl;
219
- this.hideTimer = setTimeout(() => {
220
- this.hideTimer = null;
221
- setDisplay(this.lastHidePage, 'none');
222
- }, this.animationDuration + this.animationDelay);
223
- page.onHide?.();
224
- }
225
- else {
226
- setTimeout(() => this.hide(page), 0);
227
- }
228
- }
229
- addAnimation(pageEl, first = false) {
230
- if (!pageEl)
231
- return;
232
- if (this.animation && !first) {
233
- setTimeout(() => {
234
- pageEl.classList.add('taro_page_show');
235
- setTimeout(() => {
236
- pageEl.classList.add('taro_page_stationed');
237
- }, this.animationDuration);
238
- }, this.animationDelay);
239
- }
240
- else {
241
- pageEl.classList.add('taro_page_show');
242
- pageEl.classList.add('taro_page_stationed');
243
- }
244
- }
245
- getPageContainer(page) {
246
- const path = page ? page?.path : Current.page?.path;
247
- const id = path?.replace(/([^a-z0-9\u00a0-\uffff_-])/ig, '\\$1');
248
- if (page) {
249
- return document.querySelector(`.taro_page#${id}`);
250
- }
251
- const el = (id
252
- ? document.querySelector(`.taro_page#${id}`)
253
- : document.querySelector('.taro_page') ||
254
- document.querySelector('.taro_router'));
255
- return el || window;
256
- }
257
- bindPageEvents(page, pageEl, config = {}) {
258
- if (!pageEl) {
259
- pageEl = this.getPageContainer();
260
- }
261
- const distance = config.onReachBottomDistance || this.config.window?.onReachBottomDistance || 50;
262
- bindPageScroll(page, pageEl, distance);
263
- bindPageResize(page);
264
- }
265
- }