package com.lanya.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Formatter;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import net.sf.json.JSONObject;
/***
*
* @author vxzsk.com原创
*
*/
public class WeChatUtil {
public final static String getticket_url="https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=";//接口凭据
/***
* 模拟get请求
* @param url
* @param charset
* @param timeout
* @return
*/
public static String sendGet(String url, String charset, int timeout)
{
String result = "";
try
{
URL u = new URL(url);
try
{
URLConnection conn = u.openConnection();
conn.connect();
conn.setConnectTimeout(timeout);
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), charset));
String line="";
while ((line = in.readLine()) != null)
{
result = result + line;
}
in.close();
} catch (IOException e) {
return result;
}
}
catch (MalformedURLException e)
{
return result;
}
return result;
}
/***
* 获取调用微信jsapi接口凭据
* @param access_token
* @return
* V型知识库www.vxzsk.com原创
*/
public static String getJsapiTicket(String access_token){
String jsonData=HttpUtil.sendGet(getticket_url+access_token+"&type=jsapi", "utf-8", 30000);
JSONObject jsonObj = JSONObject.fromObject(jsonData);
String errcode = jsonObj.getString("errcode");
String ticket = null;
if(errcode.equals("0")){
ticket = jsonObj.getString("ticket");
}
return ticket;
}
/***
* 获取accessToken
* @param appid 你公众号基本设置里的应用id
* @param appSecret 你公众号基本设置里的应用密钥
* V型知识库www.vxzsk.com原创
* @return
*/
public static String getAccessToken(String appid,String appSecret){
String url ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+appSecret+"";
String backData=WeChatUtil.sendGet(url, "utf-8", 10000);
System.out.println("返回:"+backData);
JSONObject json = JSONObject.fromObject(backData);
String access_token = json.getString("access_token");
return access_token;
}
/***
* 获取界面调用jsapi的所需参数
* @param jsapi_ticket 凭据
* @param url 界面请求地址
* @return
*/
public static Map<String, String> sign(String jsapi_ticket, String url) {
Map<String, String> ret = new HashMap<String, String>();
String nonce_str = create_nonce_str();
String timestamp = create_timestamp();
String string1;
String signature = "";
//注意这里参数名必须全部小写,且必须有序
string1 = "jsapi_ticket=" + jsapi_ticket +
"&noncestr=" + nonce_str +
"×tamp=" + timestamp +
"&url=" + url;
System.out.println(string1);
try
{
MessageDigest crypt = MessageDigest.getInstance("SHA-1");
crypt.reset();
crypt.update(string1.getBytes("UTF-8"));
signature = byteToHex(crypt.digest());
}
catch (NoSuchAlgorithmException e)
{
e.printStackTrace();
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
ret.put("url", url);
ret.put("jsapi_ticket", jsapi_ticket);
ret.put("nonceStr", nonce_str);
ret.put("timestamp", timestamp);
ret.put("signature", signature);
return ret;
}
private static String byteToHex(final byte[] hash) {
Formatter formatter = new Formatter();
for (byte b : hash)
{
formatter.format("%02x", b);
}
String result = formatter.toString();
formatter.close();
return result;
}
private static String create_nonce_str() {
return UUID.randomUUID().toString();
}
private static String create_timestamp() {
return Long.toString(System.currentTimeMillis() / 1000);
}
/**
* @param args
*/
public static void main(String[] args) {
String appid="你公众号基本设置里的应用id";//应用ID
String appSecret="你公众号基本设置里的应用密钥";//(应用密钥)
String url ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+appSecret+"";
String backData=WeChatUtil.sendGet(url, "utf-8", 10000);
System.out.println("返回:"+backData);
JSONObject json = JSONObject.fromObject(backData);
String access_token = json.getString("access_token");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
微信硬件控制接入案例SpringMVC+WeUI+jsapi
共83个文件
jar:51个
java:5个
class:5个
需积分: 9 22 下载量 121 浏览量
2018-01-08
10:49:37
上传
评论 1
收藏 15.23MB ZIP 举报
温馨提示
微信硬件控制接入案例SpringMVC+WeUI+jsapi,airkiss,jsp
资源推荐
资源详情
资源评论
收起资源包目录
微信硬件接入案例SpringMVC+WeUI.zip (83个子文件)
微信硬件接入案例SpringMVC+WeUI
lanyaTest
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.core.resources.prefs 57B
org.eclipse.wst.common.component 465B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 500B
org.eclipse.jdt.core.prefs 364B
src
com
lanya
controller
LanyaController.java 1KB
LanyaTestServlet.java 3KB
util
HttpUtil.java 4KB
WxConfig.java 325B
WeChatUtil.java 5KB
.project 2KB
WebRoot
META-INF
MANIFEST.MF 36B
WEB-INF
web.xml 867B
views
test.jsp 841B
b_chat_t.jsp 7KB
classes
com
lanya
controller
LanyaController.class 2KB
LanyaTestServlet.class 3KB
util
WeChatUtil.class 5KB
HttpUtil.class 4KB
WxConfig.class 440B
lib
jackson-core-asl-1.6.2.jar 196KB
commons-collections-3.1.jar 546KB
ezmorph-1.0.6.jar 84KB
dom4j-1.6.1.jar 307KB
xstream-1.3.jar 401KB
log4j-1.2.16.jar 470KB
aopalliance-1.0.jar 4KB
taobao-sdk-java-auto_1455552377940-20160607.jar 569KB
httpmime-4.5.jar 40KB
jdom.jar 149KB
poi-3.10-FINAL-20140208.jar 1.86MB
httpclient-4.5.jar 711KB
json-lib-2.2.3-jdk13.jar 145KB
spring-tx-3.1.1.RELEASE.jar 241KB
commons-httpclient-3.1.jar 298KB
fluent-hc-4.5.jar 31KB
jettison-1.1.jar 66KB
commons-io-1.1.jar 60KB
jdom-2.0.5.jar 293KB
spring-aop-3.1.1.RELEASE.jar 324KB
commons-logging-1.1.1.jar 59KB
org.springframework.web.servlet-3.0.5.RELEASE.jar 409KB
org.springframework.web-3.0.5.RELEASE.jar 386KB
spring-batch-core-2.1.8.RELEASE.jar 449KB
httpcore-4.4.1.jar 315KB
jackson-all-1.6.2.jar 842KB
urlrewritefilter-4.0.3.jar 173KB
jna-4.1.0.jar 893KB
jna-platform-4.1.0.jar 1.4MB
spring-beans-3.1.1.RELEASE.jar 576KB
mysql-connector-java-5.1.2-beta-bin.jar 622KB
httpclient-cache-4.5.jar 155KB
commons-fileupload-1.2.1.jar 56KB
commons-codec-1.9.jar 258KB
commons-lang-2.4.jar 256KB
commons-logging-1.2.jar 60KB
spring-core-3.1.1.RELEASE.jar 439KB
taobao-sdk-java-auto_1455552377940-20160607-source.jar 389KB
spring-expression-3.1.1.RELEASE.jar 172KB
spring-batch-infrastructure-2.1.8.RELEASE.jar 349KB
spring-jdbc-3.1.1.RELEASE.jar 395KB
httpclient-win-4.5.jar 17KB
commons-beanutils-core-1.8.jar 188KB
org.springframework.context.support-3.0.5.RELEASE.jar 99KB
jackson-mapper-asl-1.6.2.jar 530KB
morph-1.1.1.jar 286KB
mybatis-3.1.1.jar 636KB
xpp3_min-1.1.4c.jar 24KB
spring-asm-3.1.1.RELEASE.jar 52KB
spring-context-3.1.1.RELEASE.jar 812KB
mybatis-spring-1.1.1.jar 40KB
pages
jquery.min.js 92KB
data_object.js 2KB
weui.min.css 27KB
b_chat_t.html 7KB
bytes_base64.js 30KB
weui.css 190KB
b_chat_t.jsp 7KB
index.jsp 834B
.mymetadata 300B
.classpath 529B
.myeclipse
共 83 条
- 1
资源评论
oCheney
- 粉丝: 6
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功