downey
downey
  • 发布:2023-12-27 16:22
  • 更新:2023-12-27 16:22
  • 阅读:200

混合编译模式下,原生支付宝小程序打入uniapp编译的分包,地图组件标记点和气泡事件丢失

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: w11

HBuilderX类型: 正式

HBuilderX版本号: 3.99

手机系统: Android

手机系统版本号: Android 14

手机厂商: 小米

手机机型: 其他

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

支付宝小程序混合编译分包
node_modules/@dcloudio/uni-mp-alipay/dist/index.js:2092

预期结果:

地图标记和气泡事件正常点击

实际结果:

事件丢失

bug描述:

混合编译模式下,原生支付宝小程序打入uniapp编译的分包,地图组件标记点和气泡事件丢失

临时使用一个mixins解决:

// issue: uni-app支付宝小程序分包bug,node_modules/@dcloudio/uni-mp-alipay/dist/index.js:2092  
// 分包属性丢失,地图标点Market、气泡CallOut点击事件无效,此文件临时兼容处理此问题  

export default {  
    // #ifdef MP-ALIPAY  
    created() {  
        // 法一,根据组件路由补充注册事件  
        let subPath = 'sub'; // 分包路径  
        if (subPath) {  
            let path = this.$scope.is || this.$scope.route;  
            if (path.indexOf('/') === 0) {  
                path = path.substr(1);  
            }  
            my.specialMethods = my.specialMethods || {};  
            my.specialMethods[path] = ['clickCallOut', 'clickMarker'];  
        }  

        // 法二,白名单路由补充注册事件  
        // if (subPath.indexOf('/') === 0) {  
        //     subPath = subPath.substr(1);  
        // }  
        // if (subPath) {  
        //     my.specialMethods = {  
        //         [`${subPath}/packages/xxx/xxxx`]: ['clickCallOut', 'clickMarker'],  
        //         [`${subPath}/pages/xxx/xxx`]: ['clickCallOut', 'clickMarker'],  
        //     };  
        // }  
    },  
    mounted() {  
        console.log('zfb map mounted');  
    },  
    methods: {},  
    // #endif  
};  
2023-12-27 16:22 负责人:无 分享
已邀请:

要回复问题请先登录注册