这两周做了项目关于微信端的处理,主要是实现调起微信扫一扫和通过微信获取地理位置。

写在前面,不要急,这些东西对第一次开发微信端的人来说很重要:
不太善于布局,大家凑合看,主要看内容哈
我先详细的解释一些东西,代码放在后面统一介绍,如果你这是需要使用,那可以直接翻到最后去下载代码,在代码中我做了详细的注释。
不过黑体的部分一定要看,因为如果你没做那几步的话是无法进行测试的。

不多说配置的信息了,直接说实现吧,在微信公众平台上配置的信息在网上有很多信息,我多说我自己在网络上没有找到的东西。

首先是封装一些工具类,这些类我放在最后打包,可以直接下载。有很多人可能会用到wechat4j框架,这个也是可以的,在后面我也会打包提供。

一、配置公众号信息
如果你或者公司为你提供了公众号或者服务号,那么你可以直接使用,如果是你自己要开发的话,就要先自己申请一个公众号,这个流程直接在百度上搜索“微信公众平台”,在官网中按照提示一步步地操作就好了,这个没有太多必要细说。

配置url和token
这个东西很重要,很多人都会很纠结,这个url到底是什么,token又是什么。在这里我会做出详细解释,在网络上几乎没有这种解释的。
1、url
在微信公众平台上点击“基本配置”,看到下面的界面:

