util.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //这个js是查询单条的工具接口,因为不是所有查询单条的情况都有id
  2. //可能用几个条件就可以确定数据的唯一性,所以有这个接口
  3. import Vue from 'vue';
  4. import Vuex from 'vuex';
  5. import _ from 'lodash';
  6. import axios from 'axios';
  7. Vue.use(Vuex);
  8. const api = {
  9. interface: modelname => `/api/train/common/findone/${modelname}`,
  10. findModel: model => `/api/train/common/findbymodel?modelname=${model}`,
  11. findByIds: model => `/api/train/common/findbyids/${model}`,
  12. util: `/api/train/util`,
  13. taskupload: `/files/task/upload`,
  14. };
  15. const state = () => ({});
  16. const mutations = {};
  17. const actions = {
  18. async fetch({ commit }, { skip, limit, model, ...info } = {}) {
  19. const res = await this.$axios.$get(`${api.interface(model)}`, { skip, limit, ...info });
  20. return res;
  21. },
  22. async findModel({ commit }, payload) {
  23. const res = await this.$axios.$get(`${api.findModel(payload)}`);
  24. return res;
  25. },
  26. async findIds({ commit }, { model, ids }) {
  27. const res = await this.$axios.$get(`${api.findByIds(model)}`, { data: ids });
  28. return res;
  29. },
  30. async utilMethod({ commit }, payload) {
  31. const res = await this.$axios.$post(`${api.util}`, payload);
  32. },
  33. async upload({ commit }, { file, uri }) {
  34. // const res = await this.$axios.$post(`${api.taskupload}`, payload, null, { 'Content-Type': 'multipart/form-data' });
  35. let param = new FormData(); //创建form对象
  36. param.append('file', file); //通过append向form对象添加数据
  37. const config = {
  38. headers: { 'Content-Type': 'multipart/form-data' },
  39. };
  40. const res = await axios.post(`${uri}`, param, config);
  41. return res;
  42. },
  43. };
  44. export default {
  45. namespaced: true,
  46. state,
  47. mutations,
  48. actions,
  49. };