这两天做微信公众平台的时候遇到一个进入网页进行用户定位的功能,由于各方面原因,没有去使用微信提供的js定位。以前也没做过微信相关的开发-加之微信官方提供的API文档着实看着蛋疼,苦思无果,终于在第三天某位高人提了一点思路,哥顿时就茅塞顿开了!

话不多说,先上需求!

需求:类似美团外卖,进入公众平台以后点击订餐跳到网页直接定位加载数据!

实现框架:ThinkPHP

思路:

1.到微信开发者中心开启用户地理位置上报功能,实现每次用户进入公众号微信上报当前用户的地理位置到服务器。

2.服务器接收微信上报的用户地理位置,存入数据库,根据微信推送的 openid 来标识,数据库表字段 id(int型,主键,自增长), openid(varchar型),localhost(text型)、

解释:

openid 用户标识用户

localhost  序列化存入微信推送的数据

思路:微信每次给服务器上报用户的地理位置信息会有一个openid  这个就是用户标识哪个用户的数据。程序可直接根据openid来做入库。如果openid在数据库里面不存在,那么存入用户的openid和地理位置信息,如果openid存在就更新地理位置信息!

代码如下:

3.使用微信OAuth 2.0授权来获取用户的openid。

此方法用户场景:用户点开链接以后,我们的服务器可以获取当前用户的openid,也就是上一步所说的openid。

这里我们需要用到微信的“自定义菜单”和“OAuth 2.0授权”接口。

参考资料:

4.用户点击菜单以后跳转到网页,这个时候已经获取到用户的openid了,然后再根据用户的openid去自己的服务器查询用户的地理位置信息!

思路流程:

1.用户进入微信公众号(这个时候微信已经把用户的地理位置上报给你的服务器了)

2.服务器获取微信上报的地理位置,根据用户的openid来入库或者修改

3.利用微信OAuth 2.0授权的连接方式获取到用户的openid

4.根据openid查数据库即可得到用户当前的地理位置

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

php mysql网站导航跳转_PHP微信公众平台跳转网页实现定位思路 By:阿尚相关推荐

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

    本篇文章你将学到:在自己做的微信网站里,利用oauth2.0网页授权接口获取用户的信息(openid,姓名,性别,地区,头像等).如大转盘等游戏记录哪个微信用户获得什么奖品.H5等小游戏需要把分数与对 ...

  2. 微信公众平台使用JSSDK网页调起扫码并获取扫码数据(PHP)

    微信公众平台使用JSSDK网页调起扫码并获取扫码数据 初学者,部分css样式在网上扒下来的,功能实现了,代码很糙,非常糙,望海涵,也希望大神多指导. QQ:961052877,有问题大家一起交流.可以 ...

  3. 微信php实例代码_php微信公众平台示例代码分析(二)

    一.摘要 微信公众平台提供了一个简单的php示例代码,在做进一步开发之前,我们有必要将其详细了解一下. 二.获取代码 三.分析代码 完整代码如下: /** * wechat php test */ / ...

  4. 微信授权demo php,PHP微信公众平台oauth2.0网页授权登录类的封装demo

    一.微信授权使用的是OAuth2.0授权的方式.主要有以下简略步骤: 第一步:用户同意授权,获取code 第二步:通过code换取网页授权access_token 第三步:拉取用户信息(需scope为 ...

  5. 微信诱导关注php源码,微信公众平台关于在线网页制作类诱导关注的公告

    近期,微信公众平台发现部分公众号通过向用户提供制作音乐相册.照片相册等在线网页制作工具的形式,实施诱导关注的行为.具体形式包括但不限于诱导用户关注公众号制作在线网页,篡改用户制作的相册内容.添加诱导关 ...

  6. 微信公众平台中通过网页增加好友

    对于微信公众平台,可以实现在WAP网页上增加好友和发起聊天,代码为 <a href="weixin://contacts/profile/guoxiongjie">发起 ...

  7. 微信公众平台显示隐藏网页右上角菜单(第九课)

    微信官方jsapi提供了界面操作接口,用来控制微信网页右上角的菜单,下面看看微信官方文档关于界面操作接口的说明. 隐藏右上角菜单接口 wx.hideOptionMenu(); 显示右上角菜单接口 wx ...

  8. 微信公众平台模拟登陆和发送消息详解

    腾讯过于坑爹,看起来叫开放平台,其实有很多限制,为了实现某些功能,本人也只好铤而走险,从此踏上了模拟登陆的不归路,百度了无数的网页,不过由于腾讯的不停调整,那些代码都已经失效了,看过了不少风格迥异的代 ...

  9. 【转载】微信公众平台发展趋势猜想

    微信营销已经悄然成为当今移动互联网的热点.然而,一些中小企业自身并没有能力建设自己的微网站.微商城.因此帮助企业建设微网站.微商城的公司也越来越多,渐渐形成了一个产业. 这类公司的经营模式大体相似,一 ...

最新文章

  1. pheatmap 参数整理
  2. 值类型和引用类型在栈和堆中的分配
  3. python 视频人脸替换_Python基于OpenCV实现视频的人脸检测
  4. 禁止i5笔记本按Ctrl+Alt+向下键翻转屏幕
  5. Leetcode:11.container-with-most-water(盛水最多的容器)
  6. 操作虚拟dom模拟react视图渲染
  7. C#.NET 通用权限管理系统中的数据集权限设置实现参考界面(商业化成熟权限管理系统,提供全部源码)...
  8. 网络常用协议 SSH、SSL
  9. springboot项目搭建(mybatis + thymeleaf)
  10. 一个Android菜鸡的2020之旅
  11. 聊聊Ping命令的返回值Pong
  12. cad相对坐标快捷键_cad角度快捷键(cad角度命令怎么输入)
  13. iView级联选择器Cascader回显慢的问题
  14. Excel在统计分析中的应用—第十二章—回归分析与预测-应用LINEST函数进行回归分析
  15. 量化策略:如何利用自回归模型构建日内高频策略
  16. windows10 该值受安全引导策略保护,无法进行修改或删除。禁用驱动程序强制签名
  17. ubuntu解决微信无法输入中文
  18. svg-icon的使用(将svg转换为icon来使用)
  19. 安装MATLAB_R2013b_X64_x32激活及破解方法
  20. 微信小程序复制对象json

热门文章

  1. python-requests官网_requests使用心得
  2. 单分子测序技术取得重要突破
  3. SMRT single molecular real time Sequencing
  4. 随机森林及重要参数解析
  5. android sd卡列目录文件_Android正确获取SD卡目录及使用SD卡目录
  6. python 打印所有汉字
  7. javascript 字符串中间隔固定位置插入字符
  8. setTimeOut()和setInterval()的用法
  9. 目标检测--Wide-Residual-Inception Networks for Real-time Object Detection
  10. LeetCode 583. Delete Operation for Two Strings--动态规划 DP--Java,Python,C++解法