获取上次连接成功的station信息

This commit is contained in:
zogodo
2019-09-25 23:57:52 +08:00
parent b8cb934702
commit 8c451a8f0e
3 changed files with 24 additions and 14 deletions

View File

@@ -67,15 +67,15 @@ exit:
return err; return err;
} }
#define TC1_STATUS_JSON "{'sockets':'%s','station_ssid':'%s','station_pwd':'%s','ap_ssid':'%s','ap_pwd':'%s'}" #define TC1_STATUS_JSON "{'sockets':'%s','mode':%d,'station_ssid':'%s','station_pwd':'%s','ap_ssid':'%s','ap_pwd':'%s'}"
static int http_get_tc1_status(httpd_request_t *req) static int http_get_tc1_status(httpd_request_t *req)
{ {
OSStatus err = kNoErr; OSStatus err = kNoErr;
const unsigned char* sockets = get_socket_status(); const unsigned char* sockets = get_socket_status();
char* tc1_status = malloc(256); char* tc1_status = malloc(256);
sprintf(tc1_status, TC1_STATUS_JSON, sockets, sys_config->micoSystemConfig.ssid, sprintf(tc1_status, TC1_STATUS_JSON, sockets, (int)sys_config->micoSystemConfig.reserved,
sys_config->micoSystemConfig.ssid, "TC1-AP", "123456"); sys_config->micoSystemConfig.ssid, sys_config->micoSystemConfig.user_key, "TC1-AP", "123456");
err = httpd_send_all_header(req, HTTP_RES_200, strlen(tc1_status), HTTP_CONTENT_HTML_STR); err = httpd_send_all_header(req, HTTP_RES_200, strlen(tc1_status), HTTP_CONTENT_HTML_STR);
require_noerr_action(err, exit, app_httpd_log("ERROR: Unable to send http socket_status headers.")); require_noerr_action(err, exit, app_httpd_log("ERROR: Unable to send http socket_status headers."));

View File

@@ -147,9 +147,9 @@
<tr> <tr>
<td class="right">MODE:</td> <td class="right">MODE:</td>
<td class="mode"> <td class="mode">
<input type="radio" id="mode1" name="mode" onchange="ChangeMode(1)"> <input type="radio" id="mode1" name="mode" onchange="ChangeMode(0)">
<label for="mode1">AP</label> <label for="mode1">AP</label>
<input type="radio" id="mode2" name="mode" onchange="ChangeMode(2)"> <input type="radio" id="mode2" name="mode" onchange="ChangeMode(1)">
<label for="mode2">STATION</label> <label for="mode2">STATION</label>
</td> </td>
</tr> </tr>
@@ -220,11 +220,23 @@ var pswd_ipt = document.getElementById("pswd");
var mode_rd1 = document.getElementById("mode1"); var mode_rd1 = document.getElementById("mode1");
var mode_rd2 = document.getElementById("mode2"); var mode_rd2 = document.getElementById("mode2");
var mode = -1;
var ap_name = "";
var ap_pswd = "";
var station_name = "";
var station_pswd = "";
HttpGet("/status", function (re) { HttpGet("/status", function (re) {
//re = "{'sockets':'%s','mode':%d,'station_ssid':'%s','station_pwd':'%s','ap_ssid':'%s','ap_pwd':'%s'}"
var status = JSON.parse(re); var status = JSON.parse(re);
var status_arr = status.sockets.split(","); var status_arr = status.sockets.split(",");
for (var i = 0; i < status_arr.length; i++) { for (var i = 0; i < status_arr.length; i++) {
checkboxs[i].checked = status_arr[i] == "1"; checkboxs[i].checked = status_arr[i] == "1";
station_name = status.station_ssid;
station_pswd = status.station_pwd;
ap_name = status.ap_ssid;
ap_pswd = status.ap_pwd;
//mode = status.mode;
ChangeMode(status.mode);
} }
}); });
@@ -253,14 +265,12 @@ function SetSocket() {
function SelectWifi() { function SelectWifi() {
ssid_ipt.disabled = ssid_slt.value != "0"; ssid_ipt.disabled = ssid_slt.value != "0";
} }
var mode = 0;
var ap_name = "TC1-AP";
var ap_pswd = "12345678";
var station_name = "";
var station_pswd = "";
function ChangeMode(m) { function ChangeMode(m) {
if (mode == m) return; if (mode == m) return;
if (m == 1) { if (m != 1) {
//AP模式
mode_rd1.checked = true;
ssid_slt.value = "0"; ssid_slt.value = "0";
ssid_slt.disabled = true; ssid_slt.disabled = true;
rescan_btn.disabled = true; rescan_btn.disabled = true;
@@ -268,6 +278,8 @@ function ChangeMode(m) {
ssid_ipt.value = ap_name; ssid_ipt.value = ap_name;
pswd_ipt.value = ap_pswd; pswd_ipt.value = ap_pswd;
} else { } else {
//Station模式
mode_rd2.checked = true;
ssid_slt.value = "0"; ssid_slt.value = "0";
ssid_slt.disabled = false; ssid_slt.disabled = false;
rescan_btn.disabled = false; rescan_btn.disabled = false;
@@ -277,9 +289,7 @@ function ChangeMode(m) {
} }
mode = m; mode = m;
} }
ChangeMode(1);
mode_rd1.checked = true;
function ChangeInput(type) { function ChangeInput(type) {
if(mode == 1) { if(mode == 1) {
ap_name = ssid_ipt.value; ap_name = ssid_ipt.value;

File diff suppressed because one or more lines are too long