欧美91精品国产自产I国产精品免费麻豆入口I国产99久久久国产精品免费看I国产一区网I黄色在线成人I2019天天干夜夜操I久草91视频I91福利专区

027-81331413

微信小程序獲取openid

發布時間:2021-01-02 瀏覽:3172

獲取微信OpenId

  1. 先獲取code

  2. 再通過code獲取authtoken,從authtoken中取出openid給前臺

  3. 微信端一定不要忘記設定網頁賬號中的授權回調頁面域名

流程圖如下


主要代碼

頁面js代碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* 寫cookie */
function setCookie(name, value) {
  var Days = 30;
  var exp = new Date();
  exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
  document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path=/";
}
/* 讀cookie */
function getCookie(name) {
  var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
  if (arr != null) {
    return unescape(arr[2]);
  }
  return null;
}
 
/* 獲取URL參數 */
function getUrlParams(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  var r = window.location.search.substr(1).match(reg);
  if (r != null) {
    return unescape(r[2]);
  }
  return null;
}
 
/* 獲取openid */
function getOpenId(url) {
  var openid = getCookie("usropenid");
  if (openid == null) {
    openid = getUrlParams('openid');
    alert("openid="+openid);
    if (openid == null) {
      window.location.href = "wxcode?url=" + url;
    } else {
      setCookie("usropenid", openid);
    }
  }
}

WxCodeServlet代碼

1
2
3
4
5
6
7
8
9
10
11
12
13
//訪問微信獲取code
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
  String state = req.getParameter("url");
  //WxOpenIdServlet的地址
  String redirect ="http://"+Configure.SITE+"/wxopenid";
  redirect = URLEncoder.encode(redirect, "utf-8");
  StringBuffer url = new StringBuffer("https://open.weixin.qq.com/connect/oauth2/authorize?appid=")
      .append(Configure.APP_ID).append("&redirect_uri=").append(redirect)
      .append("&response_type=code&scope=snsapi_base&state=").append(state).append("#wechat_redirect");
  resp.sendRedirect(url.toString());
}

WxOpenIdServlet代碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//訪問微信獲取openid
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
  String code = req.getParameter("code");
  String state = req.getParameter("state");
  Result ret = new Result();
  AuthToken token = WXUtil.getAuthToken(code);
  if(null != token.getOpenid()){
    ret.setCode(0);
    log.info("====openid=="+token.getOpenid());
    Map<String,String> map = new HashMap<String,String>();
    map.put("openid", token.getOpenid());
    map.put("state", state);
    ret.setData(map);
  }else{
    ret.setCode(-1);
    ret.setMsg("登錄錯誤");
  }
  String redUrl = state+"?openid="+token.getOpenid();
  resp.sendRedirect(redUrl);
}

獲取AuthToken(WXUtil.getAuthToken(code))代碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static AuthToken getAuthToken(String code){
  AuthToken vo = null;
  try {
    StringBuffer url = new StringBuffer(uri);
    url.append("appid=").append(Configure.APP_ID);
    url.append("&secret=").append(Configure.APP_SECRET);
    url.append("&code=").append(code);
    url.append("&grant_type=").append("authorization_code");
    HttpURLConnection conn = HttpClientUtil.CreatePostHttpConnection(url.toString());
    InputStream input = null;
    if (conn.getResponseCode() == 200) {
      input = conn.getInputStream();
    } else {
      input = conn.getErrorStream();
    }
    vo = JSON.parseObject(new String(HttpClientUtil.readInputStream(input),"utf-8"),AuthToken.class);
  } catch (Exception e) {
    log.error("getAuthToken error", e);
  }
  return vo;
}

HttpClientUtil類

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.huatek.shebao.util;
 
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
 
public class HttpClientUtil {
 
  // 設置body體
  public static void setBodyParameter(String sb, HttpURLConnection conn)
      throws IOException {
    DataOutputStream out = new DataOutputStream(conn.getOutputStream());
    out.writeBytes(sb);
    out.flush();
    out.close();
  }
 
  // 添加簽名header
  public static HttpURLConnection CreatePostHttpConnection(String uri) throws MalformedURLException,
      IOException, ProtocolException {
    URL url = new URL(uri);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setUseCaches(false);
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.setRequestMethod("POST");
    conn.setInstanceFollowRedirects(true);
    conn.setConnectTimeout(30000);
    conn.setReadTimeout(30000);
    conn.setRequestProperty("Content-Type","application/json");
    conn.setRequestProperty("Accept-Charset", "utf-8");
    conn.setRequestProperty("contentType", "utf-8");
    return conn;
  }
 
  public static byte[] readInputStream(InputStream inStream) throws Exception {
    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    byte[] buffer = new byte[1024];
    int len = 0;
    while ((len = inStream.read(buffer)) != -1) {
      outStream.write(buffer, 0, len);
    }
    byte[] data = outStream.toByteArray();
    outStream.close();
    inStream.close();
    return data;
  }
 
}

封裝AuthToken的VO類

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.huatek.shebao.wxpay;
 
public class AuthToken {
  private String access_token;
  private Long expires_in;
  private String refresh_token;
  private String openid;
  private String scope;
  private String unionid;
  private Long errcode;
  private String errmsg;
  public String getAccess_token() {
    return access_token;
  }
  public void setAccess_token(String access_token) {
    this.access_token = access_token;
  }
  public Long getExpires_in() {
    return expires_in;
  }
  public void setExpires_in(Long expires_in) {
    this.expires_in = expires_in;
  }
  public String getRefresh_token() {
    return refresh_token;
  }
  public void setRefresh_token(String refresh_token) {
    this.refresh_token = refresh_token;
  }
  public String getOpenid() {
    return openid;
  }
  public void setOpenid(String openid) {
    this.openid = openid;
  }
  public String getScope() {
    return scope;
  }
  public void setScope(String scope) {
    this.scope = scope;
  }
  public String getUnionid() {
    return unionid;
  }
  public void setUnionid(String unionid) {
    this.unionid = unionid;
  }
  public Long getErrcode() {
    return errcode;
  }
  public void setErrcode(Long errcode) {
    this.errcode = errcode;
  }
  public String getErrmsg() {
    return errmsg;
  }
  public void setErrmsg(String errmsg) {
    this.errmsg = errmsg;
  }
}


