root пре 3 година
родитељ
комит
88c1e707c3

+ 1 - 1
.env.development

@@ -2,4 +2,4 @@
 ENV = 'development'
 
 # base api
-VUE_APP_BASE_API = '/dev-api'
+VUE_APP_BASE_API = ''

+ 9 - 0
src/api/setting.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+export function getWebSetting(data) {
+    return request({
+      url: '/v1/site/config',
+      method: 'get',
+      data
+    })
+}

+ 10 - 1
src/api/user.js

@@ -1,13 +1,22 @@
 import request from '@/utils/request'
 
+
 export function login(data) {
   return request({
-    url: '/vue-element-admin/user/login',
+    url: '/v1/oauth/login',
     method: 'post',
     data
   })
 }
 
+// export function login(data) {
+//   return request({
+//     url: '/vue-element-admin/user/login',
+//     method: 'post',
+//     data
+//   })
+// }
+
 export function getInfo(token) {
   return request({
     url: '/vue-element-admin/user/info',

+ 2 - 1
src/main.js

@@ -27,11 +27,12 @@ import * as filters from './filters' // global filters
  *
  * Currently MockJs will be used in the production environment,
  * please remove it before going online ! ! !
- */
+ 
 if (process.env.NODE_ENV === 'production') {
   const { mockXHR } = require('../mock')
   mockXHR()
 }
+*/
 
 Vue.use(Element, {
   size: Cookies.get('size') || 'medium', // set element-ui default size

+ 2 - 1
src/router/index.js

@@ -53,7 +53,8 @@ export const constantRoutes = [
   {
     path: '/login',
     component: () => import('@/views/login/index'),
-    hidden: true
+    hidden: true,
+    meta: { title: '会员管理系统' }
   },
   {
     path: '/auth-redirect',

+ 1 - 1
src/settings.js

@@ -1,5 +1,5 @@
 module.exports = {
-  title: 'Vue Element Admin',
+  title: '',
 
   /**
    * @type {boolean} true | false

+ 17 - 4
src/store/modules/settings.js

@@ -1,5 +1,6 @@
 import variables from '@/styles/element-variables.scss'
 import defaultSettings from '@/settings'
+import { getWebSetting } from '@/api/setting'
 
 const { showSettings, tagsView, fixedHeader, sidebarLogo, supportPinyinSearch } = defaultSettings
 
@@ -9,7 +10,8 @@ const state = {
   tagsView,
   fixedHeader,
   sidebarLogo,
-  supportPinyinSearch
+  supportPinyinSearch,
+  title:'默认网站头'
 }
 
 const mutations = {
@@ -18,13 +20,24 @@ const mutations = {
     if (state.hasOwnProperty(key)) {
       state[key] = value
     }
+  },
+  SET_WEBTITLE: (state , title) => {
+    state.title = title
   }
 }
 
 const actions = {
-  changeSetting({ commit }, data) {
-    commit('CHANGE_SETTING', data)
-  }
+  getWebSetting({ commit }, data) {
+    return new Promise((resolve, reject) => {
+      getWebSetting({}).then(response => {
+        const { data } = response
+        commit('SET_WEBTITLE', data.siteTitle)
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
 }
 
 export default {

+ 16 - 1
src/store/modules/user.js

@@ -29,12 +29,13 @@ const mutations = {
 }
 
 const actions = {
-  // user login
   login({ commit }, userInfo) {
     const { username, password } = userInfo
     return new Promise((resolve, reject) => {
       login({ username: username.trim(), password: password }).then(response => {
+        console.log(1111)
         const { data } = response
+        console.log('resp----->', response)
         commit('SET_TOKEN', data.token)
         setToken(data.token)
         resolve()
@@ -43,6 +44,20 @@ const actions = {
       })
     })
   },
+  // user login
+  // login({ commit }, userInfo) {
+  //   const { username, password } = userInfo
+  //   return new Promise((resolve, reject) => {
+  //     login({ username: username.trim(), password: password }).then(response => {
+  //       const { data } = response
+  //       commit('SET_TOKEN', data.token)
+  //       setToken(data.token)
+  //       resolve()
+  //     }).catch(error => {
+  //       reject(error)
+  //     })
+  //   })
+  // },
 
   // get user info
   getInfo({ commit, state }) {

+ 65 - 41
src/utils/request.js

@@ -25,60 +25,84 @@ service.interceptors.request.use(
   },
   error => {
     // do something with request error
-    console.log(error) // for debug
+    console.log('请求报错----->',error) // for debug
     return Promise.reject(error)
   }
 )
 
 // response interceptor
 service.interceptors.response.use(
-  /**
-   * If you want to get http information such as headers or status
-   * Please return  response => response
-  */
-
-  /**
-   * Determine the request status by custom code
-   * Here is just an example
-   * You can also judge the status by HTTP Status Code
-   */
   response => {
-    const res = response.data
-
-    // if the custom code is not 20000, it is judged as an error.
-    if (res.code !== 20000) {
-      Message({
-        message: res.message || 'Error',
-        type: 'error',
-        duration: 5 * 1000
-      })
-
-      // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
-      if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
-        // to re-login
-        MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', {
-          confirmButtonText: 'Re-Login',
-          cancelButtonText: 'Cancel',
-          type: 'warning'
-        }).then(() => {
-          store.dispatch('user/resetToken').then(() => {
-            location.reload()
-          })
-        })
+  const responseData = response.data
+  const data = responseData.data
+  if (responseData.success === false) {
+    // const err = new Error(data.message)
+    // err.data = data
+    // err.message = data.message
+    // err.response = response
+    // throw err
+    Message({
+      message: data.message || 'Error',
+      type: 'error',
+      duration: 5 * 1000
+    })
+    return
+  } else {
+    console.log(response,'tttt')
+    if (!data) {
+      return {data: responseData}
+    }
+    return data
+  }
+},
+  err => {
+    if (err && err.response && err.response.data && err.response.data.message) {
+      err.message = err.response.data.message
+    } else if (err && err.response) {
+      switch (err.response.data.status) {
+        case 400:
+          err.message = '请求错误'
+          break
+        case 401:
+          err.message = '未授权,请登录'
+          break
+        case 403:
+          err.message = '拒绝访问'
+          break
+        case 404:
+          err.message = `请求地址出错: ${err.response.data.config.url}`
+          break
+        case 408:
+          err.message = '请求超时'
+          break
+        case 500:
+          err.message = '服务器内部错误'
+          break
+        case 501:
+          err.message = '服务未实现'
+          break
+        case 502:
+          err.message = '网关错误'
+          break
+        case 503:
+          err.message = '服务不可用'
+          break
+        case 504:
+          err.message = '网关超时'
+          break
+        case 505:
+          err.message = 'HTTP版本不受支持'
+          break
+        default:
       }
-      return Promise.reject(new Error(res.message || 'Error'))
-    } else {
-      return res
     }
-  },
-  error => {
-    console.log('err' + error) // for debug
     Message({
-      message: error.message,
+      message: err.message || 'Error',
       type: 'error',
       duration: 5 * 1000
     })
-    return Promise.reject(error)
+
+    return Promise.reject(err)
   }
 )
 

+ 21 - 9
src/views/login/index.vue

@@ -52,7 +52,7 @@
         {{ $t('login.logIn') }}
       </el-button>
 
-      <div style="position:relative">
+      <!-- <div style="position:relative">
         <div class="tips">
           <span>{{ $t('login.username') }} : admin</span>
           <span>{{ $t('login.password') }} : {{ $t('login.any') }}</span>
@@ -67,16 +67,16 @@
         <el-button class="thirdparty-button" type="primary" @click="showDialog=true">
           {{ $t('login.thirdparty') }}
         </el-button>
-      </div>
+      </div> -->
     </el-form>
 
-    <el-dialog :title="$t('login.thirdparty')" :visible.sync="showDialog">
+    <!-- <el-dialog :title="$t('login.thirdparty')" :visible.sync="showDialog">
       {{ $t('login.thirdpartyTips') }}
       <br>
       <br>
       <br>
-      <social-sign />
-    </el-dialog>
+
+    </el-dialog> -->
   </div>
 </template>
 
@@ -109,8 +109,8 @@ export default {
         password: '111111'
       },
       loginRules: {
-        username: [{ required: true, trigger: 'blur', validator: validateUsername }],
-        password: [{ required: true, trigger: 'blur', validator: validatePassword }]
+        // username: [{ required: true, trigger: 'blur', validator: validateUsername }],
+        // password: [{ required: true, trigger: 'blur', validator: validatePassword }]
       },
       passwordType: 'password',
       capsTooltip: false,
@@ -134,6 +134,8 @@ export default {
   },
   created() {
     // window.addEventListener('storage', this.afterQRScan)
+    console.log('created')
+    this.siteConfig()
   },
   mounted() {
     if (this.loginForm.username === '') {
@@ -165,11 +167,11 @@ export default {
         if (valid) {
           this.loading = true
           this.$store.dispatch('user/login', this.loginForm)
-            .then(() => {
+            .then((response) => {
               this.$router.push({ path: this.redirect || '/', query: this.otherQuery })
               this.loading = false
             })
-            .catch(() => {
+            .catch(error => {
               this.loading = false
             })
         } else {
@@ -178,6 +180,16 @@ export default {
         }
       })
     },
+    //获取网站设置
+    siteConfig() {
+      // this.$store.dispatch('settings/getWebSetting', {})
+      //   .then(response => {
+          
+      //   })
+      //   .catch((error) => {
+          
+      //   })
+    },
     getOtherQuery(query) {
       return Object.keys(query).reduce((acc, cur) => {
         if (cur !== 'redirect') {

+ 10 - 1
vue.config.js

@@ -36,7 +36,16 @@ module.exports = {
       warnings: false,
       errors: true
     },
-    before: require('./mock/mock-server.js')
+    proxy: {
+      [process.env.VUE_APP_BASE_API]:{
+        target:"http://172.24.191.210:8868",
+        changeOrigin:true,
+        pathRewrite:{
+          ["^" + process.env.VUE_APP_BASE_API] : ""
+        }
+      }
+    }
+    /*before: require('./mock/mock-server.js')*/
   },
   configureWebpack: {
     // provide the app's title in webpack's name field, so that