热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

这两天做微信公众平台的时候遇到一个进入网页进行用户定位的功能,由于各方面原因,没有去使用微信提供的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查数据库即可得到用户当前的地理位置

 

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

 


推荐阅读
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文详细介绍了JSP(Java Server Pages)的九大内置对象及其功能,探讨了JSP与Servlet之间的关系及差异,并提供了实际编码示例。此外,还讨论了网页开发中常见的编码转换问题以及JSP的两种页面跳转方式。 ... [详细]
  • 本文将介绍如何利用Python爬虫技术抓取国内主流在线学习平台的数据,并以51CTO学院为例,进行详细的技术解析和实践操作。 ... [详细]
  • ThinkPHP框架提供了add方法来实现在数据库表中插入新记录的功能,此方法等效于SQL语句中的INSERT INTO命令。本文将详细介绍add方法的使用方式及其应用场景。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 本文详细介绍了如何正确配置Java环境变量PATH,以确保JDK安装完成后能够正常运行。文章不仅涵盖了基本的环境变量设置步骤,还提供了针对不同操作系统下的具体操作指南。 ... [详细]
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 本文详细介绍如何在IntelliJ IDEA 14中打包Android应用APK文件,并提供查询SHA1值的具体步骤。 ... [详细]
  • 本文详细介绍了在PHP中实现轮询的各种方法,包括短轮询、长轮询以及结合数据库的应用场景,适合不同需求的技术人员参考。 ... [详细]
  • 本文介绍 Java 中如何使用 Year 类的 atMonth 方法将年份和月份组合成 YearMonth 对象,并提供代码示例。 ... [详细]
  • 本文探讨了为何需要进行详尽的需求分析,以及在软件开发过程中常见的需求类型。同时,介绍了几种有效的方法来确保能够准确地捕捉到用户的实际需求。 ... [详细]
author-avatar
夜遊神_丶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有