UNPKG

@kne/fastify-shorten

Version:

Fastify Shorten 是一个专为 Fastify 框架设计的 URL 缩短服务插件,提供完整的短链接生成和管理功能

87 lines (58 loc) 2.09 kB
# fastify-shorten ### 描述 Fastify Shorten 是一个专为 Fastify 框架设计的 URL 缩短服务插件,提供完整的短链接生成和管理功能 ### 安装 ```shell npm i --save @kne/fastify-shorten ``` ### 概述 #### 功能概述 Fastify Shorten 是一个专为 Fastify 框架设计的 URL 缩短服务插件,提供完整的短链接生成和管理功能。 #### 核心特性 - 🚀 **高性能短链生成**:基于高效算法快速生成短码 - 🔗 **URL 重定向**:自动将短链接重定向到原始 URL - 🛠️ **可配置选项**:支持自定义短码长度、重试机制等 - 🗃️ **数据库集成**:自动管理短链接存储表 #### 使用场景 1. 营销活动链接追踪 2. 社交媒体链接优化 3. 企业内部链接管理 4. 需要缩短长URL的任何应用 #### 基本用法 ```javascript const fastify = require('fastify')(); const shortenPlugin = require('@kne/fastify-shorten'); // 注册插件 fastify.register(shortenPlugin, { // 此处填写配置项 }); fastify.listen({ port: 3000 }, (err) => { if (err) throw err; console.log('服务器运行在 3000 端口'); }); ``` #### 注意事项 1. 需要预先配置好数据库连接 2. 确保数据库用户有创建表的权限 3. 生产环境建议修改默认表名前缀 #### 许可证 [MIT](https://opensource.org/licenses/MIT) ### 示例 #### 示例代码 ### API #### 配置选项 | 选项 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `maxAttempts` | number | `10` | 生成唯一短码的最大尝试次数 | | `length` | number | `6` | 生成的短码长度 | | `dbTableNamePrefix` | string | `'t_'` | 数据库表名前缀 | #### 命名空间注册 本插件通过 `@kne/fastify-namespace` 自动注册到 `shorten` 命名空间下,所有相关方法可通过 `fastify.shorten` 访问。 #### 自定义配置示例 ```javascript fastify.register(shortenPlugin, { maxAttempts: 15, // 增加尝试次数 length: 8, // 生成长度8的短码 dbTableNamePrefix: 'short_' // 自定义表前缀 }); ```