来试试Trae这一款企业级的登录界面吧

前言

之前我们团队在开发一个项目的时候,需要用到登录功能,当时我们的前端就简单的写了个登录页面,样式及其不优雅,但是功能是实现了,

当时我就想,前端的登录页面样式能不能做的更好看一些,所以我就想到了使用Trae来试试,看看能不能不费吹灰之力实现登录页面的样式,要求简约大气,上档次,还要兼容现在的登录、注册,以及微信、短信等方式登录

于是我把我的需求整理给Trae,看看能不能实现我的要求,然后再让老板过目,样式可以的话,再让Trae帮我把之前的功能对接好

先来看看最终的效果

登录成功的提示 是不是有点企业级的登陆页面那个味道了,我只是简单的使用了Trae,自己写了个登录页面,但是效果还是不错的,至少比我之前写的登录页面好看很多,看起来像企业级的登录页面

接下来看看Trae是如何实现的

首先看看Trae的登录页面DOM的代码,采用的是居中的左右布局,右边是登录表单,左边是登录背景

其他登录方式的实现也比较简单,就是在登录表单下面添加个其他登录方式的按钮,点击按钮就跳转到对应的登录页面,放在登录按钮下方。

也是很显眼的位置,让人一眼就可以看的到有其他登录方式,比如微信登录、短信登录等

trae的完成度还是很高的, 登录页面的样式都是Trae提供的,我只是简单的修改了下登录按钮的样式,其他的都没有修改

然后来看看里面的js代码是怎么实现

关键的密码隐藏与显示的实现,根据密码输入框的类型来切换,点击图标切换密码输入框的类型

切换图标也会切换,从显示密码切换为隐藏密码,从隐藏密码切换为显示密码

js 复制代码
 // 密码显示/隐藏切换
    const togglePassword = document.querySelector('.toggle-password');
    const passwordInput = document.getElementById('password');
    
    if (togglePassword && passwordInput) {
        togglePassword.addEventListener('click', function() {
            // 切换密码输入框的类型
            const type = passwordInput.getAttribute('type') === 'password' ? 'text' : 'password';
            passwordInput.setAttribute('type', type);
            
            // 切换图标
            this.classList.toggle('fa-eye');
            this.classList.toggle('fa-eye-slash');
        });
    }

获取验证码的倒计时,点击获取验证码按钮后,按钮会倒计时,此时按钮无法点击,倒计时结束后,按钮才会重新点击可用

js 复制代码
    // 获取验证码倒计时
    const getCodeBtn = document.querySelector('.get-code-btn');
    const phoneInput = document.getElementById('phone');
    
    if (getCodeBtn && phoneInput) {
        getCodeBtn.addEventListener('click', function() {
            const phone = phoneInput.value.trim();
            
            // 简单的手机号验证
            if (!phone || !/^1\d{10}$/.test(phone)) {
                showMessage('请输入正确的手机号码', 'error');
                return;
            }
            
            // 模拟发送验证码
            showMessage('验证码已发送', 'success');
            
            // 倒计时
            let countdown = 60;
            getCodeBtn.disabled = true;
            getCodeBtn.textContent = `${countdown}秒后重新获取`;
            
            const timer = setInterval(() => {
                countdown--;
                getCodeBtn.textContent = `${countdown}秒后重新获取`;
                
                if (countdown <= 0) {
                    clearInterval(timer);
                    getCodeBtn.disabled = false;
                    getCodeBtn.textContent = '获取验证码';
                }
            }, 1000);
        });
    }

总结

如果你想要体验一下ai编程的魅力,可以试试Trae,国内用户低门槛上手,快点来试试把你的网站进行样式升级吧~

相关推荐
skywalk816316 小时前
使用Trae 自动编程:为小学生学汉语项目增加不同出版社教材的区分
服务器·前端·人工智能·trae
用户40993225021216 小时前
Vue3条件渲染中v-if系列指令如何合理使用与规避错误?
前端·ai编程·trae
早川不爱吃香菜1 天前
MCP 教程:使用高德地图 MCP Server 规划行程
mcp·trae
早川不爱吃香菜2 天前
8 个支持一键导入 TRAE 使用的自定义智能体
trae
用户4099322502122 天前
Vue3动态样式控制:ref、reactive、watch与computed的应用场景与区别是什么?
后端·ai编程·trae
前端无涯2 天前
Trae的使用
前端·ide·trae
用户4099322502123 天前
Vue3动态样式管理:如何混合class/style绑定、穿透scoped并优化性能?
前端·ai编程·trae
飞哥数智坊3 天前
TRAE 内 GPT-5.2 实测:10 轮对话,生成的代码一次都没让我撤回
人工智能·gpt·trae
用户4099322502124 天前
Vue3中动态样式数组的后项覆盖规则如何与计算属性结合实现复杂状态样式管理?
前端·ai编程·trae
五号厂房4 天前
Trae + Spec:AI帮你手搓代码的神仙组合,太上头了!
trae