diff --git a/src/api/resource.js b/src/api/resource.js new file mode 100644 index 0000000..d97d310 --- /dev/null +++ b/src/api/resource.js @@ -0,0 +1,5 @@ +import request from '../utils/request' + +export function getImgVerifyCode() { + return request.get('/resource/imgVerifyCode'); +} diff --git a/src/api/user.js b/src/api/user.js new file mode 100644 index 0000000..c672033 --- /dev/null +++ b/src/api/user.js @@ -0,0 +1,5 @@ +import request from '../utils/request' + +export function register(params) { + return request.post('/user/register', params); +} diff --git a/src/components/common/Top.vue b/src/components/common/Top.vue index 9c731dd..605c6b5 100644 --- a/src/components/common/Top.vue +++ b/src/components/common/Top.vue @@ -1,7 +1,9 @@ @@ -34,23 +41,34 @@ import logo from "@/assets/images/logo.png"; import { reactive, toRefs, onMounted } from "vue"; import { useRouter, useRoute } from "vue-router"; +import { getToken, getNickName,removeToken } from "@/utils/auth"; export default { name: "Top", setup(props, context) { const state = reactive({ - keyword:'' - }) + keyword: "", + nickName: getNickName(), + token: getToken(), + }); + state.nickName = getNickName() + state.token = getToken() const route = useRoute(); const router = useRouter(); state.keyword = route.query.key; const searchByK = () => { - router.push({ path: '/bookClass',query:{'key':state.keyword}}); - context.emit('eventSerch',state.keyword); + router.push({ path: "/bookClass", query: { key: state.keyword } }); + context.emit("eventSerch", state.keyword); + }; + const logout = () => { + removeToken() + state.nickName = "" + state.token = "" } return { ...toRefs(state), logo, - searchByK + searchByK, + logout }; }, }; diff --git a/src/router/index.js b/src/router/index.js index 195c310..1209f7b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -14,6 +14,11 @@ const router = createRouter({ name: 'home', component: () => import('@/views/Home') }, + { + path: '/register', + name: 'register', + component: () => import('@/views/Register') + }, { path: '/news/:id', name: 'news', diff --git a/src/utils/auth.js b/src/utils/auth.js index 3448c84..7bf416a 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -1,9 +1,10 @@ const TokenKey = 'Authorization' +const nickNameKey = 'nickName' export const getToken = () => { - localStorage.getItem(TokenKey); + return localStorage.getItem(TokenKey); } export const setToken = (token) => { @@ -12,4 +13,12 @@ export const setToken = (token) => { export const removeToken = () => { return localStorage.removeItem(TokenKey) -} \ No newline at end of file +} + +export const setNickName = (nickName) => { + return localStorage.setItem(nickNameKey, nickName) +} + +export const getNickName = () => { + return localStorage.getItem(nickNameKey); +} diff --git a/src/views/Register.vue b/src/views/Register.vue new file mode 100644 index 0000000..85badb1 --- /dev/null +++ b/src/views/Register.vue @@ -0,0 +1,179 @@ + + + +