项目简介:超链接二维码管理系统
技术平台:thinkphp + js + mysql
技术要点:
1、二维码的生成和维护
使用phpqrcode 的开源库生成二维码
可定制二维码输出格式jpg或png,dpi,尺寸,RGB或CMYK,前景色和背景色。
如果输出png则无法设置RGB或CMYK模式,只能是默认的灰阶或索引色。(imagemagick无法实现此功能)
更改图片采用php调用imagemagick命令行执行。
生成的二维码图片,如果颜色是黑白色,则默认是灰阶,如果是彩色的图片,PNG默认生成的是索引色,JPG是RGB颜色。
2、超链接通过excel实现上传和下载。若是下载多个qrcode,则打包成zip文件后再下载,下载完删除生成的目录和zip文件。
3、记录地址访问记录和分析。包括访问IP,来自城市,事件,次数,每日次数等。
4、实现短link域名自动跳转到longlink。在.htaccess中配置应用规则。如下:
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteCond %{HTTP_HOST} ^xxx.com/([a-z0-9]{6})$
RewriteRule ^([a-z0-9]{6})$ /Admin/Redirect/?shorten=$1 [R=301,L]
RewriteRule ^expire /Admin/Expire [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
5、shortlink的生成规则,6位小写字母或数字。必须同时包括字母和数字。原来是用js生成。后来考虑到可能存在重复的情况,重新生成就很麻烦,所以用php重新实现。在后端处理重复的情况。
6、可导出project信息和link信息到excel。
7、取色器采用的是jpicker-1.1.6.js。可设置透明度。这个插件不是很好,但是没找到更好的。
8、权限控制
同部门的有权限的人员可查看该部门所有创建的记录。但不能修改。只有创建者可修改。
9、生成rgb图片转换成CMYK模式,图片会变得模糊。
使用imagemagick来转换成CMYK模式,转换后图片变模糊。尝试用adobe icc profile,添加-profile参数转换,但是依旧无法解决。
后来看到imagemagick的最新版本6.8.5解决了这个问题。
另外又找到一个解决办法,将jpg rgb图片转换成tiff后缀格式的CMYK模式图片,再将其转换成jpg格式,就能得到清晰的图片。