我們知道,微信開發(fā)離不開openid(為了識別用戶,每個用戶針對每個公眾號會產(chǎn)生一個安全的openid).而通常我們獲取openid,以及獲取用戶的基本信息是通過用戶授權(quán)的方式進行獲取。那么ok,怎樣通過授權(quán)方式獲取呢,看下面的流程圖中的code(此code是由微信為我們提供,只能使用一次),并且該code只有當我們點配置的菜單時(配置菜單要使用用戶授權(quán)的方式配置),才能獲取到。所以當用戶點擊菜單時:
一:我們先判斷該code,如果不為null,通過該code獲取openid及access_token并存儲access_token, 并將openid通過session存儲。
二:判斷session openid是否為空,為空靜默獲取,先回到第一步, 反之獲取 有效的 access_token[需要判斷是否過期,如果過期,通過刷新獲取, 不能刷新到,重新手動授取獲取]
三:通過openid和access_token獲得用戶信息[判斷如果是靜默獲取的,需要手動去重新獲取]
這樣,我們就能保證用戶一次登錄,永久不用登錄的效果了[靜默獲取是無感知的, 但如果刷新不到用戶access_token, 30天沒有沒有登陸會過期,那就必須得再次授權(quán)登錄了, 如果已經(jīng)關(guān)注公眾號,即使手動方式,也是靜默獲取],其實最主要還是要搞清openid,每個用戶針對同一個公眾號,此openid是永遠不會變的,哪怕是你取消了重新關(guān)注
微信文檔: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
獲取代碼請聯(lián)系我們