Commit f7762e646e502e8deabb60502b3d3f0cb2a59054
1 parent
91dd4a32
站内信模块:我的站内信 vue3
Showing
9 changed files
with
245 additions
and
38 deletions
README.md
| ... | ... | @@ -92,6 +92,7 @@ |
| 92 | 92 | | | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | |
| 93 | 93 | | 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 | |
| 94 | 94 | | 🚀 | 邮件管理 | 邮箱账号、邮件模版、邮件发送日志,支持所有邮件平台 | |
| 95 | +| 🚀 | 站内信 | 系统内的消息通知,提供站内信模版、站内信消息 | | |
| 95 | 96 | | 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 | |
| 96 | 97 | | ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 | |
| 97 | 98 | | 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 | | ... | ... |
sql/mysql/ruoyi-vue-pro.sql
| ... | ... | @@ -546,7 +546,7 @@ CREATE TABLE `infra_api_error_log` ( |
| 546 | 546 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 547 | 547 | `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', |
| 548 | 548 | PRIMARY KEY (`id`) USING BTREE |
| 549 | -) ENGINE = InnoDB AUTO_INCREMENT = 949 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统异常日志'; | |
| 549 | +) ENGINE = InnoDB AUTO_INCREMENT = 965 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统异常日志'; | |
| 550 | 550 | |
| 551 | 551 | -- ---------------------------- |
| 552 | 552 | -- Records of infra_api_error_log |
| ... | ... | @@ -584,7 +584,7 @@ CREATE TABLE `infra_codegen_column` ( |
| 584 | 584 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', |
| 585 | 585 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 586 | 586 | PRIMARY KEY (`id`) USING BTREE |
| 587 | -) ENGINE = InnoDB AUTO_INCREMENT = 1582 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表字段定义'; | |
| 587 | +) ENGINE = InnoDB AUTO_INCREMENT = 1612 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表字段定义'; | |
| 588 | 588 | |
| 589 | 589 | -- ---------------------------- |
| 590 | 590 | -- Records of infra_codegen_column |
| ... | ... | @@ -616,7 +616,7 @@ CREATE TABLE `infra_codegen_table` ( |
| 616 | 616 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', |
| 617 | 617 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 618 | 618 | PRIMARY KEY (`id`) USING BTREE |
| 619 | -) ENGINE = InnoDB AUTO_INCREMENT = 122 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表定义'; | |
| 619 | +) ENGINE = InnoDB AUTO_INCREMENT = 124 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '代码生成表定义'; | |
| 620 | 620 | |
| 621 | 621 | -- ---------------------------- |
| 622 | 622 | -- Records of infra_codegen_table |
| ... | ... | @@ -1191,7 +1191,7 @@ CREATE TABLE `system_dict_data` ( |
| 1191 | 1191 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', |
| 1192 | 1192 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 1193 | 1193 | PRIMARY KEY (`id`) USING BTREE |
| 1194 | -) ENGINE = InnoDB AUTO_INCREMENT = 1227 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典数据表'; | |
| 1194 | +) ENGINE = InnoDB AUTO_INCREMENT = 1229 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典数据表'; | |
| 1195 | 1195 | |
| 1196 | 1196 | -- ---------------------------- |
| 1197 | 1197 | -- Records of system_dict_data |
| ... | ... | @@ -1395,6 +1395,8 @@ INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `st |
| 1395 | 1395 | INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1224, 10, '发送成功', '10', 'system_mail_send_status', 0, 'success', '', '邮件发送状态 - 发送成功', '1', '2023-01-26 09:54:28', '1', '2023-01-26 16:36:22', b'0'); |
| 1396 | 1396 | INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1225, 20, '发送失败', '20', 'system_mail_send_status', 0, 'danger', '', '邮件发送状态 - 发送失败', '1', '2023-01-26 09:54:50', '1', '2023-01-26 16:36:26', b'0'); |
| 1397 | 1397 | INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1226, 30, '不发送', '30', 'system_mail_send_status', 0, 'info', '', '邮件发送状态 - 不发送', '1', '2023-01-26 09:55:06', '1', '2023-01-26 16:36:36', b'0'); |
| 1398 | +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1227, 1, '通知公告', '1', 'system_notify_template_type', 0, 'primary', '', '站内信模版的类型 - 通知公告', '1', '2023-01-28 10:35:59', '1', '2023-01-28 10:35:59', b'0'); | |
| 1399 | +INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1228, 2, '系统消息', '2', 'system_notify_template_type', 0, 'success', '', '站内信模版的类型 - 系统消息', '1', '2023-01-28 10:36:20', '1', '2023-01-28 10:36:25', b'0'); | |
| 1398 | 1400 | COMMIT; |
| 1399 | 1401 | |
| 1400 | 1402 | -- ---------------------------- |
| ... | ... | @@ -1415,7 +1417,7 @@ CREATE TABLE `system_dict_type` ( |
| 1415 | 1417 | `deleted_time` datetime NULL DEFAULT NULL COMMENT '删除时间', |
| 1416 | 1418 | PRIMARY KEY (`id`) USING BTREE, |
| 1417 | 1419 | UNIQUE INDEX `dict_type`(`type` ASC) USING BTREE |
| 1418 | -) ENGINE = InnoDB AUTO_INCREMENT = 167 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典类型表'; | |
| 1420 | +) ENGINE = InnoDB AUTO_INCREMENT = 168 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '字典类型表'; | |
| 1419 | 1421 | |
| 1420 | 1422 | -- ---------------------------- |
| 1421 | 1423 | -- Records of system_dict_type |
| ... | ... | @@ -1479,6 +1481,7 @@ INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creat |
| 1479 | 1481 | INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (164, '公众号自动回复的请求关键字匹配模式', 'mp_auto_reply_request_match', 0, '公众号自动回复的请求关键字匹配模式', '1', '2023-01-16 23:29:56', '1', '2023-01-16 23:29:56', b'0', '1970-01-01 00:00:00'); |
| 1480 | 1482 | INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (165, '公众号的消息类型', 'mp_message_type', 0, '公众号的消息类型', '1', '2023-01-17 22:17:09', '1', '2023-01-17 22:17:09', b'0', '1970-01-01 00:00:00'); |
| 1481 | 1483 | INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (166, '邮件发送状态', 'system_mail_send_status', 0, '邮件发送状态', '1', '2023-01-26 09:53:13', '1', '2023-01-26 09:53:13', b'0', '1970-01-01 00:00:00'); |
| 1484 | +INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (167, '站内信模版的类型', 'system_notify_template_type', 0, '站内信模版的类型', '1', '2023-01-28 10:35:10', '1', '2023-01-28 10:35:10', b'0', '1970-01-01 00:00:00'); | |
| 1482 | 1485 | COMMIT; |
| 1483 | 1486 | |
| 1484 | 1487 | -- ---------------------------- |
| ... | ... | @@ -1527,7 +1530,7 @@ CREATE TABLE `system_login_log` ( |
| 1527 | 1530 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 1528 | 1531 | `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', |
| 1529 | 1532 | PRIMARY KEY (`id`) USING BTREE |
| 1530 | -) ENGINE = InnoDB AUTO_INCREMENT = 1980 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统访问记录'; | |
| 1533 | +) ENGINE = InnoDB AUTO_INCREMENT = 1985 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '系统访问记录'; | |
| 1531 | 1534 | |
| 1532 | 1535 | -- ---------------------------- |
| 1533 | 1536 | -- Records of system_login_log |
| ... | ... | @@ -1620,7 +1623,7 @@ CREATE TABLE `system_mail_template` ( |
| 1620 | 1623 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', |
| 1621 | 1624 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 1622 | 1625 | PRIMARY KEY (`id`) USING BTREE |
| 1623 | -) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件模版表'; | |
| 1626 | +) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '邮件模版表'; | |
| 1624 | 1627 | |
| 1625 | 1628 | -- ---------------------------- |
| 1626 | 1629 | -- Records of system_mail_template |
| ... | ... | @@ -1654,7 +1657,7 @@ CREATE TABLE `system_menu` ( |
| 1654 | 1657 | `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', |
| 1655 | 1658 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 1656 | 1659 | PRIMARY KEY (`id`) USING BTREE |
| 1657 | -) ENGINE = InnoDB AUTO_INCREMENT = 2144 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜单权限表'; | |
| 1660 | +) ENGINE = InnoDB AUTO_INCREMENT = 2153 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '菜单权限表'; | |
| 1658 | 1661 | |
| 1659 | 1662 | -- ---------------------------- |
| 1660 | 1663 | -- Records of system_menu |
| ... | ... | @@ -1877,7 +1880,7 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i |
| 1877 | 1880 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1250, '敏感词更新', 'system:sensitive-word:update', 3, 3, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0'); |
| 1878 | 1881 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1251, '敏感词删除', 'system:sensitive-word:delete', 3, 4, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0'); |
| 1879 | 1882 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1252, '敏感词导出', 'system:sensitive-word:export', 3, 5, 1247, '', '', '', 0, b'1', b'1', '', '2022-04-07 16:55:03', '', '2022-04-20 17:03:10', b'0'); |
| 1880 | -INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1254, '作者动态', '', 1, 0, 0, 'https://www.iocoder.cn', 'people', NULL, 0, b'1', b'1', '1', '2022-04-23 01:03:15', '1', '2023-01-25 20:05:55', b'0'); | |
| 1883 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1254, '作者动态', '', 1, 0, 0, 'https://www.iocoder.cn', 'people', NULL, 0, b'1', b'1', '1', '2022-04-23 01:03:15', '1', '2023-01-28 12:33:52', b'0'); | |
| 1881 | 1884 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1255, '数据源配置', '', 2, 1, 2, 'data-source-config', 'rate', 'infra/dataSourceConfig/index', 0, b'1', b'1', '', '2022-04-27 14:37:32', '1', '2022-04-27 22:42:06', b'0'); |
| 1882 | 1885 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1256, '数据源配置查询', 'infra:data-source-config:query', 3, 1, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0'); |
| 1883 | 1886 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1257, '数据源配置创建', 'infra:data-source-config:create', 3, 2, 1255, '', '', '', 0, b'1', b'1', '', '2022-04-27 14:37:32', '', '2022-04-27 14:37:32', b'0'); |
| ... | ... | @@ -2023,6 +2026,15 @@ INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_i |
| 2023 | 2026 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2141, '邮件记录', '', 2, 0, 2130, 'mail-log', 'log', 'system/mail/log/index', 0, b'1', b'1', '', '2023-01-26 02:16:50', '1', '2023-01-26 16:38:27', b'0'); |
| 2024 | 2027 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2142, '日志查询', 'system:mail-log:query', 3, 1, 2141, '', '', '', 0, b'1', b'1', '', '2023-01-26 02:16:50', '', '2023-01-26 02:16:50', b'0'); |
| 2025 | 2028 | INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2143, '发送测试邮件', 'system:mail-template:send-mail', 3, 5, 2136, '', '', '', 0, b'1', b'1', '1', '2023-01-26 23:29:15', '1', '2023-01-26 23:29:15', b'0'); |
| 2029 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2144, '站内信管理', '', 1, 11, 1, 'notify', 'message', NULL, 0, b'1', b'1', '1', '2023-01-28 10:25:18', '1', '2023-01-28 10:25:46', b'0'); | |
| 2030 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2145, '模板管理', '', 2, 0, 2144, 'notify-template', 'education', 'system/notify/template/index', 0, b'1', b'1', '', '2023-01-28 02:26:42', '1', '2023-01-28 10:27:47', b'0'); | |
| 2031 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2146, '站内信模板查询', 'system:notify-template:query', 3, 1, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0'); | |
| 2032 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2147, '站内信模板创建', 'system:notify-template:create', 3, 2, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0'); | |
| 2033 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2148, '站内信模板更新', 'system:notify-template:update', 3, 3, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0'); | |
| 2034 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2149, '站内信模板删除', 'system:notify-template:delete', 3, 4, 2145, '', '', '', 0, b'1', b'1', '', '2023-01-28 02:26:42', '', '2023-01-28 02:26:42', b'0'); | |
| 2035 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2150, '发送测试站内信', 'system:notify-template:send-notify', 3, 5, 2145, '', '', '', 0, b'1', b'1', '1', '2023-01-28 10:54:43', '1', '2023-01-28 10:54:43', b'0'); | |
| 2036 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2151, '消息记录', '', 2, 0, 2144, 'notify-message', 'edit', 'system/notify/message/index', 0, b'1', b'1', '', '2023-01-28 04:28:22', '1', '2023-01-28 20:59:53', b'0'); | |
| 2037 | +INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (2152, '站内信消息查询', 'system:notify-message:query', 3, 1, 2151, '', '', '', 0, b'1', b'1', '', '2023-01-28 04:28:22', '', '2023-01-28 04:28:22', b'0'); | |
| 2026 | 2038 | COMMIT; |
| 2027 | 2039 | |
| 2028 | 2040 | -- ---------------------------- |
| ... | ... | @@ -2054,6 +2066,72 @@ INSERT INTO `system_notice` (`id`, `title`, `content`, `type`, `status`, `creato |
| 2054 | 2066 | COMMIT; |
| 2055 | 2067 | |
| 2056 | 2068 | -- ---------------------------- |
| 2069 | +-- Table structure for system_notify_message | |
| 2070 | +-- ---------------------------- | |
| 2071 | +DROP TABLE IF EXISTS `system_notify_message`; | |
| 2072 | +CREATE TABLE `system_notify_message` ( | |
| 2073 | + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID', | |
| 2074 | + `user_id` bigint NOT NULL COMMENT '用户id', | |
| 2075 | + `user_type` tinyint NOT NULL COMMENT '用户类型', | |
| 2076 | + `template_id` bigint NOT NULL COMMENT '模版编号', | |
| 2077 | + `template_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板编码', | |
| 2078 | + `template_nickname` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版发送人名称', | |
| 2079 | + `template_content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版内容', | |
| 2080 | + `template_type` int NOT NULL COMMENT '模版类型', | |
| 2081 | + `template_params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版参数', | |
| 2082 | + `read_status` bit(1) NOT NULL COMMENT '是否已读', | |
| 2083 | + `read_time` datetime NULL DEFAULT NULL COMMENT '阅读时间', | |
| 2084 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | |
| 2085 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | |
| 2086 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | |
| 2087 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | |
| 2088 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | |
| 2089 | + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', | |
| 2090 | + PRIMARY KEY (`id`) USING BTREE | |
| 2091 | +) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '站内信消息表'; | |
| 2092 | + | |
| 2093 | +-- ---------------------------- | |
| 2094 | +-- Records of system_notify_message | |
| 2095 | +-- ---------------------------- | |
| 2096 | +BEGIN; | |
| 2097 | +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (2, 1, 2, 1, 'test', '123', '我是 1,我开始 2 了', 1, '{\"name\":\"1\",\"what\":\"2\"}', b'0', '2023-01-28 21:06:10', '1', '2023-01-28 11:44:08', '1', '2023-01-29 02:51:50', b'0', 1); | |
| 2098 | +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (3, 1, 2, 1, 'test', '123', '我是 1,我开始 2 了', 1, '{\"name\":\"1\",\"what\":\"2\"}', b'0', '2023-01-29 10:34:13', '1', '2023-01-28 11:45:04', '1', '2023-01-29 02:51:52', b'0', 1); | |
| 2099 | +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (4, 103, 2, 2, 'register', '系统消息', '你好,欢迎 哈哈 加入大家庭!', 2, '{\"name\":\"哈哈\"}', b'0', NULL, '1', '2023-01-28 21:02:20', '1', '2023-01-28 21:02:20', b'0', 1); | |
| 2100 | +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (5, 1, 2, 1, 'test', '123', '我是 芋艿,我开始 写代码 了', 1, '{\"name\":\"芋艿\",\"what\":\"写代码\"}', b'0', '2023-01-29 10:41:45', '1', '2023-01-28 22:21:42', '1', '2023-01-29 02:51:54', b'0', 1); | |
| 2101 | +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (6, 1, 2, 1, 'test', '123', '我是 芋艿,我开始 写代码 了', 1, '{\"name\":\"芋艿\",\"what\":\"写代码\"}', b'1', '2023-01-29 10:52:06', '1', '2023-01-28 22:22:07', '1', '2023-01-29 10:52:06', b'0', 1); | |
| 2102 | +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (7, 1, 2, 1, 'test', '123', '我是 2,我开始 3 了', 1, '{\"name\":\"2\",\"what\":\"3\"}', b'1', '2023-01-29 10:52:06', '1', '2023-01-28 23:45:21', '1', '2023-01-29 10:52:06', b'0', 1); | |
| 2103 | +INSERT INTO `system_notify_message` (`id`, `user_id`, `user_type`, `template_id`, `template_code`, `template_nickname`, `template_content`, `template_type`, `template_params`, `read_status`, `read_time`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (8, 1, 2, 2, 'register', '系统消息', '你好,欢迎 123 加入大家庭!', 2, '{\"name\":\"123\"}', b'1', '2023-01-29 10:52:06', '1', '2023-01-28 23:50:21', '1', '2023-01-29 10:52:06', b'0', 1); | |
| 2104 | +COMMIT; | |
| 2105 | + | |
| 2106 | +-- ---------------------------- | |
| 2107 | +-- Table structure for system_notify_template | |
| 2108 | +-- ---------------------------- | |
| 2109 | +DROP TABLE IF EXISTS `system_notify_template`; | |
| 2110 | +CREATE TABLE `system_notify_template` ( | |
| 2111 | + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', | |
| 2112 | + `name` varchar(63) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板名称', | |
| 2113 | + `code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版编码', | |
| 2114 | + `nickname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '发送人名称', | |
| 2115 | + `content` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模版内容', | |
| 2116 | + `type` tinyint NOT NULL COMMENT '类型', | |
| 2117 | + `params` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '参数数组', | |
| 2118 | + `status` tinyint NOT NULL COMMENT '状态', | |
| 2119 | + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', | |
| 2120 | + `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', | |
| 2121 | + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', | |
| 2122 | + `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', | |
| 2123 | + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', | |
| 2124 | + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', | |
| 2125 | + PRIMARY KEY (`id`) USING BTREE | |
| 2126 | +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '站内信模板表'; | |
| 2127 | + | |
| 2128 | +-- ---------------------------- | |
| 2129 | +-- Records of system_notify_template | |
| 2130 | +-- ---------------------------- | |
| 2131 | +BEGIN; | |
| 2132 | +COMMIT; | |
| 2133 | + | |
| 2134 | +-- ---------------------------- | |
| 2057 | 2135 | -- Table structure for system_oauth2_access_token |
| 2058 | 2136 | -- ---------------------------- |
| 2059 | 2137 | DROP TABLE IF EXISTS `system_oauth2_access_token`; |
| ... | ... | @@ -2073,7 +2151,7 @@ CREATE TABLE `system_oauth2_access_token` ( |
| 2073 | 2151 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 2074 | 2152 | `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', |
| 2075 | 2153 | PRIMARY KEY (`id`) USING BTREE |
| 2076 | -) ENGINE = InnoDB AUTO_INCREMENT = 1214 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 访问令牌'; | |
| 2154 | +) ENGINE = InnoDB AUTO_INCREMENT = 1249 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 访问令牌'; | |
| 2077 | 2155 | |
| 2078 | 2156 | -- ---------------------------- |
| 2079 | 2157 | -- Records of system_oauth2_access_token |
| ... | ... | @@ -2195,7 +2273,7 @@ CREATE TABLE `system_oauth2_refresh_token` ( |
| 2195 | 2273 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 2196 | 2274 | `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', |
| 2197 | 2275 | PRIMARY KEY (`id`) USING BTREE |
| 2198 | -) ENGINE = InnoDB AUTO_INCREMENT = 588 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 刷新令牌'; | |
| 2276 | +) ENGINE = InnoDB AUTO_INCREMENT = 593 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'OAuth2 刷新令牌'; | |
| 2199 | 2277 | |
| 2200 | 2278 | -- ---------------------------- |
| 2201 | 2279 | -- Records of system_oauth2_refresh_token |
| ... | ... | @@ -2235,7 +2313,7 @@ CREATE TABLE `system_operate_log` ( |
| 2235 | 2313 | `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| 2236 | 2314 | `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', |
| 2237 | 2315 | PRIMARY KEY (`id`) USING BTREE |
| 2238 | -) ENGINE = InnoDB AUTO_INCREMENT = 4177 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '操作日志记录'; | |
| 2316 | +) ENGINE = InnoDB AUTO_INCREMENT = 4245 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '操作日志记录'; | |
| 2239 | 2317 | |
| 2240 | 2318 | -- ---------------------------- |
| 2241 | 2319 | -- Records of system_operate_log |
| ... | ... | @@ -3353,7 +3431,7 @@ CREATE TABLE `system_users` ( |
| 3353 | 3431 | -- Records of system_users |
| 3354 | 3432 | -- ---------------------------- |
| 3355 | 3433 | BEGIN; |
| 3356 | -INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$10$mRMIYLDtRHlf6.9ipiqH1.Z.bh/R9dO9d5iHiGYPigi6r5KOoR2Wm', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://test.yudao.iocoder.cn/e1fdd7271685ec143a0900681606406621717a666ad0b2798b096df41422b32f.png', 0, '0:0:0:0:0:0:0:1', '2023-01-27 14:31:00', 'admin', '2021-01-05 17:03:47', NULL, '2023-01-27 14:31:00', b'0', 1); | |
| 3434 | +INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (1, 'admin', '$2a$10$mRMIYLDtRHlf6.9ipiqH1.Z.bh/R9dO9d5iHiGYPigi6r5KOoR2Wm', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://test.yudao.iocoder.cn/e1fdd7271685ec143a0900681606406621717a666ad0b2798b096df41422b32f.png', 0, '127.0.0.1', '2023-01-29 10:05:18', 'admin', '2021-01-05 17:03:47', NULL, '2023-01-29 10:05:18', b'0', 1); | |
| 3357 | 3435 | INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (100, 'yudao', '$2a$10$11U48RhyJ5pSBYWSn12AD./ld671.ycSzJHbyrtpeoMeYiw31eo8a', '芋道', '不要吓我', 104, '[1]', 'yudao@iocoder.cn', '15601691300', 1, '', 1, '127.0.0.1', '2022-07-09 23:03:33', '', '2021-01-07 09:07:17', NULL, '2022-07-09 23:03:33', b'0', 1); |
| 3358 | 3436 | INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (103, 'yuanma', '$2a$10$YMpimV4T6BtDhIaA8jSW.u8UTGBeGhc/qwXP4oxoMr4mOw9.qttt6', '源码', NULL, 106, NULL, 'yuanma@iocoder.cn', '15601701300', 0, '', 0, '127.0.0.1', '2022-07-08 01:26:27', '', '2021-01-13 23:50:35', NULL, '2022-07-08 01:26:27', b'0', 1); |
| 3359 | 3437 | INSERT INTO `system_users` (`id`, `username`, `password`, `nickname`, `remark`, `dept_id`, `post_ids`, `email`, `mobile`, `sex`, `avatar`, `status`, `login_ip`, `login_date`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (104, 'test', '$2a$10$GP8zvqHB//TekuzYZSBYAuBQJiNq1.fxQVDYJ.uBCOnWCtDVKE4H6', '测试号', NULL, 107, '[1,2]', '111@qq.com', '15601691200', 1, '', 0, '127.0.0.1', '2022-05-28 15:43:17', '', '2021-01-21 02:13:53', NULL, '2022-07-09 09:00:33', b'0', 1); | ... | ... |
yudao-ui-admin-vue3/src/api/system/notify/message/index.ts
| 1 | 1 | import request from '@/config/axios' |
| 2 | +import qs from 'qs' | |
| 2 | 3 | |
| 3 | 4 | export interface NotifyMessageVO { |
| 4 | 5 | id: number |
| ... | ... | @@ -22,6 +23,11 @@ export interface NotifyMessagePageReqVO extends PageParam { |
| 22 | 23 | createTime?: Date[] |
| 23 | 24 | } |
| 24 | 25 | |
| 26 | +export interface NotifyMessageMyPageReqVO extends PageParam { | |
| 27 | + readStatus?: boolean | |
| 28 | + createTime?: Date[] | |
| 29 | +} | |
| 30 | + | |
| 25 | 31 | // 查询站内信消息列表 |
| 26 | 32 | export const getNotifyMessagePageApi = async (params: NotifyMessagePageReqVO) => { |
| 27 | 33 | return await request.get({ url: '/system/notify-message/page', params }) |
| ... | ... | @@ -33,29 +39,21 @@ export const getNotifyMessageApi = async (id: number) => { |
| 33 | 39 | } |
| 34 | 40 | |
| 35 | 41 | // 获得我的站内信分页 |
| 36 | -// export function getMyNotifyMessagePage(query) { | |
| 37 | -// return request({ | |
| 38 | -// url: '/system/notify-message/my-page', | |
| 39 | -// method: 'get', | |
| 40 | -// params: query | |
| 41 | -// }) | |
| 42 | -// } | |
| 42 | +export const getMyNotifyMessagePage = async (params: NotifyMessageMyPageReqVO) => { | |
| 43 | + return await request.get({ url: '/system/notify-message/my-page', params }) | |
| 44 | +} | |
| 43 | 45 | |
| 44 | 46 | // 批量标记已读 |
| 45 | -// export function updateNotifyMessageRead(ids) { | |
| 46 | -// return request({ | |
| 47 | -// url: '/system/notify-message/update-read?' + qs.stringify({ids: ids}, { indices: false }), | |
| 48 | -// method: 'put' | |
| 49 | -// }) | |
| 50 | -// } | |
| 47 | +export const updateNotifyMessageRead = async (ids) => { | |
| 48 | + return await request.put({ | |
| 49 | + url: '/system/notify-message/update-read?' + qs.stringify({ ids: ids }, { indices: false }) | |
| 50 | + }) | |
| 51 | +} | |
| 51 | 52 | |
| 52 | 53 | // 标记所有站内信为已读 |
| 53 | -// export function updateAllNotifyMessageRead() { | |
| 54 | -// return request({ | |
| 55 | -// url: '/system/notify-message/update-all-read', | |
| 56 | -// method: 'put' | |
| 57 | -// }) | |
| 58 | -// } | |
| 54 | +export const updateAllNotifyMessageRead = async () => { | |
| 55 | + return await request.put({ url: '/system/notify-message/update-all-read' }) | |
| 56 | +} | |
| 59 | 57 | |
| 60 | 58 | // 获取当前用户的最新站内信列表 |
| 61 | 59 | export const getUnreadNotifyMessageListApi = async () => { | ... | ... |
yudao-ui-admin-vue3/src/hooks/web/useXTable.ts
| ... | ... | @@ -7,7 +7,7 @@ export interface tableMethod { |
| 7 | 7 | deleteBatch: () => void // 批量删除 |
| 8 | 8 | exportList: (fileName?: string) => void // 导出列表 |
| 9 | 9 | getCurrentColumn: () => void // 获取当前列 |
| 10 | - getRadioRecord: () => void // 获取当前选中列,redio | |
| 10 | + getRadioRecord: () => void // 获取当前选中列,radio | |
| 11 | 11 | getCheckboxRecords: () => void //获取当前选中列, checkbox |
| 12 | 12 | } |
| 13 | 13 | ... | ... |
yudao-ui-admin-vue3/src/layout/components/Message/src/Message.vue
| ... | ... | @@ -4,18 +4,20 @@ import * as NotifyMessageApi from '@/api/system/notify/message' |
| 4 | 4 | |
| 5 | 5 | const { push } = useRouter() |
| 6 | 6 | const activeName = ref('notice') |
| 7 | -const count = ref(0) // 未读消息数量 | |
| 7 | +const unreadCount = ref(0) // 未读消息数量 | |
| 8 | 8 | const list = ref([]) // 消息列表 |
| 9 | 9 | |
| 10 | 10 | // 获得消息列表 |
| 11 | 11 | const getList = async () => { |
| 12 | 12 | list.value = await NotifyMessageApi.getUnreadNotifyMessageListApi() |
| 13 | + // 强制设置 unreadCount 为 0,避免小红点因为轮询太慢,不消除 | |
| 14 | + unreadCount.value = 0 | |
| 13 | 15 | } |
| 14 | 16 | |
| 15 | 17 | // 获得未读消息数 |
| 16 | 18 | const getUnreadCount = async () => { |
| 17 | 19 | NotifyMessageApi.getUnreadNotifyMessageCountApi().then((data) => { |
| 18 | - count.value = data | |
| 20 | + unreadCount.value = data | |
| 19 | 21 | }) |
| 20 | 22 | } |
| 21 | 23 | |
| ... | ... | @@ -40,7 +42,7 @@ onMounted(() => { |
| 40 | 42 | <div class="message"> |
| 41 | 43 | <ElPopover placement="bottom" :width="400" trigger="click"> |
| 42 | 44 | <template #reference> |
| 43 | - <ElBadge :is-dot="count > 0" class="item"> | |
| 45 | + <ElBadge :is-dot="unreadCount > 0" class="item"> | |
| 44 | 46 | <Icon icon="ep:bell" :size="18" class="cursor-pointer" @click="getList" /> |
| 45 | 47 | </ElBadge> |
| 46 | 48 | </template> | ... | ... |
yudao-ui-admin-vue3/src/layout/components/UserInfo/src/UserInfo.vue
yudao-ui-admin-vue3/src/router/modules/remaining.ts
| ... | ... | @@ -71,7 +71,7 @@ const remainingRouter: AppRouteRecordRaw[] = [ |
| 71 | 71 | ] |
| 72 | 72 | }, |
| 73 | 73 | { |
| 74 | - path: '/userinfo', | |
| 74 | + path: '/user', | |
| 75 | 75 | component: Layout, |
| 76 | 76 | name: 'UserInfo', |
| 77 | 77 | meta: { |
| ... | ... | @@ -89,6 +89,18 @@ const remainingRouter: AppRouteRecordRaw[] = [ |
| 89 | 89 | icon: 'ep:user', |
| 90 | 90 | title: t('common.profile') |
| 91 | 91 | } |
| 92 | + }, | |
| 93 | + { | |
| 94 | + path: 'notify-message', | |
| 95 | + component: () => import('@/views/system/notify/my/index.vue'), | |
| 96 | + name: 'MyNotifyMessage', | |
| 97 | + meta: { | |
| 98 | + canTo: true, | |
| 99 | + hidden: true, | |
| 100 | + noTagsView: false, | |
| 101 | + icon: 'ep:message', | |
| 102 | + title: '我的站内信' | |
| 103 | + } | |
| 92 | 104 | } |
| 93 | 105 | ] |
| 94 | 106 | }, | ... | ... |
yudao-ui-admin-vue3/src/views/system/notify/my/index.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <ContentWrap> | |
| 3 | + <!-- 列表 --> | |
| 4 | + <XTable @register="registerTable"> | |
| 5 | + <template #toolbar_buttons> | |
| 6 | + <!-- 操作:标记已读 --> | |
| 7 | + <XButton type="primary" preIcon="ep:zoom-in" title="标记已读" @click="handleUpdateList" /> | |
| 8 | + <!-- 操作:全部已读 --> | |
| 9 | + <XButton type="primary" preIcon="ep:zoom-in" title="全部已读" @click="handleUpdateAll" /> | |
| 10 | + </template> | |
| 11 | + <template #actionbtns_default="{ row }"> | |
| 12 | + <!-- 操作:已读 --> | |
| 13 | + <XTextButton | |
| 14 | + preIcon="ep:view" | |
| 15 | + title="已读" | |
| 16 | + v-hasPermi="['system:notify-message:query']" | |
| 17 | + v-if="!row.readStatus" | |
| 18 | + @click="handleUpdate([row.id])" | |
| 19 | + /> | |
| 20 | + </template> | |
| 21 | + </XTable> | |
| 22 | + </ContentWrap> | |
| 23 | +</template> | |
| 24 | +<script setup lang="ts" name="MyNotifyMessage"> | |
| 25 | +// 业务相关的 import | |
| 26 | +import { allSchemas } from './my.data' | |
| 27 | +import * as NotifyMessageApi from '@/api/system/notify/message' | |
| 28 | + | |
| 29 | +const message = useMessage() // 消息 | |
| 30 | + | |
| 31 | +// 列表相关的变量 | |
| 32 | +const [registerTable, { reload, getCheckboxRecords }] = useXTable({ | |
| 33 | + allSchemas: allSchemas, | |
| 34 | + getListApi: NotifyMessageApi.getMyNotifyMessagePage | |
| 35 | +}) | |
| 36 | + | |
| 37 | +const handleUpdateList = async () => { | |
| 38 | + const list = getCheckboxRecords() | |
| 39 | + if (list.length === 0) { | |
| 40 | + return | |
| 41 | + } | |
| 42 | + await handleUpdate(list.map((v) => v.id)) | |
| 43 | +} | |
| 44 | + | |
| 45 | +// 标记指定 id 已读 | |
| 46 | +const handleUpdate = async (ids) => { | |
| 47 | + await NotifyMessageApi.updateNotifyMessageRead(ids) | |
| 48 | + message.success('标记已读成功!') | |
| 49 | + reload() | |
| 50 | +} | |
| 51 | + | |
| 52 | +// 标记全部已读 | |
| 53 | +const handleUpdateAll = async () => { | |
| 54 | + await NotifyMessageApi.updateAllNotifyMessageRead() | |
| 55 | + message.success('全部已读成功!') | |
| 56 | + reload() | |
| 57 | +} | |
| 58 | +</script> | ... | ... |
yudao-ui-admin-vue3/src/views/system/notify/my/my.data.ts
0 → 100644
| 1 | +import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas' | |
| 2 | + | |
| 3 | +// CrudSchema | |
| 4 | +const crudSchemas = reactive<VxeCrudSchema>({ | |
| 5 | + primaryKey: 'id', | |
| 6 | + primaryTitle: ' ', | |
| 7 | + primaryType: 'checkbox', | |
| 8 | + action: true, | |
| 9 | + actionWidth: '200', // 3个按钮默认200,如有删减对应增减即可 | |
| 10 | + columns: [ | |
| 11 | + { | |
| 12 | + title: '发送人名称', | |
| 13 | + field: 'templateNickname', | |
| 14 | + table: { | |
| 15 | + width: 120 | |
| 16 | + } | |
| 17 | + }, | |
| 18 | + { | |
| 19 | + title: '发送时间', | |
| 20 | + field: 'createTime', | |
| 21 | + isForm: false, | |
| 22 | + formatter: 'formatDate', | |
| 23 | + search: { | |
| 24 | + show: true, | |
| 25 | + itemRender: { | |
| 26 | + name: 'XDataTimePicker' | |
| 27 | + } | |
| 28 | + }, | |
| 29 | + table: { | |
| 30 | + width: 180 | |
| 31 | + } | |
| 32 | + }, | |
| 33 | + { | |
| 34 | + title: '类型', | |
| 35 | + field: 'templateType', | |
| 36 | + dictType: DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE, | |
| 37 | + dictClass: 'number', | |
| 38 | + table: { | |
| 39 | + width: 80 | |
| 40 | + } | |
| 41 | + }, | |
| 42 | + { | |
| 43 | + title: '内容', | |
| 44 | + field: 'templateContent' | |
| 45 | + }, | |
| 46 | + { | |
| 47 | + title: '是否已读', | |
| 48 | + field: 'readStatus', | |
| 49 | + dictType: DICT_TYPE.INFRA_BOOLEAN_STRING, | |
| 50 | + dictClass: 'boolean', | |
| 51 | + table: { | |
| 52 | + width: 80 | |
| 53 | + }, | |
| 54 | + isSearch: true | |
| 55 | + } | |
| 56 | + ] | |
| 57 | +}) | |
| 58 | +export const { allSchemas } = useVxeCrudSchemas(crudSchemas) | ... | ... |