帖子
帖子
用户
博客
课程
显示全部楼层
59
帖子
2
勋章
452
Y币

开放平台API获取到数据后端如何接收?

[复制链接]
发表于 2023-4-6 18:33:11
我后端脚本如下:
  1. let AbstractTrigger = require('AbstractTrigger');
  2. class MyTrigger extends AbstractTrigger {
  3.     execute(context,param){
  4.        let url = "https://dbox.diwork.com/iuap-api-gateway/yonbip/sd/dst/salesdaily/query";
  5.        let body = {
  6.                       "partParam": {
  7.                           "pageIndex":1,
  8.                           "pageSize":1,
  9.                           "shopCode": "23"
  10.                       }
  11.                   };  //请求参数
  12.       let apiResponse = openLinker("POST", url, "AT176AE5641C400003",JSON.stringify(body));  //TODO:注意填写应用编码(请看注意事项)
  13.       //这里怎么处理apiResponse能让我接收到api返回的数据呢?
  14.       return {apiResponse};
  15.     }
  16.   }
复制代码
在代码【let apiResponse = openLinker("POST", url, "AT176AE5641C400003",JSON.stringify(body));】与代码【return {apiResponse};】之间如何处理才能接收到数据呢?
我之前在这之间写的代码如下:
  1. //       let res = JSON.parse(apiResponse.res.apiResponse).data
  2. // let newData = [];  //创建一个新数组接收
  3. //   let obj = {};  //创建一个临时对象
  4. //   res.map(item => {
  5. //     obj = item;
  6. //     obj['salesDailyImDetailList'] = item['salesdailyRptDetail'];  //替换键
  7. //     for(var i in item){
  8. //         if(typeof item[i] == 'number'){
  9. //             item[i] = JSON.stringify(item[i])
  10. //         }
  11. //         if(i == 'salesdailyRptDetail'){
  12. //             let sale = item['salesDailyImDetailList']
  13. //             sale.map(it =>{
  14. //                 for(var itItem in it){
  15. //                     if(typeof it[itItem] == 'number'){
  16. //                         it[itItem] = JSON.stringify(it[itItem])
  17. //                     }
  18. //                 }
  19. //             })
  20.            
  21. //         }
  22. //     }
  23.    
  24. //     delete obj['salesdailyRptDetail'];  //替换后删除,也可以不删除
  25. //     newData.push(obj)     //将替换后的对象重新放入新的数组中
  26. //   })
复制代码

但是报错【
"Cannot read property 'apiResponse' of undefined"


143
帖子
2
勋章
4万+
Y币
apiResponse是对象  throw 出来  看下它的结构  然后再取值就行   throw new Error(JSON.stringify(apiResponse))
59
帖子
2
勋章
452
Y币
yonyouhmm · 2023-4-6 18:37apiResponse是对象  throw 出来  看下它的结构  然后再取值就行   throw new Error(JSON.stringify(apiResponse))

这个有文档示例吗?您给我的这个解决方法不太看得懂,throw的数据我存哪呢?
143
帖子
2
勋章
4万+
Y币
欣欣8687 · 2023-4-7 08:48
这个有文档示例吗?您给我的这个解决方法不太看得懂,throw的数据我存哪呢?

调用后端函数的地方就能看  这个就相当于返回的错误信息  信息里是apiResponse
59
帖子
2
勋章
452
Y币
yonyouhmm · 2023-4-7 08:57调用后端函数的地方就能看  这个就相当于返回的错误信息  信息里是apiResponse

调用后端函数的地方那里也只能看到怎么返回的数据,但是并没有说怎么接收数据啊;而且我用了throw这个方法之后,F12并没有看到相关的信息啊
268
帖子
3
勋章
903
Y币
apiResponse为json字符串,先用JSON.parse(apiResponse)转换为对象,再按照文档的返回示例【.属性】获取即可
您需要登录后才可以回帖 登录

本版积分规则