// router 路由js 用于跳转 TMD 各个页面
/**
* 跳转到首页
*/
export const routeHome = (callback) => {
router(\'../index/index\', \'switchTab\').then(res => {
callback ? callback() : null;
})
}
/**
* 路由
* 默认navigateTo
* navigateTo:跳转新页面页面,保留当前页面
* redirectTo:跳转新页面页面,关闭当前页面
* reLaunch:关闭所有页面,打开某个页面
* switchTab:关闭其他所有非 tabBar 页面,跳转到 tabBar 页面
*/
export const router = (url, type) => {
type = type || \'navigateTo\'
return new Promise((resolve, reject) => {
if (!isRouterType(type)) {
reject()
}
wx[type].call(wx, {
url,
success: (res) => { resolve(res) },
fail: (err) => { reject(err) }
})
})
}
/**
* 返回 上||多 级页面
*/
export const navigateBack = (delta) => {
return new Promise((resolve, reject) => {
wx.navigateBack({
delta: delta || 1,
success: () => { resolve() },
fail: () => { reject() }
})
})
}
/**
* 跳转其他小程序
* @param {要打开的小程序appId} appId
* @param {打开的页面路径,如果为空则打开首页} path
* @param {需要传递给目标小程序的数据} extraData
* @param {要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版} envVersion
*/
export const navigateToMiniProgram = (appId, path, extraData, envVersion) => {
wx.navigateToMiniProgram({
appId: appId,
path: path,
extraData: extraData,
envVersion: envVersion
})
}
/**
* 跳转小程序通过link跳转
*/
export const linkToMiniProgram = (shortLink) => {
wx.navigateToMiniProgram({
shortLink: shortLink
})
}
/**
* 返回上一个小程序
* @param {需要返回给上一个小程序的数据} extraData
*/
export const navigateBackMiniProgram = (extraData) => {
wx.navigateBackMiniProgram({
extraData: extraData,
})
}
/**
* 是否跳转类型
*/
function isRouterType(t) {
if (![\'navigateTo\', \'redirectTo\', \'switchTab\', \'reLaunch\'].includes(t)) {
wx.showToast({
title: \'跳转类型错误!\',
icon: \'error\',
duration: 2000
})
return false
}
return true
}