在做微信某个功能的时候,大致需求是:静默授权,得到openId ,然后拿着openId调用接口,判断是否关注.如果是关注的,则发放礼券.每个我网站的会员只会发放一次礼券.如果第二次则会提示已领取过礼券. 坑的表现为:我不管怎么换登会员号,总是提示我已领取过礼券,然后通过日志发现,静默授权的时候,发生了两次回调,时间间隔大概为1秒.也就是说,第一次回调后,我就将礼券发放到这个帐号了,第二次回调,自然就是失败了.而第一次发放的结果还没来得及展示就给第二次结果覆盖了. 看到网上有很多类似的案例,最后我…
应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作,调起微信授权登录,用户授权后拿到用户信息. 一.登录插件配置 先配置微信登录参数 appid和appsecret,在manifest.json 文件中选择SDK配置,登录鉴权  勾选微信登录,填入在开放平台申请的app参数. 在manifest.json 文件中选择 源码视图,找到“OAuth”,配置为 "OAuth" : { "description" : "登录授权&qu…
这是实习公司里微信公众号的一个小项目,用的是ssm.问题是获取用户openid为空. 分析下步骤 首先用户点击微信公众号按钮 访问微信服务器获取code 跳转到项目url 拿code访问微信服务器,获取token 以及openid. 将openid存入session 这是微信公众号按钮链接 https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxxxxxxxxxxxxx&redirect_uri=https:xxx.xx.html&a…
今天公司老总,叫我把公司的企业微信,服务商管理后台中的本地应用进行回调验证. 听起来一脸懵逼,没搞过企业微信对接情况.一头雾水,不知道如何下手. 先讲解一下,企业微信情况. 登录到企业微信后,右上角服务商管理后台 之后点击进入应用管理界面 选择网页应用,这里说下,创建应用的方法,自己去百度一下哈,如何创建我就不阐述了.这里配置回调URL,即是你网站的URL地址, 比如:https://xxxx.xxxx.com/weixin 这里我用Django框架的公司网站进行回调验证,如果没有验证回调成功,…
前言 前段时间接手了一个微信小程序的开发,主要使用了小程序在今年 3 月开放的蓝牙 API ,此过程踩坑无数,特此记录一下跳坑过程.顺便开了另一个相关的小项目,欢迎 start 和 fork: BLE_MiniProgram API简介 微信小程序目前有蓝牙 API 共 18 个,其中操作蓝牙适配器的共有 4 个,分别是 wx.openBluetoothAdapter 初始化蓝牙适配器 wx.closeBluetoothAdapter 关闭蓝牙模块 wx.getBluetoothAdapterS…
以下是自己在开发过程中遇到的坑和小技巧,记录以下: 1.出现了 page[pages/XXX/XXX] not found.May be caused by :1. Forgot to add page route in app.json.2. Invoking Page() in async task. 截图如下: 解决办法:需要在每个XXX.js文件中加入page(),以用来生成一个页面实例对象. Page({ }); 有时就算你在每个js文件中都写了基本的page()代码,还是会保这个错误…
我通过这篇文章把今天工作中遇到的HTTP跨域和OPTION请求的一个坑记录下来. 场景是我需要在部署在域名a的Web应用里用JavaScript去消费一个部署在域名b的服务器上的服务.域名b上的服务也是我开发的,因此我将域名a加到了该服务的HTTP响应结构的头文件里,这样就允许了域名a上的JavaScript代码用AJAX访问域名b的服务. 域名b上的服务是一个Servlet,允许域名a跨域访问的代码就一行: protected void doGet(HttpServletRequest req…
前期准备工作:申请AppId,下载资源包jar.文档等. 微信授权登录步骤: 1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数:(第1步官方文档写得很模糊分散,做微信授权登录的时候遇到很多问题,现在总结记录下来) 2. 通过code参数加上AppID和AppSecret等,通过API换取access_token,openid: 3. 通过access_token和openid进行接口调用,获取用户基本数据资源或帮…
OAuth2(open Auth)开放授权协议 授权码模式流程: 1.浏览器(客户端)点击一个比如使用微信登陆按钮 2.会跳到认证服务器页面,让用户选择是否授权 3.如果用户点击授权,那么会跳转到开始在链接上填写的回调地址 (redirect_uri),同时会产生一个授权码code 4.客户端又拿这个code去认证服务器请求access_token 5.有了access_token就可以去调用授权的接口,access_token有效期比较短,当access_token过期后可以refresh_t…
效果图 这一节介绍,登录回调 以及 喜欢列表 的实现. 登录回调:这里是指在获取登录完成之后,再进行下一步的操作. 比如效果图中我的页面,默认是未登录状态,积分和喜欢列表的数量都没有获取到. 而登录成功之后不仅将用户信息刷新,同时将积分和喜欢列表的数量刷新. 登录回调 我这里实现的回调层级有点多,这也是回调的一个弊端,当回调层级很多代码就会很难理解. 一个简单的回调例子: // 1.获取网络数据 _getDataFromServer(userInfo, callBack){ ... callBa…