From adf3c112629f32fa8b11da40ba597ddf26480134 Mon Sep 17 00:00:00 2001 From: theluyuan <1162963624@qq.com> Date: Tue, 18 May 2021 09:52:54 +0800 Subject: [PATCH] axios --- src/api/admin.js | 1 + src/api/base.js | 46 +++++++++++++++++++++++++++++++++++++++ src/api/index.js | 21 ++++++++++++++++++ src/main.js | 30 +++++++++++++++++++++++-- src/views/axios.vue | 53 ++++++++++++++++++++++++++++++++------------- 5 files changed, 134 insertions(+), 17 deletions(-) create mode 100644 src/api/admin.js create mode 100644 src/api/base.js create mode 100644 src/api/index.js diff --git a/src/api/admin.js b/src/api/admin.js new file mode 100644 index 0000000..8e46ac0 --- /dev/null +++ b/src/api/admin.js @@ -0,0 +1 @@ +// 这里面写管理员特有的接口 \ No newline at end of file diff --git a/src/api/base.js b/src/api/base.js new file mode 100644 index 0000000..830e87a --- /dev/null +++ b/src/api/base.js @@ -0,0 +1,46 @@ +import axios from 'axios' +axios.defaults.baseURL = 'https://kaoshi-shangpin.theluyuan.com'; +// 这个改的axios 全局的 + + + +// 拦截器 +// 全局都要用的时候 +// 返回数据的处理 +// 判断一下登录状态 状态码 未登录 就必须跳转首页或者登录页 +// 处理一下返回数据 +// 处理请求数据 +// 进行加载时提示 + +// 添加请求拦截器 +axios.interceptors.request.use(function (config) { + // 在发送请求之前做些什么 + console.log(config, "拦截器") + // config.baseURL = "https://www.baidu.com" + return config; +}, function (error) { + // 对请求错误做些什么 + return Promise.reject(error); +}); + + +// 响应拦截 +axios.interceptors.response.use(function (response) { + // 对响应数据做点什么 + console.log(response, "响应拦截") + // 判断一下是不是有权限 + // if(response.data.code == 0){ + // router.push("/login") + // } + // if(response.data.msg == "用户无权限"){ + // router.push("/login") + // } + response.data.code = 1; + return response.data; +}, function (error) { + console.log("请求失败") + // 对响应错误做点什么 + return Promise.reject(error); +}); + +export default axios; \ No newline at end of file diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..a2caa50 --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,21 @@ +import axios from './base.js' + +export async function getlist(){ + let res = await axios.get("/findshop"); + return res; +} + +export async function submit(data){ + let res = await axios.post("/addshop",data); + return res; +} +export default { + a:1, + b:2, + getlist:1323 +} + +// 只有export 的导出 在外面只能用{ 里面导出时候的名字 } 拿到 +// import mingzi from "" 只能拿到export default导出的东西 + +// 只要用import {变量名} 导入的 一定是拿的export 里面的 diff --git a/src/main.js b/src/main.js index 5f9c6c2..ad91a9f 100644 --- a/src/main.js +++ b/src/main.js @@ -3,11 +3,37 @@ import App from './App.vue' // 自己的文件需要写路径 import router from "./router/index.js" import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; -import axios from "axios" +// import axios from "axios" Vue.config.productionTip = false // 阻止生产提示 Vue.use(ElementUI); // Vue.use(axios) axios 不支持use引入 -Vue.prototype.axios = axios // 基于原型链安装 为Vue添加方法 + + + + + + + +// 这个是创建一个新的axios 实例 他的baseURL是 传入的 +// const instance = axios.create({ +// baseURL: 'https://kaoshi-shangpin.theluyuan.com' +// }); +// // instance 这是通过crate创建的一个新的axios实例 +// console.log(instance) + + + +// axios.defaults.headers.common['aaa'] = "3222"; +// axios.defaults.headers.get['bbb'] = "3222"; +// axios.defaults.headers.post['ccc'] = 'zheshipost'; + +// 头 headers 请求头 common 所有的请求添加 post 只有post才添加 get 只有get加 + +// 消息内容 +// 消息内容 上级id openid + +//全局能添加 baseURL headers +// Vue.prototype.axios = axios // 基于原型链安装 为Vue添加方法 Vue.prototype.globaldata = {} // vuex new Vue({ diff --git a/src/views/axios.vue b/src/views/axios.vue index 9f75948..f088439 100644 --- a/src/views/axios.vue +++ b/src/views/axios.vue @@ -8,7 +8,7 @@ ref="biaodan" > - + @@ -51,6 +51,7 @@