mirror of
https://github.com/m5stack/ESP-Claw.git
synced 2026-05-20 11:51:49 -07:00
63 lines
1.5 KiB
C
63 lines
1.5 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include "app_config.h"
|
|
#include "esp_err.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct {
|
|
bool wifi_connected;
|
|
const char *ip;
|
|
bool ap_active;
|
|
const char *ap_ssid;
|
|
const char *ap_ip;
|
|
const char *wifi_mode;
|
|
} http_server_wifi_status_t;
|
|
|
|
typedef struct {
|
|
bool active;
|
|
bool configured;
|
|
bool completed;
|
|
bool persisted;
|
|
char session_key[64];
|
|
char status[32];
|
|
char message[160];
|
|
char qr_data_url[256];
|
|
char account_id[64];
|
|
char user_id[96];
|
|
char token[256];
|
|
char base_url[160];
|
|
} http_server_wechat_login_status_t;
|
|
|
|
typedef struct {
|
|
esp_err_t (*load_config)(app_config_t *config);
|
|
esp_err_t (*save_config)(const app_config_t *config);
|
|
esp_err_t (*get_wifi_status)(http_server_wifi_status_t *status);
|
|
esp_err_t (*wechat_login_start)(const char *account_id, bool force);
|
|
esp_err_t (*wechat_login_get_status)(http_server_wechat_login_status_t *status);
|
|
esp_err_t (*wechat_login_cancel)(void);
|
|
esp_err_t (*wechat_login_mark_persisted)(void);
|
|
} http_server_services_t;
|
|
|
|
typedef struct {
|
|
const char *storage_base_path;
|
|
http_server_services_t services;
|
|
} http_server_config_t;
|
|
|
|
esp_err_t http_server_init(const http_server_config_t *config);
|
|
esp_err_t http_server_start(void);
|
|
esp_err_t http_server_stop(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|