uni-app 有偿求助改造下面这个打印方法已使用于 IOS14,15

发布于 1周前 作者 phonegap100 来自 Uni-App

uni-app 有偿求助改造下面这个打印方法已使用于 IOS14,15

以上打印代码我在IOS12 中测试通过,可是在手上的一部IOS15 手机上却没反应,求高手进行IOS 14,15 兼容性处理,小弟200元红包献上



| 属性         | 值   |
|--------------|------|
| 开发环境     | iOS  |
| 版本号       | 12   |
| 项目创建方式 | -    |
6 回复

可以写插件处理 QQ 735356384


QQ有验证无法添加好友

公司承接项目外包开发、双端(Android,iOS)原生插件开发。
为什么选择我们: 1、1000+项目开发积累,数百种商业模式开发经验,更懂您的需求,沟通无障碍。 2、一年免费技术保障,系统故障或被攻击,2小时快速响应提供解决方案落地。 3、软件开发源码定制工厂,去中间商降低成本,提高软件开发需求沟通效率。 4、纯原生开发,拒绝模板和封装系统,随时更新迭代,增加功能,无需重做系统。 5、APP定制包办软件著作权申请,30天内保证拿到软著证书,知识产权受保护。 6、中软云科技导入严谨的项目管理系统,确保项目准时交付,快速抢占市场商机。 7、软件开发费、维护费、第三方各种费用公开透明,不花冤枉钱,不玩套路。
已有大量双端插件、App、小程序、公众号、PC、移动端、游戏等案例。
行业开发经验:银行、医疗、直播、电商、教育、旅游、餐饮、分销、微商、物联网、零售等
商务QQ:1559653449 商务微信:fan-rising
7x24小时在线,欢迎咨询了解

碰到同样的问题, 请问解决了吗??

当然可以帮你改造一个适用于 uni-app 的打印方法,以确保它在 iOS 14 和 iOS 15 上都能正常工作。在 uni-app 中,我们通常使用 uni.showModaluni.print 来处理打印功能,但需要注意的是,uni.print 在某些平台上可能并不支持。因此,为了确保跨平台兼容性,我们通常会结合平台判断来实现特定的功能。

以下是一个改造后的打印方法示例,该方法将尝试使用 uni.print,并在不支持的情况下回退到调用系统打印功能(通过 window.print,但这通常用于 Web 端,iOS 上可能需要借助其他方式,如调用原生模块)。由于 uni-app 在 iOS 上通常是通过原生应用壳来运行的,这里我们假设你会使用条件编译和原生插件来实现 iOS 特定的功能。

// 在 uni-app 中使用条件编译来区分平台
#ifdef APP-PLUS
// 对于 App 平台(包括 iOS),我们可以尝试调用原生插件或 uni.print(如果支持)
function printPage() {
    #ifdef IOS
    // 这里假设你有一个名为 `printPlugin` 的原生插件来处理 iOS 打印
    if (window.plus && window.plus.printPlugin) {
        window.plus.printPlugin.print({
            content: '这是需要打印的内容', // 这里可以传入 HTML 字符串或其他格式的内容
            success: function () {
                console.log('打印成功');
            },
            fail: function (error) {
                console.error('打印失败:', error);
            }
        });
    } else if (uni.canIUse('print')) {
        // 如果支持 uni.print,则使用它
        uni.print({
            data: '这是需要打印的内容',
            success: function () {
                console.log('打印成功');
            },
            fail: function (error) {
                console.error('打印失败:', error);
            }
        });
    } else {
        // 如果以上都不支持,则给出提示(实际应用中可能需要更复杂的处理)
        uni.showToast({
            title: '当前平台不支持打印功能',
            icon: 'none'
        });
    }
    #else
    // 对于非 iOS 平台,可以简单地使用 uni.showModal 或其他提示
    uni.showModal({
        title: '提示',
        content: '当前平台不支持直接打印,请使用其他方式',
        showCancel: false
    });
    #endif
}
#else
// 对于非 App 平台(如 H5),使用 window.print
function printPage() {
    window.print();
}
#endif

// 调用打印方法
printPage();

请注意,window.plus.printPlugin 是一个假设的原生插件,你需要根据实际情况替换为真实的插件调用或实现。如果 uni-app 未来增强了 uni.print 的跨平台支持,那么你可以简化上述代码。

回到顶部