工具

获取共享的 KV 数据

功能说明

用于通过特定的 Key 获取应用中对应的共享数据。

iOS 使用的是 NSUserDefaults。

Android 使用的是 SharedPreferences。

功能接口

TMFJSBridge.invoke('getSharedStorage', {keys}, callback)
入参 类型 描述 必选 默认值
callback function 返回值回调函数 Y /
keys array 需要获取的全部 KV 的 key 数组 Y []
出参 类型 描述
values dictionary 多组 KV 的 keys & values 字典
具体格式如下:
{
key1: value1,
key2: value2,
// …
keyN: valueN,
}

代码示例

<div>
<button onclick='tmf_getSharedStorage();'>点击获取共享 KV 数据</button>
<script>
function tmf_getSharedStorage() {
    TMFJSBridge.invoke('getSharedStorage', {
        keys    : [ 'key1', 'key2' ],   // array,必选,支持传入多组 KV 的 keys
    }, function (res) {
                values  : res.values,
        value1  : res.values.key1,
        value2  : res.values.key2
    });
}
</script>
</div>

设置共享的 KV 数据

功能说明

用于通过特定的 Key 设置并储存应用中的共享数据。

iOS 使用的是 NSUserDefaults。

Android 使用的是 SharedPreferences。

注意:此处为明文存储,如果涉及敏感数据请自行实现加密后再设置。

功能接口

TMFJSBridge.invoke('setSharedStorage', {values}, callback)
入参 类型 描述 必选 默认值
callback function 返回值回调函数 Y /
values dictionary 需要设置的全部 KV 字典 Y {}

代码示例

<div>
<button onclick='tmf_setSharedStorage();'>点击设置共享 KV 数据</button>
<script>
function tmf_setSharedStorage() {
    TMFJSBridge.invoke('setSharedStorage', {
        values  : {         // dictionary,必选,支持传入多组 KVs
            key1 : "value1",
            key2 : "value2",
        }
    }, function (res) {
        // callback
    });
}
</script>
</div>

移除共享的 KV 数据

功能说明

用于通过特定的 Key 移除应用中对应的共享数据。

iOS 使用的是 NSUserDefaults。

Android 使用的是 SharedPreferences。

功能接口

TMFJSBridge.invoke('removeSharedStorage', {key}, callback)
入参 类型 描述 必选 默认值
callback function 返回值回调函数 Y /
keys array 需要移除的全部 KV 的 key 数组 Y []

代码示例

<div>
<button onclick='tmf_removeSharedStorage();'>点击移除共享 KV 数据</button>
<script>
function tmf_removeSharedStorage() {
    TMFJSBridge.invoke('removeSharedStorage', {
        keys  : [ 'key1', 'key2' ],     // array,必选,支持传入多组 KV 的 keys
    }, function (res) {
        // callback
    });
}
</script>
</div>

上报埋点

功能说明

用于上报埋点信息,用户后台统计与数据分析。

功能接口

TMFJSBridge.invoke('reportEvent', {event,params:{}}, callback)
入参 类型 描述 必选 默认值
callback function 返回值回调函数 Y /
event string 上报的事件名 Y ''
params dictionary 上报的事件相关的附加数据 key & value Y {}

代码示例

<div>
<button onclick='tmf_setSharedStorage();'>点击上报埋点</button>
<script>
function tmf_reportEvent() {
    // 接口上报时会带上以下参数
    //  1. setPageInfo() 中设定的 reportKey
    TMFJSBridge.invoke('reportEvent', {
        event   : '',   // string,必选,事件名
        params  : {     // dictionary,必选,上报的 KV 值
            // ...
        },
    }, function (res) {
        // callback
    });
}
</script>
</div>

注意事项

  • 需要业务自定义上报埋点信息,在 params 参数中加入自己的参数,并在后台统计分析。
  • 接口上报时会带上 setPageInfo() 中设定的 reportKey 参数。

Shark网关接口调用

功能说明

用于进行网关接口调用,发起 Shark 请求。

此 JSAPI 依赖于 TMF Shark 网关。

Android:具体实现在 TMFDemo 中。

功能接口

