首先,二維碼在編制上巧妙地利用構成計算機內部邏輯基礎的「0」、「1」比特流的概念,使用若干個與二進制相對應的幾何形體來表示文字數值信息,經過圖象輸入設備或光電掃描設備自動識讀以實現信息自動處理。簡單來講 ,每個二維碼圖像都含有一些特定的信息,人們利用數字圖像處理技術使計算機可以對圖像進行運算和處理,二維碼(如右圖)圖像上的像素矩陣在計算機中處理時,有黑點的標記爲「1」,空白的標記爲「0」,當二維碼被輸入設備(掃描儀,攝像頭)讀取到計算機時成爲一串相似「10101000011101111」的二值代碼。這串代碼是一個網址連接。html
假設這樣一個情形:後端
咱們輕鬆登陸的背後,計算機和服務器作了許多工做:瀏覽器
掃描的二維碼不是網站隨意生成的,它必須是可以被微信程序識別的,若是用微信掃描它不接受的二維碼,微信會返回給用戶一些信息,如上圖二維碼在用微信掃描後會返回一個支付寶連接,用戶只能經過支付寶app或瀏覽器才能看到解析出的信息。第三方應用要想成功獲取掃碼用戶的信息完成登陸或註冊(也就是得到用戶的我的信息)只能向微信服務器發起請求。爲此咱們需先向微信系統「驗明正身」——申請認證公衆號,獲取權限。服務器
還好在微信開發者文檔中規範了咱們獲取用戶信息的方法和途徑。在申請到認證公衆號以前,咱們能夠先經過測試號申請系統,快速申請一個接口測試號,開始接口測試開發。在開發過程當中,咱們可使用接口調試工具來在線調試某些接口。微信
參考資料:https://baike.baidu.com/item/%E4%BA%8C%E7%BB%B4%E7%A0%81/2385673?fr=aladdin微信開發