PHP微信公眾平台跳轉網頁實現定位思路 By:阿尚


這兩天做微信公眾平台的時候遇到一個進入網頁進行用戶定位的功能,由於各方面原因,沒有去使用微信提供的js定位。以前也沒做過微信相關的開發-加之微信官方提供的API文檔着實看着蛋疼,苦思無果,終於在第三天某位高人提了一點思路,哥頓時就茅塞頓開了!

 

話不多說,先上需求!

 

需求:類似美團外賣,進入公眾平台以后點擊訂餐跳到網頁直接定位加載數據!

 

實現框架:ThinkPHP

 

思路:

1.到微信開發者中心開啟用戶地理位置上報功能,實現每次用戶進入公眾號微信上報當前用戶的地理位置到服務器。

 

2.服務器接收微信上報的用戶地理位置,存入數據庫,根據微信推送的 openid 來標識,數據庫表字段 id(int型,主鍵,自增長), openid(varchar型),localhost(text型)、

解釋:

openid 用戶標識用戶

localhost  序列化存入微信推送的數據

思路:微信每次給服務器上報用戶的地理位置信息會有一個openid  這個就是用戶標識哪個用戶的數據。程序可直接根據openid來做入庫。如果openid在數據庫里面不存在,那么存入用戶的openid和地理位置信息,如果openid存在就更新地理位置信息!

代碼如下:



接口文檔參考:
http://mp.weixin.qq.com/wiki/8/1b86529d05db9f960e48c3c7ca5be288.html

 

3.使用微信OAuth 2.0授權來獲取用戶的openid。

此方法用戶場景:用戶點開鏈接以后,我們的服務器可以獲取當前用戶的openid,也就是上一步所說的openid。

這里我們需要用到微信的“自定義菜單”和“OAuth 2.0授權”接口。

參考資料:

1.微信自定義菜單:http://www.cnblogs.com/txw1958/p/weixin-58-custom-menu.html

2.微信OAuth 2.0授權獲取用戶openid:http://www.cnblogs.com/txw1958/p/weixin71-oauth20.html

 

4.用戶點擊菜單以后跳轉到網頁,這個時候已經獲取到用戶的openid了,然后再根據用戶的openid去自己的服務器查詢用戶的地理位置信息!

 

 

 

思路流程:

1.用戶進入微信公眾號(這個時候微信已經把用戶的地理位置上報給你的服務器了)

2.服務器獲取微信上報的地理位置,根據用戶的openid來入庫或者修改

3.利用微信OAuth 2.0授權的連接方式獲取到用戶的openid

4.根據openid查數據庫即可得到用戶當前的地理位置

 

思路雖然描述的簡略了一點,但是流程大概是這樣,其他實現方式都可舉一反三! 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM