Ant Design Pro: 请求接口函数复用

先看代码,如下:

export async function list(url, params, token) {
	return request(url, {
		method: 'GET',
		headers: {
			'Content-Type': 'multipart/form-data',
			'Authori-zation': `Bearer ${token}`,
		},
		params: params,
	});
}

以上就是一个表格列表可以复用的请求函数,因为它的形式是固定的,并且因为几乎每个页面都需要请求表格列表的接口,所以只需要通过传参,传递一个接口的url,和请求参数的对象即可达到复用的效果。

  • 而其它类的,例如:修改状态的开关
export async function switchStatus(url, token) {
  return request(url, {
    method: 'PUT',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
      'Authori-zation': `Bearer ${token}`,
    },
  });
}

具体形式应当根据接口进行变化,此crmeb项目的接口的修改状态的接口请求的是一个路径后拼接一个要修改状态的id,和要修改的状态。

这点工作可以通过函数多传两个参数来完成,也可以通过在调用此请求时直接在url后拼接当前点击开关的那一项的id与status,如下:

     {
       title: '状态',
       dataIndex: 'status',
       render: (item, row, index) => {
          return (
            <Switch
								size={`small`}
                checkedChildren={`显示`}
                unCheckedChildren={`隐藏`}
                defaultChecked={item === 1}
                onChange={(checked) => {
                  switchStatus(//switchStatus为修改状态的请求函数
                `http/${row.id}/${
                          checked ? 1 : 0
                        }`,
                        token,
                      ).then((res) => {
                        if (res.status === 200) {
                          message.success(res.msg);
                        } else {
                          message.error(`修改失败`);
                        }
                      });
                    }}
                  />
                );
              },
            },

剩余的添加、编辑等都与此大致相同。

如此一来,整个项目的都只需要调用此文件中的几个类型(列表、添加、删除、编辑、开关)的请求函数即可完成整个项目的请求需求。

这不仅仅局限于后台管理系统类的项目的复用接口函数。

这其实是一种复用的思想,能够达到复用目的减少代码量,增加开发效率与后续的可维护性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值