Darkhorsedamon 2 lat temu
rodzic
commit
3238fa1d55
6 zmienionych plików z 121 dodań i 9 usunięć
  1. 13 8
      nuxt.config.js
  2. 3 1
      package.json
  3. 30 0
      plugins/axios.js
  4. 11 0
      plugins/element-ui.js
  5. 14 0
      plugins/localStorage.js
  6. 50 0
      store/index.js

+ 13 - 8
nuxt.config.js

@@ -3,7 +3,7 @@
  * @Author: 欧阳承珺
  * @LastEditors: 欧阳承珺
  * @Date: 2022-10-17 11:06:52
- * @LastEditTime: 2022-10-19 17:14:06
+ * @LastEditTime: 2022-10-26 16:52:30
  */
 export default {
   // Global page headers: https://go.nuxtjs.dev/config-head
@@ -23,12 +23,16 @@ export default {
 
   // Global CSS: https://go.nuxtjs.dev/config-css
   css: [
-    '@/assets/main.scss'
+    '@/assets/main.scss',
+    {src:'element-ui/lib/theme-chalk/index.css'},
   ],
 
   // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
   plugins: [
-    '~/plugins/api'
+    '~/plugins/axios',
+    {src: '~plugins/element-ui', ssr: false},
+    {src: '@/plugins/localStorage', ssr: false},
+
   ],
 
   // Auto import components: https://go.nuxtjs.dev/config-components
@@ -46,18 +50,19 @@ export default {
   // Modules: https://go.nuxtjs.dev/config-modules
   modules: [
     '@nuxtjs/axios',
-    '@nuxtjs/proxy'
-
+    '@nuxtjs/proxy',
   ],
   axios: {
     timeout: 3000,
-    prefix: '/api/',
+    prefix: '/17pdf-backend-core/',
     proxy: true
   },
   proxy: {
-    '/api': { target: 'https://17pdf.com'}
+    '/17pdf-backend-core': { target: 'http://81.68.234.235:8999',}
   },
 
   // Build Configuration: https://go.nuxtjs.dev/config-build
-  build: {},
+  build: {
+    vendor: ['element-ui']
+  },
 }

+ 3 - 1
package.json

@@ -16,12 +16,14 @@
     "@nuxtjs/axios": "^5.13.6",
     "@nuxtjs/composition-api": "^0.33.1",
     "core-js": "^3.25.3",
+    "element-ui": "^2.15.10",
     "nuxt": "^2.15.8",
     "qs": "^6.11.0",
     "vue": "^2.7.10",
     "vue-fragment": "^1.6.0",
     "vue-server-renderer": "^2.7.10",
-    "vue-template-compiler": "^2.7.10"
+    "vue-template-compiler": "^2.7.10",
+    "vuex-persistedstate": "^4.1.0"
   },
   "devDependencies": {
     "@babel/eslint-parser": "^7.19.1",

+ 30 - 0
plugins/axios.js

@@ -0,0 +1,30 @@
+/*
+ * @Description: 
+ * @Author: 欧阳承珺
+ * @LastEditors: 欧阳承珺
+ * @Date: 2022-10-19 13:58:11
+ * @LastEditTime: 2022-10-26 15:50:35
+ */
+import { Message } from 'element-ui';
+
+export default function({store, app:{ $axios, rediret}} ) {
+  $axios.onRequest(config => {
+    $axios.setToken(store.state.token, 'Bearer') 
+  })
+
+  $axios.onError(error => {
+    const code = parseInt(error.response && error.response.status)
+    if (code !== 200) {
+      Message.error(error.response.data.msg)
+      // redirect('/400')
+    }
+  })
+
+  $axios.onResponse((res) => {
+    if (res.data.code !== 200) {
+      Message.error(res.data.msg)
+    }
+    return res.data
+  })
+
+}

+ 11 - 0
plugins/element-ui.js

@@ -0,0 +1,11 @@
+/*
+ * @Description: 
+ * @Author: 欧阳承珺
+ * @LastEditors: 欧阳承珺
+ * @Date: 2022-10-19 20:49:35
+ * @LastEditTime: 2022-10-19 20:49:46
+ */
+import Vue from 'vue'
+import Element from 'element-ui'
+Vue.use(Element);
+ 

+ 14 - 0
plugins/localStorage.js

@@ -0,0 +1,14 @@
+/*
+ * @Description: 
+ * @Author: 欧阳承珺
+ * @LastEditors: 欧阳承珺
+ * @Date: 2022-10-26 09:30:22
+ * @LastEditTime: 2022-10-26 09:30:32
+ */
+import createPersistedState from 'vuex-persistedstate'
+
+export default ({ store }) => {
+    createPersistedState({
+        storage: sessionStorage
+    })(store)
+}

+ 50 - 0
store/index.js

@@ -0,0 +1,50 @@
+/*
+ * @Description: 
+ * @Author: 欧阳承珺
+ * @LastEditors: 欧阳承珺
+ * @Date: 2022-10-25 17:19:19
+ * @LastEditTime: 2022-10-26 17:16:34
+ */
+export const state = () => ({
+  userInfo: {
+    memberInfo: {},
+    pricingList: [],
+    setPricingList: []
+  },
+  token: '',
+})
+
+export const mutations = {
+  setUser(state, data) {
+    state.userInfo = data
+  },
+  SET_TOKEN(state, data) {
+    state.token = data
+  },
+  DEL_TOKEN(state,data) {
+    state.token = data
+  }
+}
+
+
+export const actions = {
+
+  nuxtServerInit ({commit, state}, {req}) {
+      if (req && req.headers && req.headers.token) {
+        commit('SET_TOKEN', req.headers.token)
+      }
+  },
+
+  login ({ commit }, params) {
+    return new Promise((resolve, reject) => {
+      this.$axios.get(`auth/getToken?code=${params}`).then(res => {
+        const token = res.result.accessToken
+        localStorage.setItem('token',token)
+        commit('SET_TOKEN', token)
+        resolve(token)
+      }).catch(err => {
+        reject(err)
+      })
+    })
+  },
+}