参看bug描述
- 发布:2025-01-08 12:31
- 更新:2025-01-08 13:23
- 阅读:109
产品分类: uniCloud/App
操作步骤:
预期结果:
希望能正常使用
希望能正常使用
实际结果:
参看bug描述
参看bug描述
bug描述:
两个SDK的官网链接如下:
uniCloud服务端的nodejs版本用的是uniCloud阿里云当前已安装的最新版20.10.0。
支付宝SDK升级alipay-sdk v3 到 v4 时,用NPM下载了官网的源文件后,上传到uniCloud报错找不到index文件,无法上传安装,把package.json文件中的一些路径中的./符号删去后可以正常安装依赖,但用支付宝官网提供的方式引用SDK就报错ReferenceError: MessagePort is not defined,加不加.default都一样,用回V3版又正常。这个问题之前在dcloud论坛发过,原帖是uniCloud升级Alipay SDK版本后报错,但很多天没回应,无奈只好多次发帖,甚至提交bug。
抖音SDK用NPM下载了官网的源文件后,上传到uniCloud也报错The file "index.js" cannot be found,自建空白index.js文件后提示上传成功。然后再用抖音官网的使用方式测试SDK,报错Cannot find module 'open_api_sdk'
Require stack:……
支付宝SDK引用方式尝试过以下几种:
- const AlipaySdk = require('alipay-sdk');
- const {AlipaySdk }= require('alipay-sdk');
- const AlipaySdk = require('alipay-sdk').default;
- const {AlipaySdk} = require('alipay-sdk').default;
在本机的Node.js的v22.12.0版本的Express 框架里用第2种方式可以正常使用支付宝SDK v4。
抖音SDK引用方式尝试过以下几种:
- const Client, {MessageGetUserMessageRequest} = require('open_api_sdk');
const CredentialClient = require('open_api_credential'); - const {Client, MessageGetUserMessageRequest} = require('open_api_sdk');
const CredentialClient = require('open_api_credential');
以上方式在uniCloud阿里云上使用都不行。我前些天在支付宝社区发帖请教此事,有说新版本的运行环境不支持Web Worker特性的,也有说可能新版本的SDK不完全兼容Node.js环境的,我很是迷茫,不知所措,但又急用。
这个问题在Dcloud社区发帖多次,包括提交bug,从去年12月9号提出uniCloud阿里云默认的node.js版本问题到现在,一个月至少发了5篇帖子了,这5篇帖子中,只有第一篇帖子提出的uniCloud阿里云默认的node.js版本问题得到了解决,从18提升到20,但SDK的问题重复发了4篇帖子,在将近一个月的时间只潦草回复了一次,而且回复了一半没下文了,依然没有解决方案,请问是要劝退使用uniCloud吗?哪怕一时半会儿没有解决方案,回复及时一点儿也行啊。
易者 (作者)
好的,非常感谢!
2025-01-08 13:25