需要 bearer token 的数据推送
原理:每次推送先获得一个 token,然后将这个 token 放入 header 的 authorization 字段中。
执行:
- 在项目实施文件夹下新建一个
auth文件夹,创建一个getAccessToken.js文件,并添加如下代码:
import axios from "axios";
export default {
// 'sms'这里替换为每个数据消费者的id
'sms': async () => {
const ret = await axios.post("host:port", {
appId: "xxx", // 示例
appSecret: "xxx", // 示例
});
if (ret.success) {
return ret.data.token;
} else {
console.error("[API dataconsumer] 获取accessToken失败");
throw new Error("获取accessToken失败");
}
},
}
- 在同级目录下添加
index.js文件,将getAccessToken.js暴露出来:
import getAccessToken from "./getAccessToken.js";
export default {
getAccessToken,
};
- 在系统参数配置的dataConsumer内的对应项添加字段
"authType": "bearer":
"dataConsumers": [
{
"id": "crm",
"url": "xxx",
"ui": {
"tooltip": "xxx",
"show": "xxx"
},
"authType": "bearer", //新添加
"appId": "xxx" // 其他需要放在headers里面的字段
}
],