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

房地产建设网站南宁网站推广哪家好

房地产建设网站,南宁网站推广哪家好,中企动力销售陪酒多吗,营销型网站设计文章1. axios axios官方文档 异步库axios和mockjs模拟后端数据#xff0c;axios是一个基于promise的HTTP库#xff0c;使用npm i axios。在main.js中引入#xff0c;需要绑定在Vue的prototype属性上#xff0c;并重命名。   #xff08;1#xff09;main.js文件引用 imp…1. axios axios官方文档 异步库axios和mockjs模拟后端数据axios是一个基于promise的HTTP库使用npm i axios。在main.js中引入需要绑定在Vue的prototype属性上并重命名。   1main.js文件引用 import http from axios Vue.prototype.$http http1.1. axios简单例子 1在home的index.vue中添加mounted /*** 拦截器部分* param instance*/interceptors(instance) {// 添加请求拦截器instance.interceptors.request.use(function (response) {console.log(添加请求拦截器:, response)// 在发送前做什么return response;}, function (error) {// 对请求错误做什么console.log(error错误:, error)return Promise.reject(error);});// 添加响应拦截器instance.interceptors.response.use(function (response) {// 对响应数据前做什么console.log(添加请求拦截器2:, response)return response;}, function (error) {console.log(error错误2:, error)// 响应错误后做什么return Promise.reject(error);});}在控制台中可以发现请求已发送状态为404 1.2. axios函数封装 1在src目录下新建config文件夹新建index.js主要是让系统判断当前处于生产状态还是用户状态。 //src/api/index.js export default{baseUrl:{dev:/api/,//开发环境pro://生产环境} }2对axios函数进行二尺封装方便后续使用。在根目录下新建api文件夹新建axios.js文件。 //src/api/axios.js import axios from axios import config from ../config // 将config和anios进行有机结合,对axios进行简单封装。 // 判断是不是生产环境并拿到config中的dev环境否则拿到config中的pro环境。 const baseUrl process.env.NODE_ENV development ? config.baseUrl.dev : config.baseUrl.pro /*** axios工具类,工具类拿到对应的url后进行相应配置*/ class HttpRequest {constructor (baseUrl) {this.baseUrl baseUrl}/*** 用于定义anios的相关配置的方法* returns {{header: {}, base: *}}*/getInsideConfig(){const config {base:this.baseUrl,header:{}}return config}/*** 拦截器部分* param instance*/interceptors (instance) {// 添加请求拦截器instance.interceptors.request.use(function(config){// 在发送前做什么return config;},function (error){// 对请求错误做什么return Promise.reject(error);});// 添加响应拦截器instance.interceptors.response.use(function(response){// 对响应数据前做什么return response;},function(error){// 响应错误后做什么return Promise.reject(error);});}/*** 接口请求* param options* returns {*}*/request(options){//创建axios实例const instance axios.create()// ES6语法解构,三点表示解构options {...this.getInsideConfig(), ...options}// 调用拦截器this.interceptors(instance)return instance(options)} }export default new HttpRequest(baseUrl)1.3. 接口调用 1在src/api下新建data.js文件,用于添加网络接口 //src/api/data.js // 这里引入的是文件不是依赖 import axios from ./axios /*** 接口对外暴露* param param* returns {*}*/ export const getMenu (param) {return axios.request({url:/permission/getMenu,method:post,data:param}) }2在src/views/home/index.vue中调用 //src/views/home/index.vuemounted() {// //接口请求一般在mounted下// const axios require(axios);// // 上述请求也可以按以下方式完成可选// axios.get(/user, {// params: {// ID: 12345// }// }).then(function (response) {// console.log(response);// })// .catch(function (error) {// console.log(error);// })// .finally(function () {// // 总是会执行// });getMenu().then(res {console.log(post,res)})}//src/views/home/index.vue templateel-row classhome :gutter20 styleheight:100vh;!--用户布局--el-col :span9 classuser-sectionel-card shadowhoverdiv classuser-layoutimg classuser-header :srcuserImg/div classuser-info-layoutp classuser-nameAdmin/pp classuser-nickname超级管理员/p/div/divdiv classlogin-layoutp classlogin-time上次登录时间span2024-12-12/span/pp classlogin-loc上次登录地点span济南/span/p/div/el-card!--列表展示--el-card classlist-sectionel-table :datatableDatael-table-columnv-for(val,key) in tableLabel:keykey:propkey:labelval/el-table-column/el-table/el-card/el-col!--右侧布局--el-col :span15!--订单统计--el-col :span8 v-for(item) in countData:keyitem.name :offset0el-card classorder-section:body-style{display:flex, padding:0}div classorder-layouti classorder-icon :classel-icon-item.icon:style{background:item.color}/idiv classorder-detailp classorder-num{{item.value}}/pp classorder-title{{item.name}}/p/div/div/el-card/el-colel-card styleheight:280px;/el-carddiv classgraphel-card styleheight:260px;/el-cardel-card styleheight:260px;/el-card/div/el-col/el-row /templatescriptimport {getMenu} from ../../api/data.jsexport default {name: home,data() {return {userImg: require(../../assets/images/user.png),tableData: [{name: 华为,todayBuy: 100,monthBuy: 300,totalBuy: 800,},{name: 荣耀,todayBuy: 100,monthBuy: 300,totalBuy: 800,},{name: oppo,todayBuy: 100,monthBuy: 300,totalBuy: 800,},{name: vivo,todayBuy: 100,monthBuy: 300,totalBuy: 800,},{name: 苹果,todayBuy: 100,monthBuy: 300,totalBuy: 800,},{name: 小米,todayBuy: 100,monthBuy: 300,totalBuy: 800,},{name: 三星,todayBuy: 100,monthBuy: 300,totalBuy: 800,},{name: 魅族,todayBuy: 100,monthBuy: 300,totalBuy: 800,}],tableLabel: {name: 课程,todayBuy: 今日购买,monthBuy: 本月购买,totalBuy: 总购买,},countData: [{name: 今日支付订单,value: 1234,icon: success,color: #2ec7c9,offset: 0,},{name: 今日收藏订单,value: 210,icon: star-on,color: #ffb980,offset: 1,},{name: 今日未支付订单,value: 1234,icon: s-goods,color: #5ab1ef,offset: 2,},{name: 本月支付订单,value: 1234,icon: s-home,color: #fbcc00,offset: 0,},{name: 本月收藏订单,value: 210,icon: s-cooperation,color: #ff4444,offset: 1,},{name: 本月未支付订单,value: 1234,icon: s-shop,color: #33cc87,offset: 2,},]}},mounted() {// //接口请求一般在mounted下// const axios require(axios);// // 上述请求也可以按以下方式完成可选// axios.get(/user, {// params: {// ID: 12345// }// }).then(function (response) {// console.log(response);// })// .catch(function (error) {// console.log(error);// })// .finally(function () {// // 总是会执行// });getMenu().then(res {console.log(post,res)})}} /script style langless/*用户模块*/.user-section {margin: 10px 0}.user-layout {display: flex;flex-direction: row;align-items: center;border-bottom: #999 solid 1px;padding: 0 10px 10px;}.user-header {width: 100px;height: 100px;border-radius: 50%;}.user-info-layout {display: flex;flex-direction: column;margin-left: 20px;}.user-name {font-size: 18px;color: black;font-weight: 700;}.user-nickname {font-size: 18px;color: black;margin-top: 5px;font-weight: 700;}.login-layout {display: flex;flex-direction: column;margin-left: 20px;}.login-time {font-size: 17px;color: black;margin-top: 5px;}.login-loc {font-size: 17px;color: black;margin-top: 8px;}/*列表展示*/.list-section {margin-top: 20px;height: 460px;}/*订单统计*/.order-section {padding: 0 0;margin: 10px 0 15px;background-color: white;}.order-layout {display: flex;flex-direction: row;align-items: center;}.order-icon {display: flex;width: 65px;height: 65px;//border-radius: 50%;align-items: center;justify-content: center;}.order-detail {display: flex;flex-direction: column;justify-content: center;margin-left: 15px;}.order-num {color: #333333;font-size: 18px;}.order-title {color: #333;font-size: 18px;font-weight: 700;margin-top: 8px;}/styleemsp;axios网络请求示例下载 1.4. 对响应拦截器进行更改 对/src/api/index.js下的拦截器进行更改打印拦截数据。 /*** 拦截器部分* param instance*/interceptors(instance) {// 添加请求拦截器instance.interceptors.request.use(function (response) {console.log(添加请求拦截器:, response)// 在发送前做什么return response;}, function (error) {// 对请求错误做什么return Promise.reject(error);});// 添加响应拦截器instance.interceptors.response.use(function (response) {// 对响应数据前做什么return response;}, function (error) {// 响应错误后做什么return Promise.reject(error);});}1.5. mockjs使用 官方文档 mock可以拦截ajax请求在mock的回调函数中返回接口的响应数据。可以模拟后端发送过来的接口数据。mock可以使用数据模板生成数据。   在api下新建mock.js,先npm i mockjs。Mock.mock(url,回调函数)这里模块化编程提前准备好数据模板在api下新建mockServeData文件夹新建home.js文件存放home页面下的mock的模拟数据。 //src/api/mock.js import Mock from mockjs import homeApi from ./mockServeData/home.js Mock.mock(/home/getData,homeApi.getStatisticalData)//src/api/mockServeData/home.js // mock数据模拟 import Mock from mockjs// 图表数据 let List [] export default {getStatisticalData: () {//Mock.Random.float 产生随机数100到8000之间 保留小数 最小0位 最大0位for (let i 0; i 7; i) {List.push(Mock.mock({苹果: Mock.Random.float(100, 8000, 0, 0),vivo: Mock.Random.float(100, 8000, 0, 0),oppo: Mock.Random.float(100, 8000, 0, 0),魅族: Mock.Random.float(100, 8000, 0, 0),三星: Mock.Random.float(100, 8000, 0, 0),小米: Mock.Random.float(100, 8000, 0, 0)}))}return {code: 20000,data: {// 饼图videoData: [{name: 小米,value: 2999},{name: 苹果,value: 5999},{name: vivo,value: 1500},{name: oppo,value: 1999},{name: 魅族,value: 2200},{name: 三星,value: 4500}],// 柱状图userData: [{date: 周一,new: 5,active: 200},{date: 周二,new: 10,active: 500},{date: 周三,new: 12,active: 550},{date: 周四,new: 60,active: 800},{date: 周五,new: 65,active: 550},{date: 周六,new: 53,active: 770},{date: 周日,new: 33,active: 170}],// 折线图orderData: {date: [20191001, 20191002, 20191003, 20191004, 20191005, 20191006, 20191007],data: List},tableData: [{name: oppo,todayBuy: 500,monthBuy: 3500,totalBuy: 22000},{name: vivo,todayBuy: 300,monthBuy: 2200,totalBuy: 24000},{name: 苹果,todayBuy: 800,monthBuy: 4500,totalBuy: 65000},{name: 小米,todayBuy: 1200,monthBuy: 6500,totalBuy: 45000},{name: 三星,todayBuy: 300,monthBuy: 2000,totalBuy: 34000},{name: 魅族,todayBuy: 350,monthBuy: 3000,totalBuy: 22000}]}}} }在main.js中引入import ‘./api/mock.js’。 在src/views/home下index.vue中引入getData。import { getData } from ‘…/…/api/data.js’并暴露使用。 //src/views/home/index.jsmounted(){getData().then(res {console.log(res)})}在api中data.js中编写getData,这里没有写请求类型默认是get请求。 //data.js export const getData () {return axios.request({url:/home/getData}) }url为   接口拦截成功并返回数据。 将数据进行解构   对home的index.vue的mounted进行修改并将return中的tableData定义为空数组tableData:[]。 mounted(){getData().then(res {const { code,data } res.dataif (code 20000){this.tableData data.tableData}console.log(res)})}前后数据区别一个是原本写死的数据一个是模拟后端的mock数据。   VueWeb Mock示例下载
http://www.w-s-a.com/news/784748/

