fix : vuex ADD and signup test
This commit is contained in:
22
src/vite-frontend/package-lock.json
generated
22
src/vite-frontend/package-lock.json
generated
@@ -16,7 +16,8 @@
|
||||
"path": "^0.12.7",
|
||||
"request": "^2.88.2",
|
||||
"vue": "^3.2.41",
|
||||
"vue-router": "^4.0.13"
|
||||
"vue-router": "^4.0.13",
|
||||
"vuex": "^4.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vitejs/plugin-vue": "^3.2.0",
|
||||
@@ -3037,6 +3038,17 @@
|
||||
"typescript": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/vuex": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",
|
||||
"integrity": "sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==",
|
||||
"dependencies": {
|
||||
"@vue/devtools-api": "^6.0.0-beta.11"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
@@ -5246,6 +5258,14 @@
|
||||
"@volar/vue-typescript": "1.0.9"
|
||||
}
|
||||
},
|
||||
"vuex": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",
|
||||
"integrity": "sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==",
|
||||
"requires": {
|
||||
"@vue/devtools-api": "^6.0.0-beta.11"
|
||||
}
|
||||
},
|
||||
"which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
"path": "^0.12.7",
|
||||
"request": "^2.88.2",
|
||||
"vue": "^3.2.41",
|
||||
"vue-router": "^4.0.13"
|
||||
"vue-router": "^4.0.13",
|
||||
"vuex": "^4.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vitejs/plugin-vue": "^3.2.0",
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { createApp } from 'vue'
|
||||
import App from './App.vue'
|
||||
import router from "./router";
|
||||
import store from "./store";
|
||||
|
||||
const app = createApp(App);
|
||||
app.use(router);
|
||||
app.use(router).use(store);
|
||||
app.mount('#app');
|
||||
29
src/vite-frontend/src/store/index.ts
Normal file
29
src/vite-frontend/src/store/index.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import axios from "axios";
|
||||
import { createStore } from 'vuex';
|
||||
|
||||
|
||||
const url = import.meta.env.VITE_BASE_URL;
|
||||
|
||||
export default createStore({
|
||||
state: {
|
||||
token: localStorage.getItem("token") || '',
|
||||
username: localStorage.getItem("username") || '',
|
||||
},
|
||||
mutations: {
|
||||
setUsername(state, username){
|
||||
state.username = username;
|
||||
},
|
||||
setToken(state, token){
|
||||
state.token = token;
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
REGISTER({commit},{user}){
|
||||
return axios.post(url+'/api/users',{
|
||||
user
|
||||
}).then(response =>{
|
||||
console.log(response)
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
@@ -44,6 +44,7 @@
|
||||
import axios from "axios";
|
||||
import router from "@/router";
|
||||
import {reactive, ref} from "vue";
|
||||
import { useStore } from "vuex";
|
||||
|
||||
export default {
|
||||
name: "TheRegister.vue",
|
||||
@@ -51,6 +52,7 @@ export default {
|
||||
let emailDuplicate = ref(false);
|
||||
let usernameDuplicate = ref(false);
|
||||
|
||||
const store = useStore();
|
||||
const user = reactive({
|
||||
username: "",
|
||||
email: "",
|
||||
@@ -77,25 +79,29 @@ export default {
|
||||
};
|
||||
|
||||
const signup = () => {
|
||||
const url = import.meta.env.VITE_BASE_URL;
|
||||
axios.post(url+'/api/users',{
|
||||
user
|
||||
})
|
||||
.then(response => {
|
||||
window.localStorage.setItem("token",response.data.user.token);
|
||||
allHideError();
|
||||
router.push("/");
|
||||
})
|
||||
.catch(error =>{
|
||||
const code = error.response.data.errors.code;
|
||||
if(code == "DUPLICATE_EMAIL_USERNAME"){
|
||||
showEmailUsernameError();
|
||||
}else if(code == "DUPLICATE_EMAIL"){
|
||||
showEmailError();
|
||||
}else if(code == "DUPLICATE_USERNAME"){
|
||||
showUsernameError();
|
||||
}
|
||||
})
|
||||
console.log(store.state)
|
||||
store.commit('REGISTER',user)
|
||||
|
||||
|
||||
|
||||
// axios.post(url+'/api/users',{
|
||||
// user
|
||||
// })
|
||||
// .then(response => {
|
||||
// window.localStorage.setItem("token",response.data.user.token);
|
||||
// allHideError();
|
||||
// router.push("/");
|
||||
// })
|
||||
// .catch(error =>{
|
||||
// const code = error.response.data.errors.code;
|
||||
// if(code == "DUPLICATE_EMAIL_USERNAME"){
|
||||
// showEmailUsernameError();
|
||||
// }else if(code == "DUPLICATE_EMAIL"){
|
||||
// showEmailError();
|
||||
// }else if(code == "DUPLICATE_USERNAME"){
|
||||
// showUsernameError();
|
||||
// }
|
||||
// })
|
||||
}
|
||||
|
||||
return { user, emailDuplicate, usernameDuplicate, signup, showEmailUsernameError,showEmailError, showUsernameError, allHideError }
|
||||
|
||||
Reference in New Issue
Block a user