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

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 小时前
美食推荐系统微信小程序
微信小程序·小程序·美食
帅次2 小时前
Flutter Container 组件详解
android·flutter·ios·小程序·kotlin·iphone·xcode
深空数字孪生3 小时前
小程序 UI 设计,怎样在方寸间实现高效交互
ui·小程序·交互
幽络源小助理4 小时前
超市售货管理平台小程序
小程序
帅次6 小时前
Flutter setState() 状态管理详细使用指南
android·flutter·ios·小程序·kotlin·android studio·iphone
浩宇软件开发7 小时前
基于微信小程序的天气预报app
微信小程序·小程序·天气app
用户6120414922138 小时前
小程序做的超市商品管理系统
微信小程序·敏捷开发·小程序·云开发
说私域9 小时前
基于开源AI智能名片链动2+1模式S2B2C商城小程序的项目投资保障研究
人工智能·小程序·开源·零售
程序员小刘9 小时前
基于鸿蒙 HarmonyOS 5 打车小程序案例
华为·小程序·harmonyos
顽强d石头9 小时前
【uniapp】小程序中input输入框的placeholder-class不生效
前端·小程序·uni-app