更新记录

1.0.0(2022-02-28)

一、新增功能 1.根据服务器url,直接解析启动服务的功能 2.离线地图下载 3.判断是否有正在下载中或者加压中的数据 4.获取缓存大小 5.根据指定路径清空缓存

二、修改bug 1.服务启动成功,但是http请求失败的bug


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


CPC-HttpServerUtil

功能说明

1.内置http规则代理
2.离线缓存(支持arcgis地图,ogc数据缓存,get/post数据缓存)

调用流程

uni.requireNativePlugin方式的接口说明

1.启动服务:start

参数说明

属性 类型 默认值 必填 说明
port int 必填 启动服务的端口号
location object 必填 代理的规则(key:value)
location.[key] string 必填 标识符
localtion.[value] object 必填 单个标识符所对应的代理规则
localtion.[value].proxy_pass string 必填 代理的真实地址
localtion.[value].offLineCache string 必填 本地存储的根目录
localtion.[value].priority int 0 可选 代理策略(0:本地优先;1:线上优先;2:代理不缓存)
localtion.[value].enabled boolean true 可选 是否启用

示例如下:

        const HttpServerUtil = uni.requireNativePlugin("CPC-HttpProxyServer");
                const config = {
                    port:9876,
                    location:{
                        "/arcgis/":{//勘院,arcgis格式的数据
                            proxy_pass:"http://101.10.12.119:9651/arcgis/",//必选,代理路径
                            offLineCache:"/map",//必选,本地存储的根目录
                            priority:0,//默认为:0,0:本地优先;1:线上优先;2:代理不缓存
                            enabled:true,//是否启用该代理,默认true
                        },
                        "/historicalMap/":{//省天地图-历史ogc格式的数据
                            proxy_pass:"http://101.10.102.239:9650/historicalMap/",
                            offLineCache:"/historicalMap",
                            priority:0
                        }
                    }
                }
        HttpServerUtil.start(config,data=>{
            // code === 200 证明启动成功

        })
2.启动服务:startByUrl

参数说明

属性 类型 默认值 必填 说明
url string 必填 请求服务器地址,数据格式和接口start一致

示例如下:

    const HttpServerUtil = uni.requireNativePlugin("CPC-HttpProxyServer");
    HttpServerUtil.startByUrl({url:"http://192.168.1.100:9999/getHttpProxyConfig"},data=>{
        // code === 200 证明启动成功
        console.log(data);
    })
3.停止服务:stop

参数说明

属性 类型 默认值 必填 说明
port int 可选 根据port停止指定服务,不传的话,全部停止

示例如下:

    const HttpServerUtil = uni.requireNativePlugin("CPC-HttpProxyServer");
    HttpServerUtil.stop({},data=>{})
4.获取总的缓存大小:getTotalMemory

示例如下:

    HttpServerUtil.getTotalMemory({},data=>{
        console.log("getTotalMemory",data);
    })
5.清空缓存:clearTotalMemory

参数说明

属性 类型 默认值 必填 说明
path string 可选 根据启动的缓存路径进行缓存的删除

示例如下:

    HttpServerUtil.clearTotalMemory({path:"/map"},data=>{
        console.log("clearTotalMemory",data);
    })
6.获取离线地图列表:getOfflineMapList

参数说明

属性 类型 默认值 必填 说明
url string 必填 服务器的离线地图列表接口地址

示例如下:

    HttpServerUtil.getOfflineMapList({url:"http://192.168.1.100:9999/getOfflineList"},data=>{
        console.log("getOfflineMapList",data);
    })
7.下载离线地图:downOfflineMap

参数说明

属性 类型 默认值 必填 说明
id string 必填 必填 每个离线地图的唯一标识
createTime string 必填 离线地图表生成的时间
url string 必填 离线地图的下载地址

示例如下:

    HttpServerUtil.downOfflineMap({id:1234,mapUpdateTime:12346,url:"http://192.168.1.100:9999/mapCache/省天地图.zip"},data=>{
                    console.log("downOfflineMap",data);
                })
8.是否有离线地图包正在下载或者解压中:hasDownloading

示例如下:

    HttpServerUtil.hasDownloading({},data=>{
        console.log("hasDownloading",data);
    })

http请求方式的接口说明

_cpcUtil_为内置服务的前置标识,参数和上面的(uni.requireNativePlugin方式的接口说明)一致

1.获取总的缓存大小
    http://127.0.0.1:9876/_cpcUtil_/getTotalMemory
2.清空缓存
    http://127.0.0.1:9876/_cpcUtil_/clearTotalMemory
    http://127.0.0.1:9876/_cpcUtil_/clearTotalMemory?path=/map
    http://127.0.0.1:9876/_cpcUtil_/clearTotalMemory?path=/map/arcgis
3.是否在下载或者解压中
    http://127.0.0.1:9876/_cpcUtil_/hasDownloading
4.获取离线地图列表
    http://127.0.0.1:9876/_cpcUtil_/getOfflineList?url=http://192.168.1.100:9999/getOfflineList
5.下载离线地图
    http://127.0.0.1:9876/_cpcUtil_/downOfflineMap?id=1234&mapUpdateTime=12346&url=http://192.168.1.100:9999/public/mapCache/省天地图.zip

隐私、权限声明

1. 本插件需要申请的系统权限列表:

网络,网络状态,磁盘空间的读写

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问