240617班级,工业自动化系统,紫鸾PCB
hailuo10
2024-10-05 c34be0cb39a0f27d663049b4f753c85faefddbae
Merge branch 'master' of ssh://115.28.86.8:29418/~admin/紫鸾PCB_0927
2个文件已修改
1 文件已重命名
2个文件已添加
2个文件已删除
203 ■■■■■ 已修改文件
Client/师皓杰/log/师皓杰_1004.doc 补丁 | 查看 | 原始文档 | blame | 历史
Client/王凯航/log/wkh-2024-10-04.doc 补丁 | 查看 | 原始文档 | blame | 历史
Client/谢虹铭/log/~$PCB_谢虹铭_20241005.doc 补丁 | 查看 | 原始文档 | blame | 历史
Server/陈文博/log/~$博_241004.doc 补丁 | 查看 | 原始文档 | blame | 历史
Server/陈文博/log/陈文博_241004.doc 补丁 | 查看 | 原始文档 | blame | 历史
参考文档/A组项目计划表.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
自定义功能结构体记录.txt 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Client/ʦð©½Ü/log/ʦð©½Ü_1004.doc
Binary files differ
Client/Íõ¿­º½/log/wkh-2024-10-04.doc
Binary files differ
Client/лºçÃú/log/~$PCB_лºçÃú_20241005.doc
Binary files differ
Server/³ÂÎIJ©/log/~$²©_241004.doc
Binary files differ
Server/³ÂÎIJ©/log/³ÂÎIJ©_241004.doc
Binary files differ
²Î¿¼Îĵµ/A×éÏîÄ¿¼Æ»®±í.xlsx
Binary files differ
×Ô¶¨Ò幦ÄܽṹÌå¼Ç¼.txt
New file
@@ -0,0 +1,203 @@
----------------枚举
// ç”¨æ¥åŒºåˆ†ä¸åŒåŠŸèƒ½çš„ï¼Œé¿å…äº§ç”Ÿé­”é¬¼æ•°å­—
// ç»Ÿä¸€ç”±è´Ÿè´£ç½‘络通信的人来定,并且客户端和服务端共用
// æœ€åŽå’Œç»“构体一起放到同一个头文件里面,作为公共的部分  common.h
enum TypeInfo
{
    REGISTER_REQ,  // æ³¨å†Œè¯·æ±‚
    REGISTER_RES,  // æ³¨å†Œå“åº”
    LOGIN_REQ,       // ç™»å½•请求
    LOGIN_RES,       // ç™»å½•响应
    CHANGE_PASSWORD_REQ, // ä¿®æ”¹å¯†ç è¯·æ±‚
    CHANGE_PASSWORD_RES, // ä¿®æ”¹å¯†ç å“åº”
    CHANGE_PASSWORD_BY_TEL_REQ, // é€šè¿‡æ‰‹æœºå·æ”¹å¯†ç è¯·æ±‚
    CHANGE_PASSWORD_BY_TEL_RES, // é€šè¿‡æ‰‹æœºå·æ”¹å¯†ç å“åº”
    PER_SEARCH_USER_REQ,  // æƒé™ç®¡ç†ï¼šæŸ¥è¯¢ç”¨æˆ·è¯·æ±‚
    PER_SEARCH_USER_RES,  // æƒé™ç®¡ç†ï¼šæŸ¥è¯¢ç”¨æˆ·å“åº”
    CHANGE_PERMISSION_REQ, // æƒé™ç®¡ç†: ä¿®æ”¹æƒé™è¯·æ±‚
    CHANGE_PERMISSION_RES, // æƒé™ç®¡ç†: ä¿®æ”¹æƒé™å“åº”
};
----------------数据头
struct Head
{
    int type;
    int len;
};
========================================
C端:客户端
    1、注册、登录
        1.1 æ³¨å†Œ
        ç”¨æˆ·åã€ç”¨æˆ·id[sql自动生成]、
        é‚®ç®±ã€å¯†ç ã€æƒé™[自动生成最低权限]、
        éƒ¨é—¨ã€æ³¨å†Œæ—¶é—´[自动生成]
        ç”¨æˆ·çŠ¶æ€[自动生成]、[AES、RSA、MD5]
        æ‰‹æœºå·
        ------客户端发起的
        ç”¨æˆ·å
        å¯†ç 
        [确认密码]
        é‚®ç®±
        éƒ¨é—¨
        æ‰‹æœºå·
        -------------
        è¯·æ±‚结构体:
            struct RegisterReq
            {
                Head head;
                char user_name[32];
                char password[32];
                char email[32];
                char department[32];
                char tel[20];
            };
        å“åº”: å›žä¸€ä¸ªçŠ¶æ€ç è¡¨ç¤ºæˆåŠŸã€å¤±è´¥
            struct RegisterRes
            {
                Head head;
                char user_name[32];
                int state; // çŠ¶æ€ 1:注册成功、2:用户名已存在、3:用户名非法、4:密码非法、5、邮箱非法、6、手机号非法
            };
        1.2 ç™»å½•
        ç”¨æˆ·åã€å¯†ç ã€[部门]、[手机号]
            è¯·æ±‚:
            struct LoginReq
            {
                Head head;
                char user_name[32];
                char password[32];
            };
            å“åº”:
            struct Permission
            {
                int admin;
                int history;
                int map_change;
                int device_manage;
                int pro_plan; // ç”Ÿæˆè®¡åˆ’
                int warning;
                int sto_manage; // åº“存关联
            };
            struct LoginRes
            {
                Head head;
                char user_name[32];
                int state;  // 1:登录成功、2、用户名不存在、3:密码错误、4:用户名格式错误、5:密码错误、6:已注销、7:已被禁用
                Permission per; // æƒé™ï¼Œæ ¹æ®å…·ä½“权限来显示不同的子窗口
            };
        ------------------------------
        1.3 ä¿®æ”¹å¯†ç 
            1.3.1 ç™»å½•成功后,修改密码
            éœ€ï¼šåŽŸå¯†ç ã€æ–°å¯†ç ã€[确认新密码]
            struct ChangePasswordReq
            {
                Head head;
                char user_name[32];
                char password[32];
            };
            struct ChangePasswordRes
            {
                Head head;
                char user_name[32];
                int state; // çŠ¶æ€ï¼š1:成功、2:与原密码相同、3:密码非法
            };
            1.3.2 æœªç™»å½•修改密码
            éœ€ï¼šæ‰‹æœºå·--验证码、新密码、[确认新密码]
            struct ChangePasswordByTelReq
            {
                Head head;
                char tel[32];
                char tel_code[32];
                char password[32];
            };
            struct ChangePasswordByTelRes
            {
                Head head;
                char user_name[32];
                int state; // çŠ¶æ€ï¼š1:成功、2:与原密码相同、3:密码非法 ã€4:验证码错误
            };
    -----------------------------------------
        2、权限管理
            å¯¹ç‰¹å®šç”¨æˆ·çš„æƒé™è¿›è¡Œç®¡ç†ï¼šå¢žåŠ ã€å‡å°‘æƒé™
            ç‰¹å®šç”¨æˆ·ï¼šå¾—查询--显示查询到的单个或多个用户
            æ”¹æƒé™ï¼šé€‰ä¸­æŸä¸ªç”¨æˆ·è¿›è¡Œä¿®æ”¹
            7个权限:会产生固定的组合关系  æœ€å¤š2的7次方共128种
            å•独的权限表--角色id--用户信息表
            -------------
            2.1 æŸ¥è¯¢ç”¨æˆ·
                æ¡ä»¶ï¼šåå­—[支持模糊匹配]、部门、注册时间[段]、手机号、邮箱  [有限使用单条件查询、也可以多条件组合]
                // å¯ä»¥é€šè¿‡å­—符串长度 strlen来判断是否有内容,记得提前初始化为空\0
                struct PerSearchUserReq
                {
                    Head head;
                    char user_name[32];
                    char department[32];
                    char register_time_begin[32];
                    char register_time_end[32];
                    char tel[20];
                    char email[32];
                };
                // å“åº”,有可能会查到多个用户信息,就得使用柔性数组来表示
                struct UserInfo
                {
                    char user_name[32];
                    char department[32];
                    char register_time[32];
                    char tel[20];
                    char email[32];
                    int role_id;     // è§’色id
                    Permission per; // å…·ä½“权限
                };
                struct PerSearchUserRes
                {
                    Head head;
                    UserInfo user_info[0];
                };
            2.2 ä¿®æ”¹æƒé™
                æŒ‡å®šç”¨æˆ·åä¿®æ”¹
                å¿«é€Ÿé€‰æ‹©ï¼šé€šè¿‡è§’色id或者角色名来改
                è¯¦ç»†é€‰æ‹©ï¼šç›´æŽ¥æŒ‰å…·ä½“的权限字段去勾选
                struct ChangePermissionReq
                {
                    Head head;
                    char user_name[32];
                    Permission per; // å…·ä½“权限
                };
                struct ChangePermissionRes
                {
                    Head head;
                    char user_name[32];
                    int state; // 1:修改成功  2:修改失败
                };
        ------------------- å’Œ æ³¨å†Œã€ç™»å½• å…±ç”¨åŒæ ·çš„æ•°æ®åº“表
        1、用户信息表
        2、角色权限表
        -------------------