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

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,在关闭图片的几秒时间内操作卡顿

相关推荐
一匹电信狗30 分钟前
【Linux我做主】探秘进程与fork
linux·运维·服务器·c++·ubuntu·小程序·unix
闹小艾6 小时前
教培机构线上线下课程小程序开发:构建数字化教育新生态
小程序
wx_cxc28486989187 小时前
物业后勤小程序源码介绍
微信小程序·小程序
abigale0311 小时前
【b站计算机拓荒者】【2025】微信小程序开发教程 - 3 项目目录结构
微信小程序·小程序
DonciSacer1 天前
APP&小程序抓包和下游代理
web安全·小程序
荷花微笑1 天前
小程序涉及提供提供文本深度合成技术,请补充选择:深度合成-AI问答类目
小程序
weixin_lynhgworld1 天前
剧本杀小程序:指尖上的沉浸式推理宇宙
小程序
PyAIGCMaster1 天前
第三个小程序动工:一款结合ai的菜谱小程序
小程序
砂川同学1 天前
STM32+ESP8266+ONENET+微信小程序上传数据下发指令避坑指南
stm32·嵌入式硬件·微信小程序
ywyy67981 天前
微小店推客系统开发:构建全民营销矩阵,解锁流量增长密码
人工智能·搜索引擎·微信小程序·系统·短剧·推客系统·微小店