From 54b850a49a69a953abf755fa7e4dd9c955eca188 Mon Sep 17 00:00:00 2001 From: arbiter_ <1018967146@qq.com> Date: Fri, 8 Aug 2025 17:33:37 +0800 Subject: [PATCH] feature: emphatic template must need icon Signed-off-by: arbiter_ <1018967146@qq.com> --- .../js_fb_window_controller.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/interfaces/kits/napi/floating_ball_napi/js_fb_window_controller.cpp b/interfaces/kits/napi/floating_ball_napi/js_fb_window_controller.cpp index e33cc2e71b..a7eb0d180c 100644 --- a/interfaces/kits/napi/floating_ball_napi/js_fb_window_controller.cpp +++ b/interfaces/kits/napi/floating_ball_napi/js_fb_window_controller.cpp @@ -15,6 +15,7 @@ #include "js_fb_window_controller.h" #include +#include #include "color_parser.h" #include "floating_ball_manager.h" @@ -399,6 +400,21 @@ napi_value JsFbController::CheckParams(napi_env env, const FbOption& option) static_cast(WmErrorCode::WM_ERROR_FB_PARAM_INVALID), "current template need icon")); return nullptr; } + if (option.GetTemplate() == static_cast(FloatingBallTemplate::EMPHATIC)) { + if (option.GetIcon() == nullptr) { + TLOGE(WmsLogTag::WMS_SYSTEM, "Template %{public}u need icon.", option.GetTemplate()); + napi_throw(env, AbilityRuntime::CreateJsError(env, + static_cast(WmErrorCode::WM_ERROR_FB_PARAM_INVALID), "Current template need icon")); + return nullptr; + } + const std::string title = option.GetTitle(); + if (std::any_of(title.begin(), title.end(), [](unsigned const char c){ return !std::isdigit(c); })) { + TLOGE(WmsLogTag::WMS_SYSTEM, "The title of template %{public}u must be a number.", option.GetTemplate()); + napi_throw(env, AbilityRuntime::CreateJsError(env, + static_cast(WmErrorCode::WM_ERROR_FB_PARAM_INVALID), "current template need number title")); + return nullptr; + } + } return NapiGetUndefined(env); } -- Gitee