微信公众号通过js-sdk获取用户地理位置

第一步:(第一步比较简单不做过多解释)
1、登录微信公众平台启用服务器配置
2、配置网页授权域名填写项目所使用的的域名并将文件下载放到项目根目录
3、然后在配置js安全域名同样将要下载的txt文件放到项目目录

第二步:获取注入配置信息(appId、timestamp、nonceStr、signature),所有需要使用JS-SDK的页面必须先注入配置信息
1、appId公众号的唯一标识,可在公众平台获取;

2、timestamp生成签名的时间戳

/// <summary>
/// 获取当前时间戳
/// </summary>
/// <returns></returns>
public static string GetCurrentUinxTime()
{DateTime currentDate = DateTime.Now;//当前时间//转化为时间戳DateTime localTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));return (currentDate - localTime).TotalSeconds.ToString().Split('.')[0];
}

3、nonceStr生成签名的随机串

/// <summary>
/// 生成签名的随机串
/// </summary>
/// <returns></returns>
public static string CreateNonceStr()
{Random random = new Random();var sb = new StringBuilder();var length = NonceStrings.Length;//生成15位数的随机字符串,当然也可以通过控制对应字符串大小生成,但是至多不超过32位for (int i = 0; i < 15; i++){sb.Append(NonceStrings[random.Next(length - 1)]);//通过random获得的随机索引到,NonceStrings数组中获取对应数组值}return sb.ToString();
}

4、signature签名,所需参数jsapi_ticket(通过access_token获取)、noncestr、timestamp、url页面路径
(1)、获取access_token

