研发图纸文件管理系统-前端项目
iczer
2020-07-15 3ff12474cdbfb65762858bde797735259e526b91
feat: add service module; :star2:
新增: 数据服务模块;
4个文件已添加
1个文件已修改
66 ■■■■■ 已修改文件
src/pages/login/Login.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/index.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/user.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/login/Login.vue
@@ -75,6 +75,7 @@
<script>
import CommonLayout from '@/layouts/CommonLayout'
import {login} from '@/services'
export default {
  name: 'Login',
@@ -97,10 +98,11 @@
      this.form.validateFields((err) => {
        if (!err) {
          this.logging = true
          this.$axios.post('/login', {
            name: this.form.getFieldValue('name'),
            password: this.form.getFieldValue('password')
          }).then((res) => {
          const name = this.form.getFieldValue('name')
          const password = this.form.getFieldValue('password')
          // 登录
          login(name, password)
          .then((res) => {
            this.logging = false
            const result = res.data
            if (result.code >= 0) {
src/services/api.js
New file
@@ -0,0 +1,5 @@
// const BASE_URL = 'http://localhost:8080' your service base url
const BASE_URL = '' // mock base url
module.exports = {
  LOGIN: `${BASE_URL}/login`
}
src/services/index.js
New file
@@ -0,0 +1,5 @@
import {login} from './user'
export {
  login
}
src/services/user.js
New file
@@ -0,0 +1,17 @@
import {LOGIN} from '@/services/api'
import {request, METHOD} from '@/utils/request'
/**
 * 登录服务
 * @param name 账户名
 * @param password 账户密码
 * @returns {Promise<AxiosResponse<T>>}
 */
function login(name, password) {
  return request(LOGIN, METHOD.POST, {
    name: name,
    password: password
  })
}
export {login}
src/utils/request.js
New file
@@ -0,0 +1,29 @@
import axios from 'axios'
const METHOD = {
  GET: 'get',
  POST: 'post'
}
/**
 * axios请求函数
 * @param url 请求地址
 * @param method {METHOD} http method
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
async function request(url, method, params) {
  switch (method) {
    case METHOD.GET:
      return axios.get(url, {params})
    case METHOD.POST:
      return axios.post(url, params)
    default:
      return axios.get(url, {params})
  }
}
export {
  METHOD,
  request
}