小程式開發登入的實例詳解

Y2J
發布: 2017-05-03 11:09:10
原創
3185 人瀏覽過

 

登入流程

  技術一般水準有限,有什麼錯的地方,望大家指正。

  小程式的熱度散的快差不多了,記錄一下自己的開發中的坎坷。

  登入的照著官方的流程來即可:

#  先建立一個請求方法來實作自己的伺服器和微信伺服器的一個通訊:

public static String GET(String url){
        String result = "";
        BufferedReader in = null;        try {
            URL realUrl = new URL(url);
            URLConnection conn = realUrl.openConnection();
            conn.connect();
            Map<String, List<String>> map = conn.getHeaderFields();
            in = new BufferedReader(new InputStreamReader(
                    conn.getInputStream()));
            String line;            while ((line = in.readLine()) != null) {
                result += line;
            }
        } catch (Exception e) {
            
        }finally{            try {                if(in!=null){
                    in.close();
                }
            } catch (Exception e2) {                //log中记录            }
        }        return result;
    }
登入後複製

   接著建構請求的url(把紅圈變出的屬性改成自己對應的資料):

  透過GET()方法和微信伺服器來通信,如果請求正確我們就能夠獲取到session_key和openid,把這兩個值存在session中:

Jedis jedis = new Jedis("localhost");             
String openid = openid;
String session_key = session_key;
String uid = UUID.randomUUID().toString();
StringBuffer sb = new StringBuffer();
sb.append(openid);
sb.append(","+session_key);
jedis.set(uid, sb.toString());
登入後複製

  把uid回給客戶端,以後客戶端的每一次請求都帶上uid。

問題處理

  在處理過程中如果需要取得登入使用者的使用者名稱和頭像,如果使用者名稱有中文就會出現亂碼,解決方法如下:

String nickNameDecode = new String(nickName.getBytes("ISO-8859-1"),"utf-8");
登入後複製

以上是小程式開發登入的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板