0.0.1 • Published 1 year ago
web-ip-util v0.0.1
前端获取 ip 及位置信息工具
快速开始
安装
npm install web-ip-util --save
使用
import { getDefaultIpInfo } from 'web-ip-util'
getDefaultIpInfo([
{
id: 'qq',
data: {
key: '输入腾讯位置服务申请的key'
}
}
]).then(res => {
console.log('res', res)
})
API 方法
getDefaultIpInfo
该方法用于载入默认配置
参数
ElementTYpe[]
示例
getDefaultIpInfo([
{
id: 'qq', // 匹配默认配置对应的腾讯位置服务
data: {
// 由于腾讯位置服务的key是私有的,需要自行配置,然后工具会把data参数合并到默认配置中
key: '输入腾讯位置服务申请的key'
}
}
]).then(res => {
console.log('res', res)
})
目前默认配置了如下服务:
腾讯位置服务 (jsonp)
腾讯位置服务 IP 定位配置限额如下:
- 太平洋 (jsonp)
- IP Geolocation API (jsonp)
- IP.SB Free API (jsonp)
getIpInfo
该方法用于载入自定义配置 (多个)
参数
ElementTYpe[]
示例
getIpInfo([
{
id: 'ip-api',
url: 'http://ip-api.com/json',
data: {
callback: 'callback',
lang: 'zh-CN'
},
jsonpCallback: 'callback',
resMapping: {
ip: 'query',
province: 'regionName'
}
}
]).then(res => {
console.log('res', res)
})
getElementPromise
该方法用于载入自定义配置 (单个)
- 参数
ElementTYpe
- 示例
getIpInfo({
url: 'http://ip-api.com/json',
data: {
callback: 'callback'
},
jsonpCallback: 'callback',
resMapping: {
ip: 'query'
}
}).then(res => {
console.log('res', res)
})
参数类型
ElementTYpe
参数 | 说明 | 类型 | 必须参数 | 可选值 | 默认值 |
---|---|---|---|---|---|
url | 服务地址 | string | 是 | - | - |
jsonpCallback | jsonp 回调的函数名 | string | 否 | - | callback |
resMapping | 服务返回结果映射 | ResMapping | 否 | - | { ip: 'ip' } |
id | 配置多个服务的标识区分 | string | 否 | qq / pconline / ip-api / ip-sb | - |
data | 拼接 url 的参数配置 | object | 否 | - | null |
type | 配置的类型(目前只支持 jsonp 方式) | string | 否 | JSONP / AJAX | JSONP |
ResMapping
返回结果多层级时,中间用
.
分隔
参数 | 说明 | 类型 | 必须参数 | 可选值 | 默认值 |
---|---|---|---|---|---|
ip | ip 字段映射 | string | 是 | - | - |
province | 省名称字段映射 | string | 否 | - | - |
city | 城市名称字段映射 | string | 否 | - | - |
district | 区名称字段映射 | string | 否 | - | - |
其他 | 自定义返回结果字段映射 | string | 否 | - | - |