传统的开发是把所有的URL和接口服务写在一起,这样不便于维护归类,通过规范化Service定义来达到一个规范

    一个常规的service服务类如下:

    1. /**
    2. * 服务请求类
    3. */
    4. import request from "ucf-request";
    5. //定义接口地址
    6. const URL = {
    7. "GET_LIST": `/order/list`
    8. }
    9. /**
    10. * 获取主列表
    11. * @param {*} params
    12. */
    13. export const getList = (params) => {
    14. return request(URL.GET_LIST, {
    15. method: "get",
    16. params
    17. });
    18. }

    然后在model里面导入该类拿到调用的方法,大致如下:

    1. /**
    2. * 数据模型类
    3. */
    4. import { actions } from "mirrorx";
    5. import * as api from "./service";
    6. export default {
    7. // 确定 Store 中的数据模型作用域
    8. name: "app",
    9. // 设置当前 Model 所需的初始化 state
    10. initialState: {
    11. order: '',
    12. },
    13. reducers: {
    14. /**
    15. * 纯函数,相当于 Redux 中的 Reducer,只负责对数据的更新。
    16. * @param {*} state
    17. * @param {*} data
    18. */
    19. updateState(state, data) { //更新state
    20. return {
    21. ...state,
    22. ...data
    23. };
    24. }
    25. },
    26. effects: {
    27. /**
    28. * 按钮测试数据
    29. * @param {*} param
    30. * @param {*} getState
    31. */
    32. async loadData(params, getState) {
    33. let result = await api.getList(params);
    34. return result;
    35. }
    36. }
    37. };