H5页面获取微信公众号的openid

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

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

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

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

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

// 强制关注公众号,获取openid
getCode = 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/oauth2/authorize?appid=‘ + APPID + ‘&redirect_uri=‘ + encodeURIComponent(local) + ‘&response_type=code&scope=snsapi_base&state=#wechat_redirect‘
    } else {
        getOpenId(code) //把code传给后台获取用户信息
    }
}
getOpenId = 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();
            }
        }
    });
}

原文地址:https://www.cnblogs.com/congfeicong/p/11125575.html

时间: 2024-11-07 19:22:05

H5页面获取微信公众号的openid的相关文章

asp获取微信公众号用户的头像和微信名及openid源码

asp获取微信公众号用户的头像和微信名及openid源码,asp写的,可以获取用户的头像和微信名,性别及openid等 <script language="jscript" runat="server">function getjson(str){ try{ eval("var jsonStr = (" + str + ")"); }catch(ex){ var jsonStr = null; } return j

从微信官方获取微信公众号名片:http://open.weixin.qq.com/qr/code/?username=haihongruanjian

从微信官方获取微信公众号名片:http://open.weixin.qq.com/qr/code/?username=haihongruanjian 个人的号,不知道怎么获取.

微信公众号菜单openid 点击菜单即可打开并登录微站

现在大部分微站都通过用户的微信openid来实现自动登录.在我之前的开发中,用户通过点击一个菜单,公众号返回一个图文,用户点击这个图文才可以自动登录微站.但是如果你拥有高级接口,就可以实现点击菜单,打开网页就能获取这个openid,实现自动登录. 这里已经提到,必须要拥有高级接口的权限(服务号.企业号),开启了开发者模式. 1.设置回调地址 在微信公众平台后台“开发者中心”中找到“高级接口”下的“OAuth2.0网页授权”,后面有一个“修改”,点击之后就会弹出填写回调地址的对话框.具体如何授权,

JAVA微信公众号通过openid发送模板消息~

1,问题产生 在微信公众号开发过程中,我们有时候做不同权限的时候,比如在注册的时候,需要审核,然后我们要想办法让对方知道审核的结果.这时候我们可以通过模板消息来通知. 2,第一步,首先在微信公众号上获取模板消息 首先,登录微信公众平台,看有没有模板消息这一块,没有的话点击添加功能插件,去添加,这里就省略不说了,这个主要就是选择你公众号的行业对应的模板消息,然后通过审核之后就可以使用了,说是几个工作日 但是一般很快就审核通过的. 有模板消息之后点进来,对应自己所需要的模板消息进行添加,比如,我添加

使用Django实现微信公众号用户openid登录认证

最近在用Django做一个小项目,需要将微信的用户与网站的用户进行关联,由于是微信的订阅号,没有oauth网页授权的权限,只能退而求其次,在响应中获取用户的openid,来唯一的标识用户. Django中用户的模型继承和扩展于AbstractUser,在用户模型中添加openid字段: models.py class Users(AbstractUser): openid = models.CharField(max_length=100,blank=True,null=True,verbose

Ionic+AngularJS 开发的页面在微信公众号下显示不出来原因查究

ionic 页面 微信浏览器遇到的坑 公司的微信公众号一部分页面是用AngularJS+Ioinc开发,发现在本地浏览器测试的时候都没问题,传到服务器在微信公众号下跑就出问题来,经查是: index-tab页面 406 not accessable http请求头问题 1 $httpProvider.interceptors.push(function() { 2 return { 3 "request": function(config) { 4 //console.log(conf

获取微信公众号已关注用户基本信息

当用户关注某一个公众号时,被关注的公众号就可以获得用户在此公众号下的OpenID.通过用户的OpenID,可以获取一些基本的信息,如头像.昵称.性别.地区等 1.获取access_token 获取用户的基本信息之前必须要先获得access_token public function http_curl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIF

获取微信公众号openid

@Controller public class GetOpenId { private static String appid = ""; private static String appscript = ""; private static String redirect_uri = "...../getCode"; @RequestMapping("/getopenid") @ResponseBody public v

java 获取微信公众号粉丝的openId

public static String getUserOpenId(String accessToken){ String result = null; String requestUrl ="https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN"; requestUrl = requestUrl.replace("ACCESS_TOKEN", accessToken); JSON