记录微信小程序介入web-view时实现扫一扫功能
一、官方文档: web-view | 微信开放文档 概述 | 微信开放文档
二、准备工作
1、开发使用者必须是已认证的服务号,服务号绑定“JS接口安全域名”下的网页可使用此标签跳转任意合法合规的小程序。
2、必须部署到正式服务器。=
3、必须是在已认证的服务号中做JS接口安全域名验证。
4、微信公众号,需要公众号的appid、appsecret
三、开发流程
1、微信公众号--设置与开发--公众号设置--功能设置--js接口安全域名--添加项目域名
微信公众号--设置与开发--基本配置--获取appid、appsecret,添加ip访问白名单
2、后台用到的jar包
import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.ConnectException; import java.net.URL; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.UUID; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.servlet.http.HttpServletRequest; import net.hjyzg.util.DateUtil; //自己写的关于时间判断的工具类 import net.sf.json.JSONException; import net.sf.json.JSONObject; import net.shopxx.Setting; //自己项目的一些基础配置信息 import org.apache.commons.codec.digest.DigestUtils; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.protocol.HTTP; import org.slf4j.Logger; import org.slf4j.LoggerFactory;
3、基础类
发送https的工具类
/** * 发送https请求 * * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值) */ public static JSONObject httpsRequest(String requestUrl, String requestMethod, String outputStr) { JSONObject jsonObject = null; try { // 创建SSLContext对象,并使用我们指定的信任管理器初始化 TrustManager[] tm = { new MyX50