UNPKG

create-base-teek-theme

Version:

``` npm create base-teek-theme@latest my-first-blog ```

113 lines (81 loc) 2.55 kB
--- date: 2025-03-25 19:05:58 title: 常用hooks permalink: /pages/fad018 tags: - vue Hooks top: 5 author: name: 华总 link: https://xiaoying.org.cn categories: - 使用指南 - hooks --- ## useBusuanzi 给网站、博客文章添加阅读次数统计 ```vue <script setup lang="ts"> import { useBusuanzi } from "liyao-vue-common"; const { site_pv, site_uv, page_pv, page_uv } = useBusuanzi(); </script> <template> <div> <p>站点访问量: {{ site_pv }}</p> <p>站点访客数: {{ site_uv }}</p> <p>当前页面访问量: {{ page_pv }}</p> <p>当前页面访客数: {{ page_uv }}</p> </div> </template> ``` ## useDayDiff 计算给定时间的相差天数 ```typescript import { useDayDiff } from "liyao-vue-common"; const { diffDays } = useDayDiff("2024-01-01"); console.log(diffDays.value); ``` ## useTimeDiff 计算给定时间的相差时间(年/月/日/时/分) ```typescript import { useTimeDiff } from "liyao-vue-common"; const { timeDiff } = useTimeDiff("2024-01-01"); console.log(timeDiff .value); ``` ## useFileDownloader 下载Base64及Blob文件 ```typescript import { useFileDownloader } from "liyao-vue-common"; const { base64ToFile, blobToFile } = useFileDownloader(); // 下载 Base64 文件 base64ToFile("yourBase64String", "example.txt", "text/plain"); // 下载 Blob 文件 const blob = new Blob(["Hello, world!"], { type: "text/plain" }); blobToFile(blob, "hello.txt", "text/plain"); ``` ## useCopyToClipboard.ts 将指定的文本复制到剪贴板,触发复制后可以执行某些操作 ```vue <template> <div> <input v-model="clipboardText" placeholder="输入要复制的文本" /> <button @click="copyText">复制</button> <p v-if="isSuccess">复制成功!</p> <p v-else-if="copied">复制失败。</p> </div> </template> <script setup lang="ts"> import { useCopyToClipboard } from 'liyao-vue-common'; const { clipboardRef, isSuccessRef, copiedRef } = useCopyToClipboard(); const clipboardText = clipboardRef; //响应式存储要复制的文本内容 const isSuccess = isSuccessRef; // 标记最后一次复制操作是否成功 const copied = copiedRef; // 标记是否已触发复制操作(无论成功与否) const copyText = () => { if(copied){ ElMessage.warning("开通会员") } // 修改 clipboardRef 的值触发复制操作 clipboardRef.value = clipboardText.value; }; </script> ```