封装微信小程序路由跳转
// 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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律