整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

20201119登录页面模板的制作

介绍

前面我们以及学会了Bootstrap框架和jQuery库的基本使用方法,并且已经把这两个软件包整合到了我们的TFPHP框架里面,接下来我们就可以使用它们去制作用户管理系统的视图模板了。

用户管理系统包含几个主页模板:

1)用户信息表

2)用户登录页面

3)用户注册页面

4)个人资料修改

5)登录密码重置

6)用户头像上传

7)安全问题设置

8)绑定邮箱设置

9)忘记密码页面

页面比较多,我们一点点地设计。万事开头难,福哥今天下带着大家完成先完成第一个表单页面——用户登录页面。

用户登录页面

HTML

登录页面的html部分包括一个页头和一个表单。

<div class="wrapper">

    <div class="wrapper-header">

        <!-- top bar begin -->
        <div class="row topbar">
            <div class="navbar navbar-text">
                TFUMS v1.0 - TONGFU.net
            </div>
            <ul class="nav ml-md-auto">
                <li class="nav-item"><a href="" class="nav-link">首页</a></li>
                <li class="nav-item"><a href="" class="nav-link">登录</a></li>
                <li class="nav-item"><a href="" class="nav-link">注册</a></li>
            </ul>
        </div>
        <!-- top bar end -->

    </div>

    <div class="wrapper-content">

        <!-- login form begin -->
        <div class="row login-form">
            <div class="col-sm-12">
                <h3 class="text-center">登录</h3>
                <p>请输入正确的用户名和密码登录用户管理系统</p>
                <form>
                    <div class="form-group">
                        <label>用户名</label>
                        <input class="form-control" type="text" name="user" />
                    </div>
                    <div class="form-group">
                        <label>密码</label>
                        <input class="form-control" type="password" name="pass" />
                    </div>
                    <div class="form-group overflow-hidden">
                        <label class="float-left">
                            <input type="checkbox" name="remember" value="Y" />
                            保存登录状态
                        </label>
                        <a href="" class="float-right">忘记密码</a>
                    </div>
                    <div class="form-group">
                        <button class="btn btn-primary btn-sm form-control">登录</button>
                    </div>
                </form>
            </div>
        </div>
        <!-- login form end -->

    </div>

    <div class="wrapper-footer">

    </div>

</div>

CSS

用户登录页面的CSS也是一个top bar和一个login form两个部分。

/**
 * top bar
 */
.topbar{
    padding: 0 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid #eee;
}
.topbar a{
    color: #333;
}
.topbar a:hover{
    color: #007bff;
}

/**
 * login form
 */
.login-form{
    margin: 0 auto;
    width: 350px;
}

讲解

用户登录页面

首先,因为这是TFUMS系统的第一个模板,所以福哥先设计了页头的样式。这个页头也会作为其他页面的共用的页头。页头使用了bs的nav样式组的样式,简化了自己写CSS的工作。

其次,表单部分使用了bs的form-group样式作为每一行表单项的容器样式,加上label和form-control简简单单就把一个漂亮的表单做出来了。

还有福哥使用浮动加清除实现了“保存登录状态”和“忘记密码”的左右布局设计。

最后,福哥给button增加了form-control样式,使按钮撑满了整个容器,看起来比较工整了。

总结

今天我们完成了第一个表单页面的模板,包括:HTML和CSS部分。有了这个基础之后,再去制作其他表单页面就容易多了。

下一课我们将尝试完成用户注册页面、忘记密码页面、登录密码重置三个页面的模板的制作。


https://m.tongfu.net/home/35/blog/512901.html

们在进行开发的时候,需要进行前端的设计,但是如果都是自己写的话,需要写大量的CSS。

如果套用的模板的话,势必会省很大的时间和精力。

经过一段时间的整理,孟哥整理了11套高质量的后台模板,非常奈斯。

需要的,可以自取。













关注+转发+评论。

点击了解更多(z9tl)

码地址:https://gitee.com/itsoft7/itbi-vue

一、实现目标

  1. 登录页面的实现
  2. 主界面的布局
  3. 导航菜单的实现

二、了解vue的目录结构

浅谈一下vue的目录结构,对vue小白用,大神请绕过。项目建立后,脚手架自动根据模板生成了文件目录结构,具体文件结构可以在网上可以搜索到,在这里就不再赘述了,我只针对重要的几个进行说明。

  1. index.html : 是项目的入口,是随后就被实例中的组件中的模板中的内容所取代,所以我们会看到有那么一瞬间会显示出index.html中正文的内容。而index.html中的Title部分不会被取代,所以会一直保留。比如可以实现加载Loading...等
  2. main.js:是项目的主程序,在这里很多功能要实现,实例化Vue、初始化及存储全局变量、项目用的组件引入、样式文件引入等。
  3. app.vue:是项目的主组件,所有页面都是在App.vue下进行切换的。也是整个项目的关键,app.vue负责构建定义及页面组件归集。

三者之间的联系是什么?

从上图简单看出三者之间联系,同时也体现出来vue的单页面模式,何为单页面应用(SPA),通俗一点说就是指只有一个主页面的应用(核心:index.html,main.js,app.vue),浏览器一开始要加载所有必须的 html, js, css。所有的页面内容都包含在app.vue(<router-view/>)。开发的每个模块都是一个组件,然后在交互的时候由路由程序动态载入,单页面的页面跳转,仅刷新组件资源,就是通常所说的不是全面页面刷新。单页面优缺点并存

单页面的优点:

  • 用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小。
  • 前后端分离。
  • 页面效果会比较炫酷(比如切换页面内容时的专场动画)。

单页面缺点:

  • 不利于seo。
  • 导航不可用,如果一定要导航需要自行实现前进、后退。(由于是单页面不能用浏览器的前进后退功能,所以需要自己建立堆栈管理)。
  • 初次加载时耗时多。
  • 页面复杂度提高很多。

三、界面实现

登录界面

主界面

导航菜单

四、 实现的技术点

1.样式表使用了scss : 项目采用的lang="scss",后报错TypeError: this.getResolve is not a function at由于当前sass的版本太高,webpack编译时出现了错误,这个时候只需要换成低版本的就行,下面说一下修改方法,很简单,如下,找到package.json和package-lock.json文件,里面的 "sass-loader"的版本更换掉 就行了,换成如下版本"sass-loader": "^7.3.1",

2.路由模式采用了“history”:这样去掉了url地址中#号,具体代码需要修改router文件夹的index .js。

采用这种模式时,发布部署的时候一定要需要nginx的配合,后面文章会专门讲。

3.图标使用svg格式:

第一步:下载 "svg-sprite-loader": "^6.0.7",

第二步:修改配置文件

第三步:参照源码

4.使用elementUI:这ui使用也比较简单,具体使用方法可以通过官网了解,同样先下载依赖,然后在main.js重要初始化加载。

/*ElementUI*/
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)

其中element-ui/lib/theme-chalk/index.css 是默认样式表,可以在官网按照自己喜欢的风格生成样式表,下载下来后单独引用即可,在使用过程需要自定义修改样式的需要单独自己创建一个样式文件,在默认样式表下单独自定义样式表,自定义的样式这样就可以覆盖默认的了,不建议直接默认的样式表上去修改。

4.Layout:layout是布局容器,可以根据应用场景定义自己的布局,其结构是:

布局说明

定义好后layout后如何和视图页面进行关联?在路由文件进行配置

五、 总结

该文章不是一个演示文章,代码也不是为了写文章而写,我是想通过实际的项目给大家进行分享,代码已经完全公开,会不断的持续更新。

目前正在研究在vue使用mxgraph画流程图,正在研究中......