资源简介
微信JS-SDK微信分享接口开发(实用版)代码包.zip

代码片段和文件信息
package com.sitechasia.ebiz.weixin.action;
import java.util.Calendar;
import net.rubyeye.xmemcached.MemcachedClient;
import net.sf.json.JSONobject;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import com.google.gson.Jsonobject;
public class WeiXinShareAction {
/** memCached缓存 */
private MemcachedClient remoteMemcachedClient;
public void getWxShareData() throws Exception {
Jsonobject jsonobject = new Jsonobject();
String ticket = null;
String[] wxInfo = new String[]{“appId““appsecret“};
String ticketResString = this.getShareJsapiTicket(wxInfo);
if (StringUtils.isNotEmpty(ticketResString)) {
JSONobject ticketJSONobject = JSONobject.fromobject(ticketResString);
if (ticketJSONobject.getInt(“errcode“) == 0) {
ticket = JSONobject.fromobject(ticketResString).optString(“ticket“ ““);
}
}
if (StringUtils.isEmpty(ticket)) {
jsonobject.addProperty(“errcode“ 10002);
jsonobject.addProperty(“errmsg“ “ticket_error“);
this.responseWrite(jsonobject.toString());
return;
}
String noncestr = this.createNonceStr();
int timestamp = this.createTimestamp();
String requestRefererURL = this.getRequest().getHeader(“referer“);
logger.warn(“requestRefererURL: “ + requestRefererURL);
String signature = this.createSignature(noncestr ticket timestamp requestRefererURL);
jsonobject.addProperty(“errcode“ 0);
jsonobject.addProperty(“errmsg“ ““);
jsonobject.addProperty(“wxuser“ wxInfo[0]); // appId
jsonobject.addProperty(“timestamp“ timestamp);
jsonobject.addProperty(“noncestr“ noncestr);
jsonobject.addProperty(“signature“ signature);
jsonobject.addProperty(“shareimg“ “http://www.abc.com/123.jpg“);
jsonobject.addProperty(“shareurl“ “http://www.abc.com/123.html“);
this.responseWrite(jsonobject.toString());
}
// 数据签名
private String createSignature(String nocestr String ticket int timestamp String url) {
// 这里参数的顺序要按照 key 值 ASCII 码升序排序
String s = “jsapi_ticket=“ + ticket + “&noncestr=“ + nocestr
+ “×tamp=“ + timestamp + “&url=“ + url;
return DigestUtils.shaHex(s);
}
// 创建随机串 自定义个数0 < ? < 32
private String createNonceStr() {
String str = “abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789“;
String nonceStr = ““;
for (int i = 0; i < 16; i++) {
int beginIndex = (int) Math.round(Math.random() * 10);
nonceStr += str.substring(beginIndex beginIndex + 1);
}
return nonceStr;
}
// 创建时间戳
private int createTimestamp() {
return Calendar.getInstance().get(Calendar.SECOND);
}
/**
* 微信分享,获取access_token
*/
private String getShareJsapiTicket(String[] wxInfo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5972 2017-06-27 15:49 WeiXinShareAction.java
文件 953 2017-06-27 15:36 jq.wxShare.js
文件 1171 2017-06-27 15:37 jq.wxShare_data.js
- 上一篇:sfark转sf2
- 下一篇:sendpcap发包小软件
相关资源
- PID_AutoTune_v0.rar
- vspd7.2.308.zip
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
- UML建模大全
- 开源1A锂电池充电板TP4056原理图+PCB
- m1卡 ic卡可选择扇区初始化加密软件
- TSCC.exe
- FTP课程设计(服务端+客户端)
- 计算机图形学 边填充算法实现代码
- 电力系统潮流计算程序集合
- oracle数据迁移项目实施方案
- Web Api 通过文件流 文件到本地
- Visio图标-最新最全的网络通信图标库
- Spire API文档
- OpenGL参考手册
- Python中Numpy库最新教程
- SPD博士V5.3.exe
- 直流无刷电机方波驱动 stm32 例程代码
- layui后台管理模板
- 仿知乎界面小程序源代码
- 云平台-阿里云详细介绍
- photoshop经典1000例
- scratch垃圾分类源码(最终版本).sb
- IAR ARM 7.8破解
- TI CCS V5.4 安装步骤及破解文件
- 松下plc FP-XH的驱动
- 局域网硬件信息收集工具
- 加快Windows XP操作系统开机速度
评论
共有 条评论