docs(frontend): 添加前端架构约定与回归清单文档
添加了完整的前端架构约定文档 (frontend_architecture.md), 包含以下主要内容: - 架构总览:Web资源本地托管方式和零构建方案 - 页面薄入口范式:HTML结构与ES Modules入口约定 - JS分层架构:common/ota/ble/can/motor等目录结构说明 - 缓存戳约定:版本管理强制要求 - 公共层API契约:baseUrl/toast/polling等接口规范 - motor页特殊性:独立主题和轮询链路处理 - 红线区域:不可动代码范围说明 - 回归清单:各页面功能验证checklist 同时移除了build相关的临时文件
This commit is contained in:
+8
-8
@@ -6,6 +6,9 @@
|
||||
* 本模块是 can 子系统的基础层,不依赖其他 can 子模块;state/el 在此导出,
|
||||
* 供 messages/signals/send 共享(ES Module 的 live binding 保证引用一致)。
|
||||
*/
|
||||
import {
|
||||
DEFAULT_ESP_IP, getSavedDeviceIp, saveDeviceIp
|
||||
} from '../common/base-url.js';
|
||||
|
||||
// ==================== 共享状态 ====================
|
||||
export var state = {
|
||||
@@ -31,15 +34,12 @@ export var state = {
|
||||
export var el = {};
|
||||
|
||||
// ==================== 基础工具 ====================
|
||||
var LS_ESP_IP = 'dcu_esp_ip';
|
||||
var DEFAULT_ESP_IP = '192.168.31.127';
|
||||
// IP 存取通用实现在 common/base-url.js,此处包装 CAN 页特有的 el.toolIp 回退。
|
||||
|
||||
/** @description 设备 IP:优先 localStorage(与 OTA 页共用),否则默认。 */
|
||||
/** @description 设备 IP:优先 localStorage(与 OTA 页共用),其次页面输入框,否则默认。 */
|
||||
export function getDeviceIp() {
|
||||
try {
|
||||
var saved = localStorage.getItem(LS_ESP_IP);
|
||||
if (saved && saved.trim()) return saved.trim();
|
||||
} catch (_) {}
|
||||
var saved = getSavedDeviceIp();
|
||||
if (saved) return saved;
|
||||
if (el.toolIp && el.toolIp.value && el.toolIp.value.trim()) {
|
||||
return el.toolIp.value.trim();
|
||||
}
|
||||
@@ -50,7 +50,7 @@ export function getDeviceIp() {
|
||||
export function setDeviceIp(ip) {
|
||||
if (!ip || !String(ip).trim()) return;
|
||||
var v = String(ip).trim();
|
||||
try { localStorage.setItem(LS_ESP_IP, v); } catch (_) {}
|
||||
saveDeviceIp(v);
|
||||
if (el.toolIp) el.toolIp.value = v;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user