vue3几种跳转方式

import { comClientBrowser } from "@/utils/weixin";
import wx from "weixin-js-sdk";
import { showToast } from "vant";
import router from '@/router';

// 微信URLScheme跳转
export const gotoWeappScheme = (url, name?) => {
  if (url) {
    location.href = url
  } else {
    if (name) {
      showToast('去微信搜索' + name)
    }
  }
};


// 页面跳转-go
export const gotoBrefore = (index = -1) => {
  router.go(index)
};


// 页面跳转-push
export const gotoPage = (url, query = {}) => {
  if (url) {
    router.push({
      path: url,
      query,
    });
  }
};

// 页面跳转-replace
export const goReplacePage = (url, query = {}) => {
  if (url) {
    router.replace({
      path: url,
      query,
    });
  }
};

// 页面跳转-去微信
export const gotoWeapp = (page, href = false) => {
  let url = page
  if (href) {
    url = `${page}?url=${window.location.href}`;
  }
  //判断是否是小程序环境
  if (comClientBrowser().indexOf("mini") !== -1) {
    wx.miniProgram.navigateTo({
      url: url,
    });
  } else {
    showToast("请在手机小程序中打开");
  }
}

utils/weixin文件

export function comClientBrowser() {
  var _userAgent = navigator.userAgent;
  var _broMark = "";
  if (/wxWork/gi.test(_userAgent)) {
    _broMark = "wxWork";
    return _broMark;
  }
  //如果是手机浏览器
  if (/Mobile/gi.test(_userAgent)) {
    if (/MicroMessenger/gi.test(_userAgent)) {
      wx.miniProgram.getEnv((res) => {
        if (res.miniprogram) {
          console.log('小程序');
          _broMark = "mini";
        } else {
          _broMark = "wx";
        }
      });
    } else if (/ycBrowser/gi.test(_userAgent)) {
      _broMark = "yx";
    } else {
      _broMark = "browser";
    }
  }
  return _broMark;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值