拿来即用的java实现的微信分享教程(全步骤)
一、控制器层
controller层
package top.siger.yunrunma.music.api.v1.controller;
import cn.hutool.json.JSONUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.HttpResponseException;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import top.siger.yunrunma.common.core.domain.AjaxResult;
import top.siger.yunrunma.common.core.redis.RedisCache;
import top.siger.yunrunma.music.api.v1.controller.util.RandomStr;
import top.siger.yunrunma.music.api.v1.controller.util.Sha1;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.io.IOException;
import java.net.URI;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.text.DateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Controller
@RestController
@RequestMapping("/api/common/dealer/v1/wxPay")
public class ShareController {
@Autowired
private RedisCache redisCache;
/**
* 微信公众号的appid
*/
private String appid="";
/**
* 微信公众号的appSecret
*/
private String secret="";
/**
* 这是跳转到分享的页面
* @return
*/
@RequestMapping(value = "/to_detail")
public String share(){
return "/index/share";
}
/**
* 获取微信分享配置的请求 方法只写了主要方法,需要根据自己的要求 完善代码
* @param url 前台传过来的当前页面的请求地址
* @return
*/
@RequestMapping(value = "/get_wx_config")
@ResponseBody
public AjaxResult share(String url){
String token="";
String ticket="";
Long token_time=null;
Long jsapi_time=null;
long timestamp = System.currentTimeMillis() / 1000;
System.out.println("timestamp=*************"+timestamp);
String noncestr = RandomStr.createRandomString(16);
System.out.println("noncestr=**************"+noncestr);
System