区分手机小程序以及电脑小程序;左滑、导航键返回拦截

1、区分电脑小程序和手机小程序

html 复制代码
//区分电脑小程序、手机小程序(目标:手机小程序)
// #ifdef MP-WEIXIN
uni.getSystemInfo({
	success: (res) => {
		// windows | mac为pc端
		// android | ios为手机端
		// console.log('getSystemInfo,', res.platform);
		if (res.platform == "android" || res.platform == "ios")
			this.preMode = true;
		}
});
// #endif

2、小程序拦截返回

注:目前小程序拦截返回,只检测到了在某种状态下返回的行为,但没有理想的事件执行

html 复制代码
//小程序左滑、导航键返回拦截
onLoad(){
    //小程序拦截左滑,导航键返回
    if (!this.$fn.empty(this.previewFlag)) {
	    wx.enableAlertBeforeUnload({
		    message: "点击右上角关闭"
	    });
    }
}
method:{
    // 查看文件
	open(event) {
		this.previewFlag = true;
		if (this.preMode) {
			// #ifdef MP-WEIXIN
			wx.enableAlertBeforeUnload({
				message: "点击右上角关闭",
			});
		    // #endif
        }
	},
    close() {
		this.previewFlag = false;
		if (this.preMode) {
			// #ifdef MP-WEIXIN
			wx.disableAlertBeforeUnload();
			// #endif
		}
	},
}

3、app左滑、导航键返回拦截

当在图片预览状态左滑返回时,不返回上一页面,而是关闭图片预览状态

html 复制代码
// 拦截图片预览返回上一页面
onBackPress(e) {
	if (e.from == "navigateBack" || e.from == "backbutton") {
		if (!this.$fn.empty(this.previewFlag)) {
			this.$refs.fileopen.close();
			return true;
		}
	}
},

注:在手机小程序上使用uni.previewImage预览图片时会调用onHide、onShow,在关闭图片的几秒时间内操作卡顿

相关推荐
万岳科技系统开发2 小时前
外卖系统选型与源码与 SaaS 实践的思考
数据库·小程序
志遥4 小时前
我把 Sentry 接进了 7 端小程序:从异常捕获、Breadcrumb 到 Source Map 定位
微信小程序·监控
云起SAAS4 小时前
在线客服系统源码 | 支持PC管理端+H5访客端+实时聊天
微信小程序·ai编程·看广告变现轻·在线客服系统源码
bug总结5 小时前
小程序云函数 vs 传统前后端分离(阿里云)原理解析
阿里云·小程序·云计算
2501_933907215 小时前
如何通过上海本凡科技获得优质的小程序开发服务?
科技·微信小程序·小程序
计算机徐师兄6 小时前
Java基于微信小程序的青少年科普教学系统【附源码、文档说明】
java·微信小程序·青少年科普教学系统小程序·java青少年科普教学小程序·青少年科普教学微信小程序·青少年科普教学小程序·科普教学微信小程序
a177988771217 小时前
小程序上传图像失败
小程序·c#
花卷HJ1 天前
微信小程序国际化完整方案
微信小程序·小程序·notepad++
2501_916008891 天前
2026 iOS 证书管理,告别钥匙串依赖,构建可复制的签名环境
android·ios·小程序·https·uni-app·iphone·webview
nhc0881 天前
贵阳纳海川科技・上门洗车行业解决方案
科技·微信小程序·软件开发·小程序开发