napi_valuetype valueType = napi_undefined; napi_typeof(env, argv[0], &valueType); // js类型的入参值转换为C/C++可以操作的数据类型 char value[VALUE_BUFFER_SIZE] = { 0 }; size_t valueLen = 0; napi_get_value_string_utf8(env, arg
napi_value callback = nullptr; napi_get_reference_value(env, addonData->callback, &callback); napi_value undefined = nullptr; napi_get_undefined(env, &undefined); napi_value result = nullptr; napi_create_string_utf8(env, addonData->result.c_str(), addonData->result.length(), &result)...
N-API类型转成C/C++类型 char imagePath[1024] = { 0 }; size_t length = 0; napi_get_value_string_utf8(env, args[0], imagePath, 1024, &length); addonData->args0 = string(imagePath); napi_create_reference(env, args[1], 1, &addonData->callback); //4. 创建async work napi_...
napi_get_reference_value(env, addonData->callback, &callback); napi_value undefined = nullptr; napi_get_undefined(env, &undefined); napi_value result = nullptr; napi_create_string_utf8(env, addonData->result.c_str(), addonData->result.length(), &result); //执行回调函数 napi_value re...
每一个映射后的函数,必须是参数napi_env env, napi_callback_info cbinfo,返回值为napi_value。 // foundation/filemanagement/dfs_service/frameworks/js/napi/src/sendfile_napi.cppnapi_valueJsOff(napi_env env,napi_callback_info cbinfo){...} 1. ...
napi_value object =nullptr;napi_create_object(env, &object); napi_value value =nullptr;napi_create_string_utf8(env,"value", NAPI_AUTO_LENGTH, &value);napi_set_named_property(env, object,"key", value); napi_value cons =nullptr;napi_get_reference_value(env, g_constructorRef, &cons); ...
三、NAPI框架完成的主要工作 假设我们在框架层用C/C++实现了一个myapp模块,这个模块可以为应用提供系统访问次数的统计。为了让应用层的JS代码能够使用这项能力,我们为应用开发者提供了如下的JS接口: 复制 @ohos.myapp.d.tsdeclarenamespacemyapp{// 同步方法functiongetVisitCountSync(key:string,defaultValue?:string...
); char reason[REASON_MAX] = { 0 }; size_t reasonLen = 0; status = napi_get_value_string_utf8(env, args[0], reason, REASON_MAX - 1, &reasonLen); if (status != napi_ok) { POWER_HILOGE(MODULE_JS_NAPI, "%{public}s: get reason failed", __func__); return nullptr; } ...
napi_value 不是一个具体的类型,它类似于 void*,表示的是 JS 变量在 JS 引擎内部存储区内的地址。需要通过对应的 NAPI 方法实现,例如:napi_get_value_int32 () --- js 变量转为 c++ 整形 napi_get_value_string_utf8 () --- js 变量转为 c++ 字符串 napi_get_value_bool () --- js 变量转为...
napi_value imgPath = nullptr; if (napi_get_element(env, value, i, &imgPath) != napi_ok) { LOGE("napi_get_element failed!"); return result; } if (GetNapiValueString(env, imgPath, (char *)image, sizeof(image)) < 0) { LOGE("GetNapiValueString failed!"); return result; } re...