马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1. 快速使用
- npm install axios
- LoginView.vue
- import axios from "axios"
- axios.get("...")
- axios.post("...")
- axios.axios({
- method: "get"
- })
复制代码 2. 通用设置
- npm install axios
- plugins/axios.js
- import axios from "axios";
- let config = {
- baseURL: "xxx",
- timeout: 20 * 1000 // ms
- }
- const _axios = axios.create(config)
- // 拦截器
- _axios.interceptors.request.use(function (config){
- xxx;
- return config
- })
- export default _axios
复制代码 - LoginView.vue
- <script setup>
- import _axios from "@/plugins/axios.js";
- _axios.get("/api/v1/course/category/free/?courseType=free").then((res) => {
- console.log(res.data)
- })
- </script>
复制代码 3. 示例
plugins/axios.js
- import axios from "axios";
- let config = {
- baseURL: "https://api.luffycity.com/",
- timeout: 20 * 1000
- }
- const _axios = axios.create(config)
- // 拦截器
- _axios.interceptors.request.use(function (config){
- // console.log("请求前:", config)
- // 1. 去pinia中读取当前用户token
- // 2. 发送请求时携带token
- if(config.params){
- config.params["token"] = "djbfkjbdfkj"
- } else {
- config.params = {"token": "whejsabjdnfj"}
- }
- return config
- })
- export default _axios
复制代码 LoginView.vue
- <template>
- <div class="box">
- <p>
- 用户名:
- <input type="text" placeholder="用户名" v-model="msg.username">
- </p>
- <p>
- 密码:
- <input type="text" placeholder="密码" v-model="msg.password">
- </p>
- <p>
- <button @click="doLogin">登录</button>
- </p>
- </div>
- </template>
- <script setup>
- import {ref} from "vue";
- import {useRouter} from "vue-router";
- import {userInfoStore} from "@/stores/user.js";
- import _axios from "@/plugins/axios.js";
- const msg = ref({
- username: "",
- password: ""
- })
- const router = useRouter()
- const store = userInfoStore()
- const doLogin = function () {
- // 1、获取数据
- console.log(msg.value)
- // 2、发送网络请求
- _axios.get("/api/v1/course/category/free/?courseType=free").then((res) => {
- console.log(res.data)
- })
- // 3、本地存储用户信息(登录凭证)
- // localStorage.setItem("name", msg.value.username)
- let info = {id: 1, name: msg.value.username, token: "ddsafhsjdfkj"}
- store.doLogin(info)
- // 3、跳转到首页
- router.push({name: "mine"})
- }
- </script>
- <style scoped>
- .box {
- width: 300px;
- margin: 100px auto;
- }
- </style>
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |