uni-app 公共API uni.scanCode在字节跳动小程序中左上角无法返回 全局返回键也无效果

uni-app 公共API uni.scanCode在字节跳动小程序中左上角无法返回 全局返回键也无效果

示例代码:

uni.scanCode({  
    success: function(res) {  
        console.log('条码类型:' + res.scanType);  
        console.log('条码内容:' + res.result);  
    },  
    fail:function(e){  
        console.log(e)  
    }  
}) 

操作步骤:

  • 拉起抖音小程序的扫码界面,点击左上角返回按钮或者全面屏返回

预期结果:

  • 正常返回上一页面

实际结果:

  • 无任何反应

bug描述:

公共API,uni.scanCode在字节跳动小程序中,左上角无法返回,全局返回键也无效果


| 信息类别         | 详细信息          |
|------------------|-------------------|
| 产品分类         | uniapp/小程序/字节跳动 |
| PC开发环境操作系统 | Windows           |
| PC开发环境操作系统版本号 | Windows 10 21H2   |
| HBuilderX类型    | 正式              |
| HBuilderX版本号  | 3.3.13            |
| 第三方开发者工具版本号 | 3.2.5-2           |
| 基础库版本号     | 2.45.0.4          |
| 项目创建方式     | HBuilderX         |

更多关于uni-app 公共API uni.scanCode在字节跳动小程序中左上角无法返回 全局返回键也无效果的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

用示例代码hello uni-app能出现你的问题吗? 【bug优先处理规则】https://ask.dcloud.net.cn/article/38139

更多关于uni-app 公共API uni.scanCode在字节跳动小程序中左上角无法返回 全局返回键也无效果的实战教程也可以访问 https://www.itying.com/category-93-b0.html


我们的项目也遇到相同的问题,麻烦确认处理。

回复 enderX: 安卓手机可复现

我们目前准备上线的项目也遇到了,麻烦处理一下出个方案,安卓手机可以复现

回复 enderX: 直接使用字节小程序(不使用uni-app)测试,是否仍然存在此问题?

回复 DCloud_UNI_Anne: 试了下不行

回复 8***@qq.com: 请反馈至字节小程序社区

uni-app 中,uni.scanCode API 用于调用设备的扫码功能。在字节跳动小程序(如抖音小程序)中,可能会遇到左上角返回按钮和全局返回键无法正常返回的问题。这通常是由于扫码页面的生命周期管理或页面栈的问题导致的。

解决方案

  1. 检查页面栈: 确保扫码页面正确入栈和出栈。如果页面栈管理不当,可能会导致返回按钮失效。

  2. 手动处理返回事件: 在扫码页面中,手动监听返回事件,并在事件中处理返回逻辑。

    uni.onBackPress(() => {
        // 处理返回逻辑
        uni.navigateBack();
        return true; // 返回 true 表示阻止默认返回行为
    });
    
  3. 使用 uni.navigateBack: 在扫码完成后,手动调用 uni.navigateBack 返回上一页。

    uni.scanCode({
        success: (res) => {
            console.log('扫码结果:', res);
            // 处理扫码结果
            uni.navigateBack(); // 返回上一页
        },
        fail: (err) => {
            console.error('扫码失败:', err);
            uni.navigateBack(); // 返回上一页
        }
    });
    
  4. 检查页面生命周期: 确保扫码页面的生命周期函数(如 onLoad, onShow, onHide 等)正确执行,避免页面状态异常。

  5. 更新 uni-app 版本: 确保使用的 uni-app 版本是最新的,因为框架可能会修复一些已知的兼容性问题。

  6. 字节跳动小程序特定问题: 如果问题仅在字节跳动小程序中出现,可能需要查看字节跳动小程序的官方文档或社区,了解是否有已知问题或特定的解决方案。

示例代码

export default {
    methods: {
        scanCode() {
            uni.scanCode({
                success: (res) => {
                    console.log('扫码结果:', res);
                    // 处理扫码结果
                    uni.navigateBack(); // 返回上一页
                },
                fail: (err) => {
                    console.error('扫码失败:', err);
                    uni.navigateBack(); // 返回上一页
                }
            });
        }
    },
    onBackPress() {
        uni.navigateBack();
        return true; // 阻止默认返回行为
    }
};
回到顶部