2020-2021暑期项目实训第五周——确认只读消息功能实现以及主要代码

只读消息包括员工退出企业、员工注销账号的消息;设置(取消)企业管理员身份、企业解雇、所属部门被删除、企业解散的消息
企业邀请加入的消息在同意后会加入到企业中,反之拒绝
关于管理员的只读消息在处理后会有employee和admin的身份变化
企业解雇的消息确认后,身份会变为user
所属部门被删除只需要确认
企业解散的消息确认后,身份会变为user
注:关于身份变化,其实在收到消息时身份就已经发生变化,只是在localStorage中还是原来的身份,通过消息处理进行改变localStorage中的身份变化,便于在用户没有重新登录时,就可以获取到新身份
在这里插入图片描述
通过正则表达式匹配来判断收到的只读消息类型,再进行相应处理

dealRead(id, result, fromId, fromName, theme) {
      dealRead(id, result).then((res) => {
        const dealRes = res.data;
        console.log(theme);
        if (dealRes.code == 200) {
          this.$message.success("已处理该消息!");
          var reg1 = new RegExp("同意"); //同意加入企业
          var reg2 = new RegExp("开除"); //被企业开除
          var reg3 = new RegExp("设置"); //设置为管理员
          var reg4 = new RegExp("移除"); //管理员被移除
          var reg5 = new RegExp("移出"); //企业注销
          if (theme.match(reg1)) {
            this.setCompanyId(fromId);
            this.setCompanyName(fromName);
            let roles = [{ id: "employee" }];
            this.setRoles(roles);
            const route = "/dashboard";
            this.$refreshPage(route);
          } else if (theme.match(reg2) || theme.match(reg5)) {
            this.setCompanyId("");
            this.setCompanyName("");
            let roles = [{ id: "user" }];
            this.setRoles(roles);
            const noticeRoute = "/notice";
            this.$refreshPage(noticeRoute);
            const route = "/dashboard";
            this.$refreshPage(route);
          } else if (theme.match(reg3)) {
            let roles = [{ id: "admin" }];
            this.setRoles(roles);
            const route = "/notice";
            this.$refreshPage(route);
          } else if (theme.match(reg4)) {
            let roles = [{ id: "employee" }];
            this.setRoles(roles);
            const route = "/notice";
            this.$refreshPage(route);
          }
          this.searchUserNotice();
          this.countUnreadNotice();
        }
      });
    },

版权声明:本文为qq_43502432原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。