TMFJSBridge.invoke('sendShark', {apiName,headers:{},cookies:{},queries:{},data,timeout}, callback)
入参 类型 描述 必选 默认值
callback function 返回值回调函数 Y /
apiName string shark 命令字 (API name) Y /
headers dictionary 业务自定义请求头部 N {}
cookies dictionary 业务自定义请求 Cookies N {}
queries dictionary 业务自定义请求 Queries N {}
data string 业务自定义请求数据 N ''
timeout integer 请求超时事件 单位 ms N 0
出参 类型 描述
error integer 业务的返回错误码
errorDescription string 业务的返回错误描述
httpResponseCode integer 业务的 HTTP 状态码
headers dictionary 业务的返回头部
data string 业务的返回数据

错误码

错误码 描述
undefined 无错误时返回

代码示例

<div>
<button onclick='tmf_sendShark();'>点击发起 Shark 请求</button>
<script>
function tmf_sendShark() {
    TMFJSBridge.invoke('sendShark', {
        apiName : "TMFEcho",                                // string,必选
        headers : { 'headers_key1' : 'headers_value1' },    // dictionary,可选
        cookies : { 'cookies_key1' : 'cookies_value1' },    // dictionary,可选
        queries : { 'queries_key1' : 'queries_value1' },    // dictionary,可选
        data    : 'test',                                   // string,可选,业务自定义的请求数据
        timeout : 10000,                                    // integer,可
    }, function (res) {
                error               : res.error,                // integer
        errorDescription    : res.errorDescription,     // string
                httpResponseCode    : res.httpResponseCode,     // integer
                headers             : res.headers,              // dictionary
                data                : res.data,                 // string
    });
}
</script>
</div>

Shark网关接口扩展-JSON数据

功能说明

使用Shark发送JSON数据

功能接口

TMFJSBridge.invoke('sendSharkJson', params:{}, callback)

错误码

代码示例

<div>
<button onclick='tmf_sendSharkJson();'>点击发起 Shark-Json 请求</button>
<script>
function tmf_sendSharkJson() {
        let param = {
        key1:"value1",
        key2:"value2",
    };
    TMFJSBridge.invoke('sendSharkJson', {
        apiName : "TMFEcho",                                // string,必选
        headers : { 'headers_key1' : 'headers_value1' },    // dictionary,可选
        cookies : { 'cookies_key1' : 'cookies_value1' },    // dictionary,可选
        queries : { 'queries_key1' : 'queries_value1' },    // dictionary,可选
        data    : JSON.stringify(param),                    // string,可选,业务自定义的请求数据
        timeout : 10000,                                    // integer,可
    }, function (res) {
                error               : res.error,                // integer
        errorDescription    : res.errorDescription,     // string
                httpResponseCode    : res.httpResponseCode,     // integer
                headers             : res.headers,              // dictionary
                data                : res.data,                 // string
    });
}
</script>
</div>

Shark网关接口扩展-Form数据

功能说明

使用Shark发送Form表单数据

功能接口

TMFJSBridge.invoke('sendSharkJsonForm', params:{}, callback)

错误码

代码示例

<div>
<button onclick='tmf_sendSharkForm();'>点击发起 Shark-Form 请求</button>
<script>
function tmf_sendSharkForm() {
        let param = new URLSearchParams();
    param.append("key1", "value1");
    param.append("key2", "value2");
    TMFJSBridge.invoke('sendSharkJsonForm', {
        apiName : "TMFEcho",                                // string,必选
        headers : { 'headers_key1' : 'headers_value1' },    // dictionary,可选
        cookies : { 'cookies_key1' : 'cookies_value1' },    // dictionary,可选
        queries : { 'queries_key1' : 'queries_value1' },    // dictionary,可选
        data    : JSON.stringify(param),                    // string,可选,业务自定义的请求数据
        timeout : 10000,                                    // integer,可
    }, function (res) {
                error               : res.error,                // integer
        errorDescription    : res.errorDescription,     // string
                httpResponseCode    : res.httpResponseCode,     // integer
                headers             : res.headers,              // dictionary
                data                : res.data,                 // string
    });
}
</script>
</div>
Copyright © 2013-2023 Tencent Cloud. all right reserved,powered by GitbookUpdate Time 2023-08-31 14:46:07

results matching ""

    No results matching ""