判断微信、微信小程序及其他环境

判断是否为微信、微信小程序、其他环境

研究背景

项目中有一个需求,在判断用户未登录的情况下跳转登录,toLogin通过window.location.href进行跳转登录。在线上环境中,发现在未登录的情况下,Iphone 小程序中偶尔跳转失效。定位代码发现判断小程序函数返回结果在跳转逻辑之后才获得结果,猜测由于判断环境代码打断跳转的进行。临时方案:跳转后通过setTimeout再进行一次跳转。

目前解决方案如下:


  toLogin() {
    if(isMiniApp() === null) {
      setTimeout(() => {
        toLogin()
      }, 100)
    }
    window.location.href='https://www.login.com'
  }

通过资料查询得出如下解决方案,通过promise获取是否未小程序环境,保证在执行其他逻辑之前拿到是否为小程序环境的结果。

引入js

    <script src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>

promise封装判断函数


  /**
   * 判断是否为微信小程序
   * @export
   * @returns
   */
  export function isWeChatMiniApp() {
    const ua = window.navigator.userAgent.toLowerCase();
    return new Promise((resolve) => {
      if (ua.indexOf('micromessenger') == -1) {
        console.log("不在微信或者小程序中")
        resolve(false);
      } else {
        wx.miniProgram.getEnv((res) => {
          if (res.miniprogram) {
            console.log("在小程序中")
            resolve(true);
          } else {//在微信中
            console.log("在微信中")
            resolve(false);
          }
        });
      }
    });
  }

原文地址:https://www.cnblogs.com/MarphyDemon/p/11507405.html

时间: 2024-08-07 23:13:44

判断微信、微信小程序及其他环境的相关文章

微信小程序的开发环境搭建(Windows版本)

前言: 小程序是指微信公众平台小程序,小程序可以帮助开发者快速的开发小程序,小程序可以在微信内被便捷地获取和传播:是一种不需要下载安装即可使用的应用小程序,和原有的三种公众号是并行的体系.2017年1月9日,微信小程序正式上线. 本篇博文就网上资料及相关教程整理一下,希望对想要进行小程序开发的小白提供一下帮助. 第一步:想要进行微信小程序开发,必须有自己的微信开发者账号,在这里博主提供一下微信公众平台的链接:https://mp.weixin.qq.com (万恶的腾讯家,竟然还要一个新的邮箱来

如何快速开发一套微信商城小程序?

小程序的价值相信已经不用我多说,未来大部分应用场景都将使用微信小程序进行研发.开发一套商城小程序需要哪些步骤,怎么开通?快搞定小编来为大家解疑. 第一步:确定商城小程序产品功能.UI风格 在设计小程序的时候一定要符合"轻便.即用即走"的定位,小程序只是场景化的产品,功能不宜过多,更多的是起到平台覆盖和完善用户使用场景的作用. 第二步:注册微信小程序并申请微信支付 进入微信公众平台mp.weixin.qq.com,按提示注册即可.需注意的是,个人暂时不能注册小程序,注册时必须提供企业营业

HotApp小程序统计,第一个专业的微信第三方小程序统计工具

1.什么是HotApp小程序统计 HotApp小程序统计是第一个微信第三方小程序统计工具,就像做android 和 ios开发的人知道友盟统计一样,小程序也需要有个统计工具. 通过这个工具,可以知道小程序的每日新增,每日启动次数,总用户,每天的活跃用户,很多人可能就会说,微信已经提供了,那还需要这个工具做什么? 因为微信只能看到前一天的新增用户,启动次数等数据,而当日的数据,微信的统计还不能提供. HotApp小程序统计 网址:www.weixin.hotapp.cn 2.HotApp小程序到底

微信(支付宝)小程序蓝牙4.0线上项目

