reading 'data-com-type')/TypeError: Cannot read properties of undefined (reading 'data-com-type')
不影响插件功能,但是会有报错被支付宝后台记录
查看报错详情,支付宝小程序为什么会有个data-com-type === 'wx'的判断,求指点
报错地点:node-module/@dcloudio/uni-mp-alipay/dist/index.js
顺便再贴一个另外一个大佬的相同问题
https://ask.dcloud.net.cn/question/132498
/>
p***@163.com (作者)
调用的是支付宝学生认证插件,咨询过官方了,他们查过与插件无关
在网上还看到类似问题,没有回复
https://ask.dcloud.net.cn/question/132498
2024-10-24 11:02
DCloud_UNI_yuhe
回复 p***@163.com: 这个光看这里也看不出来是不是 uniapp 编译的问题,你可以尝试打断点确认一下具体内容。
2024-10-24 11:09
p***@163.com (作者)
回复 DCloud_UNI_yuhe: 断点已经打过了的 其实我比较奇怪的是【ref.props['data-com-type'] === 'wx'】data-com-type是什么东西,按理说支付宝插件不会出现这种带有wx字样的东西
2024-10-24 11:29
DCloud_UNI_yuhe
回复 p***@163.com: 你好,我这里没有办法直接引入这个插件,你可以提供一个更通用的,可以复现这个问题的插件吗?或者是可以提供一个可以复现的项目吗?
2024-10-28 17:50
p***@163.com (作者)
回复 DCloud_UNI_yuhe: 最近又排查了下哈 在node-module/@dcloudio/uni-mp-alipay/dist/index.js这个文件会有data-com-type的判断
function handleRef (ref) {
if (!ref) {
return
}
if (ref.props['data-com-type'] === 'wx') {
const eventProps = {};
let refProps = ref.props;
// 初始化支付宝小程序组件事件
Object.keys(refProps).forEach(key => {
const handler = refProps[key];
const res = key.match(/^on([A-Z])(\S*)/);
if (res && typeof handler === 'function' && handler.name === 'bound handleEvent') {
const event = res && (res[1].toLowerCase() + res[2]);
refProps[key] = eventProps[key] = function () {
const props = Object.assign({}, refProps);
props[key] = handler;
// 由于支付宝事件可能包含多个参数,不使用微信小程序事件格式
delete props['data-com-type'];
triggerEvent.bind({ props })(event, {
args: [...arguments]
});
};
}
});
2024-11-05 09:35
p***@163.com (作者)
回复 p***@163.com: 就是比较奇怪 为什么支付宝会有判断等于wx字样
2024-11-05 09:35