判断是否是微信小程序或者微信浏览器环境

2,725 阅读1分钟

一、首先安装依赖 npm i -S weixin-js-sdk@1.6.0

二、在utils.js文件中创建方法

import wx from 'weixin-js-sdk'

/**
 * @description: 判断浏览器环境, miniProgram 微信小程序环境 ; wxWeb 微信浏览器环境; others 其他浏览器
 * @param {*}
 * @return {promise}
 * @author: 
 */
const getBrowserEnv = () => {
  return new Promise(resolve => {
    const ua = window.navigator.userAgent.toLowerCase()
    if (ua.match(/MicroMessenger/i) == 'micromessenger') {
      //微信环境下
      wx.miniProgram.getEnv(res => {
        if (res.miniprogram) {
          // 小程序环境下逻辑
          resolve('miniProgram')
        } else {
          //非小程序环境下逻辑
          resolve('wxWeb')
        }
      })
    } else {
      resolve('others')
    }
  })
}

export { getBrowserEnv }

三、在使用的地方调用

import { getBrowserEnv } from '@/utils'

async init() {
    const browserEnv = await getBrowserEnv()
    if (browserEnv === 'miniProgram') {
      // 在微信小程序环境下
    }
}