9.登入页面

news2024/11/29 11:44:15

登入页面

在pages中新建页面login

修改代码

<template>
  <view>
    
  </view>
</template>

<script setup>

</script>

<style lang="scss">

</style>

添加头像组件

官网
https://vkuviewdoc.fsq.pub/components/avatar.html

<template>
  <view class="u-p-t-40 u-p-r-60 u-p-b-30 u-p-l-60">
    <!-- circle 圆形头像 -->
    <u-avatar :src="/static/user.jpg" mode="circle"></u-avatar>
  </view>
</template>

查看登入页面

在pages.json中将登入页面放置第一个

{
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
  {
    "path" : "pages/login/login",
    "style" : 
    {
      "navigationBarTitleText" : "登入",
      "enablePullDownRefresh" : false
    }
  },
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "首页"
			}
		},
		{
		  "path" : "pages/write/write",
		  "style" : 
		  {
		    "navigationBarTitleText" : "发布",
		    "enablePullDownRefresh" : false
		  }
		},
		{
		  "path" : "pages/unused/unused",
		  "style" : 
		  {
		    "navigationBarTitleText" : "闲置",
		    "enablePullDownRefresh" : false
		  }
		},
		{
		  "path" : "pages/buy/buy",
		  "style" : 
		  {
		    "navigationBarTitleText" : "求购",
		    "enablePullDownRefresh" : false
		  }
		},
		{
		  "path" : "pages/mine/mine",
		  "style" : 
		  {
		    "navigationBarTitleText" : "我的",
		    "enablePullDownRefresh" : false
		  }
		}
	],
	"globalStyle": {
    //导航字体颜色,仅支持black和white
		"navigationBarTextStyle": "white",
    //导航全局标题,当前页面没有配置时生效
		"navigationBarTitleText": "简易二手交易",
    //导航颜色
		"navigationBarBackgroundColor": "#79b2f8",
    //下拉显示出来的窗口的背景色
		"backgroundColor": "#F8F8F8"
	},
  "tabBar": {
    	"color": "#7A7E83",
      //默认文字颜色
    	"selectedColor": "#376199",
      //选中文字颜色
    	"borderStyle": "black",
      //上边框颜色
    	"backgroundColor": "#ffffff",
    	"list": [{
    		"pagePath": "pages/index/index",
    		"iconPath": "static/home.png",
        //默认图片
    		"selectedIconPath": "static/home_select.png",
        //选中后图片
    		"text": "首页"
    	}, {
    		"pagePath": "pages/unused/unused",
    		"iconPath": "static/unused.png",
    		"selectedIconPath": "static/unused_select.png",
    		"text": "闲置"
    	}, {
    		"pagePath": "pages/write/write",
    		"iconPath": "static/write.png",
    		"selectedIconPath": "static/write_select.png",
    		"text": "发布"
    	}, {
    		"pagePath": "pages/buy/buy",
    		"iconPath": "static/buy.png",
    		"selectedIconPath": "static/buy_select.png",
    		"text": "求购"
    	}, {
    		"pagePath": "pages/mine/mine",
    		"iconPath": "static/mine.png",
    		"selectedIconPath": "static/mine_select.png",
    		"text": "我的"
    	}]
    }
}

修改样式

<template>
  <view class="u-p-t-40 u-p-r-60 u-p-b-30 u-p-l-60 logincontaine">
    <!-- circle 圆形头像 -->
    <u-avatar size="150" src="/static/user.jpg" mode="circle"></u-avatar>
  </view>
</template>

<script setup>

</script>

<style lang="scss">
  .logincontaine{
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    // 垂直方向布局
  }
</style>

设置表单

表单官网
https://vkuviewdoc.fsq.pub/components/form.html

图标官网
https://vkuviewdoc.fsq.pub/components/icon.html

<template>
  <view class="u-p-t-40 u-p-r-60 u-p-b-30 u-p-l-60 logincontaine">
    <!-- circle 圆形头像 -->
    <u-avatar size="150" src="/static/user.jpg" mode="circle"></u-avatar>
    <!-- model 中是绑定对象 -->
    <!-- left-icon	左侧自定义字体图标(限uView内置图标)或图片地址 
    left-icon-style	左侧图标的样式,对象形式-->
    <u-form class="forms" :model="loginModel" ref="form1">
      <u-form-item left-icon="account" left-icon-style="font-size:26px;color:#77aeff"><u-input placeholder="请输入账号" v-model="loginModel.username" /></u-form-item>
      <u-form-item left-icon="lock" left-icon-style="font-size:26px;color:#77aeff"><u-input placeholder="请输入密码" v-model="loginModel.possword" /></u-form-item>
    </u-form>
  </view>
</template>

<script setup>
import { reactive } from 'vue';
  const loginModel = reactive({
    username: '',
    possword: ''
  })
</script>

<style lang="scss">
  .logincontaine {
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    // 垂直方向布局
  }
  .forms{
    width: 100%;
    margin-top: 30px;
  }
</style>

效果图

在这里插入图片描述

