UNPKG

taro-manage-layout

Version:
42 lines (41 loc) 2.33 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WaterMark = void 0; const react_1 = __importDefault(require("react")); const taro_1 = __importDefault(require("@tarojs/taro")); const components_1 = require("@tarojs/components"); const react_2 = require("react"); const info = taro_1.default.getWindowInfo(); /** 水印工具 */ const WaterMark = ({ text = `` }) => { const [marks, setMarks] = (0, react_2.useState)([]); const getElementWidth = () => { const query = taro_1.default.createSelectorQuery(); query.select('#watermark-text-001').boundingClientRect(); query.exec((res) => { var _a, _b; if (res && res[0]) { const width = ((_a = res[0]) === null || _a === void 0 ? void 0 : _a.width) || 0; const height = ((_b = res[0]) === null || _b === void 0 ? void 0 : _b.height) || 0; const results = new Array(Math.ceil(info.screenHeight / Math.ceil(height))).fill(new Array(Math.ceil(info.screenWidth / Math.ceil(width))).fill(1)); setMarks(results); } }); }; (0, react_2.useEffect)(() => { getElementWidth(); }, []); return (react_1.default.createElement(components_1.View, { className: "watermark-container" }, react_1.default.createElement(components_1.View, { id: "watermark-text-001", style: { opacity: 0, position: 'absolute', zIndex: -99999 }, className: "watermark-item-box" }, react_1.default.createElement(components_1.Text, { className: "watermark-text" }, text)), marks.map((arr, index) => { return (react_1.default.createElement(components_1.View, { key: `watermark-key-${index}-${Math.ceil(Math.random() * 1000)}`, className: "watermark-row" }, arr.map((_, indexs) => { return (react_1.default.createElement(components_1.View, { key: `watermark-key-${index}-${indexs}-${Math.ceil(Math.random() * 1000)}`, className: "watermark-item-box" }, react_1.default.createElement(components_1.Text, { className: "watermark-text" }, text))); }))); }))); }; exports.WaterMark = WaterMark;