设为首页 - 加入收藏
广告 1000x90
您的当前位置:主页 > 网络营销 > 正文

开发者生成的短链接平台的使用问题

来源:引流技巧 编辑:爱短链 时间:2025-08-12

前段时间,我在开发公众号的时候,有个功能需要生成一个带有网页授权和认证地址的二维码,但是像下面这样的Urls连看看#wechat_redirect


用这个地址生成的二维码也是密密麻麻的。虽然不影响微信长按扫码,但是一旦二维码缩小一点,图片马上就会模糊,相机很难直接扫码。


在这种情况下,我们自然会认为,如果我们使用短链接平台来减少url的字符,生成的代码自然会变得更容易识别,同时url会更漂亮,更容易转发目前市面上有微博和一些第三方的短链接生成工具,但是这两类工具在使用中存在一些问题,比如:目前的规则是会有一个不会直接跳转的跳转页面,由于第三方工具是公共平台,有时可能会因为一些不良信息导致整个平台无法访问。


我们不这样做,而是自己实现一个短链接平台。实现短链接平台的原理也很简单。得到两部分就够了:1.保存长链接和短链接的对应关系。 2.通过短链接查询长连接并重定向。


为了效率,我这里用的是node和mongodb葡萄城为开发者开发者生成短链接平台的使用问题,我们开始吧。


首先,让我们创建一个 express 项目

express -e demo   change directory:     > cd demo   install dependencies:     > npm install   run the app:     > SET DEBUG=demo:* & npm start

然后进入demo目录,安装express必要的依赖

npm install

同时通过npm安装我们需要使用的mongoose和shortid以及body-parser

npm install mongoose npm install shortid npm install body-parser

以下是使用的三个包的简要说明:

首先设置MongoDB的连接信息

module.exports = { mongo_base_connection_url: \'mongodb://localhost:27017\', mongo_db: \'mongodb://localhost:27017/shorturl\', mongo_options: { autoReconnect: true, keepAlive: true, reconnectTries: 50, reconnectInterval: 1000, connectTimeoutMS: 5000000, } } console.log("Connection local mongo db");

数据库模型定义

因为我们的对应关系是通过短链接查询长连接短链接,所以这里我们主要存储短链接和长链接。此外,您还可以根据自己的需要添加链接点击统计等字段,方便后期统计。


短链接平台


var mongoose = require(\'mongoose\'); var Schema = mongoose.Schema;var urlSchema = new Schema({ shortUrl: String, longUrl: String }); module.exports = mongoose.model(\'UrlTable\', urlSchema);

定义快速路线

因为我们在这个应用中只有生成和重定向两个功能,所以这里只有两个页面可以做所有的工作。

var index = require(\'./routes/index\'); var url = require(\'./routes/url\'); app.use(\'/\', index); app.use(\'/url\', url);

生成短链接页面

const express = require("express"); const router = express.Router(); const shortId = require(\'shortid\'); const UrlTable = require(\'../models/urltable\'); const mongoose = require(\'mongoose\'); var setup = require(\'../dbconfig/db\'); router.post(\'/\', function(req, res, next) { var params = req.body; var url = params.longUrl; shortId.characters(\' 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ^*\') var shortid = shortId.generate(); var objurl = { shortUrl: shortid, longUrl: url}; mongoose.connect(setup.mongo_db, setup.mongo_options); UrlTable.create(objurl, function (err, objurl) { //if (err) console.log(err); res.send("http://localhost:3000/" + shortid); }); return; });

指定生成shortId字符的范围并生成:

shortId.characters(\'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\')

var shortid = shortId.generate();

为数据库构建兼容的数据模型:

var objurl = { shortUrl: shortid, longUrl: url};

最后连接数据库,将短链接结果保存回客户端:

mongoose.connect(setup.mongo_db, setup.mongo_options);

UrlTable.create(objurl, function (err, objurl) {

//if (err) console.log(err);


以上就是关于《开发者生成的短链接平台的使用问题》的全部内容了,感兴趣的话可以点击右侧直接使用哦!》》在线短链接生成器

相关推荐:

栏目分类

微商引流技巧网 www.yinliujiqiao.com 联系QQ:1716014443 邮箱:1716014443@qq.com

Copyright © 2019-2024 强大传媒 吉ICP备19000289号-9 网站地图 rss地图

Top