来试试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,国内用户低门槛上手,快点来试试把你的网站进行样式升级吧~

相关推荐
豆包MarsCode1 天前
AI 圈爆火的 Jev 是什么?如何在 TraeCode 中使用
trae
带电的小王2 天前
Trae + Agnes:接入无限期免费文本、图片、视频模型,告别 Token 焦虑
trae·agnes·免费模型
百慕大三角3 天前
AI 写代码最大的风险不是不会写,而是太能写:我给 Coding Agent 加的 4 层工程约束
前端·ai编程·trae
豆包MarsCode5 天前
如何用 TraeCode 构建个人知识库(Wiki)
trae
豆包MarsCode5 天前
从 0 到百万级关注:我用 TraeCode 做了一款大学生求职应用
trae
j7~6 天前
【C++微服务项目开发脚手架】(准备篇)从 0 到跑通:Docker 容器开发环境 + 宿主机用户 + Trae 远程连接 全链路踩坑实战
linux·c++·学习·xshell·docker容器·trae
草帽lufei6 天前
当zf开始全员推广AI,软件供应商的生计没了
ai编程·trae
豆包MarsCode9 天前
模型怎么选?TRAE 真实用户经验:7 个场景直接对号入座
trae
豆包MarsCode14 天前
零基础也能看懂的 Loop Engineering
trae
JustHappy25 天前
我用 Trae Work 查了一下星宇股份的车灯都装在哪些车上,结果.....
trae