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

什么是网站的功能模块设计制作生态瓶教学视频

什么是网站的功能模块,设计制作生态瓶教学视频,手游传奇发布网站,地方门户网站管理系统目录 一、背景描述 二、开发流程 1.引入Mock 2.创建文件 3.需求描述 4.Mock实现 三、总结 一、背景描述 前提#xff1a; 事情是这样的#xff0c;老板想要我们写一个demo拿去路演/拉项目#xff0c;有一些数据#xff0c;希望前端接一下#xff0c;写几个表格 事情是这样的老板想要我们写一个demo拿去路演/拉项目有一些数据希望前端接一下写几个表格画几个图然后leader们又有其他考量决定把数据处理完处理成一群JSON数据给前端前端自己写一些查询分页绘图因为数据量不算太大一个JSON也就最多5MB所以客户端处理完全OK于是就这样前端写所有的一切开始了。 哦故事的开始是我使用的是RuoYi的模板感谢很规范让我少了很多繁琐的工作。 二、开发流程 第一步关于RouYi:若依管理系统 文档介绍 | RuoYi 第二步关于Mock:Mock.js 1.引入Mock 因为前端处理所有所以不是--save dev npm install mockjs -g src\main.js import ./mock; // 执行 mock.js 中的副作用 import Mock from mockjs; // 导入 Mock 对象我们在main中不使用这个暂时引入来打印数据等下就删掉console.log(Mock);试试打印Mock如果出现这些代表引入正常了   2.创建文件 创建如下的结构——data是存放我的一些mock数据modules是不同模块的mock处理。 src\mock\index.js import ./modules/user // 引入登录用户模块的 mock export default {}src\mock\modules\user.js import Mock from mockjs// 模拟用户登录数据 Mock.mock(/login, post, (options) {const { username, password } JSON.parse(options.body)// 检查用户名和密码if (username admin password 123456) {return {code: 200,msg: 登录成功,token: 111111 // 模拟一个 token}} else {return {code: 500,msg: 用户不存在/密码错误}} })// 模拟路由数据 Mock.mock(/getRouters, get, {code: 200,msg: 操作成功,data: [{name: Project,path: /project,hidden: false,redirect: noRedirect,component: Layout,alwaysShow: false,meta: {title: 项目管理,icon: form,noCache: false,link: null},children: [//...]},] })// 模拟获取用户信息接口 Mock.mock(/api/user/info, get, {code: 200,message: 获取成功,data: {name: admin,roles: [admin],avatar: https://example.com/avatar.png} })// 模拟用户列表接口 Mock.mock(/api/users, get, {code: 200,message: 获取成功,data: Mock.mock({users|10: [{id: id,name: cname,age: integer(20, 50),gender: pick([male, female]),email: email}]}) })Mock.mock(/logout, post, {code: 200,message: 退出登录成功 })export default Mock上述的操作都是在基于rouyi的Demo定义的返回值上面写了一些简单的用户登录和获取路由信息的mock也就相当于平时跟后端接接口的一些过程只是这部分前端来写了比较难的是下面部分前端处理列表数据并且进行查询等等处理。 3.需求描述 我需要展示一个项目列表那么项目列表支持分页和查询功能。 除此之外我还需要点击列表的某一行能显示这一个项目里的角色列表并且也支持分页查询。 首先我需要的参数和接口如下 src\api\project.js import request from /utils/request// 查询项目列表 export function listProject(query) {return request({url: /project/list,method: get,params: query}) }// 查询项目内的角色列表 export function listData(query) {return request({url: /project/role/data/list,method: get,params: query}) }//query就是下面的queryParams字段可以根据需求增减 const data reactive({form: {},queryParams: {pageNum: 1,pageSize: 10,projectId: undefined,projectStage: undefined,firstStartDate: undefined,endDate: undefined},rules: {projectName: [{ required: true, message: 项目名称不能为空, trigger: blur }],} }) 4.Mock实现 官网上有一个简单的例子 Mock.mock(/\.json/, function(options) {     return options }) 我这里的数据结构如下 src\mock\data\projects.json [{id: 1,projectId: projectAA,projectName: 测试项目名称,totalCases: 174,firstStartDate: 2022-03-01,endDate: ,projectStage: 正在进行中} ] src\mock\data\project_role.json {projectAA: [{id: 1,projectId: projectAA,roleName: 角色名称111,region: 北区,province: 天津,roleProvince: 天津,roleCity: 天津,department: 管理组,roleStatus: 在组,startDate: }] } 有了数据结构那么根据官网的例子再扩展一番就能得到以下 src\mock\modules\project.js import Mock from mockjs const baseUrl http://localhostimport projectData from ../data/projects.json// 项目列表 Mock.mock(/\/project\/list/, get, (options) {const url new URL(options.url, baseUrl)const params new URLSearchParams(url.search)const pageNum params.get(pageNum) || 1const pageSize params.get(pageSize) || 10const projectId (params.get(projectId) || ).toLowerCase()const projectStage (params.get(projectStage) || ).toLowerCase()const startDateRange params.get(firstStartDate) || const endDateRange params.get(endDate) || const filteredProjects projectData.filter((project) {const projectStartDate new Date(project.firstStartDate)const projectEndDate new Date(project.endDate)const startDate new Date(startDateRange)const endDate new Date(endDateRange)return ((!projectId || project.projectId.toLowerCase().includes(projectId)) (!projectPhase || project.projectPhase.toLowerCase().includes(projectPhase)) (!projectStage || project.projectStage.toLowerCase().includes(projectStage)) (!startDateRange || projectStartDate startDate) (!endDateRange || projectEndDate endDate))})const total filteredProjects.lengthconst start (pageNum - 1) * pageSizeconst end start parseInt(pageSize)const pageData filteredProjects.slice(start, end)return {code: 200,msg: 操作成功,data: {list: pageData,total: total,allList: filteredProjects}} })import projectAndRoleData from ../data/project_role.json Mock.mock(/\/project\/role\/data\/list/, get, (options) {const url new URL(options.url, baseUrl)const params new URLSearchParams(url.search)const projectId (params.get(projectId) || ).toLowerCase()const pageNum parseInt(params.get(pageNum)) || 1const pageSize parseInt(params.get(pageSize)) || 10const roleId (params.get(roleId) || ).toLowerCase()const roleName (params.get(roleName) || ).toLowerCase()const department (params.get(department) || ).toLowerCase()// 过滤项目数据const filteredProjects Object.keys(projectAndRoleData).filter((key) !projectId || key.toLowerCase() projectId) // 按 projectId 筛选.map((key) projectAndRoleData[key]) // 获取 projectId 对应的数据.flat() // 将结果从嵌套的数组展平// 进一步过滤数据const filteredRoles filteredProjects.filter((role) {return ((!roleId || role.roleId.toLowerCase().includes(roleId)) (!roleName || role.roleName.toLowerCase().includes(roleName)) (!department || role.department.toLowerCase().includes(department)))})const total filteredRoles.lengthconst start (pageNum - 1) * pageSizeconst end start pageSizeconst pageData filteredRoles.slice(start, end)return {code: 200,msg: 操作成功,data: {list: pageData,total: total,allList: filteredRoles}} })以上主要做了这些工作支持大小写、模糊搜索支持数字类型的输入支持日期范围筛选支持分页 三、总结 上面只是讲了一个简单的例子关于前端处理列表其实通过这个前端可以讲所有的从服务器端获取数据的操作都通过mock进行拦截然后自定义返回数据只是我这里是写一个demo主要是展示数据所以对于返回的数据我并没有做很多处理只是简单的返回了数据如果大家有需要可以自己根据需要对返回的数据进行处理。
http://www.hkea.cn/news/14310629/