登入按钮与忘记密码

<view class="passtext">
        忘记密码
</view>
<view class="button">
    <u-button class="left-b" :custom-style="customStyle1">登入</u-button>
    <u-button class="right-b" :custom-style="customStyle2">注册</u-button>
</view>

login.vue代码

<template>
  <view class="u-p-t-60 u-p-r-60 u-p-b-30 u-p-l-60 logincontaine">
    <!-- circle 圆形头像 -->
    <u-avatar size="170" src="/static/user.jpg" mode="circle"></u-avatar>
    <!-- model 中是绑定对象 -->
    <!-- left-icon	左侧自定义字体图标(限uView内置图标)或图片地址 
    left-icon-style	左侧图标的样式,对象形式-->
    <u-form class="forms" :model="loginModel" ref="form1">
      <u-form-item left-icon="account" left-icon-style="font-size:26px;color:#77aeff"><u-input placeholder="请输入账号" v-model="loginModel.username" /></u-form-item>
      <u-form-item left-icon="lock" left-icon-style="font-size:26px;color:#77aeff"><u-input placeholder="请输入密码" v-model="loginModel.possword" /></u-form-item>
      <view class="passtext">
        忘记密码
      </view>
      <view class="button">
        <u-button class="left-b" :custom-style="customStyle1">登入</u-button>
        <u-button class="right-b" :custom-style="customStyle2">注册</u-button>
      </view>
    </u-form>
  </view>
</template>

<script setup>
import { reactive } from 'vue';
  const loginModel = reactive({
    username: '',
    possword: ''
  })
  const customStyle1 = reactive({
    marginTop: '80px',
    background: '#3773d4',
    color: '#fff',
    width:'130px'
  })
  const customStyle2 = reactive({
    marginTop: '80px',
    background: '#3773d4',
    color: '#fff',
    width:'130px'
  })
</script>

<style lang="scss">
  .logincontaine {
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    // 垂直方向布局
  }
  .forms{
    width: 100%;
    margin-top: 40px;
  }
  .button{
    display: flex;
    justify-content: space-between;
    // 水平分布
  }
  .passtext{
    display: flex;
    justify-content: flex-end;
    color: #0d7adf;
    margin-top: 30px;
  }
</style>

效果图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1529838.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

原生html vue3使用element plus 的树tree上移下移案例源码

上效果 html源码 <!DOCTYPE html> <html lang"en"> <!-- * Name: mallSalesReports.html * Description: * Author Lani * date 2024-02-28 18:32:36 --> <head><meta charset"UTF-8"><meta name"viewport" …

mapstruct学习笔记-pojo之间的转换

1、前言 mapstruct中常用注解如Mapping,AfterMapping,BeanMapping等的使用,通过案例说明各式各样的业务pojo对象之间如何借助mapstruct完成相互之间的转换,减少代码量的同时也能突出业务逻辑流程,让你的代码里写起来更有规范可言。 2、简介 Reference Guide – MapStruct 3…

【GPT概念01】生成式预训练转换器

一、说明 本文对GPT有所描述&#xff0c;主要解释了GPT的重要环节&#xff1a;only解码器。以及这个过程中&#xff0c;原始数据的维度演进、变化过程。对于想知道GPT内结构的朋友能有一定帮助。 二、唯一解码器模型入门 — 因果语言建模 Decoder only Model&#xff1a;唯一解…

Go web 基础相关知识

Go web Web工作方式 浏览器本身是一个客户端&#xff0c;当你输入URL的时候&#xff0c;首先浏览器会去请求DNS服务器&#xff0c;通过DNS获取相应的域名对应的IP&#xff0c;然后通过IP地址找到IP对应的服务器后&#xff0c;要求建立TCP连接&#xff0c;等浏览器发送完HTTP …

QT配置libtorch(一步到位!!!防止踩坑)

