Skip to content

Examples

508364 edited this page Jun 8, 2026 · 6 revisions

示例代码|Examples

1. 基本Web服务器

#include "netleaf.h"

int main() {
    nl_web_server_t* server = nl_web_create(8080);
    nl_web_add_html(server, "/", "<h1>Hello World</h1>");
    nl_web_start(server);
    
    while (1) sleep(1);
    return 0;
}

2. 变量硬编码

#include "netleaf.h"

int main() {
    nl_web_server_t* server = nl_web_create(8080);
    
    // 设置UTF-8编码
    nl_web_set_encoding(server, "UTF-8");
    
    // 用户信息
    const char* vars[] = {"name", "user_id", "role"};
    const char* values[] = {"张三", "1001", "管理员"};
    
    nl_web_add_html_with_vars(server, "/user",
        "<!DOCTYPE html>\n"
        "<html>\n"
        "<head><title>用户资料</title></head>\n"
        "<body>\n"
        "  <h1>{{<var>name</var>}}</h1>\n"
        "  <p>ID: {{<var>user_id</var>}}</p>\n"
        "  <p>角色: {{<var>role</var>}}</p>\n"
        "</body></html>",
        vars, values, 3);
    
    nl_web_start(server);
    while (1) sleep(1);
    return 0;
}

3. Vue页面带变量

#include "netleaf.h"

int main() {
    nl_web_server_t* server = nl_web_create(8080);
    
    const char* vars[] = {"company", "year"};
    const char* values[] = {"NetLeaf科技", "2024"};
    
    nl_web_add_vue_with_vars(server, "/dashboard",
        "<h1>{{<var>company</var>}} - 管理面板</h1>\n"
        "<p>年份: {{<var>year</var>}}</p>\n"
        "<div class=\"counter\">\n"
        "  <button @click=\"count++\">+</button>\n"
        "  <span>{{ count }}</span>\n"
        "  <button @click=\"count--\">-</button>\n"
        "</div>",
        vars, values, 2);
    
    nl_web_start(server);
    while (1) sleep(1);
    return 0;
}

4. 日志系统

#include "netleaf.h"

int main() {
    // 启用调试模式
    nl_debug_enable(1);
    
    // 输出日志
    nl_log_debug("调试信息 - 服务器启动");
    nl_log_info("一般信息 - 配置加载成功");
    nl_log_warn("警告 - 内存使用率偏高");
    nl_log_error("错误 - 连接失败");
    
    return 0;
}

5. 预设UI组件

#include "netleaf.h"

int main() {
    nl_web_server_t* server = nl_web_create(8080);
    
    // 添加计数器
    nl_web_add_counter(server, "/counter", "点击计数器");
    
    // 添加数据面板
    nl_web_add_dashboard(server, "/dashboard", "数据分析");
    
    // 添加表单
    const char* fields[] = {"name", "email", "message"};
    nl_web_add_form(server, "/contact", "联系我们", fields, 3);
    
    // 添加待办列表
    nl_web_add_todo(server, "/todo", "待办事项");
    
    nl_web_start(server);
    while (1) sleep(1);
    return 0;
}

6. 快捷函数

#include "netleaf.h"

int main() {
    // 一行代码启动服务器
    nl_serve_dashboard(8080, "我的面板");
    
    return 0;
}

导航 | Navigation

快速链接 | Quick Links

开发参考 | Development

附加模块 | Modules

  • Auto-complete - 自动补全charset和Vue引入
  • Auto-route - 自动路由建议
  • ErrorPage - 自定义错误页面模板
  • IPC - 进程间通讯服务
  • LinkAgg - 同端口链路聚合
  • Lang - 多语言错误消息
  • Vue - Vue.js后端支持
  • Extension - 扩展库开发指南
  • TLS - TLS/SSL 加密扩展
  • MQTT - MQTT v5.0 协议客户端
  • MQTT-Server - MQTT v5.0 协议服务端(Broker)

关于 | About

作者: 508364

版本: 2.4.2

许可: MIT License


外部链接 | External Links

Clone this wiki locally