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查数据库即可得到用户当前的地理位置

思路虽然描述的简略了一点,但是流程大概是这样,其他实现方式都可举一反三!

时间: 2024-11-05 20:42:49

PHP微信公众平台跳转网页实现定位思路 By:阿尚的相关文章

微信公众平台oauth2.0网页授权

本篇文章你将学到:在自己做的微信网站里,利用oauth2.0网页授权接口获取用户的信息(openid,姓名,性别,地区,头像等).如大转盘等游戏记录哪个微信用户获得什么奖品.H5等小游戏需要把分数与对应用户捆绑在一起等网页应用. 微信公众平台oauth2.0网页授权能干什么 它是在自己做的网站中不用用户登录来获取微信用户相关信息的,进而实现相关业务. 说明与注意 1.网页授权分为两种, 一种为只获取openid  (基本授权 snsapi_base) 一种为获取用户全部信息 (高级授权 snsa

微信公众平台开发——关于网页签名那些事

如果从微信公众号通过菜单的响应类型view来打开网页,首先这个网页必须要有正常的域名,不允许是ip地址.如果这个网页没有备案或者说这个域名没有备案,那么进入这个网页之前微信会先弹出一个网页提示我们是继续访问或者使用原网页打开,这是非常烦人的,因为每次你用a标签或者href来跳转网页时都会这样.最简单的办法就是使用备案的域名绑定你的服务器上网页地址.如果你实在觉得备案麻烦,那么你也可以这样这样做: 使用微信对网页授权的办法进入页面.可以先了解https://mp.weixin.qq.com/wik

微信公众平台开发(106) 网页获取用户地理位置

关键字:微信公众平台 JSSDK 获取地理位置接口 网页获取用户地理位置 getLocation作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-web-location.html 在这篇微信公众平台开发教程中,我们将介绍如何在网页中获取用户的地理位置信息. 本文分为以下二个部分: 生成JS-SDK权限验证签名 使用地理位置接口获取坐标 一.微信JS-SDK 1. 获得Access Token access token的获得方法在前面有介绍,

微信公众平台如何创建自定义菜单?

微信现在的功能越来越强大了,申请认证后的开发者能自定义菜单,用户直接点击微信界面下方的菜单,就能直接去到指定的页面,下面小编用[微信公众平台测试号]为大家演示一下怎么创建自定义菜单. 工具/原料 认证后的微信公众平台 微信公众平台切换开发者模式 方法/步骤 登录[微信公众平台],选择[功能]菜单下面的[高级功能],进入[开发模式]. 由于小编的微信公众平台还没通过认证,下面用[申请测试账户]为大家演示. 微信公众平台接口测试帐号申请,无需公众帐号.快速申请接口测试号,直接体验和测试公众平台所有高

微信公众平台开发文摘

微信公众平台消息接口开发(1)启用接口 微信公众平台自定义菜单接口开发(1) 微信公众平台消息接口开发(3)中英翻译 微信公众平台开发(4)天气预报 微信公众平台消息接口开发(5)股票查询 微信公众平台消息接口开发(6)电话号码链接与网址链接 微信公众平台消息接口开发(7)快递查询 微信公众平台消息接口开发(8)小黄鸡(小贱鸡)机器人 微信公众平台消息接口开发(9)骑行西藏自定义菜单 微信公众平台消息接口开发(10)语音触发(非识别) 微信公众平台消息接口开发(11)地理位置查询附近商家 微信公

微信公众平台网页授权两次重定向跳转问题

在做微信公众平台网页授权时,发现每次请求授权链接 https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=xxx&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect 时都会重定向链接redirect_uri都会自动请求两次,由于并发导致了一些问题, {"errcode":400

***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权

本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言.本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息,而无需模拟登录. 在本文中,特别要注意的是有两个不同的Access Token,他们产生的方式不一样,一种是使用AppID和AppSecret获取的access_token,一种是OAuth2.0授权中产生的access_token,方倍工作室分别称为全局Access Token和授权Access

微信公众平台网页获取用户OpenID方法

下面我们一起来看看关于微信公众平台网页获取用户OpenID方法,有需要了解的朋友可以一起来看看吧.用户点击微信自定义菜单view类型按钮后,微信客户端将会打开开发者在按钮中填写的url值 (即网页链接),达到打开网页的目的,但是view不能获取用户的openid,需要使用微信“网页授权获取用户基本信息”高级接口结合使用,获得用户的登入个人信息.具体方法1.配置网页授权回调域名,如 www.111cn.net2.模拟公众号的第三方网页,http://www.111cn.net/getcodeurl

微信公众平台开发(71)OAuth2.0网页授权

微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息 作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一.什么是OAuth2.0 官方网站:http://oauth.net/   http://oauth.net/2/ 权威定义:OAuth is An open protocol to allow secure