/// <summary>
/// 获取 access_token
/// </summary>
/// <param name="appId">微信公众号应用唯一标识</param>
/// <param name="appSecret">微信公众号应用密钥(注意保密)</param>
/// <param name="code">获取到的 code</param>
/// <returns>access_token</returns>
public static String getAccess_Token(String appId, String appSecret, String code)
{string accessToken = "";String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appId + "&secret=" + appSecret + "";String ret = GetRequest(url);OAuthResult oAuthResult = wxMapper<OAuthResult>.MapFromJson(ret, null);try{accessToken = oAuthResult.Access_token.ToString();}catch (Exception Ex){accessToken = "Error:" + Ex.Message;// +appId + "-" + appSecret;}return accessToken;
}

(2)、获取jsapi_ticket

/// <summary>
/// 获取Ticket
/// </summary>
/// <param name="accessToken"></param>
/// <returns></returns>
public static String getTicket(string accessToken)
{String jsapiTicketUrl = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + accessToken + "&type=jsapi";String resp = GetRequest(jsapiTicketUrl);var obj = JObject.Parse(resp);return obj.GetValue("ticket").ToString();
}

(3)、获取signature签名

/// <summary>
/// 生成微信公众号 js sdk signature
/// </summary>
/// <param name="jsapi_ticket"></param>
/// <param name="noncestr"></param>
/// <param name="timestamp"></param>
/// <param name="url"></param>
/// <returns>signature</returns>
public static String getSignature(string jsapi_ticket, string noncestr, string timestamp, string url)
{string signature = null;// 注意这里参数名必须全部小写,且必须有序String string1 = "jsapi_ticket=" + jsapi_ticket +"&noncestr=" + noncestr +"&timestamp=" + timestamp +"&url=" + url;signature = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(string1, "SHA1");return signature;
}

第三步:前端调用官方微信地理位置接口,引用js

<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script>wx.config({debug: false,  //调式模式,设置为ture后会直接在网页上弹出调试信息,用于排查问题appId: "<%=vappId%>",timestamp: "<%=vtimestamp%>",nonceStr: "<%=vnoceStr%>",signature: "<%=vsignature%>",jsApiList: [ // 所有要调用的 API 都要加到这个列表中'getLocation']});wx.ready(function () {wx.getLocation({success: function (res) {var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。var speed = res.speed; // 速度,以米/每秒计var accuracy = res.accuracy; // 位置精度},cancel: function (res) {alert('用户拒绝授权获取地理位置');}});});wx.error(function (res) {alert(res.errMsg); });
</script>

以上就是微信公众号网页获取用户地理位置的方法!喜欢的朋友可以添加关注哦!也可以关注微信公众号“码小鉴”同步更新

微信公众号获取用户当前地址经纬度相关推荐

  1. PHP微信公众号,获取用户地理位置 定位 经纬度

    <?php //php插件下载地址: https://files.cnblogs.com/files/fan-bk/jssdk_php.rar //建立一个php文件 require_once ...

  2. php微信地理位置,php,微信公众号,获取用户地理位置 定位 经纬度

    //php插件下载地址: https://files.cnblogs.com/files/fan-bk/jssdk_php.rar //建立一个php文件 require_once "jss ...

  3. 微信公众号获取用户openId(扩展:小程序获取openId和手机号)

    微信公众号获取用户openId 拼接的参数[可以直接配菜单中]: https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxb2363dd ...

  4. Thinkphp5下微信公众号获取用户信息

    前言 一直在用整理下tp5 开发微信公众号获取用户信息的简单笔记 废话不多说 直接贴代码如下: 正文 准备工作 在微信公众平台的开发者工具中申请公众平台测试账号如下图 在网页账号中 修改网页授权获取基 ...

  5. 微信公众号获取用户位置定位信息入库asp代码

    微信公众号获取用户位置定位信息入库asp代码,可以获取微信用户的坐标和地址信息入库,代码简洁: <% if request("action")="" th ...

  6. tp5微信公众号获取用户openid_tp5+微信公众号获取用户基本信息

    获取用户基本信息(UnionID机制) 获取用户基本信息(UnionID机制) 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯 ...

  7. 微信公众号获取用户头像的踩坑经历

    微信公众号获取头像有两种方式 1.用户无感知的,静默授权 snsapi_base 2.需要用户需要点击确认的 snsapi_userinfo 官方文档 我用的是第二种 开发步骤 1.引导用户进入授权页 ...

  8. 微信公众号获取用户头像昵称,用户信息

    1.关注了公众号,获取用户信息 https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=xxx&a ...

  9. 微信公众号获取用户地理位置,转换百度坐标

    开发微信公众号,首先要先成为开发者.请自行百度. 在微信公众平台开启接口权限--接口权限-网页服务-地理位置-开启 JSSDK使用步骤 步骤一:绑定域名 先登录微信公众平台进入"公众号设置& ...

最新文章

  1. ICLR2020放榜 687篇入选34篇得满分! 且看OpenReview数据图文详解
  2. 性能测试相关名词解释
  3. spring cloud gateway的stripPrefix配置
  4. sqlserver连接字符串_10分钟使用EF Core连接MSSQL数据库
  5. THOR:MindSpore 自研高阶优化器源码分析和实践应用
  6. 腾讯财报:微信月活增至10.98亿 QQ月活8.07亿
  7. python_环境测试
  8. Java 老矣,尚能饭否?2020 Java生态系统报告出炉
  9. JDK各个版本的新特性jdk1.5-jdk8
  10. linux应用之Lamp(apache+mysql+php)的源码安装(centos)
  11. 如何释放你的MacBook磁盘空间
  12. oracle不能插入,oracle – 在过程中截断和插入不能一起工作
  13. VM和CentOS的安装
  14. JS+html+css实现的一个小小的贪吃蛇游戏
  15. 博士申请 | 美国达特茅斯学院杨耀青老师招收深度学习方向全奖博士生
  16. 金蝶OSF接口(s-HR系统)调用示例
  17. Asp.Net MVC访问数据库实现登录
  18. 2022年2月最受欢迎编程语言排行榜|Python遥遥领先
  19. [BZOJ3252][长链剖分]攻略
  20. KL变换与PCA的关系

热门文章

  1. 谈谈结果导向的做事方式
  2. MFC隐藏主窗口运行的几种方法
  3. 精华帖:最全的编程自学网站介绍,白嫖
  4. 秀智商,答对12题平分百万-《百万英雄》
  5. GGNN:GATED GRAPH SEQUENCE NEURAL NETWORKS
  6. Fidder使用工具介绍-1
  7. Junit测试常用注解
  8. 11.23 夯实的django基础
  9. webjar的详细使用方式
  10. win10彻底永久关闭自动更新的方法【已验证有效】