最近使用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. Win7 开启显示快速启动工具栏,发送到快速启动右键菜单
  2. java开源网络服务器端组件_OpenNMS - 网络服务器端组件 - 组件类库 - JAVA开源项目 - 开源吧...
  3. 烂泥:centos安装及配置DNS服务器
  4. CASE WHEN 高阶用法?
  5. 【ABAP增强】基于BADI的增强
  6. SpringBoot中通过重写WebMvcConfigurer的addCorsMapping方法实现后台服务解决跨域问题
  7. Java Calendar add()方法与示例
  8. C++实现大数据乘法
  9. 【springmvc+mybatis项目实战】杰信商贸-2.数据库配置
  10. xss攻击突破转义_每个人都应该了解的7种xss漏洞
  11. “进度条”博客——第十三周
  12. C#动态创建和动态使用程序集、类、方法、字段等(二)
  13. 华为odjava机试题_手心里的咕咕机,华为手机大小,性价比赶超小米的学习打印机...
  14. NLP中文常用停用词表
  15. 短信平台API接口集成指南
  16. 特征选择和特征提取,及其分类
  17. IT服务外包的必要性
  18. EasyExcel 固定(冻结)单元格
  19. 2022考公务员难还是考研难?
  20. 计算机网络的社会环境分析_2020年昆仑银行分行社会招聘工作人员公告

热门文章

  1. 音视频开发:ffplay使用soundtouch实现倍速播放
  2. V8引擎-js执行原理
  3. 解决vuecli脚手架安装失败
  4. 【递归与分治】穷举搜索、科赫曲线
  5. 智能窗帘研究制作_智能窗帘控制系统的设计研究
  6. yyyy-MM-dd HH:mm:ss.fff规则的时间格式化
  7. Excel链接mysql语句查询_Excel表中连接sql并使用sql语句引用excel单元格数据作为查询条件...
  8. 中文版php代码生成器,PHPCMS V9代码生成器
  9. 计算机软件工程专业的需要考什么证书?
  10. HP Probook 4230s 更换 CPU 过程