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

重庆市建设工程造价管理站网站空间商排名

重庆市建设工程造价管理站,网站空间商排名,asp.net网站开发实例视频教程,简洁手机购物网站会员中心模板#x1f31f; 前言 欢迎来到我的技术小宇宙#xff01;#x1f30c; 这里不仅是我记录技术点滴的后花园#xff0c;也是我分享学习心得和项目经验的乐园。#x1f4da; 无论你是技术小白还是资深大牛#xff0c;这里总有一些内容能触动你的好奇心。#x1f50d; #x… 前言 欢迎来到我的技术小宇宙 这里不仅是我记录技术点滴的后花园也是我分享学习心得和项目经验的乐园。 无论你是技术小白还是资深大牛这里总有一些内容能触动你的好奇心。 洛可可白个人主页 个人专栏✅前端技术 ✅后端技术 个人博客洛可可白博客 代码获取bestwishes0203 封面壁纸洛可可白wallpaper 文章目录 Mock.js 基本语法与应用笔记1. Mock 基本语法生成指定字符生成随机字符生成标题和句子生成段落生成数字生成增量 ID身份证号、姓名、地址生成图片生成时间指定数组返回的长度和范围 2. Mock 拦截请求3. Vue 中测试4. 另一种使用方式5. vite 项目 往期精彩回顾 Mock.js 基本语法与应用笔记 Mock.js 是一个基于 JavaScript 的模拟数据生成库它可以帮助开发者在前端开发过程中模拟后端API提供测试数据。Mock.js 的主要功能是生成各种类型的模拟数据包括文本、数字、日期、数组等同时也支持拦截请求和响应使得前端可以在不依赖后端API的情况下进行开发和测试。 1. Mock 基本语法 生成指定字符 import Mock from mockjs;const data Mock.mock({str: });console.log(data);指定字符和具体个数 const data Mock.mock({str|3: });指定字符和区间 const data Mock.mock({str|3-5: });生成随机字符 const data Mock.mock({// 一串字母str: word// 一个汉字// str: cword });指定个数 const data Mock.mock({// 3 个中文汉字str|3: cword// str: cword(3) });指定区间 const data Mock.mock({// 3 到 5 个中文字符str|3-5: cword// str: cword(3, 5) });生成标题和句子 const data Mock.mock({title: ctitle,sentence: csentence });可以指定标题和句子的汉字长度和范围 // 长度 const data Mock.mock({title: ctitle(3),sentence: csentence(10) });// 范围 const data Mock.mock({title: ctitle(3, 5),sentence: csentence(10, 15) });生成段落 const data Mock.mock({content: cparagraph });指定段落的个数和范围 // 注意这里 3 代表的是 3 个段落而不是 3 个中文字符 // 1 个句号是 1 段 const data Mock.mock({content: cparagraph(3) });生成数字 生成指定数字 const data Mock.mock({// number: 20,// 如果是数值型的 value 将失去意义最终都表示竖线右边的 20一般写个 1number|20: 1 });生成数字区间 const data Mock.mock({number|1-10: 1 });生成增量 ID for (let i 0; i 10; i) {const data Mock.mock({// 默认 1每次增加 1// id: increment// 每次增加 10id: increment(10)});console.log(data); }身份证号、姓名、地址 const data Mock.mock({id: id,name: cname,address: city(true) });生成图片 const data Mock.mock({// 大小、背景色、前景色、格式、文字// 注意颜色要是十六进制不支持关键字例如 redimage: image(200x200, #f00, #fff, jpg, H) });生成时间 const data Mock.mock({time1: date, // 年-月-日time2: date(yyyy-MM-dd HH:mm:ss) });指定数组返回的长度和范围 const data Mock.mock({list|1-3: [{name: cname,address: city(true),id: increment(1)}] });2. Mock 拦截请求 增 POST /api/users Mock.mock(/^\/api\/users/, post, (options) {const user JSON.parse(options.body);user.id data.list.length ? data.list[data.list.length - 1].id 1 : 1;data.list.push(user);return {status: 200}; });删 DELETE /api/users/:id Mock.mock(/^\/api\/user\/./, delete, (options) {const id options.url.split(/).pop();// !注意 id 变成了字符串const idx data.list.findIndex((item) item.id id);data.list.splice(idx, 1);return {status: 200}; });改 PUT /api/users/:id Mock.mock(/^\/api\/users\/./, put, (options) {const user JSON.parse(options.body);const idx data.list.findIndex((item) item.id user.id);data.list[idx] user;return {status: 200}; });查 GET /api/users Mock.mock(/^\/api\/user/, get, (options) {const {pagenum,pagesize,query,id} qs.parse(options.url.split(?)[1]);if (id) {const user data.list.find((item) item.id id);return {status: 200,user};}// 1 10 0 ~ 10// 2 10 10 ~ 20const start (pagenum - 1) * pagesize;const end pagenum * pagesize;const total data.list.length;const totalPage Math.ceil(data.list.length / pagesize);let list [];if (pagenum totalPage) {list [];} else {list data.list.slice(start, end);}return {status: 200,list,total}; });GET /api/users/:id Mock.mock(/^\/api\/users\/./, get, (options) {const id options.url.split(/).pop();const user data.list.find((item) item.id id);return {status: 200,user}; });3. Vue 中测试 User.vue templatediv classusersel-card classbox-cardel-table :datatableData stylewidth: 100%el-table-column propdate label日期 width180 /el-table-column propname label姓名 width130 /el-table-column propaddress label地址 width180 /el-table-columnfixedrightlabel操作width80alignrighttemplate slot-scopescopeel-buttonclickdeleteRow(scope.row)typetextsizesmall删除/el-button/template/el-table-column/el-tableel-paginationsize-changehandleSizeChangecurrent-changehandleCurrentChange:current-pageq.pagenum:page-sizes[5, 10, 15, 20]:page-sizeq.pagesizelayouttotal, sizes, prev, pager, next, jumper:totaltotal/el-pagination/el-card/div /templatescript import axios from axios; export default {data() {return {tableData: [],q: {pagenum: 1,pagesize: 5,query: },total: 0};},created() {this.getUsers();},methods: {async getUsers() {const {data: { list, total }} await axios.get(/api/users, {params: this.q});this.tableData list;this.total total;},handleSizeChange(pagesize) {this.q.pagesize pagesize;this.getUsers();},handleCurrentChange(pagenum) {this.q.pagenum pagenum;this.getUsers();},async deleteRow({ id }) {const { data } await axios.delete(/api/user/${id})if (data.status 200) {this.getUsers();this.$message.success(删除成功);}}} }; /script style .box-card {margin: 40px auto 0;width: 630px; } .clearfix:before, .clearfix:after {display: table;content: ; } .clearfix:after {clear: both; } .el-pagination {margin-top: 15px; } /style4. 另一种使用方式 vue.config.js const qs require(querystring); const Mock require(mockjs); const data Mock.mock({list|27: [{id: increment(1),date: date(yyyy-MM-dd hh:mm:ss),name: cname,address: city(true)}] }); module.exports {devServer: {before(app) {app.get(/api/users, (req, res) {const { pagenum, pagesize, query } qs.parse(req.url.split(?)[1]);const start (pagenum - 1) * pagesize;const end pagenum * pagesize;const total data.list.length;const totalPage Math.ceil(data.list.length / pagesize);let list [];if (pagenum totalPage) {list [];} else {list data.list.slice(start, end);}res.send({status: 200,list,total});});app.delete(/api/users/:id, (req, res) {const idx data.list.findIndex((item) item.id req.params.id);data.list.splice(idx, 1);res.send({status: 200});});}} };5. vite 项目 vite.config.js import { defineConfig } from vite; import vue from vitejs/plugin-vue; import { viteMockServe } from vite-plugin-mock;// https://vitejs.dev/config/ export default defineConfig({plugins: [vue(),viteMockServe({mockPath: mock,localEnabled: true,}),], });mock/index.js import Mock from mockjs // 内存模拟数据 const arr [] for (let i 0; i 10; i) {arr.push({id: Mock.mock(guid),name: Mock.mock(cname),place: Mock.mock(county(true)),}) } export default [{url: /list,method: get,response: () {return arr}},{url: /del,method: delete,response: ({query}) {const index arr.findIndex((item) item.id query.id)arr.splice(index, 1)return { success: true }}} ]如果对你有帮助点赞、收藏、关注是我更新的动力 往期精彩回顾 VS Code上搭建Vue开发环境 文章浏览阅读10.1k次点赞64次收藏13次。 Color-UI 简介及使用教程 文章浏览阅读5.9k次点赞13次收藏2次。 Vue.2Vue.3项目引入Element-UI教程踩坑 文章浏览阅读9.2k次点赞82次收藏22次。 VS code搭建C/C运行环境简单易上手 文章浏览阅读2.7k次点赞8次收藏5次。 入门指南使用uni-app构建跨平台应用 文章浏览阅读1.2k次点赞29次收藏9次。
http://www.w-s-a.com/news/598251/

