1.php版本建议 php7.1+
2.数据库建议 mysql8.0+,mysql5.6也可运行
3.系统要求centos7.5+,建议4核8G,80+G硬盘
4.需要安装nginx,站点服务运行,建议可以宝塔一键安装 ,或lnmp按一键安装
5.需要安装composer,用于安装依赖包
6.需要开放的端口:80、443、6520(客服端口)
7.需要安装的PHP扩展
redis扩展,缓存
gmp扩展,数字钱包加密
swoole扩展,客服聊天
其他默认必要的扩展
1.解压压缩包代码内容到站点根目录
2.创建数据库,并将压缩包内到数据库文件导入到数据库中
3.配置nginx站点项目伪静态和跨域请求
location / {
# 请求地址允许跨域
add_header Access-Control-Allow-Origin *;
# 请求方法允许跨域
add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS,PUT,DELETE,PATCH,Origin';
# 设置是否允许 cookie 传输
add_header Access-Control-Allow-Credentials 'true';
# 设置请求头 这里为什么不设置通配符 * 因为不支持
add_header Access-Control-Allow-Headers 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Data-Type,X-Requested-With,X-Data-Type,X-Auth-Token';
if ($request_method = 'OPTIONS') {
return 200;
}
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
4.配置站点客服请求入口
# 在站点配置文件中,伪静态配置后添加下面配置
location /im {
proxy_pass http://imCustom;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# 站点配置文件顶部,server上方添加下面负载均衡节点配置
upstream imCustom {
server 127.0.0.1:6520;
}
5.配置钱包接口跳转域名
#nginx 配置钱包地址跳转跨国内访问域名作为钱包接口地址,配置在后台钱包接口地址参数
server
{
listen 80;
server_name scanapi.otc168.net;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/scanapi.otc168.net;
location /{
proxy_pass https://api.etherscan.io; #钱包接口域名
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
6.项目根目录.env配置文件,修改对应配置内容
#站点配置
APP_URL=http://test.com # 站点后端接口地址
WEB_URL=http://xxx.com/ # 站点前端地址
# 数据库配置
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_PREFIX=lev_
DB_DATABASE=nn2022060801 # 修改为新数据库名称
DB_USERNAME=nn2022060801 # 修改为新数据库账号
DB_PASSWORD=BAJwCryBsLPFycsF # 修改为新数据库密码
# 缓存配置
CACHE_DRIVER=redis # 当前使用的缓存驱动,file-本地文件缓存,redis-redis缓存
REDIS_PREFIX=null # 缓存前缀
REDIS_HOST=47.112.222.163 # 缓存host
REDIS_PASSWORD=derkj&6688 # 缓存auth密码
REDIS_PORT=6379 # 缓存端口
REDIS_DB=0 # 缓存数据库ID
#socket客服聊天服务端口配置,默认,修改需要开放端口
SOCKET_PORT=6520
# 邮件服务默认配置(可后台配置)
MAIL_DRIVER=smtp # 默认
MAIL_HOST=smtp.163.com # 默认
MAIL_PORT=25 # 默认
MAIL_USERNAME=test@163.com # 发送账号邮箱用户名
MAIL_FROM_ADDRESS=wesmiler@163.com # 发送用户邮箱地址
MAIL_PASSWORD=HGXTVTQDYKWEXEKE # 发送账号授权密钥
MAIL_ENCRYPTION=tls # 加密方式,默认
7.运行客服IM聊天服务
命令行状态下,进入项目根目录,运行以下命令:
nohup php artisan swoole:socketIm start >/dev/null 2>&1 & // 后台运行
nohup php artisan swoole:socketIm stop // 停止运行
1.站点内容目录在addons/admin目录下 2.进入src/config目录,修改setting.js配置文件
# 站点接口配置
baseURL: 'http://test.com/', // 接口地址
socketUrl: 'ws://test.com/im', // Socket聊天客服地址
4.更新后台打包内容
将打包好的内容addons/admin/dist目录下的内容,拷贝到项目根目录下public/admin和public/business内即可
### 4、前端程序配置和打包
1.站点内容目录在addons/otcapp目录下
2.使用hbuilder打开该目录项目,修改common/api.js接口配置文件
const socketUrl = 'ws://test.com/im' # 客服聊天地址 const baseUrl = 'http://test.com' # 站点接口地址
3. 选中addons/otcapp项目目录,发行为web或h5(需先安装nodejs14和vue2.0+运行环境)
npm install # 初始化项目,安装依赖 npm run dev # 本地运行项目 npm run build # 打包项目
4.更新打包内容
将打包好的内容addons/otcaapp/unpackage/dist/build/h5目录下的内容,拷贝到项目根目录下public/h5内即可
5. 访问站点
总后台地址: http://test.com/admin 超级管理员账号:otcadm 123456
交易员后台地址: http://test.com/business
H5地址: http://test.com/h5 可用来打包成APP
6. 添加定时任务(宝塔面板任务管理)
1.监听TRC钱包地址存币(1分钟请求一次)
域名/api/task/catchTrcRecharge?key=99d34e1cef
2.监听ERC钱包地址存币(1分钟请求一次)
域名/api/task/catchErcRecharge?key=99d34e1cef
3.监听平台TRC平台出账钱包交易记录(1分钟请求一次)
域名/api/task/catchTrcTransferByOtc?key=99d34e1cef
4.监听平台ERC平台出账钱包交易记录(1分钟请求一次)
域名/api/task/catchErcTransferByOtc?key=99d34e1cef
5.监听平台TRC平台入账钱包交易记录(1分钟请求一次)
域名/api/task/catchTrcTransferByOtcIn?key=99d34e1cef
6.监听平台ERC平台入账钱包交易记录(1分钟请求一次)
域名/api/task/catchErcTransferByOtcIn?key=99d34e1cef
6.自动归集TRC总钱包(10分钟请求一次)
域名/api/task/catchTrcTruggerByOtc?key=99d34e1cef
7.自动归集ERC总钱包(10分钟请求一次)
域名/api/task/catchErcTruggerByOtc?key=99d34e1cef
8.派单订单自动取消任务(5分钟请求一次)
域名/api/task/catchTradeCancel?key=99d34e1cef
9.广告订单自动取消任务(5分钟请求一次)
域名/api/task/catchAdvertCancel?key=99d34e1cef
10.派单订单状态通知(1分钟请求一次)
域名/api/task/catchTradeOrderNotify?key=99d34e1cef
```