amis
amis copied to clipboard
1.9版本全局api的适配器配置是修改么?没生效
实现场景:
我升级了最新版本1.9.0版本,发现全局api适配器配置了没响应,页面直接卡死
存在的问题:
请求等待相应,页面卡死
当前方案:
当前暂时在请求api里面加,但是这样不是很方便
// 全局 api 请求适配器
// 另外在 amis 配置项中的 api 也可以配置适配器,针对某个特定接口单独处理。
requestAdaptor: (api) => {
return api;
},
//
// 全局 api 适配器。
// 另外在 amis 配置项中的 api 也可以配置适配器,针对某个特定接口单独处理。
responseAdaptor: (api, payload, query, request, response) => {
console.log(api, payload, response)
return {
...payload,
status: payload.code === 200 ? 0 : payload.code
};
},
只是加了个第五个参数,按理没不会影响原来的,卡死具体是指啥?
只是加了个第五个参数,按理没不会影响原来的,卡死具体是指啥? 接口请求等待,loading直接停止了,页面静止,没响应了
![]()
@nwind @2betop 麻烦确认下,全局请求响应拦截配置新的版本确实用不了啊
亲测有用,请确保 env 是 amis.embed 的第四个参数传进去的,如果是第三个是没用的。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<title>amis demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<link rel="stylesheet" href="./node_modules/amis/sdk/sdk.css" />
<link rel="stylesheet" href="./node_modules/amis/sdk/helper.css" />
<link rel="stylesheet" href="./node_modules/amis/sdk/iconfont.css" />
<!-- 这是默认主题所需的,如果是其他主题则不需要 -->
<!-- 从 1.1.0 开始 sdk.css 将不支持 IE 11,如果要支持 IE11 请引用这个 css,并把前面那个删了 -->
<!-- <link rel="stylesheet" href="sdk-ie11.css" /> -->
<!-- 不过 amis 开发团队几乎没测试过 IE 11 下的效果,所以可能有细节功能用不了,如果发现请报 issue -->
<style>
html,
body,
.app-wrapper {
position: relative;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div id="root" class="app-wrapper"></div>
<script src="./node_modules/amis/sdk/sdk.js"></script>
<script type="text/javascript">
(function () {
let amis = amisRequire("amis/embed");
// 通过替换下面这个配置来生成不同页面
let amisJSON = {
type: "page",
title: "表单页面",
body: {
type: "form",
mode: "horizontal",
api: "/saveForm",
body: [
{
label: "Name",
type: "input-text",
name: "name",
},
{
label: "Email",
type: "input-email",
name: "email",
},
],
},
};
let amisScoped = amis.embed("#root", amisJSON, {}, {
responseAdaptor(api, payload, query, request, response) {
debugger;
console.log(api);
return payload;
},
});
})();
</script>
</body>
</html>
在react项目中全局使用responseAdaptor不生效是什么原因?
@zlwaiwjj 解决了吗。我这里也不生效