相关文章:

  • 青岛网站美工成都优秀网站建设
  • 聊城大型门户网站建设多版本wordpress
  • 建网站的公司 快云wordpress的搜索
  • 贷款网站模版东莞网站建设哪家专业
  • 做做网站已更新878网站正在建设中
  • dz旅游网站模板网站上做百度广告赚钱么
  • 青岛外贸假发网站建设seo优化名词解释
  • 四川建设厅网站施工员证查询网站建设行业政策
  • 网站全站出售dw怎么设计网页
  • 合肥网站建设方案服务网站建设推荐郑国华
  • 襄阳网站建设需要多少钱台州网站设计公司网站
  • 东莞专业拍摄做网站照片如何在百度上发布自己的广告
  • 网站建设费 科目做网站建设最好学什么
  • php商城网站建设多少钱深圳市建设
  • 有什么做糕点的视频网站黄岛做网站
  • 做视频课程网站建设一个普通网站需要多少钱
  • 专做化妆品的网站合肥做网站建设公司
  • 唐山企业网站网站建设费计入那个科目
  • 企业网站制作运营彩虹云主机官网
  • 如何建设废品网站如何在阿里云云服务器上搭建网站
  • 如何建立网站后台程序wordpress 后台管理
  • 山东外贸网站建设怎么样wordpress首页左图右文
  • 志丹网站建设wordpress 形式修改
  • 南通seo网站推广费用网站建设就业前景
  • 自适应网站做mip改造浏览器广告投放
  • 网站meta网页描述网站的推广费用
  • 偃师市住房和城乡建设局网站网站个人主页怎么做
  • 做网站要实名认证吗wordpress去掉仪表盘
  • 在哪做网站好Python建网站的步骤
  • 卢松松的网站办公室设计布局