微信小程序通过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来获取地址不用经过用户授权同意,纯前端实现会有点困难,还是结合服务端一同实现会比较省事.