uni-app实现全局水印示例详解

 更新时间:2023年07月10日 11:46:49   作者:小李不小  
这篇文章主要为大家介绍了uni-app实现全局水印示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

使用方法

1、在App.vue中引入并设置水印

2、本例子使用的水印图片是250*250px的,可以根据需要自己调整样式

3、watermark.js内容见下方

<script>  
    import watermark from '@/commons/framework/watermark.js'  
    export default {  
        onLaunch: function() {  
            watermark.set('/static/framework/imgs/watermark.png');  
        },  
        onShow: function() {  
            console.log('App Show');  
        },  
        onHide: function() {  
            console.log('App Hide')  
        }  
    }  
</script>

watermark.js

'use strict';  
let watermark = {};  
watermark.set = (path) => {  
    let id = '1.23452384164.123412415';  
    // #ifdef H5  
    if (document.getElementById(id) !== null) {  
        document.body.removeChild(document.getElementById(id));  
    }  
    let div = document.createElement('div');  
    div.id = id;  
    div.style.pointerEvents = 'none';  
    div.style.top = '44px';  
    div.style.left = '-40px';  
    div.style.bottom = '50px';  
    div.style.right = '0px';  
    div.style.position = 'fixed';  
    div.style.zIndex = '100000';  
    div.style.zoom = '0.6'; //设置缩放  
    div.style.opacity = '0.5'; //设置透明度  
    div.style.background = 'url(' + path + ') left top repeat';  
    document.body.appendChild(div);  
    return id;  
    // #endif  
    // #ifdef APP-PLUS  
    if (plus.nativeObj.View.getViewById(id) !== null) {  
        plus.nativeObj.View.getViewById(id).close();  
    }  
    uni.getSystemInfo({  
        success: function (res) {  
            //水印排列行数  
            let row = Math.floor(res.windowHeight / uni.upx2px(250));  
            let tarArr = [];  
            for(let i = 0; i < row; i++) {  
                for(let j = 0; j < 3; j++){  
                    tarArr.push({  
                        tag: 'img',  
                        src: path,  
                        position: {  
                            top: (uni.upx2px(255) * i) + 'px',  
                            left: (uni.upx2px(255) * j) + 'px',  
                            width: uni.upx2px(255) + 'px',  
                            height: uni.upx2px(255) + 'px'  
                        }  
                    });  
                }  
            }  
            var watermarkView = new plus.nativeObj.View(id, {  
                top:'70px',  
                left:'0px',  
                right: '0px',  
                bottom: '50px'  
            }, tarArr);  
            //拦截View控件的触屏事件,将事件穿透给下一层view  
            watermarkView.interceptTouchEvent(false);   
            watermarkView.show();  
        }  
    });  
    // #endif  
}  
export default watermark;

图片

以上就是uni-app实现全局水印示例详解的详细内容,更多关于uni-app全局水印的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:

相关文章

  • webpack打包进度展示以及美化教程

    webpack打包进度展示以及美化教程

    webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler),下面这篇文章主要给大家介绍了关于webpack打包进度展示以及美化的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • TypeScript开发小状况记录之选且只选一个

    TypeScript开发小状况记录之选且只选一个

    在开发中需要定义一个对象的类型,此类型必须包含某n个字段中的其中一种,这篇文章主要给大家介绍了关于TypeScript开发小状况记录之选且只选一个的相关资料,需要的朋友可以参考下
    2022-10-10
  • js中的hasOwnProperty和isPrototypeOf方法使用实例

    js中的hasOwnProperty和isPrototypeOf方法使用实例

    这篇文章主要介绍了js中的hasOwnProperty和isPrototypeOf方法使用实例,需要的朋友可以参考下
    2014-06-06
  • JavaScript包装对象使用介绍

    JavaScript包装对象使用介绍

    这篇文章主要介绍了JavaScript中包装对象的一些知识点,包括内置对象等
    2013-08-08
  • 微信小程序webSocket的使用方法

    微信小程序webSocket的使用方法

    这篇文章主要介绍了微信小程序webSocket的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • JS中Iframe之间传值及子页面与父页面应用

    JS中Iframe之间传值及子页面与父页面应用

    用iframe做系统框架,相信很多朋友都有这样的经历吧,接下来将为你详细介绍下JS中Iframe之间传值应用,感兴趣的你可以参考下哈,希望可以帮助到你
    2013-03-03
  • 微信小程序遍历Echarts图表实现多个饼图

    微信小程序遍历Echarts图表实现多个饼图

    这篇文章主要介绍了微信小程序遍历Echarts图表实现多个饼图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 微信小程序实现文字跑马灯效果

    微信小程序实现文字跑马灯效果

    这篇文章主要为大家详细介绍了微信小程序实现文字跑马灯效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • JavaScript delete操作符应用实例

    JavaScript delete操作符应用实例

    delete 运算符 从对象中删除一个属性,或从数组中删除一个元素。
    2009-01-01
  • 微信小程序使用vant组件库的详细步骤

    微信小程序使用vant组件库的详细步骤

    VantWeapp是有赞团队开源的小程序UI组件库,可快速搭建小程序项目,小程序支持npm安装第三方包,但需使用开发者工具构建,VantWeapp提供全局和局部注册方式,支持自定义事件和插槽,可通过解除样式隔离、使用外部样式类和CSS变量修改组件样式
    2024-09-09

最新评论