需求 : 微信(支付宝)小程序链接BLE4.0 ,发送指令到蓝牙硬件 过程 : 小程序分为安卓和ios两套系统,支持连接BLE 蓝牙 ,其中会遇到机型问题(其中安卓,华为荣耀机型,小米,问题很多,稍微代码有出入都会出问题10008错误 .ios 苹果5s 会出问题 10001 ),以及蓝牙程序不可长时间运行的问题 . 回顾 : 2017年是我难受不堪回首和不敢去想的一年,公司主要做共享方面的产品,结合蓝牙所做的产品,产品设计就是一直在运行,知道电量到达某一点的时候,停止运行,硬件方面分为<单片机

微信门店小程序开通教程

最近随着微信小程序的更新迭代速度越来越快,越来越多的商家开始抢占小程序的风口.附近小程序功能即入驻也是大家比较关心的话题,今天为大家带来微信门店小程序开通教程. (一)什么是门店小程序 微信门店小程序是公众号无需开发,可快速创建门店小程序.门店小程序默认关联到公众号,可设置到公众号介绍页.自定义菜单,还可以插入图文消息中群发,也能被微信用户搜索和转发. 开放范围:支持帐号类型为企业.媒体.政府和其他组织的公众号使用"门店小程序"功能,个人类型主体账号暂不支持. (二)如何开通门店小程序

小程序直播功能开发经过 开发直播小程序的过程 微信直播小程序 直播答题小程序开发 小程序怎么做直播

公司要开发一个直播的小程序,现在直播小程序应用场景也很多.比如电商的直播,在线直播购物下单.还有就是一些教育类的,小程序直播答题.也研究了下微信小程序的直播文档,然后百度也搜了下各位前辈的开发历程.这里我总结下我开发的一些经过. 首先你要注册好一个你的小程序,然后申请小程序的类目,只要下面这些类目你能申请到就可以开通小程序的直播功能.然后就开始开发啦. 如下是微信小程序的要求: 暂只针对如下类目开放,需要先通过类目审核,再在小程序管理后台,"设置"-"接口设置"中自

银河宿舍微信记账小程序发布说明

功能: 宿舍流水的记录.宿舍成员展示(暂无新功能的开发) 修复的缺陷: 账单读取的错乱,界面跳转加载的失败 对运行环境的要求: 微信 安装方法: 安装微信,微信搜索银河宿舍微信小程序 描述系统已知的问题和限制: 账单金额无法与充值金额进行同步更新,舍费余额暂时无法计算 本版本仅支持单用户本地使用 说明软件的发布方式以及发布地址: 微信小程序平台 海报: 原文地址:https://www.cnblogs.com/slggwb/p/9016707.html

微信支付-小程序H5 公众号 Payment SDK

前言 今天是2020年一天,去年最后一个月开发了订单和支付系统,尤其在支付系统和微信对接的时候遇到了很多坑,这里给大家总结下,以免大家遇到相同的问题还浪费大量时间 微信支付前期准备 微信商户号,需要商户号,密码 ,退款时需要证书,证书默认密码是商户号 微信app(如 微信小程序 或者 微信公众号) 的appid和appsecret 需要在商户中关联微信小程序和微信公众号,然后运营者确认. 至此微信支付前期工作完成 Payment 封装了微信 支付宝 银联等很多支付的SDK git地址 https

微信打赏小程序寻投资或买断代码

开发理念:打赏小程序是针对非原创微信公众号跟IOS系统不能打赏问题,开发的一个打赏功能,增加公众号变现 功能说明: 实现微信公众号文章插入小程序打赏,可放文章底部或中间,点击打赏小程序就可支付 一个小程序可绑定50个公众号使用(微信目前开放的数量,如果超过50个可以在部署多个小程序)每个公众号的打赏数据分离自己可查看,最后实现对每个公众号的打赏金额进行结算. 特点:打赏排行(可显示打赏微信号的名称如:交友+微XXXX,实现竞价引流,打赏越多的微信号排越前面) 这个好处就文章阅读量多了,那些做微信