1. 程式人生 > >12.【nuxt起步】-介面請求重構

12.【nuxt起步】-介面請求重構

storeapi資料互動部分重構出來,讓前端更輕一點

新建 /store/gettter.js /store/actions.js /server/config/index.js

Index.js:

export default {

  app:{

  domain:'',

  host:'localhost',

  port:3001,

  routerBaseApi:'api'

  }

Getter.js:

import globalConfig from '../server/config'

export default {

  baseUrl(){

    let host

    if (process.env.NODE_ENV === 'production' && globalConfig.app.domain) {

      host = `${globalConfig.app.domain}/${globalConfig.app.routerBaseApi}`

    } else {

      host = `http://${globalConfig.app.host}:${globalConfig.app.port}/${globalConfig.app.routerBaseApi}`

    }

    return host

},

routerBaseApi(){

  let routerBaseApi =globalConfig.app.routerBaseApi

  return routerBaseApi

}

}

Actions.js:

import axios from 'axios' import qs from 'qs' export default {   //資訊詳情   async THREADDETAIL({commit,state,getters}, id = 1) {     var postData = qs.stringify({           "Token": "",           "Plat": 0,           "TimeStamp": 0,           "Sign": ""           });     let res = await axios({       headers: {'Content-Type': 'application/x-www-form-urlencoded'},       method: 'post',       url: `${getters.baseUrl}/thread/detail?Id=${id}`,       data: postData     })     return res.data } }

 

修改 /store/index.js

import Vuex from 'vuex'

import getters from './getters'

import mutations from './mutations'

import actions from './actions'

 

export default () => {

  return new Vuex.Store({

    getters,

    mutations,

    actions

  })

}