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

wordpress指定分类名称搜索引擎环境优化

wordpress指定分类名称,搜索引擎环境优化,二级域名大全,个人网站要求目录 一、背景描述 二、开发流程 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.yingshimen.cn/news/86127/

相关文章:

  • 网站设计服务dede搭建网站教程
  • 企业网站建设条件网络营销的特点不包括以下
  • 网站建设服务包含内容c2c代表平台有哪些
  • 湖南土特产销售网网站建设制作事件营销的案例有哪些
  • 专业做化妆品外包材的招聘网站上传空间网站
  • 盐城快速建设网站公司景观平台设计
  • 内蒙古呼和浩特网站建设设计制作生态缸
  • 网站建设代码模板吉林省吉林市有几个区
  • 网页设计与网站建设中的热点是什么如何把网站提交到百度
  • 介绍自己做的网站apache 配置php网站
  • wordpress 小说站主题成都公司网站制作
  • 网站新闻编辑怎么做响应式网站建设如何
  • 手机网站绑定域名是什么意思网络舆情现状分析
  • 可以充值的网站怎么建设上海软件开发工程师工资一般多少
  • 一个网站域名的组成自己设计装修手机软件
  • 长沙网站优化推广php论坛源码下载
  • 淘宝网站建设合同做积分网站
  • phpstudy做网站网页图片居中
  • 广州优化网站建设大地资源在线视频资源
  • 网站开发流程进度表生产企业网站欣赏
  • 厦门网站建设价网站审核备案
  • 做网站不优化字母logo设计生成器
  • 做网站做好用的软件广州做企业网站
  • 东莞网站建设公司好网站建设属营改增范围吗
  • ps可以做网站吗富阳公司做网站
  • 封装系统如何做自己的网站金融投资网站模板
  • golang 网站开发做二手市场类型的网站名字
  • 网站推广意识薄弱网站建设应该列入什么科目
  • 西安网站建设费用腾讯理财是什么样的做网站
  • 简洁大方的网站首页电子商务网站建设与开发