当前位置: 首页 > news >正文

记录页面——一个蛮好看的登录页(uni-app)

效果图
在这里插入图片描述

<template><view class="container"><view class="flex-col login-box"><view class="flex-col" style="width: 80%"><view class="flex-col"><text class="welcome-text-font">嗨~</text><text class="welcome-text-font welcome-text">现在加入我们吧!</text></view><text class="welcome-title text_99">欢迎来到XXXX,</text><text class="welcome-title text_102">有很多人在期盼你的到来呢</text><uni-forms :modelValue="formData" ref="form" :rules="rules"><uni-forms-item label="" name="username"><view class="password-box flex-row"><view class="password-input items-center flex-row"><view class="password-font"><inputtype="text"v-model="formData.username"placeholder="请输入账号"/></view></view></view></uni-forms-item><uni-forms-item label="" name="password"><view class="password-box flex-row"><viewclass="password-input items-center flex-row justify-between"><view class="password-font"><inputclass="password-input2":type="isShowPassword ? 'text' : 'password'"v-model="formData.password"placeholder="请输入密码"/></view><imageclass="shrink-0 image_53"src="../../assets/icon/see.png"@click="checkPassword"/><imagev-if="false"class="shrink-0 image_53"src="../../assets/icon/no_see.png"@click="checkPassword"/></view></view></uni-forms-item><uni-forms-item label="" name="authCode"><view class="password-box flex-row"><view class="password-input items-center flex-row"><view class="password-font"><inputtype="text"v-model="formData.authCode"placeholder="密钥(可选)"/></view></view></view></uni-forms-item></uni-forms></view><view class="button-box flex-row justify-center"><buttonclass="login-button flex-row justify-center items-center"@click="submitForm":loading="loading"type="primary">登录→</button></view></view><!-- <view class="content"><uni-forms :modelValue="formData" ref="form" :rules="rules"><uni-forms-item label="账号" name="username"><inputtype="text"v-model="formData.username"placeholder="请输入账号"/></uni-forms-item><uni-forms-item label="密码" name="password"><inputtype="password"v-model="formData.password"placeholder="请输入密码"/></uni-forms-item></uni-forms><button @click="submitForm" :loading="loading" type="primary">登录</button></view> --></view>
</template><script>
import * as dd from "dingtalk-jsapi";
import { exemption, longinByUsername } from "@/api/login";export default {data() {return {formData: {username: "",password: "",authCode: "",},loading: false,rules: {username: {rules: [{required: true,errorMessage: "请输入账号",},],},password: {rules: [{required: true,errorMessage: "请输入密码",},],},},isShowPassword: false // 是否显示密码};},onReady() {// 需要在onReady中设置规则this.$refs.form.setRules(this.rules);returnif (dd.env.platform !== "notInDingTalk") {dd.ready(() => {dd.runtime.permission.requestAuthCode({corpId: "corpId",onSuccess: (info) => {exemption(info.code).then((res) => {console.log("登录结果", res.data.token);this.getUserInfo(res.data.token);}).catch((cth) => {console.log("不管如和的登录结果", cth);});},onFail: (err) => {alert("fail");},});});}},methods: {submitForm(form) {this.$refs.form.validate().then((res) => {console.log(res);longinByUsername(res).then((resp) => {// console.log(resp);if (resp.code === 200) {this.getUserInfo(resp.data.token);}});}).catch((err) => {console.log('表单错误信息:', err);});},getUserInfo(token) {//将token存到本地uni.setStorageSync("token", token);//获取用户信息this.$request({url: "/auth/currentUserInfo",method: "POST",data: token,}).then((res) => {// console.log(res);const id = res.data.user.id;uni.setStorageSync("id", id);});uni.showToast({icon: "success",title: "登陆成功",});setTimeout(function () {uni.navigateTo({url: "/pages/index/index",});}, 1000);clearTimeout();},checkPassword() {this.isShowPassword = !this.isShowPassword}},
};
</script><style scoped lang="scss">
.container {font-size: 14px;width: 100vw;height: 100vh;background-color: #ebecf3;
}
::v-deep .uni-forms-item__content[data-v-61dfc0d0] {display: flex;align-items: center;
}.login-box {width: 100%;overflow: hidden;align-items: center;.password-box {width: 100%;padding-top: 15px;.password-input {width: 100%;border-radius: 50px;background-color: #ecf2ff;height: 50px;padding: 0 20px;.password-font {font-size: 14px;line-height: 13px;color: rgba(52, 57, 101, 0.5);.password-input2 {background-color: rgba(52, 57, 101, 0);color: rgba(52, 57, 101, 0.5);font-size: 14px;border: none;          /* 去掉边框 */outline: none;        /* 去掉聚焦时的轮廓 */}}}}.button-box {width: 100%;.login-button {background-color: #4963f4;width: 80%;height: 50px;border-radius: 50px;margin-top: 120px;}}
}
.welcome-text-font {font-size: 30px;font-family: NotoSansSC;line-height: 37px;font-weight: 700;color: rgb(52, 57, 101);
}
.welcome-text {margin-left: 18px;
}
.welcome-title {font-size: 12px;font-family: NotoSansSC;line-height: 14px;color: rgb(52, 57, 101);opacity: 0.5;
}
.text_102 {margin-left: 8px;
}
.text_99 {margin-top: 16px;
}
.image_53 {opacity: 0.5;width: 20px;height: 20px;
}
</style>

相关文章:

记录页面——一个蛮好看的登录页(uni-app)

效果图 <template><view class"container"><view class"flex-col login-box"><view class"flex-col" style"width: 80%"><view class"flex-col"><text class"welcome-text-font&qu…...

Android文件选择器[超级轻量级FilePicker测试没有问题][挣扎解决自带文件管理器获取不到绝对地址问题而是返回msf%3A1000038197]

超级轻量级FilePicker测试没有问题 本文摘录于&#xff1a;https://blog.csdn.net/gitblog_00365/article/details/141449437只是做学习备份之用&#xff0c;绝无抄袭之意&#xff0c;有疑惑请联系本人&#xff01; 今天真的是发了疯的找文件管理器,因为调用系统自带的文件管理…...

【论文速读】| RED QUEEN: 保护大语言模型免受隐蔽多轮越狱攻击

基本信息 原文标题&#xff1a;RED QUEEN: Safeguarding Large Language Models against Concealed Multi-Turn Jailbreaking 原文作者&#xff1a;Yifan Jiang, Kriti Aggarwal, Tanmay Laud, Kashif Munir, Jay Pujara, Subhabrata Mukherjee 作者单位&#xff1a;Hippocr…...

39.第二阶段x86游戏实战2-HOOK实现主线程调用

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…...

wordpress argon主题美化方面

1、页面前端额外CSS&#xff1a; /*字体*/ font-face {font-family: myFont1; src:url(https://blog.yangmumu.com/css/fonts/Dancing.ttf) ;font-display: swap; } font-face {font-family: myFont2; src:url(https://blog.yangmumu.com/css/fonts/Regular.ttf) ;font-displa…...

qt QRadioButton详解

QRadioButton 是一个可以切换选中&#xff08;checked&#xff09;或未选中&#xff08;unchecked&#xff09;状态的选项按钮。单选按钮通常呈现给用户一个“多选一”的选择&#xff0c;即在一组单选按钮中&#xff0c;一次只能选中一个按钮。 重要方法 QRadioButton(QWidget…...

Qt 最小化,最大化,关闭窗口

Qt 最小化,最大化 在Qt中&#xff0c;你可以使用QWidget类提供的方法来实现窗口的最小化、最大化等操作。 最小化窗口 你可以使用QWidget的showMinimized()方法来最小化窗口。这将隐藏窗口并将其显示为系统托盘区域的图标。 connect(ui->btnMin,&QPushButton::click…...

【vue项目中添加告警音频提示音】

一、前提&#xff1a; 由于浏览器限制不能自动触发音频文件播放&#xff0c;所以实现此类功能时&#xff0c;需要添加触发事件&#xff0c;举例如下&#xff1a; 1、页面添加打开告警声音开关按钮 2、首次进入页面时添加交互弹窗提示&#xff1a;是否允许播放音频 以上两种方…...

百度SEO分析实用指南 提升网站搜索排名的有效策略

内容概要 在数字化时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为提升网站曝光度的关键工具。本指南将带您了解SEO的基本知识&#xff0c;帮助您在复杂的网络环境中立足。我们将从关键词优化开始&#xff0c;重点讲解如何选择合适的关键词来提高搜索引擎排…...

高并发场景下的性能测试方法!

在现代互联网应用中&#xff0c;高并发场景下的性能测试显得尤为重要。无论是电商平台的秒杀活动&#xff0c;还是社交应用的突发流量&#xff0c;都需要确保系统能够在高并发情况下稳定运行。本文将详细介绍高并发场景下的性能测试方法&#xff0c;并提供具体的方案和实战演练…...

杂项——USB键盘与鼠标流量分析——BUUCTF——流量分析

第一次做USB键盘与鼠标流量分析的题目&#xff0c;现在来好好做一个总结 1. 基础知识 USB流量指的是USB设备接口的流量&#xff0c;攻击者能够通过监听usb接口流量获取键盘敲击键、鼠标移动与点击、存储设备的铭文传输通信、USB无线网卡网络传输内容等等。 在正式介绍 USB H…...

Java如何实现企业微信审批流程

大家好&#xff0c;我是 V 哥。最近的一个项目中&#xff0c;用到企业微信的审批流程&#xff0c;整理出来分享给大家。在企业微信中实现审批流程可以通过调用企业微信的开放API完成&#xff0c;企业微信提供了审批应用接口&#xff0c;用于创建审批模板、发起审批流程以及获取…...

GEE app:在地图上构建一个可以查看局部的小窗

目录 简介 函数 ee.Geometry.MultiLineString(coords, proj, geodesic, maxError) Arguments: Returns: Geometry.MultiLineString getBounds(asGeoJSON) Arguments: Returns: GeoJSONGeometry|List|String setControlVisibility(all, layerList, zoomControl, scaleC…...

leetcode71:简化路径

给你一个字符串 path &#xff0c;表示指向某一文件或目录的 Unix 风格 绝对路径 &#xff08;以 / 开头&#xff09;&#xff0c;请你将其转化为 更加简洁的规范路径。 在 Unix 风格的文件系统中规则如下&#xff1a; 一个点 . 表示当前目录本身。此外&#xff0c;两个点 ..…...

nodejs入门教程4:nodejs创建第一个应用

1. 安装 Node.js 首先&#xff0c;确保你的计算机上已经安装了 Node.js。如果还没有安装&#xff0c;可以从官方网站&#xff08;https://nodejs.org&#xff09;下载并安装最新的 LTS 版本。安装完成后&#xff0c;你可以在命令行或终端中运行以下命令来验证安装&#xff1a;…...

启用 iPhone 原生的五笔输入

聊聊如何在 iOS 中使用原生的五笔输入法 本文虽然介绍的是如何添加五笔键盘&#xff0c;其实其他键盘&#xff08;双拼&#xff0c;外语键盘、第三方输入法&#xff09;也是类似的添加方式。 ‍ 使用原生的理由 虽然之前的文章列了不少第三方的五笔输入法&#xff0c;但其实…...

这个工具让你轻松开发一个带AI功能的Notion

这个工具让你轻松开发一个带AI功能的Notion Plate 是一款由 AI 加持的富文本编辑器&#xff0c;旨在帮助开发者创建功能强大的 WYSIWYG 文本编辑工具。本文将介绍 Plate 的基本信息、特点、以及如何快速上手使用。 软件简介 Plate 由 udecode 开发&#xff0c;基于 React 和 S…...

光耦合器的关键作用和创新---腾恩科技

光耦合器或光隔离器已成为电路中必不可少的器件&#xff0c;它允许信号在无需直接电接触的情况下跨不同电压域传输。这种隔离能力对于保护低压元件免受高压电路的潜在损坏至关重要。本文将仔细研究光耦合器在当今技术中发挥的独特作用&#xff0c;并探讨其在各种应用中不断扩展…...

穿越死锁的迷雾:pthread_mutex_lock的终极挑战与破解策略

穿越死锁的迷雾:pthread_mutex_lock的终极挑战与破解策略 一、死锁的基本概念二、pthread_mutex_lock 出现死锁的原因三、pthread_mutex_lock 出现死锁的表现四、处理pthread_mutex_lock 出现死锁的方法1. 避免死锁1.1 遵循锁的顺序原则1.2 使用定时锁1.3 使用尝试锁1.4 使用递…...

Dockerfile制作Oracle19c镜像

Dockerfile文件 cat > Dockerfile << EOF # 使用 Oracle Linux 8 作为基础镜像 FROM oraclelinux:8# 复制 Oracle 19c 安装包 COPY oracle-database-ee-19c-1.0-1.x86_64.rpm /tmp/# 安装 Oracle 19c 数据库和依赖 RUN yum localinstall -y /tmp/oracle-database-ee-…...

DCNv4:重塑视觉模型核心,三倍速率的动态稀疏卷积如何炼成?

1. 从标准卷积到DCNv4的进化之路 计算机视觉领域的核心算子就像乐高积木里的基础模块&#xff0c;决定了整个模型的表达能力。传统卷积就像用固定形状的积木拼图&#xff0c;虽然稳定但缺乏灵活性。2017年诞生的可变形卷积&#xff08;DCN&#xff09;首次给积木加上了"可…...

消息平台接入实战:Hermes Agent 实现微信/钉钉日常任务自动化的 4 步配置

1. 微信/钉钉自动化不是“接个API就完事”,而是上下文边界的重新定义 大多数人第一次配置 Hermes Agent 接入微信或钉钉时,会下意识打开官方文档,复制粘贴几行 webhook 配置,跑通一条“收到消息→回复‘你好’”的 demo 就以为大功告成。我试过三次——第一次在测试环境里…...

如何用Element React构建企业级React应用:完整组件库实战指南

如何用Element React构建企业级React应用&#xff1a;完整组件库实战指南 【免费下载链接】element-react Element UI 项目地址: https://gitcode.com/gh_mirrors/el/element-react Element React作为一套基于React框架的企业级UI组件库&#xff0c;为开发者提供了50余种…...

从一块烧坏的板子说起:PCB电源平面设计中最容易被忽略的‘路径’与‘形状’陷阱

从一块烧坏的板子说起&#xff1a;PCB电源平面设计中最容易被忽略的‘路径’与‘形状’陷阱 那块烧焦的PCB板至今仍躺在我的抽屉里——12V电源轨上清晰的碳化痕迹&#xff0c;像一道闪电劈开了整个设计团队的自信。当客户退回第三批故障设备时&#xff0c;我们才意识到&#xf…...

别再手动搬虚拟机了!手把手教你配置vSphere DRS集群,实现ESXi主机负载自动均衡

企业级虚拟化资源调度实战&#xff1a;vSphere DRS集群的智能配置与优化策略 虚拟化技术已成为现代企业IT基础设施的核心支柱&#xff0c;而资源的高效调度则是保障业务连续性和性能的关键。在传统虚拟化环境中&#xff0c;管理员往往需要手动监控主机负载并迁移虚拟机&#xf…...

GameEngineFromScratch输入管理系统:跨平台输入事件处理机制终极指南 [特殊字符]

GameEngineFromScratch输入管理系统&#xff1a;跨平台输入事件处理机制终极指南 &#x1f3ae; 【免费下载链接】GameEngineFromScratch 配合我的知乎专栏写的项目 项目地址: https://gitcode.com/gh_mirrors/ga/GameEngineFromScratch GameEngineFromScratch输入管理系…...

Mi-Create:零基础也能设计小米手表个性表盘的终极可视化工具

Mi-Create&#xff1a;零基础也能设计小米手表个性表盘的终极可视化工具 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 你是否厌倦了小米手表官方表盘商店的单…...

从Stable Diffusion到DALL-E 3:深入聊聊Diffusion Model里‘前向过程’的设计哲学与工程权衡

从Stable Diffusion到DALL-E 3&#xff1a;扩散模型前向过程的设计哲学与工程智慧 当你在MidJourney中输入一段文字描述&#xff0c;几秒后就能得到一张精美的图片&#xff0c;这背后隐藏着一场精心设计的"破坏与重建"游戏。扩散模型&#xff08;Diffusion Model&…...

Linux用户必备的三大翻译神器:CuteTranslation如何解决多语言工作难题

Linux用户必备的三大翻译神器&#xff1a;CuteTranslation如何解决多语言工作难题 【免费下载链接】CuteTranslation Linux屏幕取词翻译软件 项目地址: https://gitcode.com/gh_mirrors/cu/CuteTranslation 对于长期在Linux环境下工作的开发者、研究人员和学生来说&…...

ESP32 Arduino核心开发终极指南:构建专业级物联网控制系统

ESP32 Arduino核心开发终极指南&#xff1a;构建专业级物联网控制系统 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 还在为物联网项目开发中的硬件兼容性、开发环境复杂…...