更新记录

1.1.0(2023-04-06)

修改end和error事件名

1.0.0(2023-04-06)

最好用的手势监听插件!谁用谁知道!欢迎提issue!


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-nvue × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

1.将组件放到项目components目录下

2.引用组件import gesture from '@/components/mqy-gesture/mqy-gesture.vue'

3.如果在nvue场景使用,把后缀改为nvue即可。即:mqy-gesture.nvue

4.如果在vue3下,习惯setup写法,就自己改下

5.代码示例

<template>
    <view>
        <gesture class="mask" :fullStatus="fullStatus" @onClick="handleMask" @onDBClick="dblclick"
            @onLongpress="onLongTap" @slideLeft="handleSeekTo($event,-1)" @slideRight="handleSeekTo($event,1)"
            @slideUpLeft="slideUpLeft" @slideUpRight="slideUpRight" @slideDownLeft="slideDownLeft"
            @slideDownRight="slideDownRight" @handleEnd="handleEnd" @handleError="handleError" />
    </view>
</template>

<script>
    //将组件引用
    import gesture from '@/components/mqy-gesture/mqy-gesture.vue'

    export default {
        components: {
            gesture,
        },
        data() {
            return {
                fullStatus: false, // 是否全屏
            }
        },
        methods: {
            /**
             * 点击空白区域
             */
            handleMask() {},
            /**
             * 双击
             */
            dblclick() {},
            /**
             * 长按触发倍速播放
             */
            onLongTap() {},
            /**
             * 页面滑动
             * type : 1:右滑,2:左滑
             */
            handleSeekTo(data, type = 1) {},
            /**
             * 左边上滑
             * @param {Object} data 触摸结果
             */
            slideUpLeft(data) {},
            /**
             * 左边下滑
             * @param {Object} data 触摸结果
             */
            slideDownLeft(data) {},
            /**
             * 右边上滑
             * @param {Object} data 触摸结果
             */
            slideUpRight(data) {},
            /**
             * 右边下滑
             * @param {Object} data 触摸结果
             */
            slideDownRight(data) {},
            /**
             * 触摸结束事件
             */
            handleEnd() {},
            /**
             * 触摸错误事件,理应做和结束事件一样的处理
             */
            handleError() {},
        }
    }
</script>

<style lang="scss" scoped>
    .mask {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
    }
</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问