这个是个收款码合并程序,可以实现微信、QQ、支付宝收款码合并成一个收款码的源码。这先给大家一个演示吧,上图就是生成的三合一代码,貌似标题设置的有点长,字体样式也不太好看,css也没设置居中。不过那是后话,我会在后面叙述如何安装的。
我架设的如下:http://api.shikey.com/
我架设的环境:Wdcp3.0,Php 7.0,N+A模式(主要还是Nginx作用),Mysql5。如果你觉得很难安装你也可以搞个存静态的,那个相对简单多了。
Quote1:收款啦,是一款支付宝、微信、QQ收款码三合一整合系统。
采用 thinkPHP5.0 + MySQL + layui 完成
官方演示地址:https://qr.52ecy.cn/
下载地址:https://github.com/178146582/qr/archive/master.zip
简单说下原理
收款码三合一,其本质上是一个包含了收款链接的二维码。程序的思路检测客户端是支付宝,就唤醒支付宝浏览页面,微信QQ也是一样的道理。通过二维码生成扫描这个网址后,判断浏览器的软件UA,来分发不同的收款码。大致的流程则为:客户端扫码 -> 服务端根据 User-Agent 判断客户端类型 -> 分别返回不同的处理
另外值得注意的是:
QQ:https 协议,无法唤醒QQ
支付宝:https 协议,可直接唤醒支付宝 APP
微信:微信自己的支付协议,无法唤醒微信
简单安装教程:
1、宝塔面板安装
1)、把网站总体传到服务器上,最好使用www用户上传,就是普通用户上传。使用ROOT用户创建目录的权限太高,可能无法正常运行。
2)、.将public子目录设置为运行目录,这个在宝塔面板里面可以直接设置。
3)、.建立好相对应的数据库和用户,将pay.sql文件导入到Mysql中。
4)、.检查目录权限,切记php的版本必须要比5.6要高。
5)、.修改以下文件信息,开始手动安装。
// ./config.php修改
主要是12-37行中,加粗部分必须要仔细填写,修改
// 应用调试模式,如果报错,把注释行打开!
// ‘app_debug’ => true,
// 视图输出字符串内容替换
‘view_replace_str’ => [
//设置相对域地址。格式为youdomian.com/static/,以下为官方文档容易
//产生歧义,请按照以上格式修改。
‘PUBLIC‘ => ‘http://127.0.0.1/www/qr-master/public/’,
],
// 站点标题,不要设置太长最好不要超过三个字
‘title’ => ‘收款啦’,
// 站点副标题
‘siteinfo’ => ”,
// 描述
‘description’ => ”,
// 关键字
‘keywords’ => ”,
// 二维码识别接口,接口无效的话到这里找,https://ii.911s.cn/
‘distinguish’ => ‘https://ii.911s.cn/api/qra.php?url=’,
// 识别结果截取正则
‘reg’ => ‘/”qrurl”:”(.?)”/’,
// 二维码生成接口
‘generate’ => ‘http://qr.liantu.com/api.php?w=600&text=’,
//说明:二维码解析借口和二维码生产接口,直接复制上述网址测试一下。
// ./application/database.php修改,主要为15-22行
//这个就不贴了,没什么好说的。
//./application/config.php文件中“app_debug”参数改为“true”
以上必须认真修改,一步不对都可能运行不了。
6)、.打开调试,开启thinkphp伪静态。宝塔面板如下,wdcp面板的请看下面。
基本上就完成安装了。
Wdcp安装基本上大同小异,不过要麻烦一点。基本步骤和以上相识,以下几点需要注意一下:
1、路径问题,因程序设定为public文件夹,所以安装的时候,需要将.\application\index\controller\Index.php 这个文件内的路径替换成wdcp的文件路径。及把public替换为public_html
2、权限问题:wdcp运行目录只能为public_html,所以你必须用root才可以将文件传到指定目录。首先将所有文件都传到网站根目录,之后将public文件夹内文件复制到public_html文件夹下。这个时候。你使用root权限在wdcp面板下是无法更改文件目录的所有组和所有者的。这就需要你必须ssh连接,之后更改目录权限。否则可能会导致报错,或者一直无法生成。我当时的错误代码贴出来供参考:
failed to open stream: Permission denied[/www/web/xxxx.com/application/index/controller/Index
3、安装前必须测试下二维码解析API和二维码生成API的有效性。这个在上面已经说过。
4、伪静态的问题:thinkphp在wdcp面板下配置伪静态可以产考我这里的代码。通过wdcp进入网站管理,点击Nginx配置:
在xxx.com.conf文件内添加以下代码:
(另wdcp每次网站重新配置后,Nginx的配置都会回到以前。所以修改完之后不要着急重启web,还需要先将文件设置为可读不可写,具体不会可以百度)
location / {
if (!-e $request_filename) {
rewrite ^(.)$ /index.php?s=$1 last;
break;
}
到此基本上就完全配置完了,enjoy!
有其他问题可以在此留言。
谢谢分享
这个不错,很实用.
文章不错非常喜欢