文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Html5页面如何获取微信公众号的openid

2023-06-09 11:19

关注

小编给大家分享一下Html5页面如何获取微信公众号的openid,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

H5页面是运行在微信浏览器的

需要与公众号关联(即需要openid)

判断需求是否需要弹窗告知用户授权操作

获取地址栏参数判断是否有'code',有的话直接传给后台换取openid,没有就跳转微信提供的获取code的链接

获取到的openid做本地存储,判断没有openid进行获取openid操作

这边的操作是不需要弹出授权框,且code不能重复使用,所以做了关注二维码弹窗且不能关闭弹窗操作

// 强制关注公众号,获取openidgetCode = function () {    if (sessionStorage.getItem("openid")&&sessionStorage.getItem("openid")!="undefined") {        return false;    }    var code = getUrlParam('code') // 截取路径中的code,如果没有就去微信授权,如果已经获取到了就直接传code给后台获取openId    var local = window.location.href;    var APPID = 'xxx';    if (code == null || code === '') {        window.location.href = 'https://open.weixin.qq.com/connect/oauth3/authorize?appid=' + APPID + '&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_base&state=#wechat_redirect'    } else {        getOpenId(code) //把code传给后台获取用户信息    }}//把code传给后台,得到openidgetOpenId = function (code) {    $.ajax({        type: 'POST',        dataType: 'json',        url: 'xxx',        data: { code: code },        success: function (res) {            if (res.status == -1) {                // 提示没有关注公众号 没有关注公众号跳转到关注公众号页面                console.log('您还未关注公众号喔');                //二维码弹窗                $('.openPopup').click();                return;            } else {                // 本地存储这个openid,并刷新页面                sessionStorage.setItem("openid", res.data.openid);                location.reload();            }        }    });}//获取地址栏的参数getUrlParam= function (name) {        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");        var r = window.location.search.substr(1).match(reg);        if (r != null) return unescape(r[2]); return null;}//页面执行调用getCode();

以上是“Html5页面如何获取微信公众号的openid”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