# loginAnimation **Repository Path**: niumg9527/login-animation ## Basic Information - **Project Name**: loginAnimation - **Description**: 一个有趣的登录页面动画 - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 28 - **Forks**: 20 - **Created**: 2026-03-26 - **Last Updated**: 2026-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Animated Characters Login Page 一个 Vue 3 登录页面,带有交互式卡通角色,眼睛会跟随鼠标移动、随机眨眼,并对用户输入做出反应。 > 使用 Vue 3 + TypeScript + 原生 CSS。 ## 特性 - 👀 角色眼睛跟随鼠标移动 - 😉 随机眨眼动画 - 🫣 开始输入时角色互相对视 - 🙈 密码可见时角色转头回避,紫色角色偶尔偷瞄 - 📱 响应式布局,移动端自动隐藏左侧面板 - 🎨 通过 props 自定义品牌名、主题色、文案等 ## 快速开始 ```bash git clone https://gitee.com/niumg9527/login-animation.git npm install npm run dev ``` ## 使用方式 ### 完整登录页面 ```vue ``` ### 仅使用角色动画 你也可以只用动画角色组件,嵌入到自己的布局中: ```vue ``` ## LoginPage Props | 属性 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `brandName` | `string` | `'YourBrand'` | 品牌名称 | | `title` | `string` | `'Welcome back!'` | 主标题 | | `subtitle` | `string` | `'Please enter your details'` | 副标题 | | `emailPlaceholder` | `string` | `'you@example.com'` | 邮箱输入框占位符 | | `primaryColor` | `string` | `'#4f46e5'` | 主题色,用于按钮和左侧面板 | | `showGoogleLogin` | `boolean` | `true` | 是否显示 Google 登录按钮 | ## LoginPage 事件 | 事件 | 参数 | 说明 | |------|------|------| | `submit` | `{ email, password, remember }` | 表单提交时触发 | ## LoginPage 暴露方法 | 方法 | 说明 | |------|------| | `setError(msg)` | 显示错误信息 | | `setLoading(bool)` | 切换加载状态 | ## AnimatedCharacters Props | 属性 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `isTyping` | `boolean` | `false` | 触发"互相对视"动画 | | `hasSecret` | `boolean` | `false` | 密码字段是否有内容 | | `secretVisible` | `boolean` | `false` | 密码是否可见(触发回避反应) | ## 技术栈 - Vue 3 + Composition API - TypeScript - Vite - lucide-vue-next(图标) - 原生 CSS(无需 UI 框架) ## 许可证 MIT