逻辑非常简单,判断是否是微信环境。否则就是H5了。微信环境要分三种:
1、公众号
2、小程序
3、webView
针对webview:这里给大家啰嗦几句;
小程序里面套H5连接,也是比较难处理的一种,但是优点很多,对于一些不能上架的小程序或者上架难度大又需要利用小程序的功能的H5系统,针对webView的判断就非常有必要了。
利用webView的方式调用小程序功能(前提是得有个现成小程序),可实现入口统一管理、分享、支付等等。
获取当前登录环境:
function getEnv() {
let envss ="H5"
if (wechat.isWechat()){
envss="WX_PUBLIC"
}
if (wechat.isWebView()){
envss="WEB_VIEW"
}
wechat.isMiniProgram().then(res=>{
if (res){
envss="MINI"
}
})
return envss;
}
判断是否是微信:
isWechat() {
var ua = window.navigator.userAgent.toLowerCase();
if (ua.match(/micromessenger/i) == 'micromessenger') {
// console.log('是微信客户端')
return true;
} else {
// console.log('不是微信客户端')
return false;
}
}
判断是否是webView
isWebView() {
if (this.isWechat()) {
var u = navigator.userAgent;
if (u.indexOf("miniProgram") != -1) {
return true;
}
return false
}
return false;
}
判断是否是小程序
isMiniProgram() {
return new Promise((resolve, reject) => {
if (-1 == navigator.userAgent.toLowerCase().indexOf("micromessenger")) {
resolve(false)
return
} else {
wx.miniProgram.getEnv((res) => {
if (!res.miniprogram) {
resolve(false)
return
} else {
resolve(true)
}
})
}
})
}