You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
import { err } from '../helpers/warn';
|
|
|
|
|
import { formatUserRule, strPathToObjPath } from './util';
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param {Object} replace vue-router的跳转方式
|
|
|
|
|
* @param {Object} rule 需要跳转到的路由匹配规则
|
|
|
|
|
* @param {Object} type 对应的官方跳转模式
|
|
|
|
|
*
|
|
|
|
|
* this 为当前 Router 实例
|
|
|
|
|
*/
|
|
|
|
|
const H5PushTo = function (replace, rule, type) {
|
|
|
|
|
if (this.$route == null) {
|
|
|
|
|
return err('h5端路由为就绪,请检查调用代码');
|
|
|
|
|
}
|
|
|
|
|
rule = formatUserRule(rule, this.selfRoutes, this.CONFIG);
|
|
|
|
|
const objPath = strPathToObjPath(rule);
|
|
|
|
|
objPath.type = type;
|
|
|
|
|
this.$route[replace](objPath);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default H5PushTo;
|