0.1.2 • Published 6 years ago

@ddot/umi-plugin-service v0.1.2

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

umi-plugin-service

NPM version code style: prettier MIT

umi服务接口插件。

配置

.umirc.js

export default {
  plugins: [
    [
      '@ddot/umi-plugin-service'
    ]
  ]
};

目录及约定

.
├── dist/                          
├── mock/                         
└── src/                
    ├── layouts/index.js          
    ├── pages/    
    └── api                // 接口定义文件存放目录,里面的文件会被umi自动读取
      ├── user.yaml
      └── auth.yaml                   
├── .umirc.js                     
├── .umirc.service.yaml                     
├── .env                          
└── package.json

服务文件约定

auth.yaml

login:
   method: POST
   url: /login

user.yaml

getUser:
  url: /login/{userId}/{info}

扩展API

当使用本插件后,umi项目中会新增一个API: @ddot/umi-service,你可以通过引入这个新的API,获得关于服务接口功能在编程上的便利。

import { login, getUser } from "@ddot/umi-service";

login({ data });
getUser({ userId: "", info: "" });
import { getUser } from "@ddot/umi-service";

export default {
  effects: {
    *loginIn({ payload }, { call }) {
      yield call(login);
    },
    *getUser({ payload }, { call }) {
      yield call(getUser, {
        userId: payload.userId,
        info: payload.info,
      });
    }
  }
};

追加ts提示

tsconfig.json

    ...
    "baseUrl": ".",
    "paths": {
      "@ddot/umi-service": ["./src/pages/.umi/umi-service"],
      ...
    },