当前位置: 首页 > news >正文

仿门户网站源码玉溪住房和城乡建设局网站

仿门户网站源码,玉溪住房和城乡建设局网站,制作外贸网站的公司简介,wordpress主题:超级文章目录 库调用实例实现思路技术要点 1. 前端涉及的文件需要包装再发送2. http-GET路由3. http-POST路由 开发环境&#xff1a;Arduino 库调用 #include <WebServer.h> #include <ArduinoJson.h> //IDE没有自带&#xff0c;需自行安装实例 WebServer server…
文章目录
    • 库调用
    • 实例
    • 实现思路
    • 技术要点
      • 1. 前端涉及的文件需要包装再发送
      • 2. http-GET路由
      • 3. http-POST路由
  • 开发环境:Arduino

库调用

#include <WebServer.h>
#include <ArduinoJson.h>	//IDE没有自带,需自行安装

实例

WebServer server(80);static const char index_html[] PROGMEM = R"==(  <!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="styleLoading.css"> <title>沃进DTU配置系统</title><style></style>
</head>
<body><div class="content"><div><div class="casePage"><div class="disflex" style="justify-content: space-between;"><div class="titltInfo disflex"><div class="title_wayos" style="margin-bottom: 10px;"><a href="https://vollgo.cn/">沃进科技</a></div></div></div></div></div></div>
</body>
<script>
</script>
</html>)==";  void setup() {Serial.begin(115200);Serial.println("system start");IPAddress apIP({192, 168, 4, 1});    //设置AP的IP地址WiFi.mode(WIFI_AP_STA);WiFi.softAPConfig(apIP, apIP, IPAddress({255, 255, 255, 0}));server.on("/", [=]() {server.send(200, "text/html", FPSTR(index_html));});server.on("/index.html", [=]() {server.send(200, "text/html", FPSTR(index_html));});server.on("/wifi_params", HTTP_GET, [=]() {StaticJsonDocument<1024> doc;doc["code"] = 200;doc["message"]["ssid"] = "12345";String jsonString;serializeJson(doc, jsonString);Serial.println(jsonString);server.send(200, "text/json", jsonString.c_str());});server.onNotFound([](){String message = "File Not Found";message += "URI: ";message += server.uri();message += "
Method: ";message += (server.method() == HTTP_GET) ? "GET" : "POST";message += "
Arguments: ";message += server.args();message += "
";for (uint8_t i = 0; i < server.args(); i++) {message += " " + server.argName(i) + ": " + server.arg(i) + "
";}server.send(404, "text/plain", message);// digitalWrite(led, 0);});server.begin();
}
void loop() {delay(1);server.handleClient();
}

实现思路

ESP32作为AP模式,终端连接该AP,通过地址即可访问该web服务器了,前端界面文件通过http GET方式获取,包括css文件,图片,js文件等。

技术要点

1. 前端涉及的文件需要包装再发送
static const char index_html[] PROGMEM = R"==(  
)==";  

把整个前端文件的内容放在()括号里。

2. http-GET路由

访问路径/upd_pwd,操作方式GET,Arduino的编译链为c++,是支持lambda函数的,锁直接把函数传参直接写在调用处,是不是很方便。

  • serializeJson把json对象格式化成String

  • c_str()String转换成char *

  • server.arg("username")获取前端传递的路径中的参数username

    server.on(“/upd_pwd”, HTTP_GET, {
    String username = server.arg(“username”);
    StaticJsonDocument<512> doc;
    doc[“code”] = 201;
    String jsonString;
    serializeJson(doc, jsonString);
    server.send(200, “text/json”, jsonString.c_str());
    });

3. http-POST路由

访问路径/upd_pwd,操作方式POST,Arduino的编译链为c++,是支持lambda函数的,锁直接把函数传参直接写在调用处,是不是很方便。
post消息体的body数据放在plain字段中,以json字符串的形式存放。

  • serializeJson把json对象格式化成String

  • c_str()String转换成char *

  • server.arg("username")获取前端传递的路径中的参数username

  • const char *ip = doc["server"];获取json对象的server字段的值

    server.on(“/upd_pwd”, HTTP_POST, {
    String body= server.arg(“plain”);
    StaticJsonDocument<512> doc;
    DeserializationError error = deserializeJson(doc, body.c_str());
    if(error)
    {
    server.send(400, “text/json”, “{“success”: 400, “message”:“json error”}”);
    }
    else
    {
    const char *ip = doc[“server”];
    StaticJsonDocument<512> doc_ret;
    doc_ret[“code”] = 201;
    String jsonString;
    serializeJson(doc_ret, jsonString);
    server.send(200, “text/json”, jsonString.c_str());
    }
    });

http://www.sczhlp.com/news/85430/

相关文章:

  • 惠州网站制作定制ui设计网课一般多少钱
  • 长沙网站建设icp备wordpress vs
  • 初始化树莓派(Raspberry Pi)系统并以 ssh 连接教程(只需读卡器、手机开热点,无需显示器) - tsunchi
  • 创新网站建设方案书协会网站建设必要性
  • 建立英文网站wordpress仿百度文库
  • 公司网站怎么修改内容天门市住房和城乡建设网站
  • 小题狂做 官方网站wordpress左侧产品分类目录
  • 做网站去哪个公司好重庆南岸营销型网站建设公司推荐
  • 从windows 自动进入BIOS
  • 公司网站免费网站免费创口贴网站模板
  • 济南做网站建设的公司男通网站哪个好用
  • 门户网站案例分析wordpress 跳转特效
  • 网站集群建设解决方案网站渠道建设
  • 网站怎么加载图片做logo辽宁省住房建设厅网站
  • 从化网站建设模板自助建站网站制作
  • 1688企业网站建设图怪兽海报制作官网
  • y2学年做的租房网站wordpress 排版
  • 公司网站策划宣传网站建设公司天津
  • 滨州做网站推广聊网站推广
  • 公司网络推广网站大型网站建设设备
  • 东营建设网站app可以申请专利吗
  • 俄罗斯国际空间站网络公司网站设计方案ppt
  • 深圳网站建设 公司元对战平台网站怎么建设
  • 上海欣扬集团 网站建设个人网站建设实训目的
  • net网站开发手机网站苏州相城区做网站
  • 简洁大气的网站设计旅游网站开发成本包括
  • 自己 做网站在建设部网站如何查询注册信息
  • 南城网站建设公司如何广东监理建设协会网站
  • 买了虚拟主机怎么建设网站网络服务丢失
  • Morpheus 审计报告分享:AAVE 项目 Pool 合约地址更新导致的组合性风险