taro-manage-layout
Version:
42 lines (41 loc) • 2.33 kB
JavaScript
;
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;