#ifndef SMART_JSON_WRAPPER_H #define SMART_JSON_WRAPPER_H #include "function_metadata.h" #include "math_utils.h" #include #include #include #include #include #include #include // JSON 响应结构 struct SmartResponse { bool success = true; int code = 0; std::string msg; std::string req_code; std::string req_cmd; std::any res_data; double execution_time = 0.0; std::map execution_info; // 转换为 JSON 字符串 std::string toJson() const; // 创建成功响应 static SmartResponse createSuccess(const std::string &req_code, const std::string &req_cmd, const std::any &data = {}); // 创建错误响应 static SmartResponse createError(const std::string &req_code, const std::string &req_cmd, int code, const std::string &msg); }; // 智能 JSON 处理器 class SmartJsonProcessor { private: // 注册所有数学函数 void registerMathFunctions(); // 智能类型推断 std::any inferJsonValue(const std::string &key, const std::string &value_str); // 解析数组 std::vector parseIntArray(const std::string &array_str); std::vector parseFloatArray(const std::string &array_str); // 字符串处理 static std::string trim(const std::string &str); static std::vector split(const std::string &str, char delimiter); public: SmartJsonProcessor(); ~SmartJsonProcessor(); // JSON 解析 std::map parseJsonParams(const std::string &json_str); // 处理 JSON 请求 SmartResponse processRequest(const std::string &json_request); // 获取函数列表 std::map> getAvailableFunctions() const; // 获取函数信息 std::string getFunctionInfo(const std::string &func_name) const; }; // WASM 导出函数 extern "C" { const char *init_func(); // 智能处理 JSON 请求 const char *func(const char *json_request); // 智能处理 JSON 请求 const char *smart_process_json(const char *json_request); // 获取可用函数列表 const char *smart_get_function_list(); // 获取函数详情 const char *smart_get_function_info(const char *func_name); // 测试智能匹配 const char *smart_test_match(const char *json_request); // 释放字符串 void smart_free_string(const char *str); // 获取版本信息 const char *smart_get_version(); } #endif // SMART_JSON_WRAPPER_H