41 lines
2.0 KiB
C
41 lines
2.0 KiB
C
/*
|
||
* 模块名称:UI PWD Def (密码与权限配置)
|
||
* 模块功能:查看/修改两个密码的编译期取值(3 位 0..999)+ 权限枚举定义——
|
||
* 密码值唯一配置点;改值后重新编译生效,不占 RAM、不落 Flash;
|
||
* 菜单表(ui_menu_tree.txt)叶子行尾 #P 注记标"需密码",
|
||
* 进叶子时按所输密码授权(查看密码→只读 / 修改密码→可修改)
|
||
* 适用平台:STM32F407ZGTx / PC 模拟器(两端共用)
|
||
* 作者:王建锋
|
||
* 创建日期:2026-09-09
|
||
* 修改记录:
|
||
* 2026-09-09 王建锋 创建:密码值编译期配置(用户定案:密码仅编译期
|
||
* 写入,不做运行期设置页与 Flash 持久化)
|
||
* 2026-09-09 王建锋 改权限模型:密码不绑定特定叶子,同一叶子输不同密码
|
||
* 获不同权限(查看密码→只读 / 修改密码→可修改);
|
||
* 新增 ui_perm_t 权限枚举;树注记改 #P(需密码)
|
||
*/
|
||
#ifndef UI_PWD_DEF_H
|
||
#define UI_PWD_DEF_H
|
||
|
||
#include <stdint.h>
|
||
|
||
/*
|
||
* 权限:进入受保护叶子时获得的权限级别(由所输密码决定):
|
||
* 同一叶子输查看密码 → 只读;输修改密码 → 可修改(含查看);
|
||
* 无密码叶子直接进,默认只读
|
||
*/
|
||
typedef enum {
|
||
UI_PERM_VIEW = 0u, /* 只读权限:查看密码授予(无密码叶子的默认权限) */
|
||
UI_PERM_MODIFY, /* 修改权限:修改密码授予(含查看) */
|
||
UI_PERM_COUNT /* 哨兵:非法权限(自检) */
|
||
} ui_perm_t;
|
||
|
||
#define UI_PWD_VALUE_VIEW 0u /* 查看密码:输入授予只读权限 */
|
||
#define UI_PWD_VALUE_MODIFY 123u /* 修改密码:输入授予修改权限 */
|
||
|
||
/* 护栏:密码值域 0..999(3 位),越界编译失败(C99 写法,兼容 ARMCC v5) */
|
||
typedef char ui_pwd_value_view_check[(UI_PWD_VALUE_VIEW <= 999u) ? 1 : -1];
|
||
typedef char ui_pwd_value_modify_check[(UI_PWD_VALUE_MODIFY <= 999u) ? 1 : -1];
|
||
|
||
#endif /* UI_PWD_DEF_H */
|