Appearance
实现 缩写生成 工具
分类:general | 标签:缩写、首字母、命名 从短语提取首字母缩写
2.1 功能说明
从短语提取首字母缩写
2.1.1 使用指南
功能说明
从短语提取各词首字母组成缩写(如 Hyper Text Transfer Protocol → HTTP)。
使用场景
命名、术语记忆、品牌缩写。
2.2 代码实现
2.2.1 组件结构
本工具是一个基于 Vue 3 <script setup> 语法的单文件组件(SFC),统一包裹在 ToolPageShell 组件内,由它提供页面标题、工具 ID、分类与「使用指南」插槽等通用外壳;核心业务逻辑(响应式状态、计算属性、事件处理函数)全部写在 <script setup> 中,输入/输出通过 el-input、el-button 等 Element Plus 组件与用户交互,所有数据均在浏览器本地处理,不会上传服务器。
2.2.2 核心逻辑概览
<script setup> 中定义的主要函数/方法:
run()copy()
2.2.3 关键实现代码
以下是该工具的完整 <script setup> 实现(核心代码)。模板(<template>)与样式(<style>)已省略。
vue
import { ref } from 'vue'
import ToolPageShell from '@/components/ToolPageShell.vue'
const STOP = new Set(['a', 'an', 'the', 'of', 'to', 'for', 'and', 'or', 'in', 'on', 'at', 'by', 'with', 'as', 'is', 'are'])
const phrase = ref('')
const upper = ref(true)
const skipSmall = ref(false)
const result = ref('')
function run() {
result.value = ''
const p = phrase.value.trim()
if (!p) return
let words = p.split(/[\s\-_]+/).filter(Boolean)
if (skipSmall.value) words = words.filter(w => !STOP.has(w.toLowerCase()))
let s = words.map(w => w[0]).join('')
if (upper.value) s = s.toUpperCase()
result.value = s
}
function copy() { if (result.value) navigator.clipboard?.writeText(result.value) }2.3 效果截图
