• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

封装微信小程序路由跳转

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
// 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
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap