麻豆做爰免费观看-日本熟妇一区二区三区-欧美午夜精品一区二区-xxxxx国产-精品欧美日韩-五月天黄色小说-亚洲熟妇一区-jizz国产视频-国产91九色-www好男人-国产精品久久久免费-九九热精彩视频-www..com国产-午夜簧片-欧美一区中文字幕-在线观看亚洲一区二区-一级少妇精品久久久久久久-www.欧美国产-日韩欧美综合视频-成人性视频免费网站

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;
  }
}


午夜窝窝 | 亚洲 欧美 精品 | 91娇羞白丝网站 | 久久久国产精品黄毛片 | 狠狠操欧美 | 国产在线视频自拍 | 中国大陆一级片 | 亚洲色图在线观看视频 | 国产做受麻豆动漫 | jizz欧美大片 | 国产夫妻在线视频 | 亚洲av激情无码专区在线播放 | 中文字幕在线一区二区三区 | 亚洲综合五月天 | 免费人成在线观看网站 | 777久久久精品一区二区三区 | 久久国产精品-国产精品 | 婷婷丁香激情五月 | 在线天堂中文在线资源网 | 色先锋av资源 | 成人国产一区二区 | 成人在线影片 | 午夜两性网 | 亚洲精品男人的天堂 | 国产欧美日韩综合精品一区 | 亚洲va欧美va | av永久在线 | 亚洲av无码不卡一区二区三区 | 久久mm | 日韩欧美三级 | 国产免费不卡视频 | 在线视频日本 | 99色精品| 国产最新av | 一级片国产 | 天天干天天天天 | 日韩av手机在线免费观看 | 999国内精品永久免费视频 | 欧美日韩视频免费 | 亚洲视频天堂 | 亚洲精品国产精品国自产观看浪潮 | 午夜插插 | 欧美人与动物xxx | 黄色视屏网站 | 亚洲成熟少妇视频在线观看 | 深夜精品 | 老司机精品视频在线播放 | 99爱爱视频| 亚洲精品一区二区三区不卡 | 女性向av免费网站 | 情侣av| 在线中文字幕第一页 | 91精品色 | 亚洲GV成人无码久久精品 | 美女久久久久久 | 老牛影视av一区二区在线观看 | 欧美xxx视频 | 亚洲成人观看 | 91桃色网站 | 天天干,天天操,天天射 | 日本高清不卡码 | 色之久久综合 | 无码人妻丰满熟妇奶水区码 | 成人精品一区二区三区四区 | hitomi一区二区三区精品 | 亚洲免费av一区 | 久久久久97 | 少妇无套高潮一二三区 | 一本大道综合伊人精品热热 | 打屁股调教视频 | 欧美另类自拍 | 黄色片日韩 | 婷婷久久久久 | 日韩精品一区二区三区色欲av | 中国无码人妻丰满熟妇啪啪软件 | 成人精品视频在线播放 | 免费一级特黄特色大片 | 国内自拍av| 午夜视频在线观看网站 | 热99| 91蜜桃网站 | 96精品在线 | 日韩成人在线网站 | 一级伦理农村妇女愉情 | xxxwww国产| 草草影院在线免费观看 | 精品人妻天天爽夜夜爽视频 | 韩日午夜在线资源一区二区 | 熟女高潮一区二区三区 | av在线黄| 成人在线观看一区 | 中国一级特黄视频 | 欧洲成人精品 | 97超碰在线资源 | 狠狠躁日日躁夜夜躁 | 国产在线观看免费网站 | 麻豆久久久久久 | 欧美性综合| 男人都懂的网址 | 日本午夜精品理论片a级app发布 | 尤物精品在线 | 中国1级毛片 | 国产一级黄 | 国产九九九九 | 精品国产一区二区不卡 | 欧美三级精品 | 成人αv | 欧美性猛交xxxx乱 | 国产成年人 | 精品国产成人av在线免 | 日韩欧美中文字幕在线观看 | 国产草草 | 欧洲精品一区二区三区久久 | 青娱乐在线免费视频 | 18p在线观看 | 在线中文字幕一区二区 | 琪琪午夜伦理影院7777 | 性网址| 一级特黄免费视频 | 国产精品福利一区 | 亚洲免费在线视频 | 福利小视频在线播放 | 国产乱妇乱子 | 欧洲精品无码一区二区 | 国产男女猛烈无遮挡免费视频 | 日韩社区 | 亚洲av无码电影在线播放 | 亚洲成人观看 | se婷婷| 亚洲精品视频一二三区 | 久久精品999 | 日韩欧美一区二区三区久久婷婷 | 欧美三级免费看 | 国产社区在线 | 国模私拍大尺度裸体av | 国产欧美日韩专区 | 亚洲不卡在线播放 | 亚洲国产精品欧美久久 | 熟妇高潮一区二区 | 久久久亚洲国产精品 | 亚洲一区二区三区四区视频 | 操操干干| 久久久精品人妻av一区二区三区 | 天天躁日日躁狠狠躁喷水 | 夜夜夜爽 | 中文字幕久久一区 | 嫩草研究院在线 | 国产精品不卡一区二区三区 | a午夜| 欧美视频在线观看一区二区 | av手机免费在线观看 | 在线观看免费福利 | 日本美女三级 | 特黄三级又爽又粗又大 | 欧美高清在线 | 国产精品麻豆视频 | 亚洲一区福利视频 | 视频一区二区三区精品 | 色欧美日韩 | 少妇久久久久 | 图书馆的女友动漫在线观看 | 成人禁污污啪啪入口 | 日韩一级影片 | 麻豆久久久午夜一区二区 | www.成人网.com | japanese24hdxxxx中文字幕 | jizz性欧美17| 国产福利第一页 | 日韩欧美精品在线视频 | 亚洲性欧美色 | 极品少妇在线观看 | 少妇床戏av | 四虎影视黄色 | 国产又白又嫩又爽又黄 | 麻豆乱码国产一区二区三区 | 男女一进一出视频 | 免费黄视频在线观看 | 好妞色妞国产在线视频 | 乳色吐息在线观看 | 亚洲女人天堂 | 麻豆影视网站 | 日本一区二区三区精品 | 老汉av | 1024国产精品 | 亚洲情涩 | 日韩视频二区 | 国产精品影院在线观看 | 日韩第二页| 一区二区网 | 粉嫩精品久久99综合一区 | 成人一区视频 | 在线麻豆视频 | 美女网站免费视频 | 催眠调教艳妇成肉便小说 | 骚虎av| 伊人逼逼| 国产一区二区四区 | 国产美女免费观看 | 久久久一| 日韩一区欧美二区 | 不卡的av在线播放 | 亚洲国产精品自拍视频 | 欧美日韩精品在线 | av免费资源 | 黄毛片在线观看 | 亚洲国产无码久久 | 99看片 | 91污网站| 黄av在线播放 | 久久6精品| 操一操av| 欧美精品入口蜜桃 | 亚洲特级片 | 国产午夜伦理 | 在线视频观看 | 成人免费黄色网 | 欧美情趣视频 | 我的公把我弄高潮了视频 | 美女黄页在线观看 | 精品无码一区二区三区免费 | 少妇黄色片 | 亚洲一区精品视频 | 丁香六月激情综合 | 国产精品国语自产拍在线观看 | 免费观看一区二区三区 | 99热99| 激情图片在线视频 | 一区二区在线视频免费观看 | 欧美亚洲一级片 | 亚洲av熟女国产一区二区性色 | av日韩在线播放 | 久久亚洲中文字幕无码 | 日日夜夜精品视频免费 | 天天撸一撸| 大尺度一区二区 | 久久久免费在线观看 | 黄色a网| 成年人黄色一级片 | 懂色av蜜臀av粉嫩av | 精品99久久久久成人网站免费 | 欧美操操操 | 浪潮av一区二区三区 | 免费黄色资源 | 久久一本综合 | 99香蕉网 | 粗大挺进潘金莲身体在线播放 | 黄色二级视频 | 欧美日韩一级二级 | 夜夜添无码一区二区三区 | 精品人妻无码一区二区色欲产成人 | 国产三级国产精品国产国在线观看 | 婷婷色中文网 | 少妇高潮一区二区三区喷水 | 在线观看视频99 | 古装做爰无遮挡三级聊斋艳谭 | 伊人色综合久久久 | 国产午夜精品理论片在线 | www.xxx.国产| 啪啪自拍 | 色片网站在线观看 | 亚洲精品国产片 | 草草在线视频 | 人妻精品一区二区在线 | 性——交——性——乱免费的 | 窝窝午夜理论片影院 | 精品成人av一区二区在线播放 | 色屁屁一区二区三区 | 精品人妻一区二区三区潮喷在线 | 欧美日韩黄色大片 | 激情 小说 亚洲 图片 伦 | www.激情.com | 色小说综合 | av观看一区 | 中文字幕亚洲激情 | 黄色网www | 久久久999视频 | 国产中文字幕在线免费观看 | 国产精品中文 | 黑人操日本女人视频 | 国产黄在线 | 操操干 | 狠狠夜夜 | 国产性一乱一性一伧一色 | 在线观看日本 | 久久精品国产亚洲AV黑人 | 啪啪av网站 | 99久视频| 人妻丰满熟妇av无码区不卡 | 在线一区不卡 | 好妞色妞国产在线视频 | 久久久久久久久久国产 | 日本欧美亚洲 | 香蕉在线影院 | 色综合中文字幕 | 91久久久久| 欧美三级黄色 | 成 年 人 黄 色 大 片大 全 | 国产精品一二三区在线观看 | 日韩中字在线 | 久久一视频 | 久久久久久久人妻无码中文字幕爆 | 亚洲αv| 免费av日韩 | 天天尻 | 免看一级a毛片一片成人不卡 | 色视频在线看 | 国产卡一卡二在线 | 天天插夜夜操 | 美女大bxxxxn内射 | 野花社区视频在线观看 | 久草视频手机在线观看 | 亚洲激情视频在线 | 蜜臀99久久精品久久久久小说 | 成人综合婷婷国产精品久久 | 超碰97色 | 天天躁日日躁狠狠躁免费麻豆 | 日本成人动漫在线观看 | 91国自啪 | 96精品在线 | 日本精品久久久久中文字幕 | 激情婷婷综合网 | 少妇精品无码一区二区免费视频 | 中日韩在线观看 | 亚洲国产精品成人午夜在线观看 | 国产资源精品 | 69精品在线 | 国产精品第6页 | 国产21区 | 91丨九色丨黑人外教 | 狠狠干2019 | 91香蕉视频在线看 | 色综合久久久久 | 日韩无马 | 成人福利在线观看 | 欧美特级黄 | 日本天天色 | 少妇欧美激情一区二区三区 | 国产一二三四在线 | 美女网站在线 | 玖玖爱在线精品视频 | 成人av免费在线播放 | 国产成人精品在线观看 | 成人欧美一区二区三区在线播放 | 欧美精品一区二区蜜臀亚洲 |