kuaifan
|
4ca7fc10d1
|
feat(license): 新增在线授权(App Store 账号自助签发 + 自动续期)
- OnlineLicense 模块:登录/试用/续期/释放/状态机,离线↔在线互斥(last-write-wins)
- LicenseController + 动态路由;容器内 supervisor 独立进程定时续期(不依赖 LARAVELS_TIMER)
- license.vue 双 Tab:在线授权 + 离线绑定二次确认,已绑定在线时离线页提示+按需绑定
- 进入授权页静默刷新;同步 ai-kb 在线授权知识库
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-22 08:22:26 +00:00 |
|
kuaifan
|
2f8dee44c2
|
refactor(mail): 邮件发送弃用 guanguans/notify 改用 symfony/mailer
guanguans/notify 在本项目仅用于 SMTP 发信,但其 1.x 线已停更、email 渠道
自 3.x 起被上游移除(无升级路径)。改用项目已自带的 symfony/mailer(Laravel
13 传递依赖),零新增依赖,并一并移除孤儿依赖 overtrue/http、symfony/options-resolver。
- EmailNoticeTask / UserEmailVerification / SystemController 三处发信改为
new Mailer(Transport::fromDsn(...)) + new Email();API 1:1 等价
(from/to/subject/html 同名,verify_peer=0 仍受 symfony 8.x 支持,
notify 本就裸调 symfony 故异常透传不变、getCode()===550 仍成立)
- 移除 UserTransfer 未使用的 notify import
- 顺带修复既有 bug:超时判断字面量 "Timed Out" 与 symfony 实际消息
"timed out" 大小写不匹配,改 stripos 大小写不敏感
验证:phpstan 0 错误、composer audit 无公告;邮箱验证码、系统邮件测试两条
链路实测发信成功。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-15 06:10:47 +00:00 |
|
kuaifan
|
04aa60b574
|
refactor(config): app 内 env() 直读收敛到 config()
- 新增 config/dootask.php 承载 11 个无 config 对应的 env key(默认值随迁)
- 29 处 env() 替换:APP_KEY→config('app.key')、APP_NAME→config('app.name')、其余→config('dootask.*')
- 语义逐处保持一致(?:/三元留在调用点);消除 config:cache 后 env() 返回 null 的隐患
- 注:User.php / Setting.php 同时含本批 ide-helper 生成的 @property 注释增量
- 验证:grep env( app/ 归零;composer stan 通过;phpunit 146 测试全过
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-13 01:21:47 +00:00 |
|
kuaifan
|
645cb02757
|
chore(upgrade): Laravel 8 直升 13(旧结构跑通)+ PHP 8.4 + 依赖升级与兼容修复
- composer: framework ^13.0、php ^8.3、laravel-s ~3.8.0、predis ^2.3、
phpunit ^11.5、tinker ^3、excel ^3.1.69、captcha ^3.5、avatar ^6.5、
ldaprecord-laravel ^4、pinyin ^5.3、notify 锁 ~1.28.0;
移除 fideloper/proxy、fruitcake/laravel-cors、facade/ignition、
laravel/sail、madnest/madzipper、手动钉的 symfony/mailer;
symfony/console 锁 ^7.4(LaravelS Portal 与 console 8 的
configure(): void 类型断言不兼容)
- $dates 移除:AbstractModel 改 getCasts() 合并默认 datetime 列,
3 个子模型改 $casts
- Carbon 3:4 处 diffInSeconds 补 absolute 参数并取整
- LdapRecord v4:config use_ssl/use_tls→use_tls/use_starttls(env 变量名不变),
LdapUser::$objectClasses 补类型声明
- Madzipper→原生 ZipArchive(Base::zipAddFiles,4 处调用)
- pinyin v5 静态 API(Base::getFirstCharter/cn2pinyin)
- laravolt/avatar 6.5:PatchedAvatar 修上游纵向对齐 bug
(intervention 4.1.3 枚举无 middle),avatar 响应改 response()->file()
- TrustProxies 改框架内置基类,CORS 改 Illuminate\Http\Middleware\HandleCors
- Symfony Console 8 兼容:ManticoreSyncLock::handleSignal 新签名,
pcntl 回调解耦
- 非 Swoole 运行时守卫:AbstractTask::task / PushTask::push /
AbstractData(swoole table),artisan/测试上下文不再炸
Target class [swoole] does not exist
- Laravel 11+ change() 丢修饰符:2023_12_07 与 2025_08_10 迁移重申
nullable/default/comment(修复 fresh 安装)
- Setting/Ihttp 缺键访问加 ?? 守卫(PHP 8 警告在测试中转异常)
- phpunit.xml 迁移 11 schema;UserImportParseTest 改为自建部门数据
验证:8.4 容器内 migrate:fresh --seed 213 全过;php artisan test
145 passed/1 skipped;LaravelS(Swoole 6.2.1) /health 200、登录、
token 认证、WebSocket 握手、Task 投递、头像、图片裁剪冒烟全过
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-12 19:42:12 +00:00 |
|
kuaifan
|
2eee171a50
|
feat(project): 系统设置新增「创建项目」权限开关
在系统设置「项目相关」新增「创建项目」权限范围(复选):
所有人 / 部门负责人(含部门管理员)/ 指定人员,三者与「所有人」互斥;
系统管理员始终可创建,不受开关限制。未授权用户隐藏「新建项目」入口
(顶部下拉、快捷键、移动端、应用宫格),后端 Project::userCanCreate()
兜底拦截,个人项目(注册自动创建)不受限。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-04 21:57:24 +00:00 |
|
kuaifan
|
aa2e0acaba
|
feat(dialog): 系统设置支持禁止其他人员设置/取消聊天待办
新增系统级开关 todo_set_permission(open=允许默认 / close=禁止)。
开关为禁止时,仅本人、群主/群管理员、项目负责人/项目管理员、任务负责人
可设置或取消聊天消息待办,其他人由后端拦截;默认允许,保持现有行为。
- SystemController::setting 接入开关读写(白名单 + 默认 open)
- WebSocketDialog::checkTodoOwnerPermission 角色判断(复用 isOwner 等)
- WebSocketDialogMsg::toggleTodoMsg 内权限闸门:close 且影响到他人且
非放行角色时 retError;仅影响自己始终放行;open 时行为零变化
- SystemSetting.vue「消息相关」新增「待办设置权限」开关 UI
- 国际化文案(original-api.txt / original-web.txt)
- TodoSetPermissionTest 覆盖角色判断、闸门决策及真实拦截路径(8 用例)
任务 #124。系统后台 admin 不特殊放行;「完成待办」不在本次范围。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-05-31 15:12:46 +00:00 |
|
kuaifan
|
0863e5529a
|
feat(manage): 实现部门负责人视角,支持只读查看部门成员项目与任务
部门负责人/部门管理员可通过系统配置开启,选择管理部门后只读查看
本部门及下级部门成员的全部项目和任务。前端自动根据 department_readonly
标记禁用编辑操作,后端统一注入负责人视角上下文控制数据访问边界。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-21 00:14:36 +00:00 |
|
kuaifan
|
09edb14d56
|
fix(ldap): 使用 LDAP Bind 认证替代 userPassword 查询,兼容 Active Directory
- 认证方式从 userPassword 属性过滤改为标准 LDAP Bind,兼容所有 LDAP 服务器
- 新增可配置的登录属性(cn/uid/mail/sAMAccountName),AD 用户选 sAMAccountName 即可
- 移除 posixAccount objectClass,兼容 AD 目录结构
- 同步创建用户时移除 POSIX 专属属性,添加 mail 属性
- 用户查找改用 findByEmail 按 mail/cn/uid/userPrincipalName 依次匹配
- initConfig 从静态变量缓存改为 RequestContext 请求级缓存,修复 Swoole 下配置变更不生效的问题
- 默认登录属性为 cn,与旧版本行为一致,确保向后兼容
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-15 09:18:36 +00:00 |
|
kuaifan
|
4b32472d64
|
feat(task): 增加AI自动分析开关(系统级+项目级)
系统设置新增 task_ai_auto_analyze 开关控制全局AI任务分析;项目设置新增 ai_auto_analyze 开关,系统关闭时项目无法开启。
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-02 17:51:38 +08:00 |
|
kuaifan
|
6bdefc4f03
|
feat: 支持跨天打卡和时间重叠验证
- 允许签到"最晚可延后"时间超过 23:59:59,支持员工凌晨下班打卡
- 凌晨打卡记录自动归属前一天
- 前后端新增提前/延后时间重叠验证,防止产生歧义时间窗口
- 优化导出逻辑以正确处理跨天打卡记录
- 打卡消息提示归属日期信息
|
2026-01-06 12:31:41 +00:00 |
|
kuaifan
|
55303689ea
|
feat: support configurable default priority
|
2025-12-26 02:42:47 +00:00 |
|
kuaifan
|
f0e844c308
|
feat: 添加个人任务上限设置,限制负责人或协助人的未完成任务数量
|
2025-11-28 11:05:08 +00:00 |
|
kuaifan
|
4983fe8feb
|
feat: 添加自定义微应用菜单功能,支持管理员配置和保存菜单项
|
2025-11-19 07:54:47 +00:00 |
|
kuaifan
|
5ad08d8d36
|
no message
|
2025-11-12 01:06:36 +00:00 |
|
kuaifan
|
f6e4ed7c60
|
no message
- 添加AI助手流式会话凭证生成方法
- 优化AI助手模型获取逻辑
- 更新相关接口调用
|
2025-11-09 22:20:38 +00:00 |
|
kuaifan
|
425d6f9a06
|
feat: 移除冗余的AI助手设置方法,优化AI模块的模型配置逻辑
|
2025-11-09 04:28:51 +00:00 |
|
kuaifan
|
58c760bb77
|
no message
|
2025-11-09 02:14:27 +00:00 |
|
kuaifan
|
b9df277104
|
no message
|
2025-11-06 07:16:29 +00:00 |
|
kuaifan
|
5183786fb0
|
no message
|
2025-10-30 20:04:41 +00:00 |
|
kuaifan
|
5ba0eed721
|
no message
|
2025-10-29 00:15:45 +00:00 |
|
kuaifan
|
115b4aacb8
|
fix: 修复无法导出的问题
|
2025-07-31 15:27:17 +08:00 |
|
kuaifan
|
8746caab06
|
feat: 重构基础模块
|
2025-07-31 14:26:06 +08:00 |
|
kuaifan
|
734b5f9534
|
build
|
2025-07-31 07:35:12 +08:00 |
|
kuaifan
|
1b242dc04e
|
perf: 优化错误提示
|
2025-07-30 20:33:27 +08:00 |
|
kuaifan
|
16d360c582
|
perf: 签到新增高德和腾讯地图
|
2025-07-28 06:22:28 +08:00 |
|
kuaifan
|
4c075b4d11
|
perf: 签到新增高德和腾讯地图
|
2025-07-28 06:22:20 +08:00 |
|
kuaifan
|
9bd6fcefd3
|
perf: 优化 AI 设置
|
2025-07-26 15:14:15 +08:00 |
|
kuaifan
|
5139947643
|
perf: 优化 AI 设置
|
2025-07-26 14:24:58 +08:00 |
|
kuaifan
|
01ff10385a
|
perf: 优化 AI 设置
|
2025-07-26 12:01:37 +08:00 |
|
kuaifan
|
a5b8609df1
|
perf: 优化导出签到功能
|
2025-06-04 15:14:31 +08:00 |
|
kuaifan
|
2a25917e41
|
no message
|
2025-05-26 23:04:00 +08:00 |
|
kuaifan
|
270ddc6487
|
feat: 检查应用是否已安装
|
2025-05-23 13:39:57 +08:00 |
|
王昱
|
1d92c2668d
|
feat: 检查应用是否已安装
|
2025-05-23 12:40:33 +08:00 |
|
kuaifan
|
7f895bfbec
|
no message
|
2025-05-17 23:25:09 +08:00 |
|
kuaifan
|
434d8eabc8
|
no message
|
2025-05-15 08:09:56 +08:00 |
|
kuaifan
|
9c29c1ca9b
|
no message
|
2025-05-13 12:55:08 +08:00 |
|
kuaifan
|
fe4f62ff8d
|
no message
|
2025-05-13 09:51:21 +08:00 |
|
kuaifan
|
182f061354
|
no message
|
2025-04-20 23:10:31 +08:00 |
|
kuaifan
|
cd0fcb903f
|
no message
|
2025-04-20 09:19:46 +08:00 |
|
kuaifan
|
a4cb5d1b14
|
no message
|
2025-04-19 19:48:24 +08:00 |
|
kuaifan
|
bdabfdcb3d
|
perf: 优化视频压缩
|
2025-04-18 22:28:24 +08:00 |
|
kuaifan
|
41da2231ed
|
no message
|
2025-03-29 12:33:12 +08:00 |
|
kuaifan
|
9716d7fe43
|
perf: 优化docker配置
|
2025-03-21 11:34:09 +08:00 |
|
kuaifan
|
957201804c
|
feat: 新增自定义撤回及修改消息时限
|
2025-03-14 21:07:44 +08:00 |
|
kuaifan
|
e1203f0c8d
|
no message
|
2025-03-13 17:12:11 +08:00 |
|
kuaifan
|
aaa75aff14
|
build
|
2025-03-03 08:32:50 +08:00 |
|
kuaifan
|
b01d5ce8c4
|
perf: 优化 AI 设置
|
2025-02-26 20:12:23 +08:00 |
|
kuaifan
|
51e8f9555e
|
perf: 无法再AI机器人页面看到模型的问题
|
2025-02-25 11:37:51 +08:00 |
|
kuaifan
|
707f1dd6cb
|
no message
|
2025-02-24 10:41:35 +08:00 |
|
kuaifan
|
f31e88bed1
|
no message
|
2025-02-22 12:14:03 +08:00 |
|