資源簡介
微信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發包小軟件
評論
共有 條評論