图片不太清晰可能,不过没关系,这只是给大家一个直观的体会。因为即便是再怎么清晰可能也看不懂怎么回事。
这个url前半部分是一个映射的内网地址,对于内网映射,在最后的附录1中我做了解释。在那里边我添加了一张图,你可以看到这个地址和我们前面说的微信公众平台中的url的前半部分是一样的,其实就是通过这个映射访问我们本地的程序(localhost://……..);
url的后半部分,也就是从我打上马赛克的地方到最后,其实就是我们程序的一个方法的地址url,这个你应该知道的,如果不知道可以学学springMVC。我只简单提一点,requestMapping("/..."),就是这里面的名字拼接起来的地址。
好了,这就是我们的url配置。
2、token
这个token,作用我就不详细解释了,网上很多解释,微信公众平台上也有说明,下面是它的配置方法;
首先这个token值是随意输入的,只需要跟你前面的url填写的地址中的token保持一致就可以。什么意思呢?
就是在在你的Controller里有一个string类型的token,这里设置了一个值,和这个地方的token一样就可以了。

配置好了url和token,接下来就是申请测试号,这一步很关键
在微信公众平台上点击“开发者工具”,选择“公众平台测试账号”,在这里生成测试的appid和appsecret,这两个值你应该不陌生,在程序中是要用到的,一定要使用这个地方的这两个值。

在这个页面有张二维码,你要使用你的微信来扫它获取权限。不做这一步是无法进行测试的。

3、java实现
好了,基本配置就算好了,我把封装好的代码放在附录2下了。在代码中我做了详细的介绍,如果有什么不懂的或者遇到什么问题可以随时qq联系我,在附录2下留下了我的qq,也可以在博客上直接给我留言。

4、调用js接口
在jsp页面引入js:http://res.wx.qq.com/open/js/jweixin-1.0.0.js

这是所有微信接口倒要调用的接口验证配置信息

wx.config({debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: '', // 必填,公众号的唯一标识timestamp: , // 必填,生成签名的时间戳nonceStr: '', // 必填,生成签名的随机串signature: '',// 必填,签名jsApiList: [] // 必填,需要使用的JS接口列表
});

其中appid可以输入固定值,其他的进行传值,JSApiList中填写:scanQRCode

这是扫一扫的接口

wx.scanQRCode({needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有success: function (res) {var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
}
});

一般微信端开发都是使用ajax进行传值,ajax传值方式可以参考下面的链接,我写了一个ajax嵌套ajax的实例,你们可以参考一下:
http://blog.csdn.net/cat_pp/article/details/53887703

5、后台controller
因为不同的扫码操作也不同,所以我没有分享这部分的代码,如果大家在开发中遇到什么问题可以随时博客或者qq:3393055725骚扰。

附录1:内网映射:使用花生壳工具,注册一个账号,会获得一个免费的内网映射地址,但是这时候是不能使用的,你要花费6块钱,申请一个域名,其实就相当于激活了你当前的这个免费的域名,这个就不要节省了,除非公司提供给你,然后用Windows+R打开命令行工具,输入ipconfig,查看自己的内网地址,配置上之后就可以通过映射的这个域名访问自己的本地程序了。下面是花生壳的配置图片:

有一点需要注意:在编辑的时候要选择“网站80端口”,这时候才会配置成功,还有就是你最好把程序的容器设置成80端口。

附录2:只是一个链接地址,因为没有全部贴上来,你可以直接解压之后放在程序当中,作为一个工具类来使用。设置了两个积分。谢谢了,如果大家有积分可以直接下载,如果没有可以加我qq:3393055725,我直接发给你们也行。
代码链接:
http://download.csdn.net/detail/cat_pp/9722663

Java实现微信扫一扫相关推荐

  1. 手把手教程用Java实现微信公众号扫码登录功能

    文章目录 前言 一.环境准备 二.使用步骤 1. 使用微信工具包 2. 创建数据表 3. 登录页面代码逻辑 4. 验证微信公众号登录 总结 前言 微信现今是我们必不可少的社交工具了,围绕微信这个生态实 ...

  2. JAVA实现微信公众号扫一扫

    准备环境 1.微信测试公众号申请: 微信公众平台http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 2.记录下申请的测试公众号的 ...

  3. Java实现微信公众号扫码登录

    前言 1.首先,调用微信公众平台的OAuth2.0授权接口,获取用户的授权信息.具体的,在用户点击授权登录按钮时,向微信服务器发送请求,微信服务器会返回一个授权链接,用户点击授权链接后,微信服务器会跳 ...

  4. java弹出微信扫一扫_JAVA实现调用微信js-sdk扫一扫

    喜欢的朋友可以关注下. 已经很久没有给大家分享一片技术文章了,今天抽了点时间来,给大家说一说如何调用微信提供的扫一扫接口. 前提: 需要申请一个公众号:申请公众号需要的资料我就不说了,去申请微信会提示 ...

  5. java调用微信扫一扫

    步骤: 1,获取Accesstoken(参考我之前的文章) 2,获取jsapiticket(参考我之前的文章) 3,获取签名 4JSSDK使用步骤 步骤一:绑定域名(JS接口安全域名),.否则会报in ...

  6. Java后台微信点餐小程序开发最新版笔记,Springboot+Mysql+Freemarker+Bootstrap+微信小程序实现扫码点餐小程序,包含语音提示,微信消息推送,网页管理后台

    由于之前的Java后台微信点餐小程序有些知识点过时了,所以今天重新出一版,把里面过时的知识点更新下 前五章是部署笔记,后面是知识点的详细讲解,大家可以先看部署笔记,部署起来后,再跟着详细知识学习. 第 ...

  7. Java实现微信扫码登录并实现认证授权

    Java实现微信扫码登录并实现认证授权 1.登录流程及原理 1.1 OAuth2协议 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统. 在进行微信OAuth2.0 ...

  8. Java PC端微信、支付宝扫码支付(二)

    Java PC端微信.支付宝扫码支付(二) 前几天写了微信支付,附上链接 https://blog.csdn.net/qq_43494610/article/details/90411391 ,今天抽 ...

  9. JAVA微信公众号完整版教程扫一扫登录/自动回复/客服消息

    微信公众号开发完整版 开篇整理 Maven依赖 配置公众测试号 后续方法中使用的wxService 配置服务器所需接口 获取微信accessToken 开篇整理 之前写过一篇关于微信/企业微信/钉钉授 ...

  10. Java之微信支付(扫码支付模式二)案例实战

    摘要:最近的一个项目中涉及到了支付业务,其中用到了微信支付和支付宝支付,在做的过程中也遇到些问题,所以现在总结梳理一下,分享给有需要的人,也为自己以后回顾留个思路. 一:微信支付接入准备工作: 首先, ...

最新文章

  1. YARN-2.7.3-源码分析系列2:启动脚本原理的分析
  2. C#中生产者线程和消费者线程同步的实现
  3. 鲁棒图的三元素:抽象对象,实体对象和控制对象
  4. 网站设计师必备50教程
  5. 判断某棵二叉树是否二叉排序树
  6. [Jarvis OJ - PWN]——[XMAN]level3_x64
  7. 2个字节能存多少个16进制_MySql中的varchar长度究竟是字节还是字符
  8. PYMODM使用记录
  9. linux定时任务cron配置
  10. 【Caffe安装】Caffe安装(有GPU)--wanglei
  11. jsp网上零食销售网站系统
  12. win10怎么弄c语言,win10系统下搭建C语言开发环境方法步骤
  13. MPU6050数据分析
  14. 理解和应用向量积与数量积
  15. SUPER-VLAN
  16. kali下一句话升级metasploit
  17. vmware虚拟机安装 安卓Android x86 8.1
  18. 中国液晶面板王者为何被小弟超越了?
  19. 企业网盘+超融合,联想云加速的双引擎
  20. linux rcs 应用程序,Linux下的rcS文件的一些分析

热门文章

  1. 网页资源下载 -- 水浒传全集
  2. android recovery 3e,【记录】尝试用ODIN去恢复启动界面是Android system recovery 3e的I9100G...
  3. Andorid11 暗码启动应用(一)
  4. 基于Java的OA系统的设计与实现
  5. 如何理解UEFI的事件机制(三)——时钟中断
  6. BMP(DIB)图片格式
  7. JAVA中读写文件操作
  8. sd卡的速度怎么测试软件,【有图】怎么测SD卡的速度-蜂鸟网
  9. python利用PyQt5制作QQ空间登入客户端
  10. 实现不同电脑共享一套鼠标键盘------ShareMouse