短连接系统中问题内容使用的是 MySQL 的 varchar(400) 字段存储,该字段最多会存储 400 个字符(汉字占三个字符)。
在遇到缩短链接超长时,会自动截断调整。可通过以下 MySQL 来调整字段类型来适应更多的字符。
## 修改为最长支持2000长度 ALTER TABLE `link` MODIFY `url` VARCHAR(2000);
除此之外,还需要修改文件中的长度判断,修改文件 module/ShortLink/Util/LinkUtil.php
中的 generate
函数
原内容
class LinkUtil { // ... public static function generate($memberUserId, $urlBase, $url, $minutes = 0) { if (strlen($url) > 400) { return Response::generateError('链接最大长度为400'); } // ... } // ... }
修改为
class LinkUtil { // ... public static function generate($memberUserId, $urlBase, $url, $minutes = 0) { if (strlen($url) > 2000) { return Response::generateError('链接最大长度为2000'); } // ... } // ... }