精品久久久久久久久久岛国gif | 久久免费福利 | 加勒比成人av | 久久er99热精品一区二区介绍 | 91红桃视频 | 日韩欧美亚洲国产 | 一区二区三区小说 | 中文字母av | 人人妻一区二区三区 | 国产91热爆ts人妖系列 | 欧美天堂在线视频 | 91久久电影| 一区二区日韩国产 | 伊人婷婷综合 | 伦理片一区二区三区 | 女人的天堂av | 一级视频在线观看 | 国产精品免费一区二区三区都可以 | 色欲AV无码精品一区二区久久 | 少妇xxxxxx| 亚洲国产视频一区二区三区 | 91黄色免费版 | 黑人激情视频 | 久久蜜桃av一区二区天堂 | av中文字幕免费 | 亚洲国产欧美在线 | 神马午夜伦理影院 | 放荡的美妇在线播放 | 麻豆网站在线 | 国产精品视频一二三 | 无码专区久久综合久中文字幕 | 国语对白av | 在线视频三区 | 欧美三级韩国三级日本三斤在线观看 | 在线视频播放大全 | 亚洲视频中文字幕 | 91黄色看片 | 香港三日本三级少妇66 | 亚洲av人无码激艳猛片服务器 | 婷婷色av| 国产又粗又黄又爽视频 | 亚洲一区二区三区 | 成人性视频sm. | 阿v天堂2014| 人妻av一区二区三区 | 美女av一区二区 | 高潮流白浆在线观看 | 91精品国产综合久久久蜜臀粉嫩 | 看黄色网址 | 中文字幕一区二区三区日韩精品 | 呦呦视频在线观看 | 午夜免费一区 | 日产久久视频 | kk视频在线观看 | 日韩一区二区三区在线观看 | 亚洲欧美日韩第一页 | 西西人体44www大胆无码 | 亚洲激情三区 | 国产 日韩 欧美在线 | 美女屁股眼视频免费 | 91精品国产色综合久久不8 | 福利姬在线观看 | www.超碰97.com | 好男人在线观看 | 成人污污视频在线观看 | 亚洲日日干 | 香蕉视频一区二区三区 | 相亲对象是问题学生动漫免费观看 | 日韩电影在线一区二区 | 黄色网络在线观看 | 国产又黄又硬又粗 | 欧美成人精品激情在线视频 | 国产不卡免费视频 | 国产午夜福利在线播放 | 丝袜毛片 | 97超碰人人草 | 91九色网站| 好男人www在线视频 久久国产精品综合 | 少妇特黄a一区二区三区88av | 色中文字幕在线观看 | 天天舔天天射 | 中文字幕亚洲欧美 | 91大神精品在线| 国产伦精品一区二区三区免费迷 | 成人自拍偷拍 | 天天色综合天天 | 久久久久久久久久久久国产 | 亚洲黄色精品视频 | 欧美日韩国产精品综合 | 丰满人妻一区二区三区精品高清 | 成人网一区 | 日本色婷婷 | 成人精品综合 | 18黄暴禁片在线观看 | 男人看的网站 | 涩涩小网站 | 成年人福利网站 | 台湾av在线播放 | 男人的天堂狠狠干 | 999这里有精品 | 亚洲国产成人一区二区 | 高h喷水荡肉少妇爽多p视频 | 亚洲综合射| 成人免费看aa片 | 欧美日韩在线视频免费观看 | 国产精品一区二区人妻喷水 | 激情久久五月天 | 女人洗澡一级特黄毛片 | 国产美女久久 | 91av在线网站| 国产一区二区在线免费 | 黄色片网站在线观看 | 99色精品| 久久蜜桃av一区二区天堂 | 亚洲视频免费在线 | 第一福利av | 国产精品成人av久久 | 老司机黄色片 | 天天摸天天碰天天爽天天弄 | 五月激情站 | 午夜中文字幕 | 人妻精品一区二区在线 | 四虎永久在线精品免费网址 | 在线观看h视频 | 午夜精品久久久久久久久久蜜桃 | 国产老熟妇精品观看 | 国产毛片久久 | jizz在线免费观看 | 激情五月色播五月 | 久久视频在线观看 | 一本色道久久综合亚洲二区三区 | 蜜臀久久99精品久久久无需会员 | 96日本xxxxxⅹxxx70 | 天天色一色 | 久久精品国产亚洲AV成人婷婷 | 黄色免费网站观看 | 国产女人高潮的av毛片 | 日韩精品电影一区二区 | 图片区视频区小说区 | 国产毛片aaa | 色涩久久 | 青青草偷拍视频 | 五月天国产精品 | 一级色视频 | 成人久草 | 女人叫床很黄很污句子 | 无码精品一区二区三区在线 | 蜜桃一区二区三区 | 秋霞7777鲁丝伊人久久影院 | 人人妻人人爽一区二区三区 | 亚洲wwwwww | 日本免费一区二区视频 | 国产成a人亚洲精品 | 夜夜摸视频网 | 精品91av| 91丨porny丨在线中文 | 国产sm调教视频 | 夜色综合网 | 中文字幕日韩精品无码内射 | 中国肥胖女人真人毛片 | 国产精品久久久久久久免费 | 国产av第一区 | 三级网站在线播放 | 成人一区二区av | 国产精品视频大全 | 久久久精品国产sm调教网站 | 第一页在线 | 一区二区三区偷拍 | 亚洲一区av | 国产精品综合在线 | 僵尸叔叔在线观看国语高清免费观看 | 国产另类ts人妖一区二区 | 日韩精品免费一区二区在线观看 | 激情五月激情综合 | 色午夜视频 | 99视频在线观看视频 | 久久久久中文字幕 | 免费精品视频在线观看 | 免费在线观看小视频 | 日韩精品一区在线播放 | 精品久久久精品 | 亚洲国产成人精品女人久久 | 怡红院久久| 亚洲咪咪 | 久久国产免费看 | 亚洲综合在线五月 | 香蕉视频黄在线观看 | 欧美黑人做爰爽爽爽 | 在线成人小视频 | 97久久综合 | 黄视频网站在线看 | 小sao货大ji巴cao死你 | 国产美女一区二区 | 肉性天堂 | 国产在线精品自拍 | 91超碰人人| 黄色av在 | 久久精品无码一区二区三区毛片 | 亚洲 欧洲 日韩 | 偷偷久久 | 国产成人精品一区二区三区福利 | 国产精品乱码久久久久久 | 亚洲无码久久久久久久 | 538国产精品一区二区 | 手机成人av在线 | 日本护士做爰视频 | 日产av在线 | 日本午夜免费 | 天美乌鸦星空mv | 亚洲精品天堂成人片av在线播放 | 交做爰xxxⅹ性爽 | www.999av| 成人精品久久 | 精品无码成人久久久久久免费 | 五月开心网 | 亚洲精品www久久久 aaa在线播放 | 91大神在线观看视频 | 麻豆www | 国产一级不卡毛片 | 在线观看欧美一区二区三区 | 精品无码国产污污污免费网站 | 精品日韩一区 | 丰满的人妻hd高清日本 | 二区视频在线观看 | 午夜亚洲福利 | 看黄免费网站 | 伊人一级 | 黄色小电影网址 | 西欧free性满足hd老熟妇 | 美女校花脱精光 | 国产porn| 亚洲最大的黄色网 | www..com黄色| 无码人妻精品丰满熟人区 | 国产精品久久久久久人 | 国产亚洲精品女人久久久久久 | 森泽佳奈作品在线观看 | 中文字幕一区二区人妻电影丶 | 国产真人做爰毛片视频直播 | 中文字幕一区二区人妻在线不卡 | 国产剧情一区二区 | 在线观看黄 | 久久一区二区三区四区 | 精品裸体舞一区二区三区 | www.久久av| 性感美女福利视频 | 色诱av手机版 | 亚洲色图在线观看 | av在线免费播放网站 | 精品久久久久一区 | 国产一区二区三区在线免费观看 | 69堂精品| 国产传媒一级片 | 亚洲精品鲁一鲁一区二区三区 | 亚洲色图10p| 成年人看的黄色片 | 韩国黄色网 | 久久久久国产精品一区二区 | 成人免费一区二区 | av片观看 | 中文字幕免费一区 | 亚洲第一综合色 | 日韩成人av网址 | 日韩免费影视 | 91美女视频在线观看 | 精品欧美一区二区精品少妇 | 欧美亚洲天堂网 | 韩国久久精品 | 色老大视频 | 日本成人精品视频 | 免费观看av的网站 | 成年人看的黄色 | 久久精品免费在线 | 日韩一级片免费 | 欧美成人午夜精品免费 | 日韩av电影网址 | 欧美黄色免费 | 涩涩免费网站 | 182午夜视频| 欧美三级视频在线观看 | 欧美成人激情在线 | 天天射视频 | 阿v视频在线免费观看 | 香港日本韩国三级网站 | 幸福宝在线观看 | 国产成人在线视频网站 | 福利一区在线观看 | 亚州激情 | 久久国产一区二区三区 | 久久久久久久国产精品美女 | 天天做天天爱天天操 | 波多野结衣一区二区三区在线观看 | 精品精品| 久久久性视频 | 人妻体内射精一区二区三区 | 亚洲经典在线 | 国产精成人品 | 性久久久久久久久久 | 公妇借种乱htp109cc | 福利免费在线观看 | 亚洲成人激情视频 | 中文字幕在线有码 | 青青草成人网 | 精品一区免费观看 | 四虎com | 中文精品一区二区三区 | 51吃瓜网今日吃瓜 | 91桃色视频在线观看 | 免费成人一级片 | 国产极品免费 | 亚洲 欧美 日韩 综合 | 国产探花精品一区二区 | 无码国产精品一区二区高潮 | 芒果视频在线观看免费 | 搞逼综合网 | 在线观看一区二区三区视频 | 丰满岳乱妇一区二区三区 | 久久一二| 日韩中文字幕网址 | 东北高大丰满bbbbzbbb | 国产精品久久久久久久久免费桃花 | 日韩精品无码一区二区 | 欧美精品一区二区视频 | 中文字幕狠狠干 | 国产91精品久久久久久久 | www视频在线免费观看 | 国产日韩在线一区 | 丰满护士巨好爽好大乳 | 天堂va蜜桃一区二区三区 | 91在线观看免费 | 欧美日韩中文字幕 | 黑人与日本少妇高潮 | 久久福利网| 欧美成综合 | 色www国产亚洲阿娇 欧美成人hd | 亚洲精品在线观看视频 | 激情小说在线 | 亚洲熟女乱综合一区二区三区 | 理论片大全免费理伦片 | 青草青在线 | 欧美黄色三级 | 亚洲午夜精品久久久久久app | 亚洲人掀裙打屁股网站 | 中出一区 |