@tarojs/router 3.5.0-beta.4 → 3.5.0-beta.5

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.
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 插入页面动画需要的样式
3
+ */
4
+ export declare function loadAnimateStyle(ms?: number): void;
package/dist/api.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import Taro from '@tarojs/taro';
2
+ export declare function navigateTo(option: Taro.navigateTo.Option): ReturnType<typeof Taro.navigateTo>;
3
+ export declare function redirectTo(option: Taro.redirectTo.Option): ReturnType<typeof Taro.redirectTo>;
4
+ export declare function navigateBack(option?: Taro.navigateBack.Option): ReturnType<typeof Taro.navigateBack>;
5
+ export declare function switchTab(option: Taro.switchTab.Option): ReturnType<typeof Taro.switchTab>;
6
+ export declare function reLaunch(option: Taro.reLaunch.Option): ReturnType<typeof Taro.reLaunch>;
7
+ export declare function getCurrentPages(): Taro.Page[];
@@ -0,0 +1,2 @@
1
+ import { PageInstance } from '@tarojs/runtime';
2
+ export declare function bindPageResize(page: PageInstance): void;
@@ -0,0 +1,2 @@
1
+ import { PageInstance } from '@tarojs/runtime';
2
+ export declare function bindPageScroll(page: PageInstance, pageEl: HTMLElement, distance?: number): void;
@@ -5,7 +5,8 @@ export function bindPageScroll(page, pageEl, distance = 50) {
5
5
  pageDOM = pageEl;
6
6
  let isReachBottom = false;
7
7
  pageScrollFn = function () {
8
- page.onPageScroll && page.onPageScroll({
8
+ var _a;
9
+ (_a = page.onPageScroll) === null || _a === void 0 ? void 0 : _a.call(page, {
9
10
  scrollTop: pageDOM instanceof Window ? window.scrollY : pageDOM.scrollTop
10
11
  });
11
12
  if (isReachBottom && getOffset() > distance) {
@@ -0,0 +1,5 @@
1
+ import { IH5RouterConfig } from '@tarojs/taro/types/compile';
2
+ import { History } from 'history';
3
+ export declare let history: History;
4
+ export declare function setHistoryMode(mode?: IH5RouterConfig['mode'], base?: string): void;
5
+ export declare function prependBasename(url?: string): string;
@@ -0,0 +1,23 @@
1
+ import Taro from "@tarojs/taro";
2
+ import { History } from "history";
3
+ /* eslint-disable dot-notation */
4
+ import { AppInstance } from "@tarojs/runtime";
5
+ import { MpaRouterConfig, SpaRouterConfig } from "../../types/router";
6
+ declare function navigateTo(option: Taro.navigateTo.Option): ReturnType<typeof Taro.navigateTo>;
7
+ declare function redirectTo(option: Taro.redirectTo.Option): ReturnType<typeof Taro.redirectTo>;
8
+ declare function navigateBack(option?: Taro.navigateBack.Option): ReturnType<typeof Taro.navigateBack>;
9
+ declare function switchTab(option: Taro.switchTab.Option): ReturnType<typeof Taro.switchTab>;
10
+ declare function reLaunch(option: Taro.reLaunch.Option): ReturnType<typeof Taro.reLaunch>;
11
+ declare function getCurrentPages(): Taro.Page[];
12
+ declare let history: History;
13
+ // TODO 支持多路由 (APP 生命周期仅触发一次)
14
+ /** Note: 关于多页面应用
15
+ * - 需要配置路由映射(根目录跳转、404 页面……)
16
+ * - app.onPageNotFound 事件不支持
17
+ * - 应用生命周期可能多次触发
18
+ * - TabBar 会多次加载
19
+ * - 不支持路由动画
20
+ */
21
+ declare function createMultiRouter(app: AppInstance, config: MpaRouterConfig, framework?: string): Promise<void>;
22
+ declare function createRouter(app: AppInstance, config: SpaRouterConfig, framework?: string): () => void;
23
+ export { navigateTo, redirectTo, navigateBack, switchTab, reLaunch, getCurrentPages, history, createMultiRouter, createRouter };
package/dist/index.cjs.js CHANGED
@@ -13,7 +13,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
13
13
  var queryString__default = /*#__PURE__*/_interopDefaultLegacy(queryString);
14
14
  var UniversalRouter__default = /*#__PURE__*/_interopDefaultLegacy(UniversalRouter);
15
15
 
16
- /******************************************************************************
16
+ /*! *****************************************************************************
17
17
  Copyright (c) Microsoft Corporation.
18
18
 
19
19
  Permission to use, copy, modify, and/or distribute this software for any
@@ -41,6 +41,7 @@ function __awaiter(thisArg, _arguments, P, generator) {
41
41
  const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);
42
42
  const hasBasename = (path = '', prefix = '') => new RegExp('^' + prefix + '(\\/|\\?|#|$)', 'i').test(path) || path === prefix;
43
43
  const stripBasename = (path = '', prefix = '') => hasBasename(path, prefix) ? path.substr(prefix.length) : path;
44
+ const stripTrailing = (str = '') => str.replace(/[?#][\s\S]*$/, '');
44
45
  class RoutesAlias {
45
46
  constructor() {
46
47
  this.conf = [];
@@ -373,7 +374,8 @@ function bindPageScroll(page, pageEl, distance = 50) {
373
374
  pageDOM = pageEl;
374
375
  let isReachBottom = false;
375
376
  pageScrollFn = function () {
376
- page.onPageScroll && page.onPageScroll({
377
+ var _a;
378
+ (_a = page.onPageScroll) === null || _a === void 0 ? void 0 : _a.call(page, {
377
379
  scrollTop: pageDOM instanceof Window ? window.scrollY : pageDOM.scrollTop
378
380
  });
379
381
  if (isReachBottom && getOffset() > distance) {
@@ -425,6 +427,7 @@ function initTabbar(config) {
425
427
  taro.initTabBarApis(config);
426
428
  }
427
429
 
430
+ /* eslint-disable dot-notation */
428
431
  class MultiPageHandler {
429
432
  constructor(config) {
430
433
  this.config = config;
@@ -545,6 +548,7 @@ function createMultiRouter(app, config, framework) {
545
548
  const handler = new MultiPageHandler(config);
546
549
  const launchParam = handler.getQuery();
547
550
  (_a = app.onLaunch) === null || _a === void 0 ? void 0 : _a.call(app, launchParam);
551
+ app.onError && window.addEventListener('error', e => { var _a; return (_a = app.onError) === null || _a === void 0 ? void 0 : _a.call(app, e.message); });
548
552
  const pathName = config.pageName;
549
553
  const pageConfig = handler.pageConfig;
550
554
  let element;
@@ -608,6 +612,7 @@ function loadAnimateStyle(ms = 300) {
608
612
  document.getElementsByTagName('head')[0].appendChild(style);
609
613
  }
610
614
 
615
+ /* eslint-disable dot-notation */
611
616
  function setDisplay(el, type = '') {
612
617
  if (el) {
613
618
  el.style.display = type;
@@ -670,7 +675,7 @@ class PageHandler {
670
675
  }
671
676
  return false;
672
677
  })) === null || _a === void 0 ? void 0 : _a[0]) || routePath;
673
- return !!pagePath && this.tabBarList.some(t => t.pagePath === pagePath);
678
+ return !!pagePath && this.tabBarList.some(t => stripTrailing(t.pagePath) === pagePath);
674
679
  }
675
680
  isSamePage(page) {
676
681
  const routePath = stripBasename(this.pathname, this.basename);
@@ -897,6 +902,7 @@ function createRouter(app, config, framework) {
897
902
  const router = new UniversalRouter__default["default"](routes, { baseUrl: basename || '' });
898
903
  const launchParam = handler.getQuery(stacks.length);
899
904
  (_a = app.onLaunch) === null || _a === void 0 ? void 0 : _a.call(app, launchParam);
905
+ app.onError && window.addEventListener('error', e => { var _a; return (_a = app.onError) === null || _a === void 0 ? void 0 : _a.call(app, e.message); });
900
906
  const render = ({ location, action }) => __awaiter(this, void 0, void 0, function* () {
901
907
  var _c, _d, _e, _f;
902
908
  handler.pathname = decodeURI(location.pathname);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../../node_modules/tslib/tslib.es6.js","../src/utils.ts","../src/router/index.ts","../src/history.ts","../src/router/stack.ts","../src/api.ts","../src/events/resize.ts","../src/events/scroll.ts","../src/tabbar.ts","../src/router/multi-page.ts","../src/router/mpa.ts","../src/animation.ts","../src/router/page.ts","../src/router/spa.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["history","Action","createBrowserHistory","createHashHistory","parsePath","initTabBarApis","queryString","Current","eventCenter","createPageConfig","hooks","stringify","requestAnimationFrame","UniversalRouter","LocationAction"],"mappings":"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"}
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/events/resize.ts","../src/events/scroll.ts","../src/tabbar.ts","../src/router/multi-page.ts","../src/router/mpa.ts","../src/animation.ts","../src/router/page.ts","../src/router/spa.ts"],"sourcesContent":["export const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url)\n\nexport const hasBasename = (path = '', prefix = '') =>\n new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path) || path === prefix\n\nexport const stripBasename = (path = '', prefix = '') =>\n hasBasename(path, prefix) ? path.substr(prefix.length) : path\n\nexport const stripTrailing = (str = '') => str.replace(/[?#][\\s\\S]*$/, '')\n\nclass RoutesAlias {\n conf: Array<string[]> = []\n\n set (customRoutes: Record<string, string | string[]> = {}) {\n for (let key in customRoutes) {\n const path = customRoutes[key]\n key = addLeadingSlash(key)\n if (typeof path === 'string') {\n this.conf.push([key, addLeadingSlash(path)])\n } else if (path?.length > 0) {\n this.conf.push(...path.map(p => [key, addLeadingSlash(p)]))\n }\n }\n }\n\n getConfig = (url = '') => {\n const customRoute = this.conf.filter((arr) => {\n return arr.includes(url)\n })\n return customRoute[0]\n }\n\n getOrigin = (url = '') => {\n return this.getConfig(url)?.[0] || url\n }\n\n getAlias = (url = '') => {\n return this.getConfig(url)?.[1] || url\n }\n\n getAll = (url = '') => {\n return this.conf\n .filter((arr) => arr.includes(url))\n .reduceRight((p, a) => {\n p.unshift(a[1])\n return p\n }, [])\n }\n}\n\nexport const routesAlias = new RoutesAlias()\n","import type { MpaRouterConfig, SpaRouterConfig } from '../../types/router'\nimport { addLeadingSlash } from '../utils'\n\nexport class RouterConfig {\n private static __config: SpaRouterConfig | MpaRouterConfig\n\n static set config (e: SpaRouterConfig | MpaRouterConfig) {\n this.__config = e\n }\n\n static get config () {\n return this.__config\n }\n\n static get pages () {\n return this.config.pages || []\n }\n\n static get router () {\n return this.config.router || {}\n }\n\n static get mode () {\n return this.router.mode || 'hash'\n }\n\n static get customRoutes () { return this.router.customRoutes || {} }\n\n static isPage (url = '') {\n return this.pages.findIndex(e => addLeadingSlash(e) === url) !== -1\n }\n}\n","import { IH5RouterConfig } from '@tarojs/taro/types/compile'\nimport { Action, Blocker, BrowserHistoryOptions, createBrowserHistory, createHashHistory, History, Listener, Location, Path, To } from 'history'\n\nimport type { StateEvent } from '../types/history'\nimport { RouterConfig } from './router'\n\nexport let history: History\n\nlet basename = '/'\n\nclass MpaHistory implements History {\n action: Action\n get location (): Location {\n return {\n pathname: window.location.pathname,\n search: window.location.search,\n hash: window.location.hash,\n key: `${window.history.length}`,\n state: window.history.state\n }\n }\n\n createHref (_to: To): string {\n throw new Error('Method not implemented.')\n }\n\n parseUrl (to: Partial<Path>) {\n let url = to.pathname || ''\n if (RouterConfig.isPage(url)) {\n url += '.html'\n }\n if (to.search) {\n url += `?${to.search}`\n }\n if (to.hash) {\n url += `#${to.hash}`\n }\n return url\n }\n\n push (to: Partial<Path>, _state: Record<string, unknown> = {}): void {\n window.location.pathname = this.parseUrl(to)\n // this.pushState(_state, '', this.parseUrl(to))\n }\n\n replace (to: Partial<Path>, _state: Record<string, unknown> = {}): void {\n window.location.replace(this.parseUrl(to))\n // this.replaceState(_state, '', this.parseUrl(to))\n }\n\n go (delta: number): void {\n window.history.go(delta)\n }\n\n back = window.history.back\n\n forward = window.history.forward\n\n listen (listener: Listener): () => void {\n function callback (e: StateEvent) {\n if (e.action === 'pushState') {\n listener({ action: Action.Push, location: this.location })\n } else if (e.action === 'replaceState') {\n listener({ action: Action.Replace, location: this.location })\n } else {\n // NOTE: 这里包括 back、forward、go 三种可能,并非是 POP 事件\n listener({ action: Action.Pop, location: this.location })\n }\n }\n window.addEventListener('popstate', callback)\n return () => {\n window.removeEventListener('popstate', callback)\n }\n }\n\n block (_blocker: Blocker): () => void {\n throw new Error('Method not implemented.')\n }\n\n pushState: globalThis.History['pushState'] = this.eventState('pushState')\n replaceState: globalThis.History['replaceState'] = this.eventState('replaceState')\n\n eventState (action: Required<StateEvent>['action']) {\n return (data: any, unused: string, url?: string | URL | null) => {\n const wrapper = window.history[action](data, unused, url)\n const evt: StateEvent = new Event(action)\n\n evt.action = action\n evt.state = data\n evt.unused = unused\n evt.url = url\n window.dispatchEvent(evt)\n return wrapper\n }\n }\n}\n\nexport function setHistoryMode (mode?: IH5RouterConfig['mode'], base = '/') {\n const options: BrowserHistoryOptions = {\n window\n }\n basename = base\n\n if (mode === 'browser') {\n history = createBrowserHistory(options)\n } else if (mode === 'multi') {\n history = new MpaHistory()\n } else {\n // default is hash\n history = createHashHistory(options)\n }\n}\n\nexport function prependBasename (url = '') {\n return basename.replace(/\\/$/, '') + '/' + url.replace(/^\\//, '')\n}\n","import { PageInstance } from '@tarojs/runtime'\n\nclass Stacks {\n stacks: PageInstance[] = []\n\n backDelta = 0\n\n set delta (delta: number) {\n if (delta > 0) {\n this.backDelta = delta\n } else if (this.backDelta > 0) {\n --this.backDelta\n } else {\n this.backDelta = 0\n }\n }\n\n get delta () {\n return this.backDelta\n }\n\n get length () {\n return this.stacks.length\n }\n\n get last () {\n return this.stacks[this.length - 1]\n }\n\n get () {\n return this.stacks\n }\n\n getItem (index: number) {\n return this.stacks[index]\n }\n\n getLastIndex (pathname: string, stateWith = 1) {\n const list = [...this.stacks].reverse()\n return list.findIndex((page, i) => i >= stateWith && page.path?.replace(/\\?.*/g, '') === pathname)\n }\n\n getDelta (pathname: string) {\n if (this.backDelta >= 1) {\n return this.backDelta\n }\n const index = this.getLastIndex(pathname)\n // NOTE: 此处为了修复浏览器后退多级页面,在大量重复路由状况下可能出现判断错误的情况 (增强判断能力只能考虑在 query 中新增参数来判断,暂时搁置)\n return index > 0 ? index : 1\n }\n\n getPrevIndex (pathname: string, stateWith = 1) {\n const lastIndex = this.getLastIndex(pathname, stateWith)\n if (lastIndex < 0) {\n return -1\n }\n return this.length - 1 - lastIndex\n }\n\n pop () {\n return this.stacks.pop()\n }\n\n push (page: PageInstance) {\n return this.stacks.push(page)\n }\n}\n\nconst stacks = new Stacks()\n\nexport default stacks\n","import Taro from '@tarojs/taro'\nimport { parsePath } from 'history'\n\nimport type { NavigateBackOption, Option } from '../types/api'\nimport { history, prependBasename } from './history'\nimport { RouterConfig } from './router'\nimport stacks from './router/stack'\nimport { addLeadingSlash, routesAlias } from './utils'\n\ntype MethodName = 'navigateTo' | 'navigateBack' | 'switchTab' | 'redirectTo' | 'reLaunch'\n\nfunction processNavigateUrl (option: Option) {\n const pathPieces = parsePath(option.url)\n\n // 处理相对路径\n if (pathPieces.pathname?.includes('./')) {\n const parts = routesAlias.getOrigin(history.location.pathname).split('/')\n parts.pop()\n pathPieces.pathname.split('/').forEach((item) => {\n if (item === '.') {\n return\n }\n item === '..' ? parts.pop() : parts.push(item)\n })\n pathPieces.pathname = parts.join('/')\n }\n\n // 处理自定义路由\n pathPieces.pathname = routesAlias.getAlias(addLeadingSlash(pathPieces.pathname))\n\n // 处理 basename\n pathPieces.pathname = prependBasename(pathPieces.pathname)\n\n // hack fix history v5 bug: https://github.com/remix-run/history/issues/814\n if (!pathPieces.search) pathPieces.search = ''\n\n return pathPieces\n}\n\nasync function navigate (option: Option | NavigateBackOption, method: MethodName) {\n return new Promise<TaroGeneral.CallbackResult>((resolve, reject) => {\n const { success, complete, fail } = option\n const unListen = history.listen(() => {\n const res = { errMsg: `${method}:ok` }\n success?.(res)\n complete?.(res)\n resolve(res)\n unListen()\n })\n\n try {\n if ('url' in option) {\n const pathPieces = processNavigateUrl(option)\n const state = { timestamp: Date.now() }\n if (method === 'navigateTo') {\n history.push(pathPieces, state)\n } else if (method === 'redirectTo' || method === 'switchTab') {\n history.replace(pathPieces, state)\n } else if (method === 'reLaunch') {\n stacks.delta = stacks.length\n history.replace(pathPieces, state)\n }\n } else if (method === 'navigateBack') {\n stacks.delta = option.delta\n history.go(-option.delta)\n }\n } catch (error) {\n const res = { errMsg: `${method}:fail ${error.message || error}` }\n fail?.(res)\n complete?.(res)\n reject(res)\n }\n })\n}\n\nexport function navigateTo (option: Taro.navigateTo.Option): ReturnType<typeof Taro.navigateTo> {\n return navigate(option, 'navigateTo')\n}\n\nexport function redirectTo (option: Taro.redirectTo.Option): ReturnType<typeof Taro.redirectTo> {\n return navigate(option, 'redirectTo')\n}\n\nexport function navigateBack (option: Taro.navigateBack.Option = { delta: 1 }): ReturnType<typeof Taro.navigateBack> {\n if (!option.delta || option.delta < 1) {\n option.delta = 1\n }\n return navigate(option as NavigateBackOption, 'navigateBack')\n}\n\nexport function switchTab (option: Taro.switchTab.Option): ReturnType<typeof Taro.switchTab> {\n return navigate(option, 'switchTab')\n}\n\nexport function reLaunch (option: Taro.reLaunch.Option): ReturnType<typeof Taro.reLaunch> {\n return navigate(option, 'reLaunch')\n}\n\nexport function getCurrentPages (): Taro.Page[] {\n if (process.env.NODE_ENV === 'development' && RouterConfig.mode === 'multi') {\n console.warn('多页面路由模式不支持使用 getCurrentPages 方法!')\n }\n const pages = stacks.get()\n return pages.map(e => ({ ...e, route: e.path || '' }))\n}\n","import { PageInstance } from '@tarojs/runtime'\n\nlet pageResizeFn\n\nexport function bindPageResize (page: PageInstance) {\n pageResizeFn && window.removeEventListener('resize', pageResizeFn)\n\n pageResizeFn = function () {\n page.onResize && page.onResize({\n size: {\n windowHeight: window.innerHeight,\n windowWidth: window.innerWidth\n }\n })\n }\n\n window.addEventListener('resize', pageResizeFn, false)\n}\n","import { PageInstance } from '@tarojs/runtime'\n\nlet pageScrollFn\nlet pageDOM: Element | Window = window\n\nexport function bindPageScroll (page: PageInstance, pageEl: HTMLElement, distance = 50) {\n pageScrollFn && pageEl.removeEventListener('scroll', pageScrollFn)\n pageDOM = pageEl\n\n let isReachBottom = false\n\n pageScrollFn = function () {\n page.onPageScroll?.({\n scrollTop: pageDOM instanceof Window ? window.scrollY : pageDOM.scrollTop\n })\n\n if (isReachBottom && getOffset() > distance) {\n isReachBottom = false\n }\n\n if (\n page.onReachBottom &&\n !isReachBottom &&\n getOffset() < distance\n ) {\n isReachBottom = true\n page.onReachBottom()\n }\n }\n\n pageDOM.addEventListener('scroll', pageScrollFn, false)\n}\n\nfunction getOffset () {\n if (pageDOM instanceof Window) {\n return document.documentElement.scrollHeight - window.scrollY - window.innerHeight\n } else {\n return pageDOM.scrollHeight - pageDOM.scrollTop - pageDOM.clientHeight\n }\n}\n","// @ts-nocheck\nimport { AppConfig, initTabBarApis } from '@tarojs/taro'\n\nimport { history } from './history'\n\nexport function initTabbar (config: AppConfig) {\n if (config.tabBar == null) {\n return\n }\n\n // TODO: custom-tab-bar\n const tabbar = document.createElement('taro-tabbar') as HTMLDivElement\n const homePage = config.entryPagePath || (config.pages ? config.pages[0] : '')\n tabbar.conf = config.tabBar\n tabbar.conf.homePage = history.location.pathname === '/' ? homePage : history.location.pathname\n const routerConfig = (config as any).router\n tabbar.conf.mode = routerConfig && routerConfig.mode ? routerConfig.mode : 'hash'\n if (routerConfig.customRoutes) {\n tabbar.conf.custom = true\n tabbar.conf.customRoutes = routerConfig.customRoutes\n } else {\n tabbar.conf.custom = false\n tabbar.conf.customRoutes = {}\n }\n if (typeof routerConfig.basename !== 'undefined') {\n tabbar.conf.basename = routerConfig.basename\n }\n const container = document.getElementById('container')\n container?.appendChild(tabbar)\n initTabBarApis(config)\n}\n","/* eslint-disable dot-notation */\nimport { Current, PageInstance } from '@tarojs/runtime'\nimport { PageConfig } from '@tarojs/taro'\nimport queryString from 'query-string'\n\nimport type { MpaRouterConfig, Route } from '../../types/router'\nimport { bindPageResize } from '../events/resize'\nimport { bindPageScroll } from '../events/scroll'\nimport { setHistoryMode } from '../history'\nimport { initTabbar } from '../tabbar'\nimport { stripBasename } from '../utils'\n\nexport default class MultiPageHandler {\n protected config: MpaRouterConfig\n\n constructor (config: MpaRouterConfig) {\n this.config = config\n this.mount()\n }\n\n get appId () { return 'app' }\n get router () { return this.config.router }\n get routerMode () { return this.router.mode || 'hash' }\n get customRoutes () { return this.router.customRoutes || {} }\n get tabBarList () { return this.config.tabBar?.list || [] }\n get PullDownRefresh () { return this.config.PullDownRefresh }\n\n set pathname (p) { this.router.pathname = p }\n get pathname () { return this.router.pathname }\n get basename () { return this.router.basename || '' }\n get pageConfig () { return this.config.route }\n\n get isTabBar () {\n const routePath = stripBasename(this.pathname, this.basename)\n const pagePath = Object.entries(this.customRoutes).find(\n ([, target]) => {\n if (typeof target === 'string') {\n return target === routePath\n } else if (target?.length > 0) {\n return target.includes(routePath)\n }\n return false\n }\n )?.[0] || routePath\n\n return !!pagePath && this.tabBarList.some(t => t.pagePath === pagePath)\n }\n\n get search () { return location.search.substr(1) }\n\n getQuery (search = '', options: Record<string, unknown> = {}) {\n search = search ? `${search}&${this.search}` : this.search\n const query = search\n ? queryString.parse(search)\n : {}\n return { ...query, ...options }\n }\n\n mount () {\n setHistoryMode(this.routerMode, this.router.basename)\n document.getElementById('app')?.remove()\n\n const app = document.createElement('div')\n app.id = this.appId\n app.classList.add('taro_router')\n\n if (this.tabBarList.length > 1) {\n const container = document.createElement('div')\n container.classList.add('taro-tabbar__container')\n container.id = 'container'\n\n const panel = document.createElement('div')\n panel.classList.add('taro-tabbar__panel')\n\n panel.appendChild(app)\n container.appendChild(panel)\n\n document.body.appendChild(container)\n\n initTabbar(this.config)\n } else {\n document.body.appendChild(app)\n }\n }\n\n onReady (page: PageInstance, onLoad = true) {\n const pageEl = this.getPageContainer(page)\n if (pageEl && !pageEl?.['__isReady']) {\n const el = pageEl.firstElementChild\n el?.['componentOnReady']?.()\n onLoad && (pageEl['__page'] = page)\n }\n }\n\n load (page: PageInstance, pageConfig: Route = {}) {\n if (!page) return\n\n page.onLoad?.(this.getQuery('', page.options), () => {\n const pageEl = this.getPageContainer(page)\n this.isTabBar && pageEl?.classList.add('taro_tabbar_page')\n this.onReady(page, true)\n page.onShow?.()\n this.bindPageEvents(page, pageEl, pageConfig)\n })\n }\n\n getPageContainer (page?: PageInstance | null): HTMLElement | null {\n const path = page ? page?.path : Current.page?.path\n const id = path?.replace(/([^a-z0-9\\u00a0-\\uffff_-])/ig, '\\\\$1')\n if (page) {\n return document.querySelector(`.taro_page#${id}`)\n }\n const el: HTMLDivElement | null = (id\n ? document.querySelector(`.taro_page#${id}`)\n : document.querySelector('.taro_page') ||\n document.querySelector('.taro_router')) as HTMLDivElement\n return el || window\n }\n\n bindPageEvents (page: PageInstance, pageEl?: HTMLElement | null, config: Partial<PageConfig> = {}) {\n if (!pageEl) {\n pageEl = this.getPageContainer() as HTMLElement\n }\n const distance = config.onReachBottomDistance || this.config.window?.onReachBottomDistance || 50\n bindPageScroll(page, pageEl, distance)\n bindPageResize(page)\n }\n}\n","/* eslint-disable dot-notation */\nimport {\n AppInstance,\n createPageConfig,\n eventCenter, hooks,\n stringify\n} from '@tarojs/runtime'\n\nimport type { MpaRouterConfig } from '../../types/router'\nimport { RouterConfig } from '.'\nimport MultiPageHandler from './multi-page'\n\n// TODO 支持多路由 (APP 生命周期仅触发一次)\n/** Note: 关于多页面应用\n * - 需要配置路由映射(根目录跳转、404 页面……)\n * - app.onPageNotFound 事件不支持\n * - 应用生命周期可能多次触发\n * - TabBar 会多次加载\n * - 不支持路由动画\n */\n\nexport async function createMultiRouter (\n app: AppInstance,\n config: MpaRouterConfig,\n framework?: string\n) {\n RouterConfig.config = config\n const handler = new MultiPageHandler(config)\n const launchParam = handler.getQuery()\n app.onLaunch?.(launchParam)\n app.onError && window.addEventListener('error', e => app.onError?.(e.message))\n\n const pathName = config.pageName\n const pageConfig = handler.pageConfig\n let element\n try {\n element = await pageConfig.load?.()\n } catch (error) {\n throw new Error(error)\n }\n if (!element) return\n let enablePullDownRefresh = config?.window?.enablePullDownRefresh || false\n\n eventCenter.trigger('__taroRouterChange', {\n toLocation: {\n path: pathName\n }\n })\n\n if (pageConfig) {\n document.title = pageConfig.navigationBarTitleText ?? document.title\n if (typeof pageConfig.enablePullDownRefresh === 'boolean') {\n enablePullDownRefresh = pageConfig.enablePullDownRefresh\n }\n }\n\n const el = element.default ?? element\n const loadConfig = { ...pageConfig }\n delete loadConfig['path']\n delete loadConfig['load']\n const page = createPageConfig(\n enablePullDownRefresh ? hooks.call('createPullDownComponent', el, location.pathname, framework, config.PullDownRefresh) : el,\n pathName + stringify(launchParam),\n {},\n loadConfig\n )\n handler.load(page, pageConfig)\n\n app.onShow?.(launchParam)\n}\n","/**\n * 插入页面动画需要的样式\n */\nexport function loadAnimateStyle (ms = 300) {\n const css = `\n.taro_router .taro_page {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: #fff;\n transform: translate(100%, 0);\n transition: transform ${ms}ms;\n z-index: 0;\n}\n\n.taro_router .taro_page.taro_tabbar_page,\n.taro_router .taro_page.taro_page_show.taro_page_stationed {\n transform: none;\n}\n\n.taro_router .taro_page.taro_page_show {\n transform: translate(0, 0);\n}`\n\n const style = document.createElement('style')\n style.innerHTML = css\n document.getElementsByTagName('head')[0].appendChild(style)\n}\n","/* eslint-disable dot-notation */\nimport { Current, PageInstance, requestAnimationFrame } from '@tarojs/runtime'\nimport { PageConfig, RouterAnimate } from '@tarojs/taro'\nimport queryString from 'query-string'\n\nimport type { Route, SpaRouterConfig } from '../../types/router'\nimport { loadAnimateStyle } from '../animation'\nimport { bindPageResize } from '../events/resize'\nimport { bindPageScroll } from '../events/scroll'\nimport { setHistoryMode } from '../history'\nimport { initTabbar } from '../tabbar'\nimport { addLeadingSlash, routesAlias, stripBasename, stripTrailing } from '../utils'\nimport stacks from './stack'\n\nfunction setDisplay (el?: HTMLElement | null, type = '') {\n if (el) {\n el.style.display = type\n }\n}\n\nexport default class PageHandler {\n protected config: SpaRouterConfig\n protected readonly defaultAnimation: RouterAnimate = { duration: 300, delay: 50 }\n protected unloadTimer: ReturnType<typeof setTimeout> | null\n protected hideTimer: ReturnType<typeof setTimeout> | null\n protected lastHidePage: HTMLElement | null\n protected lastUnloadPage: PageInstance | null\n\n constructor (config: SpaRouterConfig) {\n this.config = config\n this.mount()\n }\n\n get appId () { return 'app' }\n get router () { return this.config.router }\n get routerMode () { return this.router.mode || 'hash' }\n get customRoutes () { return this.router.customRoutes || {} }\n get routes () { return this.config.routes }\n get tabBarList () { return this.config.tabBar?.list || [] }\n get PullDownRefresh () { return this.config.PullDownRefresh }\n get animation () { return this.config?.animation ?? this.defaultAnimation }\n get animationDelay () {\n return (typeof this.animation === 'object'\n ? this.animation.delay\n : this.animation\n ? this.defaultAnimation?.delay\n : 0) || 0\n }\n\n get animationDuration () {\n return (typeof this.animation === 'object'\n ? this.animation.duration\n : this.animation\n ? this.defaultAnimation?.duration\n : 0) || 0\n }\n\n set pathname (p) { this.router.pathname = p }\n get pathname () { return this.router.pathname }\n get basename () { return this.router.basename || '' }\n\n get homePage () {\n return this.config.entryPagePath || this.routes[0].path || this.basename\n }\n\n get pageConfig () {\n const routePath = stripBasename(this.pathname, this.basename)\n const homePage = this.homePage\n return this.routes.find(r => {\n const pagePath = addLeadingSlash(r.path)\n return [pagePath, homePage].includes(routePath) || routesAlias.getConfig(pagePath)?.includes(routePath)\n })\n }\n\n get isTabBar () {\n const routePath = stripBasename(this.pathname, this.basename)\n const pagePath = Object.entries(this.customRoutes).find(\n ([, target]) => {\n if (typeof target === 'string') {\n return target === routePath\n } else if (target?.length > 0) {\n return target.includes(routePath)\n }\n return false\n }\n )?.[0] || routePath\n\n return !!pagePath && this.tabBarList.some(t => stripTrailing(t.pagePath) === pagePath)\n }\n\n isSamePage (page?: PageInstance | null) {\n const routePath = stripBasename(this.pathname, this.basename)\n const pagePath = stripBasename(page?.path, this.basename)\n return pagePath.startsWith(routePath + '?')\n }\n\n get search () {\n let search = '?'\n if (this.routerMode === 'hash') {\n const idx = location.hash.indexOf('?')\n if (idx > -1) {\n search = location.hash.slice(idx)\n }\n } else {\n search = location.search\n }\n return search.substr(1)\n }\n\n getQuery (stamp = 0, search = '', options: Record<string, unknown> = {}) {\n search = search ? `${search}&${this.search}` : this.search\n const query = search\n ? queryString.parse(search, { decode: false })\n : {}\n\n query.stamp = stamp.toString()\n return { ...query, ...options }\n }\n\n mount () {\n setHistoryMode(this.routerMode, this.router.basename)\n document.getElementById('app')?.remove()\n\n this.animation && loadAnimateStyle(this.animationDuration)\n\n const app = document.createElement('div')\n app.id = this.appId\n app.classList.add('taro_router')\n\n if (this.tabBarList.length > 1) {\n const container = document.createElement('div')\n container.classList.add('taro-tabbar__container')\n container.id = 'container'\n\n const panel = document.createElement('div')\n panel.classList.add('taro-tabbar__panel')\n\n panel.appendChild(app)\n container.appendChild(panel)\n\n document.body.appendChild(container)\n\n initTabbar(this.config)\n } else {\n document.body.appendChild(app)\n }\n }\n\n onReady (page: PageInstance, onLoad = true) {\n const pageEl = this.getPageContainer(page)\n if (pageEl && !pageEl?.['__isReady']) {\n const el = pageEl.firstElementChild\n el?.['componentOnReady']?.()?.then(() => {\n requestAnimationFrame(() => {\n page.onReady?.()\n pageEl!['__isReady'] = true\n })\n })\n onLoad && (pageEl['__page'] = page)\n }\n }\n\n load (page: PageInstance, pageConfig: Route = {}, stacksIndex = 0) {\n if (!page) return\n\n // NOTE: 页面栈推入太晚可能导致 getCurrentPages 无法获取到当前页面实例\n stacks.push(page)\n const param = this.getQuery(stacks.length, '', page.options)\n let pageEl = this.getPageContainer(page)\n if (pageEl) {\n setDisplay(pageEl)\n this.isTabBar && pageEl.classList.add('taro_tabbar_page')\n this.addAnimation(pageEl, stacksIndex === 0)\n page.onShow?.()\n this.bindPageEvents(page, pageEl, pageConfig)\n } else {\n page.onLoad?.(param, () => {\n pageEl = this.getPageContainer(page)\n this.isTabBar && pageEl?.classList.add('taro_tabbar_page')\n this.addAnimation(pageEl, stacksIndex === 0)\n this.onReady(page, true)\n page.onShow?.()\n this.bindPageEvents(page, pageEl, pageConfig)\n })\n }\n }\n\n unload (page?: PageInstance | null, delta = 1, top = false) {\n if (!page) return\n\n stacks.delta = --delta\n stacks.pop()\n if (this.animation && top) {\n if (this.unloadTimer) {\n clearTimeout(this.unloadTimer)\n this.lastUnloadPage?.onUnload?.()\n this.unloadTimer = null\n }\n this.lastUnloadPage = page\n const pageEl = this.getPageContainer(page)\n pageEl?.classList.remove('taro_page_stationed')\n pageEl?.classList.remove('taro_page_show')\n\n this.unloadTimer = setTimeout(() => {\n this.unloadTimer = null\n this.lastUnloadPage?.onUnload?.()\n }, this.animationDuration)\n } else {\n const pageEl = this.getPageContainer(page)\n pageEl?.classList.remove('taro_page_stationed')\n pageEl?.classList.remove('taro_page_show')\n page?.onUnload?.()\n }\n if (delta >= 1) this.unload(stacks.last, delta)\n }\n\n show (page?: PageInstance | null, pageConfig: Route = {}, stacksIndex = 0) {\n if (!page) return\n\n const param = this.getQuery(stacks.length, '', page.options)\n let pageEl = this.getPageContainer(page)\n if (pageEl) {\n setDisplay(pageEl)\n this.addAnimation(pageEl, stacksIndex === 0)\n page.onShow?.()\n this.bindPageEvents(page, pageEl, pageConfig)\n } else {\n page.onLoad?.(param, () => {\n pageEl = this.getPageContainer(page)\n this.addAnimation(pageEl, stacksIndex === 0)\n this.onReady(page, false)\n page.onShow?.()\n this.bindPageEvents(page, pageEl, pageConfig)\n })\n }\n }\n\n hide (page?: PageInstance | null) {\n if (!page) return\n\n // NOTE: 修复多页并发问题,此处可能因为路由跳转过快,执行时页面可能还没有创建成功\n const pageEl = this.getPageContainer(page)\n if (pageEl) {\n if (this.hideTimer) {\n clearTimeout(this.hideTimer)\n this.hideTimer = null\n setDisplay(this.lastHidePage, 'none')\n }\n this.lastHidePage = pageEl\n this.hideTimer = setTimeout(() => {\n this.hideTimer = null\n setDisplay(this.lastHidePage, 'none')\n }, this.animationDuration + this.animationDelay)\n page.onHide?.()\n } else {\n setTimeout(() => this.hide(page), 0)\n }\n }\n\n addAnimation (pageEl?: HTMLElement | null, first = false) {\n if (!pageEl) return\n\n if (this.animation && !first) {\n setTimeout(() => {\n pageEl.classList.add('taro_page_show')\n setTimeout(() => {\n pageEl.classList.add('taro_page_stationed')\n }, this.animationDuration)\n }, this.animationDelay)\n } else {\n pageEl.classList.add('taro_page_show')\n pageEl.classList.add('taro_page_stationed')\n }\n }\n\n getPageContainer (page?: PageInstance | null): HTMLElement | null {\n const path = page ? page?.path : Current.page?.path\n const id = path?.replace(/([^a-z0-9\\u00a0-\\uffff_-])/ig, '\\\\$1')\n if (page) {\n return document.querySelector(`.taro_page#${id}`)\n }\n const el: HTMLDivElement | null = (id\n ? document.querySelector(`.taro_page#${id}`)\n : document.querySelector('.taro_page') ||\n document.querySelector('.taro_router')) as HTMLDivElement\n return el || window\n }\n\n bindPageEvents (page: PageInstance, pageEl?: HTMLElement | null, config: Partial<PageConfig> = {}) {\n if (!pageEl) {\n pageEl = this.getPageContainer() as HTMLElement\n }\n const distance = config.onReachBottomDistance || this.config.window?.onReachBottomDistance || 50\n bindPageScroll(page, pageEl, distance)\n bindPageResize(page)\n }\n}\n","/* eslint-disable dot-notation */\nimport {\n AppInstance,\n createPageConfig, Current,\n eventCenter, hooks,\n stringify\n} from '@tarojs/runtime'\nimport { Action as LocationAction, Listener as LocationListener } from 'history'\nimport UniversalRouter, { Routes } from 'universal-router'\n\nimport type { SpaRouterConfig } from '../../types/router'\nimport { history, prependBasename } from '../history'\nimport { addLeadingSlash, routesAlias, stripBasename } from '../utils'\nimport { RouterConfig } from '.'\nimport PageHandler from './page'\nimport stacks from './stack'\n\nexport function createRouter (\n app: AppInstance,\n config: SpaRouterConfig,\n framework?: string\n) {\n RouterConfig.config = config\n const handler = new PageHandler(config)\n\n routesAlias.set(handler.router.customRoutes)\n const basename = handler.router.basename\n const routes: Routes = handler.routes.map(route => {\n const routePath = addLeadingSlash(route.path)\n const paths = routesAlias.getAll(routePath)\n return {\n path: paths.length < 1 ? routePath : paths,\n action: route.load\n }\n })\n const router = new UniversalRouter(routes, { baseUrl: basename || '' })\n const launchParam = handler.getQuery(stacks.length)\n app.onLaunch?.(launchParam)\n app.onError && window.addEventListener('error', e => app.onError?.(e.message))\n\n const render: LocationListener = async ({ location, action }) => {\n handler.pathname = decodeURI(location.pathname)\n let element, params\n try {\n const result = await router.resolve(handler.router.forcePath || handler.pathname)\n ;[element, , params] = await Promise.all(result)\n } catch (error) {\n if (error.status === 404) {\n app.onPageNotFound?.({\n path: handler.pathname\n })\n } else {\n throw new Error(error)\n }\n }\n if (!element) return\n const pageConfig = handler.pageConfig\n let enablePullDownRefresh = config?.window?.enablePullDownRefresh || false\n\n eventCenter.trigger('__taroRouterChange', {\n toLocation: {\n path: handler.pathname\n }\n })\n\n if (pageConfig) {\n document.title = pageConfig.navigationBarTitleText ?? document.title\n if (typeof pageConfig.enablePullDownRefresh === 'boolean') {\n enablePullDownRefresh = pageConfig.enablePullDownRefresh\n }\n }\n\n const currentPage = Current.page\n const pathname = handler.pathname\n let shouldLoad = false\n\n if (action === 'POP') {\n // NOTE: 浏览器事件退后多次时,该事件只会被触发一次\n const prevIndex = stacks.getPrevIndex(pathname)\n const delta = stacks.getDelta(pathname)\n handler.unload(currentPage, delta, prevIndex > -1)\n if (prevIndex > -1) {\n handler.show(stacks.getItem(prevIndex), pageConfig, prevIndex)\n } else {\n shouldLoad = true\n }\n } else {\n if (handler.isTabBar) {\n if (handler.isSamePage(currentPage)) return\n const prevIndex = stacks.getPrevIndex(pathname, 0)\n handler.hide(currentPage)\n if (prevIndex > -1) {\n // NOTE: tabbar 页且之前出现过,直接复用\n return handler.show(stacks.getItem(prevIndex), pageConfig, prevIndex)\n }\n } else if (action === 'REPLACE') {\n const delta = stacks.getDelta(pathname)\n // NOTE: 页面路由记录并不会清空,只是移除掉缓存的 stack 以及页面\n handler.unload(currentPage, delta)\n } else if (action === 'PUSH') {\n handler.hide(currentPage)\n }\n shouldLoad = true\n }\n\n if (shouldLoad || stacks.length < 1) {\n const el = element.default ?? element\n const loadConfig = { ...pageConfig }\n const stacksIndex = stacks.length\n delete loadConfig['path']\n delete loadConfig['load']\n\n const page = createPageConfig(\n enablePullDownRefresh ? hooks.call('createPullDownComponent', el, location.pathname, framework, handler.PullDownRefresh) : el,\n pathname + stringify(handler.getQuery(stacksIndex)),\n {},\n loadConfig\n )\n if (params) page.options = params\n return handler.load(page, pageConfig, stacksIndex)\n }\n }\n\n const routePath = stripBasename(history.location.pathname, handler.basename)\n if (routePath === '/' || routePath === '') {\n history.replace(prependBasename(handler.homePage + history.location.search))\n }\n\n render({ location: history.location, action: LocationAction.Push })\n\n app.onShow?.(launchParam)\n\n return history.listen(render)\n}\n"],"names":["history","Action","createBrowserHistory","createHashHistory","parsePath","initTabBarApis","queryString","Current","eventCenter","createPageConfig","hooks","stringify","requestAnimationFrame","UniversalRouter","LocationAction"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './api';
2
+ export { history } from './history';
3
+ export { createMultiRouter } from './router/mpa';
4
+ export { createRouter } from './router/spa';
@@ -0,0 +1,23 @@
1
+ import Taro from "@tarojs/taro";
2
+ import { History } from "history";
3
+ /* eslint-disable dot-notation */
4
+ import { AppInstance } from "@tarojs/runtime";
5
+ import { MpaRouterConfig, SpaRouterConfig } from "../../types/router";
6
+ declare function navigateTo(option: Taro.navigateTo.Option): ReturnType<typeof Taro.navigateTo>;
7
+ declare function redirectTo(option: Taro.redirectTo.Option): ReturnType<typeof Taro.redirectTo>;
8
+ declare function navigateBack(option?: Taro.navigateBack.Option): ReturnType<typeof Taro.navigateBack>;
9
+ declare function switchTab(option: Taro.switchTab.Option): ReturnType<typeof Taro.switchTab>;
10
+ declare function reLaunch(option: Taro.reLaunch.Option): ReturnType<typeof Taro.reLaunch>;
11
+ declare function getCurrentPages(): Taro.Page[];
12
+ declare let history: History;
13
+ // TODO 支持多路由 (APP 生命周期仅触发一次)
14
+ /** Note: 关于多页面应用
15
+ * - 需要配置路由映射(根目录跳转、404 页面……)
16
+ * - app.onPageNotFound 事件不支持
17
+ * - 应用生命周期可能多次触发
18
+ * - TabBar 会多次加载
19
+ * - 不支持路由动画
20
+ */
21
+ declare function createMultiRouter(app: AppInstance, config: MpaRouterConfig, framework?: string): Promise<void>;
22
+ declare function createRouter(app: AppInstance, config: SpaRouterConfig, framework?: string): () => void;
23
+ export { navigateTo, redirectTo, navigateBack, switchTab, reLaunch, getCurrentPages, history, createMultiRouter, createRouter };
package/dist/index.esm.js CHANGED
@@ -4,7 +4,7 @@ import queryString from 'query-string';
4
4
  import { initTabBarApis } from '@tarojs/taro';
5
5
  import UniversalRouter from 'universal-router';
6
6
 
7
- /******************************************************************************
7
+ /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
9
9
 
10
10
  Permission to use, copy, modify, and/or distribute this software for any
@@ -32,6 +32,7 @@ function __awaiter(thisArg, _arguments, P, generator) {
32
32
  const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);
33
33
  const hasBasename = (path = '', prefix = '') => new RegExp('^' + prefix + '(\\/|\\?|#|$)', 'i').test(path) || path === prefix;
34
34
  const stripBasename = (path = '', prefix = '') => hasBasename(path, prefix) ? path.substr(prefix.length) : path;
35
+ const stripTrailing = (str = '') => str.replace(/[?#][\s\S]*$/, '');
35
36
  class RoutesAlias {
36
37
  constructor() {
37
38
  this.conf = [];
@@ -364,7 +365,8 @@ function bindPageScroll(page, pageEl, distance = 50) {
364
365
  pageDOM = pageEl;
365
366
  let isReachBottom = false;
366
367
  pageScrollFn = function () {
367
- page.onPageScroll && page.onPageScroll({
368
+ var _a;
369
+ (_a = page.onPageScroll) === null || _a === void 0 ? void 0 : _a.call(page, {
368
370
  scrollTop: pageDOM instanceof Window ? window.scrollY : pageDOM.scrollTop
369
371
  });
370
372
  if (isReachBottom && getOffset() > distance) {
@@ -416,6 +418,7 @@ function initTabbar(config) {
416
418
  initTabBarApis(config);
417
419
  }
418
420
 
421
+ /* eslint-disable dot-notation */
419
422
  class MultiPageHandler {
420
423
  constructor(config) {
421
424
  this.config = config;
@@ -536,6 +539,7 @@ function createMultiRouter(app, config, framework) {
536
539
  const handler = new MultiPageHandler(config);
537
540
  const launchParam = handler.getQuery();
538
541
  (_a = app.onLaunch) === null || _a === void 0 ? void 0 : _a.call(app, launchParam);
542
+ app.onError && window.addEventListener('error', e => { var _a; return (_a = app.onError) === null || _a === void 0 ? void 0 : _a.call(app, e.message); });
539
543
  const pathName = config.pageName;
540
544
  const pageConfig = handler.pageConfig;
541
545
  let element;
@@ -599,6 +603,7 @@ function loadAnimateStyle(ms = 300) {
599
603
  document.getElementsByTagName('head')[0].appendChild(style);
600
604
  }
601
605
 
606
+ /* eslint-disable dot-notation */
602
607
  function setDisplay(el, type = '') {
603
608
  if (el) {
604
609
  el.style.display = type;
@@ -661,7 +666,7 @@ class PageHandler {
661
666
  }
662
667
  return false;
663
668
  })) === null || _a === void 0 ? void 0 : _a[0]) || routePath;
664
- return !!pagePath && this.tabBarList.some(t => t.pagePath === pagePath);
669
+ return !!pagePath && this.tabBarList.some(t => stripTrailing(t.pagePath) === pagePath);
665
670
  }
666
671
  isSamePage(page) {
667
672
  const routePath = stripBasename(this.pathname, this.basename);
@@ -888,6 +893,7 @@ function createRouter(app, config, framework) {
888
893
  const router = new UniversalRouter(routes, { baseUrl: basename || '' });
889
894
  const launchParam = handler.getQuery(stacks.length);
890
895
  (_a = app.onLaunch) === null || _a === void 0 ? void 0 : _a.call(app, launchParam);
896
+ app.onError && window.addEventListener('error', e => { var _a; return (_a = app.onError) === null || _a === void 0 ? void 0 : _a.call(app, e.message); });
891
897
  const render = ({ location, action }) => __awaiter(this, void 0, void 0, function* () {
892
898
  var _c, _d, _e, _f;
893
899
  handler.pathname = decodeURI(location.pathname);