最近使用JAVA开发微信的AIRKISS功能,因为没有经验参考了比较多的网站,其中受益比较多的除了微信官方网站外,特别感谢以下几位大神的经验分享。

https://blog.csdn.net/jrainbow/article/details/50509162

http://www.shaoguoji.cn/2017/01/28/ESP8266-wechat-onekey-config-2/

接下来进行步骤讲解:


目前发现微信的两种一键WIFI方式,一种是二维码扫码,扫码开发不需要平台代码,只需要在公众号进行设备注册即可,具体步骤参考下面(第三步);第二种就是使用js-sdk的方式进行认证以及配置界面调用的方式。

一、java 关于 js-sdk开发需要的工具:eclipse、tomcat/jetty(我用的maven插件jetty)、ngrok(内网映射工具非常好用,微信公众号开发需要外网网址,下载地址:https://ngrok.com/download)、微信web开发者工具(用于测试传入参数等是否正常,手机测试日志查看不方便,下载地址,微信公众号登陆后,参考下面图片进行下载)

     

二、账户申请:

1、在微信账户申请一个公众号,主要用于公众测试平台下载,如果只是用于测试  公众号不需要认证。

2、申请微信测试账户,点击 微信测试账户申请网址  使用手机微信扫一扫即可获得测试账户。

三、 二维码扫码开发:

1、首先需要有一个测试账户,打开测试账户页面,在下面的 体验接口权限表  中找到  “设备功能接口” 点击 “开启”,开启后如下图:

2、点击“设置”按钮进入 设备功能 页面,添加产品:

3、设备添加完成后,点击产品详情。

4、产品授权,设备授权官网参考地址为:设备授权官方网址    ,具体代码可以参考 博客 最后上传的代码中mas.tool.Tools 中的main方法,填写参数即可授权。

四、JS-SDK  开发流程(JAVA相关代码) ,开发之前也需要进行第三部,添加设备部分,如果之前已经存在测试设备,则不需要。

1、使用eclipse开发JAVA相关代码,使用maven自带插件  jetty  启动,具体代码看第五步。

2、使用ngrok 进行外网映射,打开cmd窗口,输入ngrok http 8088  然后回车。 (注意:我的项目映射端口为8088)

映射地址:http://3cb397cd.ngrok.io/

4、在 微信测试账号 首页配置JS接口安全域名

5、添加测试微信公众号按钮,点击添加地址:  微信官方地址 ,首先需要获得token值,获取方法如下图1,然后通过token值,添加按钮方法如图2。

(一)获得token值:

(二)创建菜单:

{ "button": [ { "type": "view", "name": "测试", "url": "http://3cb397cd.ngrok.io/airkiss" } ] }

6、扫描关注 微信测试账号  首页的测试号二维码,即可看到按钮效果,点击按钮,即可跳转微信自带的一键WIFI页面。

属性配置调用成功后,进入AIRKISS页面。WiFi密码并确定,微信会把周围的硬件设备配置到同一网络。

五、功能代码:

首先需要多看  JS-SDK说明文档  ,JSAPI说明。

1、在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js

2、通过config接口注入权限验证配置,签名算法等参考 JS-SDK说明文档 附录部分  。

wx.config({beta : true, // 开启内测接口调用,注入wx.invoke方法debug: false, // 开启调试模式,关闭appId: '', // 必填,公众号的唯一标识timestamp: , // 必填,生成签名的时间戳nonceStr: '', // 必填,生成签名的随机串signature: '',// 必填,签名jsApiList:  [ 'configWXDeviceWiFi' ] // 需要使用的jsapi列表
});

3、检查浏览器是否支持configWXDeviceWiFi接口,并使用此接口。

wx.ready(function() {wx.checkJsApi({jsApiList : [ 'configWXDeviceWiFi' ],success : function(res) {wx.invoke('configWXDeviceWiFi',{},function(res) {var err_msg = res.err_msg;if (err_msg == 'configWXDeviceWiFi:ok') {$('#message').html("配置 WIFI成功 OK啦");return;} else {$('#message').html("配置 WIFI失败");}});}});
});

4、config  需要的参数具体实现,需要后台进行传值,具体实现可查阅上传demo.

5、开发完毕后可以使用  微信web开发这工具进行测试,测试成功后即可在手机公众号进行测试,如下:

我的CSDN代码下载:https://download.csdn.net/download/maizang52/10334002

JAVA开发微信 AIRKISS 一键WIFI功能(测试账户)相关推荐

  1. Java开发微信公众号之被动回复用户消息-回复图片消息

    一.前言 hello小伙伴们,大家好,做微信开发两年了,最近看到微信方面的文章阅读量和关注量上升的比较快速,激发了我满满的动力啊,所以就滋生了一个想法,从头开始整理一下微信公众号开发,写一个简易的教程 ...

  2. Java开发微信公众号(四)---微信服务器post消息体的接收及消息的处理

    在前几节文章中我们讲述了微信公众号环境的搭建.如何接入微信公众平台.以及微信服务器请求消息,响应消息,事件消息以及工具处理类的封装:接下来我们重点说一下-微信服务器post消息体的接收及消息的处理,这 ...

  3. Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发

    接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...

  4. 神经网络优化算法nag_数值算法组(NAG)向Java开发库添加了新功能

    神经网络优化算法nag 如果数学和统计算法使您的果汁如虎添翼,那么您就可以享受具有象征意义的治疗. 数值算法小组(NAG)是一个盎格鲁/美国组织,专门为希望将数学或统计功能集成到其应用程序中的开发人员 ...

  5. java开发微信公众号支付

    这篇文章主要给大家结合微信支付接口开发的实践,从获取用户授权到各主要接口的使用方法等方面介绍微信支付的关键点技术,有需要的小伙伴可以参考下 最近做了微信公众号支付的开发,由于是第一次做也摸索了几天的时 ...

  6. 新课重磅发布-Java开发微信朋友圈PC版系统(架构2.0+分布式中间件)

    继"Java开发微信朋友圈PC版系统-架构1.0" 课程之后,debug这段时间日撸夜撸,终于赶在春节放假前给诸位带来了这一系统的架构2.0版本,特此分享给诸位进行学习,以掌握.巩 ...

  7. 用java开发微信公众号:测试公众号与本地测试环境搭建(一)

    本文为原创,原始地址为:http://www.cnblogs.com/fengzheng/p/5023678.html 俗话说,工欲善其事,必先利其器.要做微信公众号开发,两样东西不可少,那就是要有一 ...

  8. JAVA开发---微信文章留言功能实现

    概述 最近应公司需求,对微信文章留言功能进行开发,然而由于微信文档描述贼简单,所以遇坑不断,特在此整理一下以便各位少走弯路. 1. 留言功能开通 首先,公众号需要具备可以进行留言的资格,如果你的公众号 ...

  9. java开发微信第三方平台 模板消息发送消息案例

    今天利用自己的一点休息时间来编写了一个利用java开发的微信第三方平台,这次开发的目地是利用微信的模板消息无限的向关注用户推送消息.经过反复的测试,无BUG出现. 开发语言:java,数据库:mysq ...

最新文章

  1. 2018usnews计算机专业排名,2018年研究生计算机专业前50排名(美USNews版)
  2. 程序员杂记:我们的爱情故事
  3. 贯穿应用开发始终的八大性能陷阱
  4. 【NOIP2010】引水入城
  5. 《Imperfect C++中文版》——第2章 对象生命期
  6. 【PC工具】常用USB转串口芯片CH340G,更新驱动安装有可能遇到的问题及解决办法...
  7. java gc 可以对方法区进行回收_浅谈 Java 之 GC
  8. AttributeError: 'StatusHandler' object has no attribute 'async_callback'
  9. java浮点数存储方式_Java浮点数内存存储
  10. 【模型加速】TensorRT安装、测试及常见问题
  11. 为什么大多数编程语言性能对比都有问题?
  12. oracle 11g regexp_substr,oracle中REGEXP_SUBSTR方法的使用
  13. 【第43题】【062题库】2019年OCP认证062考试新题
  14. SNF开发平台WinForm之六-上传下载组件使用-SNF快速开发平台3.3-Spring.Net.Framework
  15. 2018计算机专硕学硕,2018年专硕和学硕的初试和复试的区别?
  16. 一文读懂 Redis!
  17. (面试)Springboot的启动流程
  18. 单例模式(Python中的单例类)
  19. 《俄狄浦斯王》--人伦悲剧还是命运悲剧?
  20. openGL-读取off、stl、obj文件并旋转平移缩放操作

热门文章

  1. C语言中const关键字的作用
  2. 【云原生】前后端分离项目下 如何优雅的联调程序?
  3. bazel 链接第三方动态库_Windows最好用的动态壁纸软件,用了都说好!!
  4. UTC时间转换为GPS week和GPS秒
  5. python打开超链接方法_Python PPTX内部超链接解决方法函数
  6. c++带颜色输出到屏幕的颜色编码
  7. 行政复议与行政应诉工作平台:助力形成全国行政复议与行政应诉工作“横向到边,纵向到底”一盘棋新格局
  8. 写在2020年注册测绘师制度推行之前
  9. 【服务器数据恢复】HP EVA系列存储出现故障如何恢复数据?
  10. 最新版EasyRecovery数据恢复软件使用测评介绍