feat: 实现试用用户欢迎引导和过期检测功能
- 新增试用用户首次登录欢迎弹窗,展示使用教程 - 新增试用期过期检测服务和过期提醒弹窗 - 从 JWT token 中提取 ispluginTrial 标识判断用户类型 - 试用用户跳过邀请码验证流程 - 在消息发送前检查试用期是否过期 - 新增 ExpiredPanel 和 WelcomePanel 面板组件 - 新增 expiredModal 和 welcomeModal 视图组件 - 优化用户登录流程,根据用户类型显示不同引导
This commit is contained in:
@ -25,6 +25,7 @@ import {
|
||||
} from "../services/creditsService";
|
||||
import { optimizePrompt } from "../services/promptOptimizeService";
|
||||
import { NotificationService } from "../services/notificationService";
|
||||
import { TrialExpirationService } from "../services/trialExpirationService";
|
||||
|
||||
import type { RunMode, ServiceTier } from "../types/api";
|
||||
|
||||
@ -124,6 +125,21 @@ export async function handleUserMessage(
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// 检查试用期是否过期
|
||||
const trialService = new TrialExpirationService(context, panel);
|
||||
const isExpired = await trialService.checkExpiration();
|
||||
if (isExpired) {
|
||||
console.warn("[MessageHandler] 试用期已过期,阻止发送");
|
||||
|
||||
// 恢复输入状态
|
||||
panel.webview.postMessage({
|
||||
command: "updateSegments",
|
||||
segments: [],
|
||||
isComplete: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// 记录用户消息到历史(允许失败,不阻塞主流程)
|
||||
|
||||
Reference in New Issue
Block a user