TermiNexus
|
e04e1bc91f
|
feat(router): 新增 debug/epcreate 路由,支持调试路径访问企业创建向导
|
2026-08-13 02:34:02 +08:00 |
|
TermiNexus
|
f894d81be8
|
fix(mail): 原文获取增加 blobId→Blob/get 回退,兼容 Stalwart 不支持 raw 属性
|
2026-08-13 01:24:41 +08:00 |
|
TermiNexus
|
be64c62a12
|
fix(mail): 原文获取改 blobId 回退方案(兼容 Stalwart 不支持 raw 属性),安全浏览文案改企业级
|
2026-08-13 01:22:02 +08:00 |
|
TermiNexus
|
ee6cd18c50
|
feat(mail): HTML 邮件 iframe 安全预览(默认禁脚本+JS 提示启用),支持查看源代码与原文
|
2026-08-13 01:16:52 +08:00 |
|
TermiNexus
|
670bb7bc76
|
feat(mail): 申请邮箱统一转为小写
|
2026-08-13 01:06:37 +08:00 |
|
TermiNexus
|
6454ab0bf5
|
fix(mail): 邮箱选择改字符串绑定,修复切换后输入框显示未更新
|
2026-08-13 01:02:54 +08:00 |
|
TermiNexus
|
1332f25326
|
feat(mail): 多邮箱选择登录与申请,展示已申请数量(N/5)
|
2026-08-13 01:00:43 +08:00 |
|
TermiNexus
|
fde710918d
|
fix(gitea): 免密登录改为新开页面跳转,不替换当前页
|
2026-08-11 16:57:55 +08:00 |
|
TermiNexus
|
40408b39dc
|
feat(gitea): 增加免密登录按钮,跳转 Gitea OIDC 入口
GiteaSessionConfig 增加 SsoUrl;账号卡片显示免密登录按钮,点击跳转 Gitea 的 /user/oauth2/gerp
|
2026-08-11 16:38:49 +08:00 |
|
TermiNexus
|
4ba18370a4
|
fix(mail): Blob/get 兼容 Stalwart 的 data:asText 纯文本字段
Stalwart v0.11 对 text/* 直接返回 data:asText(非标准 base64 的 data),fetchEmailBody 优先读 data:asText,缺失时回退 atob(data)
|
2026-08-11 01:26:21 +08:00 |
|
TermiNexus
|
3e0af7596e
|
fix(mail): 邮件正文经 Blob/get 异步拉取(Stalwart v0.11 不返回 bodyValues)
jmap.ts: 新增 fetchEmailBody(Blob/get + atob,HTML 转纯文本),request/call 支持 using 参数(需 urn:ietf:params:jmap:blob capability)
mail.ts: jmap 代理数据类型增加 Using;Mailbox.vue: selectEmail 先显示 bodyValues 否则异步拉取正文,emailBodyText 由 computed 改 ref,switchMailbox 清空正文
|
2026-08-11 01:22:25 +08:00 |
|
TermiNexus
|
feb187ba23
|
chore(gerp): deploy.ps1 转纯 ASCII 消除 BOM 警告
- PS 5.1 无 BOM 时按 ANSI 代码页解析 UTF-8 文件,中文会乱码导致语法错误;
保留 BOM 又会触发首行 "'#' 不是 cmdlet" 警告
- 脚本注释与输出改为英文(纯 ASCII),无 BOM 下可被 PS 5.1 正确解析
- 头部注释注明须保持 ASCII 以防回归
|
2026-08-11 01:03:46 +08:00 |
|
TermiNexus
|
716cddb9e8
|
fix(request): 401 可读 JSON 的 msg 附加到 error.message
- 后端 401 均返回 {code, msg} 可读 JSON(如 Mail/Login 的"邮箱或密码错误"),
拦截器此前在 silent 场景原样 reject,调用方只看到 HTTP 状态文本
- 现在统一提取响应体 msg 覆盖到 error.message,silent 与普通调用都能拿到后端文案
|
2026-08-11 01:03:34 +08:00 |
|
TermiNexus
|
4f4508083c
|
style(gerp): 整体企业化改造(阿里云式克制风格、配色可配置、Win11 侧边栏)
- global.scss 重构为设计令牌体系:细边框/克制圆角/浅阴影/紧凑字号
- 统一覆盖 Element Plus 与 vxe-table 企业化样式(表头底色、行间细横线、紧凑行高)
- app store 支持自定义主色:自动派生 light-N/dark-2 色阶,配色与明暗主题解耦
- Settings 新增"主题与配色"区:预设色板 + 自定义取色器
- 布局头部改面包屑式页名;侧边栏改 Win11 胶囊菜单(无指示条,hover/选中整行高亮,折叠图标居中,菜单项补 title 提示)
- TabBar 还原圆角选中卡片式样式
- Dashboard 重做:关键指标 KPI 区 + 快捷入口 + 系统信息(去除装饰性渐变)
- Login 配色改为跟随主题主色(去掉硬编码渐变)
- 内容区内边距收敛到各视图容器,避免双层 padding
|
2026-08-11 01:03:18 +08:00 |
|
TermiNexus
|
a813e34a4f
|
feat(gitea): 新增 Gitea 对接页面(申请/改密/头像迁移/管理)并禁用接口 HTTP 缓存
|
2026-08-09 18:28:55 +08:00 |
|
TermiNexus
|
f428afa495
|
feat(doc): 编辑器支持富文本/Markdown 双模式、深色主题、TinyMCE 原生托管与系列排序
|
2026-08-09 01:50:15 +08:00 |
|
TermiNexus
|
5c320e0e4a
|
fix(mail): 修复邮件正文为空并新增联系人管理视图
- Email/get 补 bodyValues,正文按 partId 取值,HTML 去标签 - 左栏联系人入口 + 中栏 CRUD 管理(新增/编辑/删除) - 文件夹项选中态绑定当前视图,切换联系人时取消高亮
|
2026-08-08 20:49:51 +08:00 |
|
TermiNexus
|
864a9fae3b
|
feat(mail): 云端联系人匹配与收件人标签输入 + 邮件列表多项修复
- 写信收件人改标签输入(回车生成 label),输入匹配云端联系人下拉 - 邮件列表前端显式按接收时间降序(最新在顶部) - 快速切换文件夹竞态守卫,仅采纳最后请求结果 - 操作栏移至列表底部、删除/标记 loading 遮罩、长标题截断
|
2026-08-08 19:53:34 +08:00 |
|
TermiNexus
|
0900bfb7b5
|
fix(mail): 全部邮件排除垃圾箱、Email/set 结果校验与已读本地持久化
- 全部邮件查询用 inMailboxOtherThan 排除垃圾箱/垃圾邮件,删除后不再出现 - Email/set 校验 notUpdated/notDestroyed,已读/删除失败不再静默 - 已读本地覆盖表过渡 Stalwart v0.11 keywords 写入 bug,刷新保持已读
|
2026-08-08 16:52:38 +08:00 |
|
TermiNexus
|
162f713b2e
|
fix(mail): 修复邮件列表工具栏标题与选中计数换行错乱
- 标题与「已选 x 封」计数包裹进同一 flex 容器(align-items: baseline) - white-space nowrap 禁止换行、计数 flex-shrink 0、工具栏 overflow hidden
|
2026-08-08 16:12:22 +08:00 |
|
TermiNexus
|
ebb77fa632
|
feat(mail): 邮箱登录持久化、企业化登录页与会话失效回退
- 登录 token 存 localStorage,刷新自动恢复会话,失效自动清除回退登录页 - 登录从弹窗改为企业邮箱登录页(品牌区/邮箱徽标/密码输入/修改密码) - Mail/Login 与 Mail/Jmap 接口 silent 化,401 不再误触发系统登出 - 全部邮箱视图不再上传空 filter(修复 502) - JmapClient 新增 onAuthExpired 回调与 JmapAuthError,401 统一清理回退
|
2026-08-08 16:07:44 +08:00 |
|
TermiNexus
|
b2263a779c
|
feat(mail): 邮箱界面重构为企业邮箱三栏风格并适配深色主题
- 三栏布局:左侧文件夹树(未读徽标)+ 邮件列表(多选/批量已读/删除)+ 阅读窗格(回复/转发/删除) - 新增全部邮件视图、删除移入垃圾箱、批量已读、回复/转发引用头(inReplyTo/references) - 退出邮箱吊销后端会话 token - 硬编码颜色替换为 Element Plus CSS 变量,深色下选中态改用半透明主色
|
2026-08-08 15:59:21 +08:00 |
|
TermiNexus
|
82d4b03e2a
|
fix(mail): 修复邮件列表为空(Email/get 移除 Stalwart 不支持的 date 属性)
properties 含 'date' 触发 invalidArguments 导致整批邮件加载失败,改用 receivedAt
|
2026-08-08 15:17:10 +08:00 |
|
TermiNexus
|
86cd82024f
|
feat(mail): 邮箱登录换取会话 token,JMAP 调用不再传输明文密码
- 登录调 /API/Mail/Login 换取 token(密码仅一次传输)
- JmapClient 改持 token;登出吊销 token
|
2026-08-08 15:12:17 +08:00 |
|
TermiNexus
|
600ca27cbb
|
feat(mail): 发信成功后归档到已发送(Sent)文件夹
Stalwart 不会自动把草稿移到 Sent,EmailSubmission 成功后显式 Email/set update mailboxIds 移至 Sent
|
2026-08-08 15:00:34 +08:00 |
|
TermiNexus
|
03fd87df13
|
fix(mail): 发信改用 JMAP bodyValues 标准格式并检查投递结果
Stalwart v0.11 不允许 textBody/htmlBody 内联 value(invalidProperties Cannot set property),改用 partId+bodyValues;补 EmailSubmission 响应检查避免误报成功
|
2026-08-08 13:43:35 +08:00 |
|
TermiNexus
|
5da9dd04eb
|
fix(mail): 修复 vue-tsc -b 构建类型错误(表格行类型断言与残留导入)
Mailbox/MailAdmin 模板内 DefaultRow 类型断言为 JmapEmail/MailAdminItem,清理无用 dateNow 与 buildBasicToken 残留引用
|
2026-08-08 13:21:11 +08:00 |
|
TermiNexus
|
5e8b603e22
|
fix(user): 刷新页面后异步刷新菜单缓存,后端菜单变更即时生效
restoreSession 缓存命中时不再零请求,异步 fetchMenus 保证新增菜单(如邮箱入口)刷新即可见
|
2026-08-08 13:10:30 +08:00 |
|
TermiNexus
|
47506bd0b9
|
feat(company): 新增权限管理页面并重构菜单编辑器公司选择
- 新增 company/permission 权限管理页
- 菜单编辑器公司选择改用 EntityPicker
- CrudTable 卡片查看按钮图标化,公司卡片补充父级/租户字段
|
2026-08-08 13:00:11 +08:00 |
|
TermiNexus
|
fb03d60d80
|
feat(mail): 新增我的邮箱与邮箱管理页面(后端统一代理收发)
- 我的邮箱页:申请/密码登录/收件箱/详情/删除/写信发信/改密
- 管理员邮箱管理页:列表与禁用
- JMAP 客户端(RFC 8620)经 /API/Mail/Jmap 后端代理,密码仅存内存
- 注册 mail/mailbox 与 mail/admin 路由(含 company/permission 权限页路由)
|
2026-08-08 12:59:59 +08:00 |
|
TermiNexus
|
62a96af74b
|
修复了 ORM 直接编辑区域的表格高度,实现了工单卡片化和 Saga 模式管理页
|
2026-08-06 17:55:37 +08:00 |
|
TermiNexus
|
611aef54bd
|
基本已能进入生产环境
|
2026-08-05 23:33:06 +08:00 |
|
TermiNexus
|
bb77b8caf7
|
修复了后端部门详情页新增成员功能
|
2026-08-04 20:23:09 +08:00 |
|
TermiNexus
|
50d90e3540
|
状态字段下拉选择+后端拦截
|
2026-08-04 17:41:08 +08:00 |
|
TermiNexus
|
703dea2655
|
实现了实体选择框可以直接选择可见范围内的租户/公司
|
2026-08-04 17:17:26 +08:00 |
|
TermiNexus
|
6100dc114c
|
将 CRUD Table 的滚动条取消,使查看更加舒服
|
2026-08-04 04:02:13 +08:00 |
|
TermiNexus
|
8e7ba71826
|
修复了滚动栏的深色主题适配
|
2026-08-04 03:19:10 +08:00 |
|
TermiNexus
|
39debab2b3
|
解决了深色模式下tab栏和left-nav的选中状态非深色的问题,以及下拉框 padding 为 6px 的问题,以及深色模式头像 hover-card 的 下拉框头部和 下拉框 item hover 效果问题
|
2026-08-04 02:11:01 +08:00 |
|
TermiNexus
|
41b982c7b5
|
修复了枢机协律相关页面被误删的问题
|
2026-08-03 00:41:43 +08:00 |
|
TermiNexus
|
917d4d1d28
|
修正了公司定制内容隔离
|
2026-08-02 22:18:28 +08:00 |
|
TermiNexus
|
15bcb072f9
|
修正了切换角色功能
|
2026-08-02 19:09:23 +08:00 |
|
TermiNexus
|
f062fb1e29
|
使 menu UI 更加舒适
|
2026-08-02 15:36:49 +08:00 |
|
TermiNexus
|
e8ceb5b46b
|
修复尝试生产中的大量问题
|
2026-08-02 03:09:53 +08:00 |
|
TermiNexus
|
dbf30a9bc0
|
基本上完成了 GERP 的迁移,目前正在解决 table 虚拟滚动故障问题,以及其它琐碎修改
|
2026-08-01 18:42:17 +08:00 |
|
TermiNexus
|
2b7e02108c
|
修改了 README
|
2026-08-01 02:23:48 +08:00 |
|
TermiNexus
|
9ea096538b
|
初次初始化了脚手架,尝试进行部分迁移
|
2026-08-01 02:22:58 +08:00 |
|