更新记录
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:支持 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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