微信小程序通过IP地址获取到用户的当前所在城市


前言

经过各大网站的搜索,这里收集了几种方法


一、获取IP地址接口

本来产品的初衷是根据IP获取用户的位置信息.但是介于前端和后端的商讨最终还是通过第三方收费来获取

二、使用步骤

1.uniapp获取用户IP

				uni.request({
					url: 'https://pv.sohu.com/cityjson?ie=utf-8',
					data: { 
					},
					method: 'GET',
					success: function(res) {
						const reg = /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/;
						let ip = reg.exec(res.data);
						console.log(ip[0]);
					}
				});

2.获取省市以及IP

这个地址在浏览器直接打开没问题.但是在小程序中用请求的方式去获取数据就会报403错误,其中白名单也设置过还是一样的错误403.目前没有找到原因,

https://app.bilibili.com/x/resource/ip

3.获取省市以及IP

此接口获取的是ip地址和省市都可以获取到.但是返回的数据是拼音,需要通过js数据处理把拼音转换成汉字

             uni.request({
				  url: 'http://ip-api.com/json',
				  success:function(res){
				   console.log('------------IP地址----------------: ', res.data);
				    // that.setData({
				    //   motto:e.data
				    // })
				  }
				})

4.付费IP

目前我了解的付费IP有百度和阿里,其中百度的付费IP,200RMB/100W次,相对阿里的套餐多但是没有百度的相对划算,如果是大项目的推荐阿里,小项目推荐百度

总结

关于小程序的获取用户位置信息.官方提供的有.但是项目需要根据ip来获取地址不用经过用户授权同意,纯前端实现会有点困难,还是结合服务端一同实现会比较省事.

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值