调整router版本
This commit is contained in:
3
node_modules/uni-simple-router/.eslintignore
generated
vendored
3
node_modules/uni-simple-router/.eslintignore
generated
vendored
@@ -3,5 +3,4 @@ dist
|
||||
/webpack
|
||||
/src/global.d.ts
|
||||
/test
|
||||
/jest.config.js
|
||||
/plugins
|
||||
/jest.config.js
|
||||
4
node_modules/uni-simple-router/.eslintrc.js
generated
vendored
4
node_modules/uni-simple-router/.eslintrc.js
generated
vendored
@@ -12,9 +12,7 @@ module.exports = {
|
||||
getApp: true,
|
||||
__uniConfig: true,
|
||||
__uniRoutes: true,
|
||||
$npm_package_name: true,
|
||||
$npm_package_version: true,
|
||||
$npm_package_last_version: true
|
||||
$npm_package_name: true
|
||||
},
|
||||
parser: '@typescript-eslint/parser',
|
||||
extends: ['eslint:recommended'],
|
||||
|
||||
24
node_modules/uni-simple-router/dist/link.vue
generated
vendored
24
node_modules/uni-simple-router/dist/link.vue
generated
vendored
@@ -36,23 +36,17 @@ export default {
|
||||
methods: {
|
||||
formatNav(text) {
|
||||
if (text != null && text.constructor === String) {
|
||||
const keyArray = [];
|
||||
text = text.replace(/((\w+)|('\s*(\w+)\s*')|("\s*(\w+)\s*"))\s*(?=:)/g, function (val) {
|
||||
const key = `"${val.trim().replace(/"|'/g, '')}"`;
|
||||
keyArray.push(key);
|
||||
return key
|
||||
text = text.replace(/\'/g, '');
|
||||
text = text.replace(/(\w+)(?=:)/g, function (val) {
|
||||
return `"${val}"`;
|
||||
});
|
||||
text = text.replace(/:\s*([^,{}\s"]+)/g, function (val) {
|
||||
const arr = val.split(':');
|
||||
return `:"${arr[1].trim()}"`;
|
||||
});
|
||||
const removeReg=/('|")/g;
|
||||
for (let i = 0; i < keyArray.length; i++) {
|
||||
const key = keyArray[i];
|
||||
text=text.replace(new RegExp(`${key}\\s*:\\s*('[^']+')`, 'g'),(...args)=>{
|
||||
const $1=args[1];
|
||||
return `${key}:"${$1.replace(removeReg,'')}"`
|
||||
})
|
||||
}
|
||||
try {
|
||||
text=JSON.parse(text);
|
||||
} catch (error) {}
|
||||
text = JSON.parse(text);
|
||||
} catch (e) {}
|
||||
}
|
||||
if (this.append) {
|
||||
let pathArr = this.$Route.path.split('/');
|
||||
|
||||
87
node_modules/uni-simple-router/dist/uni-simple-router.d.ts
generated
vendored
87
node_modules/uni-simple-router/dist/uni-simple-router.d.ts
generated
vendored
@@ -11,20 +11,8 @@ export declare interface appletConfig {
|
||||
animationDuration?: number;
|
||||
}
|
||||
|
||||
export declare function assertDeepObject(object: objectAny): boolean;
|
||||
|
||||
export declare function assertNewOptions<T extends InstantiateConfig>(options: T): T | never;
|
||||
|
||||
export declare function assertParentChild(parentPath: string, vueVim: any): boolean;
|
||||
|
||||
export declare type backTypeRule = 'backbutton' | 'navigateBack';
|
||||
|
||||
export declare function baseClone<T extends {
|
||||
[key: string]: any;
|
||||
}, K extends keyof T>(source: T, target: Array<any> | objectAny): Array<any> | objectAny | null;
|
||||
|
||||
export declare function copyData<T>(object: T): T;
|
||||
|
||||
export declare function createRouter(params: InstantiateConfig): Router;
|
||||
|
||||
export declare interface debuggerArrayConfig {
|
||||
@@ -35,12 +23,6 @@ export declare interface debuggerArrayConfig {
|
||||
|
||||
export declare type debuggerConfig = boolean | debuggerArrayConfig;
|
||||
|
||||
export declare function deepClone<T>(source: T): T;
|
||||
|
||||
export declare function deepDecodeQuery(query: objectAny): objectAny;
|
||||
|
||||
export declare function def(defObject: objectAny, key: string, getValue: Function): void;
|
||||
|
||||
export declare interface endAnimationRule {
|
||||
animationType?: endAnimationType;
|
||||
animationDuration?: number;
|
||||
@@ -48,24 +30,6 @@ export declare interface endAnimationRule {
|
||||
|
||||
export declare type endAnimationType = 'slide-out-right' | 'slide-out-left' | 'slide-out-top' | 'slide-out-bottom' | 'pop-out' | 'fade-out' | 'zoom-in' | 'zoom-fade-in' | 'none';
|
||||
|
||||
export declare function forMatNextToFrom<T extends totalNextRoute>(router: Router, to: T, from: T): {
|
||||
matTo: T;
|
||||
matFrom: T;
|
||||
};
|
||||
|
||||
export declare function getDataType<T>(data: T): string;
|
||||
|
||||
export declare function getRoutePath(route: RoutesRule, router: Router): {
|
||||
finallyPath: string | string[];
|
||||
aliasPath: string;
|
||||
path: string;
|
||||
alias: string | string[] | undefined;
|
||||
};
|
||||
|
||||
export declare function getUniCachePage<T extends objectAny>(pageIndex?: number): T | [];
|
||||
|
||||
export declare function getWildcardRule(router: Router, msg?: navErrorRule): RoutesRule | never;
|
||||
|
||||
export declare type guardHookRule = (to: totalNextRoute, from: totalNextRoute, next: (rule?: navtoRule | false) => void) => void;
|
||||
|
||||
export declare interface H5Config {
|
||||
@@ -96,8 +60,6 @@ export declare interface hookObjectRule {
|
||||
hook: Function;
|
||||
}
|
||||
|
||||
declare type hookRule = (args: Array<any>, next: (args: Array<any>) => void, router: Router) => void;
|
||||
|
||||
export declare enum hookToggle {
|
||||
'beforeHooks' = "beforeEach",
|
||||
'afterHooks' = "afterEach",
|
||||
@@ -111,7 +73,6 @@ export declare interface InstantiateConfig {
|
||||
h5?: H5Config;
|
||||
APP?: AppConfig;
|
||||
applet?: appletConfig;
|
||||
beforeProxyHooks?: proxyHooksConfig;
|
||||
debugger?: debuggerConfig;
|
||||
routerBeforeEach?: (to: navtoRule, from: navtoRule, next: (rule?: navtoRule | false) => void) => void;
|
||||
routerAfterEach?: (to: navtoRule, from: navtoRule, next?: Function) => void;
|
||||
@@ -130,10 +91,6 @@ export declare interface LifeCycleConfig {
|
||||
routerErrorHooks: Array<(error: navErrorRule, router: Router) => void>;
|
||||
}
|
||||
|
||||
export declare function lockDetectWarn(router: Router, to: string | number | totalNextRoute | navRoute, navType: NAVTYPE, next: Function, uniActualData?: uniBackApiRule | uniBackRule | undefined, passiveType?: 'beforeHooks' | 'afterHooks'): void;
|
||||
|
||||
export declare function mergeConfig<T extends InstantiateConfig>(baseConfig: T, userConfig: T): T;
|
||||
|
||||
export declare interface navErrorRule {
|
||||
type: navRuleStatus;
|
||||
msg: string;
|
||||
@@ -174,13 +131,6 @@ export declare enum navtypeToggle {
|
||||
'back' = "navigateBack"
|
||||
}
|
||||
|
||||
export declare function notDeepClearNull<T>(object: T): T;
|
||||
|
||||
export declare function notRouteTo404(router: Router, toRoute: RoutesRule | {
|
||||
redirect: any;
|
||||
path: string;
|
||||
}, parseToRule: totalNextRoute, navType: NAVTYPE): RoutesRule | totalNextRoute | never;
|
||||
|
||||
export declare type objectAny = {
|
||||
[propName: string]: any;
|
||||
};
|
||||
@@ -191,8 +141,6 @@ export declare interface originMixins extends uniNavApiRule {
|
||||
|
||||
export declare type pageTypeRule = 'app' | 'page' | 'component';
|
||||
|
||||
export declare function paramsToQuery(router: Router, toRule: totalNextRoute | string): totalNextRoute | string;
|
||||
|
||||
export declare type platformRule = 'h5' | 'app-plus' | 'app-lets' | 'mp-weixin' | 'mp-baidu' | 'mp-alipay' | 'mp-toutiao' | 'mp-qq' | 'mp-360';
|
||||
|
||||
export declare type PromiseResolve = (value?: void | PromiseLike<void> | undefined) => void;
|
||||
@@ -213,34 +161,12 @@ export declare type proxyDepsRule = {
|
||||
|
||||
export declare type proxyHookName = 'beforeHooks' | 'afterHooks';
|
||||
|
||||
export declare interface proxyHooksConfig {
|
||||
onLaunch?: hookRule;
|
||||
onShow?: hookRule;
|
||||
onHide?: hookRule;
|
||||
onError?: hookRule;
|
||||
onInit?: hookRule;
|
||||
onLoad?: hookRule;
|
||||
onReady?: hookRule;
|
||||
onUnload?: hookRule;
|
||||
onResize?: hookRule;
|
||||
destroyed?: hookRule;
|
||||
created?: hookRule;
|
||||
beforeCreate?: hookRule;
|
||||
beforeMount?: hookRule;
|
||||
mounted?: hookRule;
|
||||
beforeDestroy?: hookRule;
|
||||
}
|
||||
|
||||
export declare type reloadNavRule = totalNextRoute | false | undefined | string;
|
||||
|
||||
export declare function removeSimpleValue(array: Array<string | number>, value: string): Boolean;
|
||||
|
||||
export declare type reNavMethodRule = 'navigateTo' | 'redirectTo' | 'reLaunch' | 'switchTab';
|
||||
|
||||
export declare type reNotNavMethodRule = 'navigateBack';
|
||||
|
||||
export declare function resolveAbsolutePath(path: string, router: Router): string | never;
|
||||
|
||||
export declare enum rewriteMethodToggle {
|
||||
'navigateTo' = "push",
|
||||
'navigate' = "push",
|
||||
@@ -251,12 +177,12 @@ export declare enum rewriteMethodToggle {
|
||||
}
|
||||
|
||||
export declare interface Router {
|
||||
[key: string]: any;
|
||||
readonly lifeCycle: LifeCycleConfig;
|
||||
readonly options: InstantiateConfig;
|
||||
$lockStatus: boolean;
|
||||
$route: object | null;
|
||||
enterPath: string;
|
||||
runId: number;
|
||||
Vue: any;
|
||||
appMain: {
|
||||
NAVTYPE: reNavMethodRule | reNotNavMethodRule;
|
||||
@@ -293,8 +219,6 @@ export declare interface routeRule {
|
||||
[propName: string]: any;
|
||||
}
|
||||
|
||||
export declare function routesForMapRoute(router: Router, path: string, mapArrayKey: Array<routesMapKeysRule>, deepFind?: boolean | undefined): RoutesRule | never;
|
||||
|
||||
export declare type routesMapKeysRule = 'finallyPathList' | 'finallyPathMap' | 'aliasPathMap' | 'pathMap' | 'nameMap' | 'vueRouteMap';
|
||||
|
||||
export declare interface routesMapRule {
|
||||
@@ -331,8 +255,6 @@ export declare interface startAnimationRule {
|
||||
|
||||
export declare type startAnimationType = 'slide-in-right' | 'slide-in-left' | 'slide-in-top' | 'slide-in-bottom' | 'pop-in' | 'fade-in' | 'zoom-out' | 'zoom-fade-out' | 'none';
|
||||
|
||||
export declare function timeOut(time: number): Promise<void>;
|
||||
|
||||
export declare interface totalNextRoute extends h5NextRule, navtoRule {
|
||||
path: string;
|
||||
delta?: number;
|
||||
@@ -372,13 +294,6 @@ export declare interface uniNavApiRule {
|
||||
};
|
||||
}
|
||||
|
||||
export declare function urlToJson(url: string): {
|
||||
path: string;
|
||||
query: objectAny;
|
||||
};
|
||||
|
||||
export declare function voidFun(...args: any): void;
|
||||
|
||||
export declare type vueHookNameRule = 'onLaunch' | 'onShow' | 'onHide' | 'onError' | 'onInit' | 'onLoad' | 'onReady' | 'onUnload' | 'onResize' | 'created' | 'beforeMount' | 'mounted' | 'beforeDestroy' | 'destroyed';
|
||||
|
||||
export declare type vueOptionRule = {
|
||||
|
||||
2
node_modules/uni-simple-router/dist/uni-simple-router.js
generated
vendored
2
node_modules/uni-simple-router/dist/uni-simple-router.js
generated
vendored
File diff suppressed because one or more lines are too long
4
node_modules/uni-simple-router/package.json
generated
vendored
4
node_modules/uni-simple-router/package.json
generated
vendored
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "uni-simple-router",
|
||||
"version": "2.0.8-beta.4",
|
||||
"version": "2.0.7",
|
||||
"description": "> 一个更为简洁的[Vue-router](https://router.vuejs.org/zh/),专为 [uni-app](https://uniapp.dcloud.io/) 量身打造",
|
||||
"main": "dist/uni-simple-router.js",
|
||||
"types": "dist/uni-simple-router.d.ts",
|
||||
@@ -12,7 +12,7 @@
|
||||
"lintFix": "eslint --ext .js,.ts src --fix",
|
||||
"test": "jest test/query-toggle.spec.ts",
|
||||
"publish": "node ./publish/index.js",
|
||||
"build": "node ./publish/build.js"
|
||||
"build":"node ./publish/build.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
16
node_modules/uni-simple-router/progress.md
generated
vendored
Normal file
16
node_modules/uni-simple-router/progress.md
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
## Fixes bug
|
||||
* `小程序` 端 `onLoad`、`onShow` 执行不标准的BUG。(#206,#224,#291)
|
||||
* `小程序` 端 启动页必须写 `onLoad` 才会执行的BUG。
|
||||
* `APP` 端 tab 拦截后无法自动还原选中区域现在已修复。
|
||||
* H5端设置 `aliasPath` 后,无法使用 `aliasPath` 跨端跳转 (#302)
|
||||
* 重写代理生命周期逻辑、保证执行各端执行顺序 (#312)
|
||||
|
||||
## Revise
|
||||
* 参数可以直接传递 `null`。但是需要注意:**在非深度对象传参的情况下,小程序会将 `null` 解析为字符串`undefined`**
|
||||
* 多端情况下自定义启动参数不仅限制于 `query` 传递深度参数,任何组合都可以 (#307,#301)
|
||||
* 去除 `keyword` 白名单字段
|
||||
* 调整小程序启动页面生命周期的执行,让在小程序下的生命周期能更贴近App、H5
|
||||
* `routerErrorEach` 新增回调参数、包括:`NAVTYPE`、`uniActualData`、`level`
|
||||
|
||||
## Known Issues
|
||||
* `APP` 端启动页为tab时,拦截到其他页面后底部tabbar 还依然存在,请避免把原生 `tabbar` 页设置成启动页。你可以在 `beforeEach` 中使用 next 到tabbar页效果一致
|
||||
32
node_modules/uni-simple-router/src/H5/patch.ts
generated
vendored
32
node_modules/uni-simple-router/src/H5/patch.ts
generated
vendored
@@ -1,32 +0,0 @@
|
||||
import { removeSimpleValue } from '../helpers/utils';
|
||||
import { Router} from '../options/base';
|
||||
|
||||
let [dynamicCacheName, __id__] = ['', ''];
|
||||
|
||||
export const addKeepAliveInclude = function(
|
||||
router:Router
|
||||
):void{
|
||||
// 【Fixe】 https://github.com/SilurianYang/uni-simple-router/issues/316 2021年12月10日14:30:13
|
||||
const app = getApp();
|
||||
const keepAliveInclude:Array<string> = app.keepAliveInclude;
|
||||
if (router.runId === 0 && keepAliveInclude.length === 0) {
|
||||
__id__ = app.$route.params.__id__;
|
||||
dynamicCacheName = app.$route.meta.name;
|
||||
const cacheId = dynamicCacheName + '-' + __id__;
|
||||
app.keepAliveInclude.push(cacheId)
|
||||
} else {
|
||||
if (dynamicCacheName !== '') {
|
||||
const arrayCacheId = app.keepAliveInclude;
|
||||
for (let i = 0; i < arrayCacheId.length; i++) {
|
||||
const cacheId:string = arrayCacheId[i];
|
||||
const cacheIdReg = new RegExp(`${dynamicCacheName}-(\\d+)$`);
|
||||
const firstCacheId = `${dynamicCacheName}-${__id__}`;
|
||||
if (cacheIdReg.test(cacheId) && cacheId !== firstCacheId) {
|
||||
removeSimpleValue(arrayCacheId, firstCacheId);
|
||||
dynamicCacheName = '';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
27
node_modules/uni-simple-router/src/app/appPatch.ts
generated
vendored
27
node_modules/uni-simple-router/src/app/appPatch.ts
generated
vendored
@@ -1,4 +1,4 @@
|
||||
import { navtoRule, objectAny, Router, totalNextRoute } from '../options/base';
|
||||
import { objectAny, Router, totalNextRoute } from '../options/base';
|
||||
import { AppConfig } from '../options/config';
|
||||
|
||||
let quitBefore:number|null = null;
|
||||
@@ -7,7 +7,7 @@ let TABBAR:objectAny|null = null;
|
||||
export function registerLoddingPage(
|
||||
router:Router,
|
||||
):void{
|
||||
if (router.options.APP?.registerLoadingPage) {
|
||||
if (router.options.registerLoadingPage) {
|
||||
const { loadingPageHook, loadingPageStyle } = router.options.APP as AppConfig; // 获取app所有配置
|
||||
const view = new plus.nativeObj.View('router-loadding', {
|
||||
top: '0px',
|
||||
@@ -40,29 +40,6 @@ export function runtimeQuit(
|
||||
}
|
||||
}
|
||||
|
||||
export function HomeNvueSwitchTab(
|
||||
router:Router,
|
||||
to:navtoRule,
|
||||
oldMethod:Function
|
||||
):Promise<Boolean> {
|
||||
return new Promise((
|
||||
resolve:(value:boolean)=>void
|
||||
) => {
|
||||
if (router.runId !== 0) {
|
||||
return resolve(false)
|
||||
}
|
||||
if (!(__uniConfig.tabBar && Array.isArray(__uniConfig.tabBar.list))) {
|
||||
return resolve(false)
|
||||
}
|
||||
// Fixe https://github.com/SilurianYang/uni-simple-router/issues/373 2022-4-3 19:40:59
|
||||
oldMethod({
|
||||
url: __uniConfig.entryPagePath,
|
||||
animationDuration:0,
|
||||
complete: () => resolve(true)
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
export function tabIndexSelect(
|
||||
to:totalNextRoute,
|
||||
from:totalNextRoute
|
||||
|
||||
24
node_modules/uni-simple-router/src/component/link.vue
generated
vendored
24
node_modules/uni-simple-router/src/component/link.vue
generated
vendored
@@ -36,23 +36,17 @@ export default {
|
||||
methods: {
|
||||
formatNav(text) {
|
||||
if (text != null && text.constructor === String) {
|
||||
const keyArray = [];
|
||||
text = text.replace(/((\w+)|('\s*(\w+)\s*')|("\s*(\w+)\s*"))\s*(?=:)/g, function (val) {
|
||||
const key = `"${val.trim().replace(/"|'/g, '')}"`;
|
||||
keyArray.push(key);
|
||||
return key
|
||||
text = text.replace(/\'/g, '');
|
||||
text = text.replace(/(\w+)(?=:)/g, function (val) {
|
||||
return `"${val}"`;
|
||||
});
|
||||
text = text.replace(/:\s*([^,{}\s"]+)/g, function (val) {
|
||||
const arr = val.split(':');
|
||||
return `:"${arr[1].trim()}"`;
|
||||
});
|
||||
const removeReg=/('|")/g;
|
||||
for (let i = 0; i < keyArray.length; i++) {
|
||||
const key = keyArray[i];
|
||||
text=text.replace(new RegExp(`${key}\\s*:\\s*('[^']+')`, 'g'),(...args)=>{
|
||||
const $1=args[1];
|
||||
return `${key}:"${$1.replace(removeReg,'')}"`
|
||||
})
|
||||
}
|
||||
try {
|
||||
text=JSON.parse(text);
|
||||
} catch (error) {}
|
||||
text = JSON.parse(text);
|
||||
} catch (e) {}
|
||||
}
|
||||
if (this.append) {
|
||||
let pathArr = this.$Route.path.split('/');
|
||||
|
||||
4
node_modules/uni-simple-router/src/global.d.ts
generated
vendored
4
node_modules/uni-simple-router/src/global.d.ts
generated
vendored
@@ -4,6 +4,4 @@ declare var __uniConfig:any;
|
||||
declare var __uniRoutes:any;
|
||||
declare function getCurrentPages(isAll:boolean|undefined=false):any;
|
||||
declare function getApp(args?:{allowDefault: true}):any;
|
||||
declare var $npm_package_name:string;
|
||||
declare var $npm_package_version:string;
|
||||
declare var $npm_package_last_version:string;
|
||||
declare var $npm_package_name:string;
|
||||
6
node_modules/uni-simple-router/src/helpers/config.ts
generated
vendored
6
node_modules/uni-simple-router/src/helpers/config.ts
generated
vendored
@@ -1,7 +1,6 @@
|
||||
import {err} from './warn'
|
||||
import { InstantiateConfig, LifeCycleConfig} from '../options/config'
|
||||
import { vueHookNameRule, proxyDepsRule } from '../options/base';
|
||||
import { parseQuery } from '../public/query';
|
||||
|
||||
export const mpPlatformReg = '(^mp-weixin$)|(^mp-baidu$)|(^mp-alipay$)|(^mp-toutiao$)|(^mp-qq$)|(^mp-360$)' // 小程序下不能直接导出正则 需要重新组装成正则 不然bug一推 诡异
|
||||
|
||||
@@ -27,11 +26,6 @@ export const baseConfig:InstantiateConfig = {
|
||||
applet: {
|
||||
animationDuration: 300
|
||||
},
|
||||
beforeProxyHooks: {
|
||||
onLoad: ([options], next, router) => {
|
||||
next([parseQuery({query: options}, router)])
|
||||
}
|
||||
},
|
||||
platform: 'h5',
|
||||
keepUniOriginNav: false,
|
||||
debugger: false,
|
||||
|
||||
5
node_modules/uni-simple-router/src/helpers/mixins.ts
generated
vendored
5
node_modules/uni-simple-router/src/helpers/mixins.ts
generated
vendored
@@ -8,7 +8,6 @@ import { forceGuardEach } from '../public/methods';
|
||||
import { assertParentChild, voidFun } from './utils';
|
||||
import { getEnterPath } from '../applets/appletPatch';
|
||||
import { mpPlatformReg } from './config';
|
||||
import {beforeProxyHook} from '../public/beforeProxyHook'
|
||||
|
||||
let registerRouter:boolean = false;
|
||||
let onloadProxyOk:boolean = false;
|
||||
@@ -35,7 +34,6 @@ export function getMixins(Vue:any, router: Router):{
|
||||
const toggleHooks = {
|
||||
h5: {
|
||||
beforeCreate(this: any): void {
|
||||
beforeProxyHook(this, router);
|
||||
if (this.$options.router) {
|
||||
router.$route = this.$options.router; // 挂载vue-router到路由对象下
|
||||
let vueRouteMap:RoutesRule[]|RoutesRule = [];
|
||||
@@ -53,7 +51,6 @@ export function getMixins(Vue:any, router: Router):{
|
||||
},
|
||||
'app-plus': {
|
||||
beforeCreate(this: any): void {
|
||||
beforeProxyHook(this, router);
|
||||
if (!registerRouter) {
|
||||
registerRouter = true;
|
||||
proxyPageHook(this, router, 'app');
|
||||
@@ -63,8 +60,6 @@ export function getMixins(Vue:any, router: Router):{
|
||||
},
|
||||
'app-lets': {
|
||||
beforeCreate(this: any): void {
|
||||
beforeProxyHook(this, router);
|
||||
|
||||
// 保证这个函数不会被重写
|
||||
const pluginMark = $npm_package_name;
|
||||
voidFun(pluginMark);
|
||||
|
||||
16
node_modules/uni-simple-router/src/helpers/utils.ts
generated
vendored
16
node_modules/uni-simple-router/src/helpers/utils.ts
generated
vendored
@@ -204,20 +204,6 @@ export function copyData<T>(object:T): T {
|
||||
return JSON.parse(JSON.stringify(object))
|
||||
}
|
||||
|
||||
export function removeSimpleValue(
|
||||
array:Array<string|number>,
|
||||
value:string
|
||||
):Boolean {
|
||||
for (let i = 0; i < array.length; i++) {
|
||||
const it = array[i];
|
||||
if (it === value) {
|
||||
array.splice(i, 1);
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
export function getUniCachePage<T extends objectAny>(pageIndex?:number):T|[] {
|
||||
const pages:T = getCurrentPages();
|
||||
if (pageIndex == null) {
|
||||
@@ -421,7 +407,7 @@ export function resolveAbsolutePath(
|
||||
}
|
||||
const query:string = paramsArray[2] || '';
|
||||
if (/^\.\/[^\.]+/.test(trimPath)) { // 当前路径下
|
||||
const navPath:string = (router as unknown as {currentRoute:{path:string}}).currentRoute.path + path;
|
||||
const navPath:string = router.currentRoute.path + path;
|
||||
return navPath.replace(/[^\/]+\.\//, '');
|
||||
}
|
||||
const relative = paramsArray[1].replace(/\//g, `\\/`).replace(/\.\./g, `[^\\/]+`).replace(/\./g, '\\.');
|
||||
|
||||
6
node_modules/uni-simple-router/src/index.ts
generated
vendored
6
node_modules/uni-simple-router/src/index.ts
generated
vendored
@@ -1,6 +1,5 @@
|
||||
export * from './options/base'
|
||||
export * from './options/config'
|
||||
export * from './helpers/utils'
|
||||
|
||||
export {
|
||||
runtimeQuit
|
||||
@@ -10,8 +9,3 @@ export {
|
||||
RouterMount,
|
||||
createRouter
|
||||
} from './public/router'
|
||||
|
||||
const version = $npm_package_version;
|
||||
if (/[A-Z]/g.test(version)) {
|
||||
console.warn(`【${$npm_package_name.toLocaleLowerCase()} 提示】:当前版本 ${version.toLocaleLowerCase()} 此版本为测试版。有BUG请退回正式版,线上正式版本:${$npm_package_last_version}`)
|
||||
}
|
||||
|
||||
2
node_modules/uni-simple-router/src/options/base.ts
generated
vendored
2
node_modules/uni-simple-router/src/options/base.ts
generated
vendored
@@ -208,12 +208,12 @@ export interface RoutesRule {
|
||||
}
|
||||
|
||||
export interface Router {
|
||||
[key:string]:any;
|
||||
readonly lifeCycle: LifeCycleConfig;
|
||||
readonly options: InstantiateConfig;
|
||||
$lockStatus:boolean;
|
||||
$route: object | null;
|
||||
enterPath:string;
|
||||
runId:number;
|
||||
Vue:any;
|
||||
appMain:{
|
||||
NAVTYPE:reNavMethodRule|reNotNavMethodRule,
|
||||
|
||||
20
node_modules/uni-simple-router/src/options/config.ts
generated
vendored
20
node_modules/uni-simple-router/src/options/config.ts
generated
vendored
@@ -25,25 +25,6 @@ export interface appletConfig {
|
||||
animationDuration?:number; // 页面切换时间,有助于路由锁精准解锁
|
||||
}
|
||||
|
||||
type hookRule=(args:Array<any>, next:(args:Array<any>)=>void, router:Router)=>void;
|
||||
export interface proxyHooksConfig{
|
||||
onLaunch?:hookRule;
|
||||
onShow?:hookRule;
|
||||
onHide?:hookRule;
|
||||
onError?:hookRule;
|
||||
onInit?:hookRule;
|
||||
onLoad?:hookRule;
|
||||
onReady?:hookRule;
|
||||
onUnload?:hookRule;
|
||||
onResize?:hookRule;
|
||||
destroyed?:hookRule;
|
||||
created?:hookRule;
|
||||
beforeCreate?:hookRule;
|
||||
beforeMount?:hookRule;
|
||||
mounted?:hookRule;
|
||||
beforeDestroy?:hookRule;
|
||||
}
|
||||
|
||||
export interface debuggerArrayConfig{
|
||||
error?:boolean;
|
||||
warn?:boolean;
|
||||
@@ -57,7 +38,6 @@ export interface InstantiateConfig {
|
||||
h5?: H5Config;
|
||||
APP?: AppConfig;
|
||||
applet?:appletConfig;
|
||||
beforeProxyHooks?:proxyHooksConfig;
|
||||
debugger?: debuggerConfig; // 是否处于开发阶段 设置为true则打印日志
|
||||
routerBeforeEach?: (to:navtoRule, from:navtoRule, next:(rule?: navtoRule|false)=>void) => void; // router 前置路由函数 每次触发跳转前先会触发此函数
|
||||
routerAfterEach?: (to:navtoRule, from:navtoRule, next?: Function) => void; // router 后置路由函数 每次触发跳转后会触发此函数
|
||||
|
||||
46
node_modules/uni-simple-router/src/public/beforeProxyHook.ts
generated
vendored
46
node_modules/uni-simple-router/src/public/beforeProxyHook.ts
generated
vendored
@@ -1,46 +0,0 @@
|
||||
import { voidFun } from '../helpers/utils';
|
||||
import { warn } from '../helpers/warn';
|
||||
import { Router, vueHookNameRule } from '../options/base';
|
||||
|
||||
export function beforeProxyHook(
|
||||
Vim:any,
|
||||
router:Router
|
||||
):boolean {
|
||||
const hookOptions = Vim.$options;
|
||||
const {beforeProxyHooks} = router.options;
|
||||
if (hookOptions == null) {
|
||||
return false;
|
||||
}
|
||||
if (beforeProxyHooks == null) {
|
||||
return false;
|
||||
}
|
||||
const keyArray = Object.keys(beforeProxyHooks) as Array<vueHookNameRule>;
|
||||
for (let i = 0; i < keyArray.length; i++) {
|
||||
const key = keyArray[i];
|
||||
const hooksArray:Array<Function>|null = hookOptions[key];
|
||||
if (hooksArray) {
|
||||
const beforeProxyFun = beforeProxyHooks[key];
|
||||
for (let j = 0; j < hooksArray.length; j++) {
|
||||
const hookFun = hooksArray[j];
|
||||
if (hookFun.toString().includes($npm_package_name)) {
|
||||
continue
|
||||
}
|
||||
const [oldHook] = hooksArray.splice(j, 1, function myReplace(this: any, ...args:Array<any>) {
|
||||
const pluginMarkId = $npm_package_name;
|
||||
voidFun(pluginMarkId);
|
||||
|
||||
if (beforeProxyFun) {
|
||||
beforeProxyFun.call(this, args, (options) => {
|
||||
oldHook.apply(this, options)
|
||||
}, router);
|
||||
} else {
|
||||
oldHook.apply(this, args)
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
warn(`beforeProxyHooks ===> 当前组件不适合${key},或者 hook: ${key} 不存在,已为你规避处理,可以忽略。`, router)
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
4
node_modules/uni-simple-router/src/public/hooks.ts
generated
vendored
4
node_modules/uni-simple-router/src/public/hooks.ts
generated
vendored
@@ -18,7 +18,6 @@ import {
|
||||
} from '../helpers/utils'
|
||||
import { navjump } from './methods';
|
||||
import { proxyH5Mount } from '../H5/proxyHook';
|
||||
import { addKeepAliveInclude } from '../H5/patch';
|
||||
import { tabIndexSelect } from '../app/appPatch';
|
||||
|
||||
export const ERRORHOOK:Array<(error:navErrorRule, router:Router)=>void> = [
|
||||
@@ -34,10 +33,7 @@ export const HOOKLIST: hookListRule = [
|
||||
router.$lockStatus = false;
|
||||
if (router.options.platform === 'h5') {
|
||||
proxyH5Mount(router);
|
||||
// 【Fixe】 https://github.com/SilurianYang/uni-simple-router/issues/316 2021年12月10日14:30:13
|
||||
addKeepAliveInclude(router);
|
||||
}
|
||||
router.runId++;
|
||||
return callHook(router.lifeCycle.routerAfterHooks[0], to, from, router, next, false)
|
||||
}
|
||||
];
|
||||
|
||||
5
node_modules/uni-simple-router/src/public/methods.ts
generated
vendored
5
node_modules/uni-simple-router/src/public/methods.ts
generated
vendored
@@ -64,11 +64,6 @@ export function navjump(
|
||||
level = +to;
|
||||
} else {
|
||||
level = to.delta || 1;
|
||||
// 主要剥离事件函数
|
||||
animation = {
|
||||
...animation || {},
|
||||
...(to as uniBackApiRule)
|
||||
}
|
||||
}
|
||||
if (router.options.platform === 'h5') {
|
||||
(router.$route as any).go(-level);
|
||||
|
||||
35
node_modules/uni-simple-router/src/public/rewrite.ts
generated
vendored
35
node_modules/uni-simple-router/src/public/rewrite.ts
generated
vendored
@@ -27,7 +27,6 @@ import {
|
||||
} from '../helpers/warn'
|
||||
|
||||
import {uniOriginJump} from './uniOrigin'
|
||||
import { HomeNvueSwitchTab } from '../app/appPatch';
|
||||
|
||||
const rewrite: Array<reNavMethodRule|reNotNavMethodRule> = [
|
||||
'navigateTo',
|
||||
@@ -36,19 +35,6 @@ const rewrite: Array<reNavMethodRule|reNotNavMethodRule> = [
|
||||
'switchTab',
|
||||
'navigateBack'
|
||||
];
|
||||
const cacheOldMethod:{
|
||||
navigateTo:Function;
|
||||
redirectTo:Function;
|
||||
reLaunch:Function;
|
||||
switchTab:Function;
|
||||
navigateBack:Function;
|
||||
} = {
|
||||
navigateTo: () => {},
|
||||
redirectTo: () => {},
|
||||
reLaunch: () => {},
|
||||
switchTab: () => {},
|
||||
navigateBack: () => {}
|
||||
}
|
||||
|
||||
export function rewriteMethod(
|
||||
router:Router
|
||||
@@ -56,20 +42,14 @@ export function rewriteMethod(
|
||||
if (router.options.keepUniOriginNav === false) {
|
||||
rewrite.forEach(name => {
|
||||
const oldMethod: Function = uni[name];
|
||||
cacheOldMethod[name] = oldMethod;
|
||||
uni[name] = async function(
|
||||
uni[name] = function(
|
||||
params:originMixins|{from:string}|navtoRule,
|
||||
originCall:boolean = false,
|
||||
callOkCb?:Function,
|
||||
forceNav?:boolean
|
||||
):Promise<void> {
|
||||
|
||||
):void {
|
||||
if (originCall) {
|
||||
if (router.options.platform === 'app-plus') {
|
||||
await HomeNvueSwitchTab(router, (params as navtoRule), cacheOldMethod['reLaunch']);
|
||||
}
|
||||
uniOriginJump(router, oldMethod, name, params as originMixins, callOkCb, forceNav)
|
||||
|
||||
} else {
|
||||
if (router.options.platform === 'app-plus') {
|
||||
if (Object.keys(router.appMain).length === 0) {
|
||||
@@ -81,8 +61,6 @@ export function rewriteMethod(
|
||||
}
|
||||
callRouterMethod(params as uniNavApiRule, name, router);
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
})
|
||||
}
|
||||
@@ -104,7 +82,8 @@ function callRouterMethod(
|
||||
if (funName === 'reLaunch' && JSON.stringify(option) === '{"url":"/"}') {
|
||||
warn(
|
||||
`uni-app 原生方法:reLaunch({url:'/'}) 默认被重写啦!你可以使用 this.$Router.replaceAll() 或者 uni.reLaunch({url:'/?xxx=xxx'})`,
|
||||
router
|
||||
router,
|
||||
true
|
||||
);
|
||||
funName = 'navigateBack';
|
||||
option = {
|
||||
@@ -134,13 +113,15 @@ function callRouterMethod(
|
||||
if (getDataType<string | string[]>(finallyPath) === '[object Array]') {
|
||||
warn(
|
||||
`uni-app 原生方法跳转路径为:${path}。此路为是tab页面时,不允许设置 alias 为数组的情况,并且不能为动态路由!当然你可以通过通配符*解决!`,
|
||||
router
|
||||
router,
|
||||
true
|
||||
);
|
||||
}
|
||||
if ((finallyPath as string) === '*') {
|
||||
warn(
|
||||
`uni-app 原生方法跳转路径为:${path}。在路由表中找不到相关路由表!当然你可以通过通配符*解决!`,
|
||||
router
|
||||
router,
|
||||
true
|
||||
);
|
||||
}
|
||||
// Fixe h5 端无法触发 onTabItemTap hook 2021年6月3日17:26:47
|
||||
|
||||
11
node_modules/uni-simple-router/src/public/router.ts
generated
vendored
11
node_modules/uni-simple-router/src/public/router.ts
generated
vendored
@@ -10,14 +10,11 @@ import {rewriteMethod} from '../public/rewrite'
|
||||
let AppReadyResolve:PromiseResolve = () => {};
|
||||
const AppReady:Promise<void> = new Promise(resolve => (AppReadyResolve = resolve));
|
||||
|
||||
function createRouter(
|
||||
params: InstantiateConfig
|
||||
):Router {
|
||||
function createRouter(params: InstantiateConfig):Router {
|
||||
const options = assertNewOptions<InstantiateConfig>(params);
|
||||
const router:Router = {
|
||||
options,
|
||||
mount: [],
|
||||
runId: 0,
|
||||
Vue: null,
|
||||
proxyHookDeps: proxyHookDeps,
|
||||
appMain: {},
|
||||
@@ -109,11 +106,7 @@ function createRouter(
|
||||
return router;
|
||||
}
|
||||
|
||||
function RouterMount(
|
||||
Vim:any,
|
||||
router:Router,
|
||||
el:string | undefined = '#app'
|
||||
) :void|never {
|
||||
function RouterMount(Vim:any, router:Router, el:string | undefined = '#app') :void|never {
|
||||
if (getDataType<Array<any>>(router.mount) === '[object Array]') {
|
||||
router.mount.push({
|
||||
app: Vim,
|
||||
|
||||
28
node_modules/uni-simple-router/webpack/webpack.common.js
generated
vendored
28
node_modules/uni-simple-router/webpack/webpack.common.js
generated
vendored
@@ -1,24 +1,6 @@
|
||||
const {resolve} = require('path');
|
||||
const CopyPlugin = require('copy-webpack-plugin');
|
||||
const webpack =require('webpack');
|
||||
const cmd = require('node-cmd');
|
||||
|
||||
|
||||
const {data:versions,err} = cmd.runSync('npm v uni-simple-router versions');
|
||||
|
||||
if(err){
|
||||
console.log('获取线上版本失败,无法继续打包。。。')
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
let lastVersion='';
|
||||
const list=JSON.parse(versions.replace(/'/g,'"')).reverse();
|
||||
for(let i=0;i<list.length;i++){
|
||||
if (!/[A-Za-z]/g.test(list[i])) {
|
||||
lastVersion=list[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
entry: './src/index.ts',
|
||||
@@ -48,18 +30,12 @@ module.exports = {
|
||||
force: true,
|
||||
from: resolve(__dirname, '../src/component'),
|
||||
to: resolve(__dirname, '../dist'),
|
||||
}
|
||||
},
|
||||
]),
|
||||
new webpack.DefinePlugin({
|
||||
$npm_package_name: webpack.DefinePlugin.runtimeValue(() => {
|
||||
return JSON.stringify(process.env.npm_package_name.toLocaleUpperCase())
|
||||
}, true ),
|
||||
$npm_package_version: webpack.DefinePlugin.runtimeValue(() => {
|
||||
return JSON.stringify(process.env.npm_package_version.toLocaleUpperCase())
|
||||
}, true ),
|
||||
$npm_package_last_version: webpack.DefinePlugin.runtimeValue(() => {
|
||||
return JSON.stringify(lastVersion)
|
||||
}, true ),
|
||||
}, true )
|
||||
})
|
||||
],
|
||||
};
|
||||
|
||||
34
node_modules/uni-simple-router/webpack/webpack.dev.js
generated
vendored
34
node_modules/uni-simple-router/webpack/webpack.dev.js
generated
vendored
@@ -1,24 +1,22 @@
|
||||
const {merge} = require('webpack-merge');
|
||||
const {merge} = require("webpack-merge");
|
||||
const {resolve} = require('path');
|
||||
const common = require('./webpack.common.js');
|
||||
const common = require("./webpack.common.js");
|
||||
const CopyPlugin = require('copy-webpack-plugin');
|
||||
|
||||
const output = resolve(__dirname, '../examples/uni-simple-router2.0/dist');
|
||||
const output=resolve(__dirname, '../examples/uni-simple-router2.0/dist');
|
||||
|
||||
module.exports = merge(common, {
|
||||
mode: 'development',
|
||||
devtool: 'source-map',
|
||||
output: {
|
||||
path: output,
|
||||
mode: 'development',
|
||||
devtool: 'source-map',
|
||||
output: {
|
||||
path:output ,
|
||||
filename: 'uni-simple-router.js',
|
||||
},
|
||||
plugins: [
|
||||
new CopyPlugin([
|
||||
{
|
||||
force: true,
|
||||
from: resolve(__dirname, '../src/component'),
|
||||
to: output,
|
||||
}
|
||||
]),
|
||||
],
|
||||
});
|
||||
},
|
||||
plugins: [
|
||||
new CopyPlugin([{
|
||||
force: true,
|
||||
from: resolve(__dirname, '../src/component'),
|
||||
to: output,
|
||||
}]),
|
||||
]
|
||||
});
|
||||
Reference in New Issue
Block a user