相关文章:

  • 织梦网站上传天津网站建设电话咨询
  • 论坛网站搭建深圳网
  • 天津建立网站营销设计window7用jsp做的网站要什么工具
  • 英文网站wordpress所有图片
  • 我做的网站怎么打开很慢网络营销典型企业
  • 新增备案网站python3网站开发
  • 诊断网站seo现状的方法与通信工程专业做项目的网站
  • 南京 微网站 建站alexa排名查询统计
  • 天津网站建设企业系统wordpress已发布不显示不出来
  • 大连网站前端制作公司局域网视频网站建设
  • 张家界建设局网站电话wordpress网站怎么建
  • 淄博网站建设有实力装修培训机构哪家最好
  • 彩票网站建设seo优化师是什么
  • 怎么做英文网站网站建设基本费用
  • dede网站名称不能保存wordpress运费设置
  • 出口网站制作好一点的网站建设
  • 在小说网站做编辑怎么找韶关市建设局网站
  • 网站策划怎么做内容旅游型网站建设
  • 东莞百度网站推广ppt模板免费下载的网站
  • 网站建设项目管理基本要求网站空间到期影响
  • 做奖杯的企业网站谁有推荐的网址
  • wordpress能做企业站吗wordpress收发邮件
  • 电子产品网站建设策划方案腾讯企业邮箱注册申请免费
  • 哪些网站可以免费做代码自己电脑做网站服务器广域网访问
  • 高端网站设计青海省教育厅门户网站学籍查询
  • 长春网站优化公司网站制作400哪家好
  • 县级门户网站建设的报告开发游戏的软件有哪些
  • 做电子商务的网站wordpress带会员中心
  • 网站域名不变网站可以从做吗网站建设步骤 文档
  • 网站建设中 gif互联网新项目在哪里找