更新记录

1.0.0(2023-12-12)

第一版:Android端开启本地服务器。支持静态目录、动态路由。


平台兼容性

Android Android CPU类型 iOS
适用版本区间:6.0 - 14.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原生插件配置”->”云端插件“列表中删除该插件重新选择


本插件是uni-app原生语言插件。支持在Android端App内部开启Http Server。支持静态html、动态路由处理。后续会增加iOS支持。

1 接口说明

1.1 启动服务

bool start({port,root});

参数说明

port:服务端口号

root:服务根目录,用于访问静态html。需要使用绝对目录。

返回结果

启动成功返回true,否则返回false

1.2 添加静态目录

void addPath(url, path);

参数说明

url:请求地址

path:文件目录,用于访问静态html

1.3 添加动态路由处理

void addRoute(url, callback);

参数说明

url:请求地址

callback:回调函数,其参数说明如下:

{
    "req": {                    //请求对象,包括请求地址和请求参数
        "url": "/map/1",        //请求地址
        "params": {             //请求参数
            "test": "123"
        }
    },
    "resp": {                   //返回结果
        "data": {               //需要的数据
            "msg": "hello",
            "code": 2
        }
    }
}

1.4 发送数据

发送数据至客户端。目前只支持发送json数据。

void send({req, resp});

参数说明:参数结构同1.3中的callback。

1.5 停止服务

void stop();

2 使用说明

// 引入模块
let httpServer = uni.requireNativePlugin('xy-EasyHttp');

// 启动服务
let path=plus.io.convertLocalFileSystemURL("_www")
if(httpServer.start({port:8999,root:path})){
    console.log('启动服务成功')
    this.status="服务已启动,端口号8999"
}

// 添加静态目录
path=plus.io.convertLocalFileSystemURL("_doc")
httpServer.addPath("/doc/.*",path);

// 添加动态路由
httpServer.addRouter("/map/:a",(data)=>{
    data.resp.data = {"msg":"hello","code":2};
    httpServer.send(data);
});

// 关闭服务
httpServer.stop();

隐私、权限声明

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

android.permission.READ_EXTERNAL_STORAGE

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

插件不采集任何数据

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

暂无用户评论。

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