相关文章:

  • 去年做那些网站能致富支付通道网站怎么做
  • 新乡市做网站的公司龙华o2o网站建设
  • 流量网站建设单页面网站如何优化
  • 音乐网站怎么做社交的集团公司网站建设品牌
  • 中国做外贸最好的网站有哪些关键词权重查询
  • 做家教中介网站赚钱吗?网站会员方案
  • 昆明哪家网站做得好国外做软件界面的设计网站
  • 高职高专图书馆网站建设做网站永久
  • 新网站怎么做外链钟表 东莞网站建设
  • h5商城网站怎么建设西宁网络信息 网站建设
  • 外贸网站友情链接我赢网seo优化网站
  • 怎么在记事本上做网站灰色推广引流联系方式
  • 网站规划与建设网站如何让百度抓取
  • 深圳有多少网站建设公司wordpress文件调用函数
  • 海南手机网站建设网络营销推广的实施计划
  • 王晴儿网站建设方案关于做网站策划书
  • 企业网站 空间网上国网app缴费
  • 建设好网站能赚到钱吗百度云盘资源
  • 番禺网站建设公司有哪些专业微信网站建设价格
  • 手机微网站与微官网贵州省铁路建设办公室网站
  • 项目商业网站建设方案深圳中装建设集团有限公司
  • 门户型网站模板美丽深圳微信公众号二维码
  • 资源网站的建设汾阳今天重大新闻
  • 西安网站搭建建设定制网站开发要学哪些知识
  • ASP.NET与网站开发编程实战开发一款小程序需要多少钱
  • 个人网站模板怎么做河间网站建设制作
  • 深圳网站制作公司价位网站百度指数分析
  • 网站建设信息推荐网站做了301怎么查看跳转前网站
  • 泰然建设网站wordpress站内计费搜索
  • 电子商业网站建设步骤网站搭建与网站建设