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


日本不卡一区在线观看 | 亚洲国产aⅴ成人精品无吗 午夜国产一级 | a一级黄色片 | 日韩在线播放中文字幕 | 国产无遮挡aaa片爽爽 | 欧美精品一区二区三区久久 | 叼嘿视频在线免费观看 | 最新版天堂资源在线 | 少妇一晚三次一区二区三区 | 日本体内she精高潮 精品综合在线 | 打屁股疼的撕心裂肺的视频 | 日本爽爽爽爽爽爽在线观看免 | 久久久久久毛片 | 国产精品69久久久久孕妇欧美 | 成人免费在线视频 | 成人精品一区日本无码网 | 国内自拍青青草 | www国产精品| 狠色综合7777夜色撩人 | 少妇xxxxxx | 青青青在线视频 | 日韩精品无码一区二区三区久久久 | caopor在线视频 | 国产精品欧美久久久久天天影视 | 欧美亚洲在线视频 | 黄片一区二区 | 少妇免费看 | 97视频在线观看免费高清完整版在线观看 | 成年人的视频网站 | 一极毛片 | 国产精品一区久久 | 欧美午夜寂寞影院 | 欧美黄色片网站 | 欧美人妻精品一区二区免费看 | 无码 制服 丝袜 国产 另类 | 亚洲一区自拍偷拍 | 999一区二区三区 | 欧美黄色xxx | 男女在线观看视频 | 精品国产av色一区二区深夜久久 | 少妇一级视频 | 国产精品一区二区三区四区在线观看 | 中文在线一区二区三区 | 超碰在线天天 | 久久久999国产 | 国产精品99视频 | 精东影业一区二区三区 | www狠狠操 | 黄色av电影网站 | 不卡欧美 | 国产精品伦一区二区三级古装电影 | 日本美女黄视频 | 欧美黑人一区二区 | 日日摸日日碰夜夜爽无码 | 1024香蕉视频| 无码人妻精品中文字幕 | 都市激情亚洲综合 | 久久精品香蕉视频 | 亚洲精品中文字幕乱码三区 | 色婷五月天 | 91精品久久久久久久久久久 | 国产激情精品 | 少妇淫片| 窝窝午夜理论片影院 | 精品久久香蕉国产线看观看亚洲 | 免费在线看污视频 | 114国产精品久久免费观看 | www.色com| v99av| 爱欲av | 黄频网站在线观看 | 国产午夜久久 | 日韩欧美一区二区三区在线观看 | 国产大片b站 | 欧美成人精品欧美一 | 欧美在线视频精品 | 日韩精品――中文字幕 | 91.xxx.高清在线 | av亚洲在线观看 | 天天碰天天摸 | 四虎影视在线播放 | 影音先锋男人站 | 一级片aaa| 日日干夜夜草 | 日狠狠| 中文字幕在线观看的网站 | a级在线免费观看 | 91狠狠综合| 国产精品久久久久久久一区探花 | 人妻无码一区二区三区四区 | 国产爽爽爽 | 99精品视频网站 | 久久无码专区国产精品s | 97超碰在| 女生和男生一起插插插 | 99久久精品无码一区二区毛片 | 天天都色 | 手机在线免费看av | 美女露胸无遮挡 | 四虎在线观看视频 | caoprom超碰| 91精品视频一区 | 91精品国产综合久久香蕉922 | 最新黄色网址在线观看 | 麻豆久久久久 | 97超级碰碰 | 夜夜躁日日躁狠狠久久av | 精品视频免费观看 | 中国在线观看视频高清免费 | 国产又粗又大又爽 | 少妇高潮久久久久久潘金莲 | 精品免费囯产一区二区三区 | 国产特级淫片免费看 | 草草影院最新网址 | 仙踪林久久久久久久999 | 在线色 | 青青视频在线播放 | 美女视频污 | 日本一本一道 | 中文视频一区 | 久久七| 日韩一区二区三区视频在线 | 欧美九九| 超碰97观看| 亚洲精品免费在线 | 男人的天堂av网站 | 在线观看免费毛片 | 淫片一级国产 | 久久久久久中文 | 在线免费黄网 | 污污小视频 | 亚洲视频国产视频 | 欧美性一级 | 中文字幕日韩无 | 深夜在线 | 欧美另类高清videos的特点 | 国产精品一区免费观看 | 国产欧美一区二区精品性色99 | 国产www精品 | 欧美夜夜夜 | av在线网址观看 | 成年人免费高清视频 | 狠狠干男人的天堂 | 久热欧美| 亚洲国产精品成人 | 麻豆一区二区 | 美女视频在线免费观看 | 黄网站免费观看 | 久久视频精品 | 日本美女裸体视频 | 中文在线字幕 | 国产jk精品白丝av在线观看 | 国产一线天粉嫩馒头极品av | 69看片| 在线观看成人免费 | 国产剧情一区二区三区 | 对白刺激theporn| 中文在线国产 | 91福利片 | 在线观看日韩一区二区 | 草莓视频成人在线 | 人人澡人人干 | 欧美日韩国产激情 | 欧美不卡一二三 | 蜜桃麻豆视频 | 15p亚洲 | 成人特级毛片69免费观看 | 香蕉在线视频观看 | 免费福利在线视频 | 亚洲ⅴ国产v天堂a无码二区 | 性生活av| 亚洲经典一区二区 | 国产无套免费网站69 | 亚洲国产精品综合久久久 | 美女xx网站 | 日本www在线 | av在线免费观看一区 | 国产无码精品一区二区 | 国产精品久久久久久亚洲影视 | 久久国产精品视频 | 91亚洲国产成人精品一区 | 91亚洲精品久久久蜜桃借种 | 欧美天天搞 | 少妇精品久久久久久久久久 | 超碰成人免费电影 | 国产视频第一页 | 久久综合丁香 | 国产精品99久久久久久大便 | 久久精品人妻一区二区 | av网站免费在线播放 | 香蕉中文网 | 法国空姐 在线 | 成年人黄色在线观看 | 97人人澡人人爽人人模亚洲 | 激情无遮挡 | 四虎永久地址 | av青青草| 91午夜理伦私人影院 | 久久艹这里只有精品 | 黄色一级片一级片 | 免费成人黄色网址 | 成人激情在线观看 | 制服丝袜天堂 | 在线黄色免费 | 成人午夜sm精品久久久久久久 | 中文字幕一区二区三区5566 | 国产成人精品视频 | 美女精品网站 | 凹凸福利视频 | 亚洲精选av | 国产精品伦一区二区三级古装电影 | 日韩一及片| www九九热| 亚洲男同视频 | 麻豆网站在线 | 九九热免费视频 | 国产又粗又猛又黄视频 | 日本黄频 | 韩国美女视频在线观看18 | 九九99久久 | 无套内谢少妇高潮免费 | 国产三级视频 | 亚洲人成高清 | 国产又爽又黄无码无遮挡在线观看 | 丝袜av网站| 熟妇人妻中文av无码 | 午夜在线观看一区 | 亚洲福利社 | 99re这里都是精品 | 在线97视频 | 中文字幕7 | 精品人妻人人做人人爽 | 日韩全黄 | 国内毛片毛片毛片毛片 | 黄毛片在线观看 | 美女福利视频导航 | 日本真人做爰免费视频120秒 | 亚洲天堂一区二区 | 黄色一区二区三区四区 | 亚洲国产私拍精品国模在线观看 | 草草影院一区二区三区 | 成人毛片一区二区三区 | 日本a在线播放 | 欧美日批视频 | 玖玖在线免费视频 | 亚洲AV成人无码久久精品巨臀 | 亚洲AV成人无码一二三区在线 | 深夜国产在线 | 天天艹天天 | 午夜色婷婷| 国产精品一区免费 | 久久精品亚洲精品 | 六月婷婷中文字幕 | 午夜精品一区二区三区在线 | 成年人在线观看视频免费 | 国产一区二区免费在线 | 精品国产丝袜一区二区三区乱码 | 欧美一级片在线免费观看 | 大肉大捧一进一出好爽视频动漫 | 一区二区三区在线看 | 亚洲精品综合在线 | 日本伦理中文字幕 | 欧美在线不卡 | 日韩欧美一区二区三区 | 天天看天天射 | 国产午夜在线一区二区三区 | 91午夜视频| 日本视频在线 | 国产高潮又爽又无遮挡又免费 | 国产91综合一区在线观看 | 国模无码视频一区二区三区 | 午夜肉体高潮免费毛片 | 制中文字幕音影 | 自拍偷拍日韩 | 欧洲做受高潮欧美裸体艺术 | 色四月 | 色呦呦呦呦 | 韩国精品在线 | 欧洲精品在线观看 | 双性人bbww欧美双性 | 自拍亚洲国产 | 午夜激情久久久 | 久久精品无码一区 | 精品国产96亚洲一区二区三区 | 九一亚色 | 精品国产一区在线观看 | 美女网站av | av五月天在线 | 男男黄网站 | 国产粉嫩av | 高跟鞋av | 青青操网站 | 国产妇女视频 | 九色视频丨porny丨丝袜 | 波多野结衣一区二区在线 | 欧洲女女同性videoso | 亚洲AV蜜桃永久无码精品性色 | 欧美日韩成人一区二区 | 麻豆视频播放 | 亚洲国产精品一区二区尤物区 | 亚洲精品中文字幕乱码三区 | 亚洲欧美日韩不卡 | 7777精品久久久久久 | 午夜免费视频网站 | 欧美在线视频网站 | 午夜视频观看 | 奇米影视播放器 | 日本一区二区三区视频在线播放 | 久久久精品亚洲 | 精品一区二区三区毛片 | 亚洲天堂三级 | 国产视频久久 | 欧美熟妇交换久久久久久分类 | 看黄色一级大片 | 日本超碰在线 | 黄色在线小视频 | 亚洲无线看 | 在线看av的网址 | 亚洲综合不卡 | 中文天堂在线播放 | 波多野吉衣一二三区乱码 | 日本视频在线免费 | 蜜桃精品久久久久久久免费影院 | 最黄一级片| 精品人伦一区二区三电影 | 成人深夜福利在线观看 | 国产精品欧美综合 | 日日骚视频 | 伊人avav| 免费无码毛片一区二区app | 欧美三级网站在线观看 | 日韩精品视频在线 | 五月天在线播放 | 爱情岛论坛永久入址测速 | 国产又粗又黄视频 | 丝袜+亚洲+另类+欧美+变态 | 婷婷综合视频 | 水蜜桃久久 | 污污在线免费观看 | 视频黄页在线观看 | 韩国无码一区二区三区精品 | 亚洲视频一二区 | 精品国产一区二区三区久久 | 69亚洲精品久久久蜜桃小说 |