遇见
4 years ago
13 changed files with 143 additions and 10 deletions
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
module.exports = { |
||||
host: "cdb-2ujv2cb2.cd.tencentcdb.com", |
||||
port: "10001", |
||||
user: "root", |
||||
password: "123456789X", |
||||
database: "yujian-blog" |
||||
} |
@ -1 +1 @@
@@ -1 +1 @@
|
||||
VUE_APP_BASE_API = "http://www.exapmple.com/dev" |
||||
VUE_APP_BASE_API = 'http://127.0.0.1:5000' |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
import request from "@/utils/request"; |
||||
|
||||
export function getArticle() { |
||||
return request({ |
||||
url: "/article/list", |
||||
method: "get", |
||||
}); |
||||
} |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
export function login(data) { |
||||
return request({ |
||||
url: "/user/login", |
||||
method: "post", |
||||
data, |
||||
}); |
||||
} |
@ -1,11 +1,61 @@
@@ -1,11 +1,61 @@
|
||||
import Vue from "vue"; |
||||
import Vuex from "vuex"; |
||||
import { login } from "@/api/user"; |
||||
import { getArticle } from "@/api/user"; |
||||
|
||||
Vue.use(Vuex); |
||||
|
||||
const state = { |
||||
Token: "", |
||||
Article: [], |
||||
}; |
||||
|
||||
const mutations = { |
||||
SET_TOKEN: (state, Token) => { |
||||
state.Token = Token; |
||||
}, |
||||
SET_ARTICLE: (state, Article) => { |
||||
state.Article = Article; |
||||
}, |
||||
}; |
||||
|
||||
const actions = { |
||||
login({ commit }) { |
||||
const username = "Ghost"; |
||||
const password = "4b18888d253715d62093683bd206dfda"; |
||||
return new Promise((resolve, reject) => { |
||||
login({ username: username, password: password }) |
||||
.then((response) => { |
||||
const { data } = response; |
||||
commit("SET_TOKEN", data.token); |
||||
resolve(); |
||||
}) |
||||
.catch((error) => { |
||||
reject(error); |
||||
}); |
||||
}); |
||||
}, |
||||
|
||||
feactArticle({ commit }) { |
||||
return new Promise((resolve, reject) => { |
||||
getArticle() |
||||
.than((response) => { |
||||
if (response.error) { |
||||
reject(response.error); |
||||
} |
||||
|
||||
commit("SET_ARTICLE", response.data); |
||||
resolve(response.data); |
||||
}) |
||||
.catch((error) => { |
||||
reject(error); |
||||
}); |
||||
}); |
||||
}, |
||||
}; |
||||
|
||||
export default new Vuex.Store({ |
||||
state: {}, |
||||
mutations: {}, |
||||
actions: {}, |
||||
modules: {} |
||||
state, |
||||
mutations, |
||||
actions, |
||||
}); |
||||
|
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
import Cookies from "js-cookie"; |
||||
|
||||
const TokenKey = "YuJianBlog"; |
||||
|
||||
export function getToken() { |
||||
return Cookies.get(TokenKey); |
||||
} |
||||
|
||||
export function setToken(token) { |
||||
return Cookies.set(TokenKey, token) |
||||
} |
@ -1 +1,44 @@
@@ -1 +1,44 @@
|
||||
import axios from "axios"; |
||||
import axios from "axios"; |
||||
import { getToken } from "@/utils/auth"; |
||||
|
||||
const service = axios.create({ |
||||
baseURL: process.env.VUE_APP_BASE_API, |
||||
timeout: 5000, |
||||
}); |
||||
|
||||
service.interceptors.request.use( |
||||
(config) => { |
||||
if (this.$store.state.Token) { |
||||
config.headers["Authorization"] = `Bearer ${getToken()}`; |
||||
} |
||||
return config; |
||||
}, |
||||
(error) => { |
||||
console.log(error); |
||||
return Promise.reject(error); |
||||
} |
||||
); |
||||
|
||||
service.interceptors.response.use( |
||||
(response) => { |
||||
const res = response.data; |
||||
|
||||
// 如果返回的状态码不为0
|
||||
if (res.code !== 0) { |
||||
console.log("请求异常:未知错误", res.code); |
||||
|
||||
// 如果返回的状态码为-2,则Token失效
|
||||
if (res.code === -2) { |
||||
console.log("请求异常:Token失效"); |
||||
} |
||||
return Promise.reject(new Error(res.msg || "请求异常")); |
||||
} else { |
||||
return res; |
||||
} |
||||
}, |
||||
(error) => { |
||||
return Promise.reject(error); |
||||
} |
||||
); |
||||
|
||||
export default service; |
||||
|
Loading…
Reference in new issue