Lopwon IP 使用文档

2023年05月23日

demo-lopwon-ip.jpg


版本型号:Lopwon IP
适用程序:Typecho
皮肤类型:插件
插件作者:Lopwon
作者博客:Lopwon.com
发布页面:Lopwon.com/lopwon-ip.html
许可方式:MIT
官方演示:Lopwon IP


插件说明

插件 Lopwon IP 的作用是:使用百度地图、高德地图、腾讯地图提供的免费 IP 定位服务,在前台和后台同时显示评论者的 IP 属地。需要注意的是,百度地图、高德地图仅支持国内的 IPV4 解析(腾讯地图支持 IPV6 解析),并且三者都有配额的限制,超限后,IP 属地会被替换为对应错误码。

新版已新增自定义 API 接口项,解决百度、高德、腾讯免费配额限制的局限。

另有缓存无忧版 Lopwon IP Loc


插件更新

2023年06月15日 发布 Lopwon IP v1.3 优化属地输出,新增过滤用户和显示功能。

2023年05月31日 发布 Lopwon IP v1.2 新增腾讯地图免费 IP 定位服务。

2023年05月24日 发布 Lopwon IP v1.1 新增自定义 API 接口项。

2023年05月23日 发布 Lopwon IP

使用方法

A 部署插件

1. 将压缩包里的文件夹 LopwonIP 及其内部的所有文件,上传至目录 usr/plugins 中。

2. 后台》控制台》插件,找到 Lopwon IP 并启用。

B 调用插件

一、默认情况:

1. 打开文件 var/Widget/Comments/Archive.php 搜索找到 threadedCommentsCallback 评论回调函数,在适当位置(如:第 350 行的 </a> 之后,即评论时间之后)添加如下代码:

    <?php $this->location(); //LopwonIP ?>

二、特殊情况:

1. 某些主题会对评论列表使用 threadedComments 进行自定义,此时,需要在其函数体内适当位置添加以上代码,注意匹配参数 $this

2. 例如:你的主题使用 threadedComments($aaa, $b) 对评论列表进行自定义时,则调用插件的代码为:

    <?php $aaa->location(); //LopwonIP ?>

C 申请秘钥

Lopwon IP 的使用,需要先申请地图开放平台提供的免费API秘钥,推荐腾讯,当然,也可以使用自定义的 API 接口。

一、百度地图:

1. 访问百度地图开放平台(https://lbsyun.baidu.com/)注册后登陆“控制台”。

2. 应用管理》我的应用》创建应用,需要实名认证!

3. 除“应用类型”选择“服务端”,和“IP白名单”填入 0.0.0.0/0 外,其他可以默认。

4. 完成创建后,会生成一串API秘钥(AK),将其填入插件设置里的(百度地图 API 秘钥 AK)中。

二、高德地图

1. 访问高德地图开放平台(https://lbs.amap.com/)注册后登陆“控制台”。

2. 应用管理》我的应用》创建新应用》添加Key,需要实名认证!

3. 除“服务平台”选择“Web服务”外,其他可以默认。

4. 完成创建后,会生成一串API秘钥(Key),将其填入插件设置里的(高德地图 API 秘钥 Key)中。

三、腾讯地图

1. 访问腾讯地图开放平台(https://lbs.qq.com/)注册后登陆“控制台”。

2. 应用管理》我的应用》创建应用》添加Key,需要实名认证!

3. 除“启用产品”勾选“WebServiceAPI”外,其他可以默认。

4. 完成创建后,会生成一串API秘钥(Key),将其填入插件设置里的(腾讯地图 API 秘钥 Key)中。

四、自己定义

1. 插件默认自带有一条网络上找到的免费 API 接口链接,如果获取数据不稳定,请自行网络搜索其他可用的接口链接替换。

2. 访问自定义 API 接口的示例链接,查看 JSON 结构(最深支持三维数组),返回结果参数设置如下(仅为示例):

3. 一维数组示例(如:高德地图 API 返回的结果)

    {
        "status":"1",
        "info":"OK",
        "infocode":"10000",
        "province":"云南省",
        "city":"昆明市",
        "adcode":"530000",
        "rectangle":"98.00000000,22.00000000;105.00000000,27.00000000"
    }

4. 则插件(7. API 的返回结果参数)输入:

    province
    city

5. 二维数组示例(如:vvhan API 返回的结果)

    {
        "success":true,
        "ip":"110.110.110.110",
        "info":{
            "country":"中国",
            "prov":"云南省",
            "city":"昆明市",
            "lsp":"联通",
            "postcode":"530100"
        }
    }

6. 则插件(7. API 的返回结果参数)输入:

    info,prov
    info,city

7. 三维数组示例(如:百度地图 API 返回的结果)

{
    "address":"CN|云南省|昆明市|None|None|99|0",
    "content":{
        "address":"云南省",
        "address_detail":{
            "adcode":"530000",
            "city":"昆明市",
            "city_code":28,
            "district":"",
            "province":"云南省",
            "street":"",
            "street_number":""
        },
        "point":{
            "x":"102.00000000",
            "y":"24.00000000"
        }
    },
    "status":0
}

8. 则插件(7. API 的返回结果参数)输入:

    content,address_detail,province
    content,address_detail,city

D 配置插件

后台》控制台》插件,找到 Lopwon IP 并设置,依喜好设置即可,使用建议:

1. 同时使用百度地图、高德地图、腾讯地图提供的免费 IP 定位服务,当其中一个配额达到上限时,可以在插件里切换到另一个,如果自己能找到其他免费的 IP 定位 API 接口,更可以四个服务切换使用。

E 使用技巧

1. 百度地图 API 返回错误码查询:https://lbsyun.baidu.com/faq/api?title=webapi/ip-api-base

2. 高德地图 API 返回错误码查询:https://lbs.amap.com/api/webservice/guide/tools/info

3. 腾讯地图 API 返回错误码查询:https://lbs.qq.com/service/webService/webServiceGuide/status

This is a message

store