# letao **Repository Path**: js-class/letao ## Basic Information - **Project Name**: letao - **Description**: 乐淘项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-12-09 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 乐淘电商 ### 移动端 #### Mui介绍 - bootstrap 也是一个ui框架 响应式的ui框架 兼容不同终端 可以适配pc端 也可以适配 移动端 - Mui 是一个ui框架 针对移动端开发的ui框架 只能适配移动端(流式布局) - 学习官网 http://dev.dcloud.net.cn/mui/ - 官方文档 http://dev.dcloud.net.cn/mui/ui/ - 组件展示 http://dcloud.io/hellomui/ **特点** - 最接近原生APP体验的高性能前端框架 - 轻量 追求性能体验,是我们开始启动MUI项目的首要目标,轻量必然是重要特征; MUI不依赖任何第三方JS库,压缩后的JS和CSS文件仅有100+K和60+K - 原生UI 鉴于之前的很多前端框架(特别是响应式布局的框架),UI控件看起来太像网页,没有原生感觉,因此追求原生UI感觉也是我们的重要目标 MUI以iOS平台UI为基础,补充部分Android平台特有的UI控件 - 流畅体验 下拉刷新 为实现下拉刷新功能,大多H5框架都是通过DIV模拟下拉回弹动画,在低端android手机上, DIV动画经常出现卡顿现象(特别是图文列表的情况); mui通过双webview解决这个DIV的拖动流畅度问题;拖动时,拖动的不是div, 而是一个完整的webview(子webview),回弹动画使用原生动画 #### 首页 - 充当移动端入口静态的 - 搭建页面主体架子 具体到页面功能: 1.顶部通栏 2.轮播图 3.导航栏 4.运动生活专区 5.底部页签 + 页面架子 ```html 乐淘首页
1
``` + 初始区域滚动插件 ```javascript /*初始化区域滚动组件 当超过了父容器大小的时候生效*/ mui('.mui-scroll-wrapper').scroll(); ``` + 初始化轮播图 ```javascript /*轮播图的初始化*/ mui('.mui-slider').slider({ interval:4000 }); ``` #### 分类页 - 静态页面 左侧边栏 里面的信息内容是 一级分类 右侧内容 里面的信息比尔是 二级分类 ```javascript /*初始左侧滚动*/ mui('.lt_cateLeft').scroll(); /*初始右侧滚动*/ mui('.lt_cateRight').scroll(); ``` - 渲染动态 + 左侧分类 需要获取一级分类数据 渲染在页面当中 + 默认选中一个分类 加载出第一个分类对应的数据 渲染二级分类(右侧内容) + 点击一级分类的时候 需要去加载对应的分类数据 渲染二级分类(右侧内容) 图片如果加载不成功显示默认图片 onerror="失败的时候去替换原来错误的地址 为默认图片的地址" onerror="this.src = 'images/none.jpg' " #### 搜索页 - 静态页面 + 搜索表单 包含了搜索框和按钮 + 历史搜索 两种情况 没有历史记录的情况 显示没有搜索历史记录 有历史记录的情况 显示 历史记录 清空操作 历史列表 - 动态渲染 + 输入搜索关键字 点击搜索 跳转搜索列表页 (把关键字传递给搜索列表页 同时记录这一次的搜索记录) + 需要页面初始化的时候 渲染上一次的搜索记录 (获取本地存储的数据 转换成js可以使用的数据 进行渲染) + 点击搜索记录对应的删除按钮 删除当前对应的历史记录 (获取本机的记录删除一条从新记录到本地存储当中) + 点击情况历史记录 情况所有记录 (把本来存储的数据清空) 需求 记录10数据 如果超过加一条 删一条 如果有一样的删除 记录新的 #### 搜索列表页 - 静态页面 + 搜索表单 + 搜索排序 + 搜索列表 - 动态渲染 + 效果 1.下拉刷新 2.上拉加载 3.加载中状态 + 功能 初始化渲染 1.获取地址栏关键字 2.通过关键字去后台获取和关键字相关的商品数据 3.渲染商品列表 当前页搜索 1.点击搜索按钮 获取到关键字 2.通过关键字去后台获取和关键字相关的商品数据 3.渲染商品列表 排序展示 1.点击排序按钮 获取排序方式 2.通过当前的关键字和排序方式去后台获取相关的商品数据 3.渲染商品列表 下拉刷新 1.当用户下拉页面 2.通过关键字去后台重新获取和关键字相关的商品数据 3.渲染商品列表 上拉加载 1.当用户上拉页面 2.通过关键字去后台获取和关键字相关的商品数据(而且是根据当前页面进行获取) 3.渲染商品列表 当时是追加到页面当中 #### 商品详情页 - 静态页面 + 顶部通栏 + 底部操作栏 以前是切换 + 商品图片 轮播图 + 商品名称 只显示两行 + 商品价格 原价 现价 + 商品尺寸 选择按钮 + 商品数量 选择数量 + 商品详情 描述 - 动态渲染 + 默认初始化页面的时候 渲染商品信息 + 点击重加载按钮 刷新商品信息 + 尺码选择 + 数量选择 + 加入购物车 #### 登录 - 静态页面 + 用户名 + 密码 + 登录按钮 + 注册连接 - 动态渲染 + 看登录的来源 1.从需要登录的页面跳转过来 登录成功之后会跳源页面 2.直接是登录页面 登录成功之后默认进入用户首页 3.一种接口 需要登录才能调通的接口 400 证明需要去登录 需要传递给登录也 回跳的连接 ```json {error: 400, message: "未登录!"} ``` #### 用户中心 - 静态页面 - 动态渲染 + 获取个人信息并且展示 + 点击退出按钮进行退出 #### 购物车 - 静态页面 + 商品列表 + 订单 - 动态渲染 + 初始化 展示购物车中的商品 + 删除购物车当中的商品 + 修改购物车当中的商品 商品的数量和商品的尺码 + 计算订单总金额 购物车操作后 ### 后台管理端 目录结构:后台的目录全部在admin目录下面 页面基本模板 ``` 后台管理系统-登录 ``` #### 登录 - 静态的页面 - 动态交互 + 前端校验功能 1.用户名不能为空 2.密码不能为空 3.密码在6-18个字符内 + 重置功能(内容、校验) + 登录功能 1.点击按钮 发送登录请求 后台管理员 root 123456 2.登录成功 前端跳转到首页 3.登录失败 恢复可提交状态,具体的提示某一个表单元素的错误信息。 4.进度显示 在ajax请求过程当中使用进度显示功能 - 基于bootstrap的前端校验插件 《bootstrapvalidator》 + 文档参考 http://blog.csdn.net/nazhidao/article/details/51542508 http://blog.csdn.net/u013938465/article/details/53507109 http://www.cnblogs.com/v-weiwang/p/4834672.html?ptvd http://bootstrapvalidator.votintsev.ru/api/ ```html between:检测输入的值是否在两个指定的值之间。 callback:通过回调函数返回验证信息。 creditCard:验证信用卡格式。 different:如果输入值和给定的值不同返回true。 digits:如果输入的值只包含数字返回true。 emailAddress:验证电子邮件格式是否有效。 greaterThan:如果输入的值大于或等于指定的值返回true。 hexColor:验证一个hex格式的颜色值是否有效。 identical:验证输入的值是否和指定字段的值相同。 lessThan:如果输入的值小于或等于指定的值返回true。 notEmpty:检测字段是否为空。 regexp:检测输入值是否和指定的javascript正则表达式匹配。 remote:通过AJAX请求来执行远程代码。 stringLength:验证字符串的长度。 uri:验证URL地址是否有效。 usZipCode:验证美国的邮政编码格式。 defaultSubmit 默认提交表单 - disableSubmitButtons 禁用或启用提交按钮 - enableFieldValidators 启用/禁用所有给定的字段验证器 (如果 true,使字段验证器。如果 false禁用字段验证器) - getFieldElements 检索字段元素的名字 - isValid 返回 true如果所有的表单字段是有效的。否则,返回 false. - resetForm 重置表单 - updateElementStatus 更新验证给定元素的结果 - updateStatus(field, status, validatorName) 更新为给定字段验证器的结果,status可以 NOT_VALIDATED, VALIDATING, INVALID或 VALID,validatorName 字符串 验证器的名称。如果 null所有验证器,更新方法有效性的结果 ``` - 基于jquery的前端进度插件 《nprogress》 + 文档参考 http://blog.csdn.net/joyhen/article/details/24458427 #### 管理主体结构 - 静态的页面 + 侧边栏 1.顶部logo 2.用户信息 3.菜单(一级,二级) + 主体内容 1.顶部通栏 2.路径导航 3.不同页面不同的内容 - 动态交互 1.手风琴菜单 2.收起和展开侧边栏 3.退出 弹出对话狂 确定是否退出 #### 首页 - 渲染图表 + 注册人数的柱状图 + 几款热门的商品销售情况饼图 数据可视化 插件 echarts http://echarts.baidu.com/ 数据可视化 插件 echarts https://www.hcharts.cn/demo/highcharts + 现在后台没有提供对应的数据接口 但是我们可以模拟 + 给大家带来以后工作当中可能会遇到的问题 #### 用户管理 - 用户信息的展示 + 序号 用户名 手机号 状态(禁用、正常) 操作(禁用、启用) - 用户信息的分页 + 基于bootstrap的分页插件 bootstrap-paginator - 禁用某个用户 - 启用某个用户