QT配置libtorch Qt下载QT配置MSVCQT配置Libtorch Qt下载 Qt点击下载 Qt的安装选择MSVC2017 64-bit(一定要安装&#xff0c;这关乎后面的配置&#xff01;&#xff01;&#xff01;)&#xff0c;其他的根据自己的选择进行安装 QT配置MSVC Visual Studio点击安装 这里需要安装VS以…

PwnLab靶场PHP伪协议OSCP推荐代码审计命令劫持命令注入

下载链接&#xff1a;PwnLab: init ~ VulnHub 安装&#xff1a; 打开vxbox直接选择导入虚拟电脑即可 正文&#xff1a; 先用nmap扫描靶机ip nmap -sn 192.168.1.1/24 获取到靶机ip后&#xff0c;对靶机的端口进行扫描&#xff0c;并把结果输出到PwnLab文件夹下&#xff0c;命名…

Spark相关

1.Hadoop主要有哪些缺点&#xff1f;相比之下&#xff0c;Spark具有哪些优点&#xff1f; Hadoop主要有哪些缺点&#xff1a;Hadoop虽然已成为大数据技术的事实标准&#xff0c;但其本身还存在诸多缺陷&#xff0c;最主要的缺陷是 MapReduce计算模型延迟过高&#xff0c;无法胜…

Swift中 any some的作用

前言 在学习Swift ui看到一个函数返回了some view。view我可以理解那some是什么&#xff1f; //ContentView.swift struct ContentView_Previews: PreviewProvider{static var previews: some View{ContentView()} }如果你仔细看一些官方文档甚至还有any关键字&#xff0c;也…

GPT实战系列-智谱GLM-4的模型调用

GPT实战系列-智谱GLM-4的模型调用 GPT专栏文章&#xff1a; GPT实战系列-实战Qwen通义千问在Cuda 1224G部署方案_通义千问 ptuning-CSDN博客 GPT实战系列-ChatGLM3本地部署CUDA111080Ti显卡24G实战方案 GPT实战系列-Baichuan2本地化部署实战方案 GPT实战系列-让CodeGeeX2帮…

日本技术,马来西亚制造:NBR SELE COT无硫手指套的革命性性能

在现代工业领域&#xff0c;对于保持生产环境的洁净和高效至关重要。而一种名为NBR SELE COT的无硫手指套正是满足这一需求的理想选择。这款手指套由日本技术开发&#xff0c;采用马来西亚原材料制造&#xff0c;凭借其卓越的性能在工业行业中广受好评。 NBR SELE COT手指套具有…

云平台一键迁移(腾讯云windos服务器迁移到阿里云windos服务器)

参考文档 https://help.aliyun.com/zh/smc/use-cases/one-click-cloud-platform-migration 迁移文档 https://cloud.tencent.com/document/product/598/37140 #腾讯密钥创建 https://cloud.tencent.com/document/product/1340/51945 安装腾讯云自动化服务助手 一.导入迁移…

web前端框架设计第二课-Vue.js简介

web前端框架设计第二课-Vue.js简介 一.预习笔记 1.Vue.js概述 Vue.js是一套用于构建用户界面的渐进式框架。本质上是一个用于开发Web前端界面的库&#xff0c;其本身具有响应式编程和组件化的特点。 Vue.js的特性&#xff1a; 轻量级 数据绑定 应用指令 插件化开发 2.V…

Flink中JobManager与TaskManage的运行架构以及原理详解

Flink中JobManager与TaskManage的运行架构详解 整体架构 Flink的运行时架构中&#xff0c;最重要的就是两大组件&#xff1a;作业管理器&#xff08;JobManger&#xff09;和任务管理器&#xff08;TaskManager&#xff09;。对于一个提交执行的作业&#xff0c;JobManager是真…

云原生:重塑未来应用的基石

随着数字化时代的不断深入&#xff0c;云原生已经成为了IT领域的热门话题。它代表着一种全新的软件开发和部署范式&#xff0c;旨在充分利用云计算的优势&#xff0c;并为企业带来更大的灵活性、可靠性和效率。今天我们就来聊一聊这个热门的话题&#xff1a;云原生~ &#x1f4…

web服务架构

1 Web服务器&#xff08;如Nginx、Apache等&#xff09;和Web应用框架&#xff08;如Flask、Django等&#xff09; Web服务器&#xff08;如Nginx、Apache等&#xff09;和Web应用框架&#xff08;如Flask、Django等&#xff09;在Web应用开发和部署中扮演着不同的角色&#xf…

飞天使-k8s知识点26-kubernetes温故知新1-pod

文章目录 创建一个podpod的启动命令和参数更改pod 镜像拉取策略 pod 的三种探针pod 探针的实现方式prestop 和 prestart 创建一个pod apiVersion: v1 # 必选&#xff0c;API 的版本号 kind: Pod # 必选&#xff0c;类型 Pod metadata: # 必选&#xff0c;元数据name: nginx # …

类和对象-3

文章目录 拷贝构造函数运算符重载 拷贝构造函数 拷贝构造函数&#xff1a;只有单个形参&#xff0c;该形参是对本类类型对象的引用(一般常用const修饰)&#xff0c;在用已存在的类类型对象创建新对象时由编译器自动调用。 特点&#xff1a; 拷贝构造函数是构造函数的一个重载形…

K8s-网络原理-上篇

引言 本文是学习《深入剖析K8s》网络原理部分的学习笔记&#xff0c;相关图片和案例可以从https://github.com/WeiXiao-Hyy/k8s_example获取&#xff0c;欢迎Star&#xff01; 网络基础 IP组成 IP地址由两部分组成&#xff0c;即网络地址和主机地址。网络地址表示其属于互联…

GB28181视频汇聚EasyCVR平台接入海康Ehome设备,设备在线但是视频无法播放是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

vivado 物理优化约束、交互式物理优化

物理优化约束 Vivado Design Suite在物理优化过程中尊重DONT_TOUCH特性。它不在具有这些属性的网络或小区上执行物理优化。要加快网络选择过程中&#xff0c;具有DONT_TOUCH属性的网络经过预过滤&#xff0c;不被考虑用于物理优化。此外&#xff0c;还遵守Pblock分配&#xff…