Перевод: [ANI-Issue]: Часть интерфейсов napi соответствует ani интерфейсу недостаточно четко,希望能提供明确的例子 Дополнительно: [ANI-Issue]: Часть интерфейсов napi соответствует ani интерфейсу недостаточно четко,希望能提供明确的例子 Финальный текст: [ANI-Issue]: Часть интерфейсов napi соответствует ani интерфейсу недостаточно четко,希望能提供明确的例子 Полный текст с исправлениями: [ANI-Issue]: Часть интерфейсов napi соответствует ani интерфейсу недостаточно четко,希望能提供明确的例子
Какие ani-интерфейсы должны использоваться вместо napi_get_global
, napi_get_value_external
и napi_unwrap
? Как использовать эти интерфейсы? Нужны примеры использования.
На данный момент ani не предоставляет аналогичные возможности. Ниже приведены соответствующие коды для napi:
napi_status IsStageContext(napi_env env, napi_value object, bool& stageMode)
{
napi_value boolValue;
OHOS_CALL_NAPI_RETURN(napi_get_named_property(env, object, "stageMode", &boolValue)); // OHOS_CALL_NAPI_RETURN служит для проверки возвращаемого значения
bool value = false;
OHOS_CALL_NAPI_RETURN(napi_get_value_bool(env, boolValue, &value));
stageMode = value;
return napi_ok;
}
std::shared_ptr<Context> GetStageModeContext(napi_env env, napi_value object)
{
void* wrapped = nullptr;
napi_status ret = napi_unwrap(env, object, &wrapped);
if (ret != napi_ok) {
return nullptr;
}
auto weakContext = static_cast<std::weak_ptr<Context>*>(wrapped);
return weakContext != nullptr ? weakContext->lock() : nullptr;
}
AppExecFwk::Ability* GetCurrentAbility(napi_env env)
{
napi_value global;
napi_status status = napi_get_global(env, &global);
if (status != napi_ok) {
return nullptr;
}
napi_value abilityObj;
status = napi_get_named_property(env, global, "ability", &abilityObj);
if (status != napi_ok || abilityObj == nullptr) {
return nullptr;
}
void* pointer = nullptr;
status = napi_get_value_external(env, abilityObj, &pointer);
if (status != napi_ok) {
return nullptr;
}
return static_cast<AppExecFwk::Ability*>(pointer);
}
Нет### Дополнительные журналы и информация [Обязательно]
Нет
например, базовая возможность, интерфейс модификации, высокий приоритет
Вход Перед тем как оставить комментарий