使用 ip2region 根据 ip 查询城市
将项目下载下来,并放到自己项目的指定文件夹中
这是一个根据 ip 返回城市地址的函数
const getCityByIp = async(ip) => {
// 这个地址是你存放的ip2region的地址,是个引入
const Searcher = require('../ip2region-master/binding/nodejs/index')
// 指定ip2region数据文件路径,不能是相对于当前位置的路径,不然报错
const dbPath = 'src/ip2region-master/data/ip2region.xdb'
try {
// 同步读取vectorIndex
const vectorIndex = Searcher.loadVectorIndexFromFile(dbPath)
// 创建searcher对象
const searcher = Searcher.newWithVectorIndex(dbPath, vectorIndex)
// 查询 await 或 promise均可
const data = await searcher.search(ip)
const address = data.region.split('|').filter(item => item !== '0').join('/')
return address
} catch(e) {
console.log(e)
}
}