新版嘎嘎快充互联互通系统配置文档

  • 宝塔环境配置
  1. 登录宝塔账号,安装nginx、mysql5.7、php7.2、supervisor、redis
  2. php安装扩展:

1)安装swooleloader72

将嘎嘎官方提供的swoole_loader_72_nts.so文件上传到

/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718目录,

配置php.ini和php-cli.ini,重启php,查看模块中出现swooleloader

  1. 安装fileinfo、redis、event扩展

  1. 移除禁用函数:pcntl_alarm、pcntl_fork、pcntl_waitpid、pcntl_wait、pcntl_signal、pcntl_signal_dispatch

  1. 修改redis密码,重启redis使redis密码生效,记住这个密码,填写到程序里的消息队列、缓存等配置中

  • 程序安装
  1. 添加PHP项目站点,上传php代码到网站根目录,网站目录-运行目录选public,伪静态选择thinkphp,安装ssl证书

  1. 修改数据库连接配置database.php、消息队列配置extra/queue.php、config.php缓存配置成redis密码

3、配置ssl代理

1)nginx配置http种server上添加:

        upstream gaga2 {

            server 127.0.0.1:18382;

        }

18382是websocket服务器地址,在总后台可更改此项配置

  1. 在站点设置配置文件中 #SSL-END上添加:

    location /wss {

        proxy_pass http://gaga2 ;

        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection "Upgrade";

        proxy_connect_timeout 5s;

        proxy_read_timeout 60000s;

        proxy_send_timeout 60000s;

}

此时系统的websocket连接地址为:wss://域名/wss

  1. 在supervisor中开启用www用户添加以下服务:
  1. 云快充服务,修改代码后要重启

/www/server/php/72/bin/php think cqrs start

  1. 单车通讯服务,修改代码后要重启

/www/server/php/72/bin/php think lqrs start

  1. 默认队列

/www/server/php/72/bin/php think queue:listen --queue

4)互联互通队列

/www/server/php/72/bin/php think queue:listen --queue lian

5)websocket服务

/www/server/php/72/bin/php think wbt start

6)定时任务

/www/server/php/72/bin/php think timer start

  • 应用配置

平台端需配置:

  1. 系统配置-基础配置-接口域名(改成自己的域名)
  2. 系统配置-系统配置-服务地址(可以默认)。规则是0.0.0.0:端口号

通讯协议端口号要开通,提前在阿里云腾讯云开好

  1. 系统配置-七牛云存储
  2. 系统配置-地图接口
  3. 平台端系统配置种运营商的配置是给运营商打样板提示用的,debug关掉后就不会显示了。
  4. 内容管理-文章管理中添加的文章是范文,给运营商做参考用的

运营商需配置:

  1. 小程序appid、appsecret。小程序公众平台开发管理-开发设置中

  1. 微信支付参数

扫码登录商户号后台:https://pay.weixin.qq.com/

微信支付证书序列号如何找?如下图:

微信支付平台证书如何生成?

在程序目录中执行以下命令(先给参数替换下再粘贴到终端执行):

composer exec CertificateDownloader.php -- -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}

说明:${apiV3key}替换为V3的key ${mchId}替换为商户号、${mchPrivateKeyFilePath}替换为证书的私钥服务器绝对地址、${mchSerialNo}替换为微信支付证书序列号、${outputFilePath}替换为微信支付平台证书输出地址

  1. 订阅消息模板

  1. 扫码充电两种方式:
  1. 在运营商后台系统配置-应用配置,配置公众号参数扫码服务号appid、扫码服务号appsecret,进行H5跳转小程序。

公众号公众平台,设置与开发-基本配置-公众号开发信息,生成开发者密码(AppSecret)、填写IP白名单(必填)

公众号公众平台,设置与开发-公众号设置-功能设置-业务域名、JS接口安全域名配置上自己的域名

b)在小程序公众平台开发管理-开发设置中配置扫普通链接二维码打开小程序,规则是:

二维码地址https://域名/index/wxapp/jump

小程序路径pages/startcharge/startcharge

配置好后发布此扫码规则

  • 系统授权

咨询嘎嘎快充官方获取license文件上传至站点目录。

注意上传授权文件后需重启cqrs、lqrs服务

  • 后台地址

1)平台端:https://域名/admin  通过平台端添加运营商,可直接登录运营商端

2)运营商端:https://域名/app 通过平台端添加合伙人(分账),可直接登录合伙人端

3)运营商端:https://域名/partner

4)移动端管理:https://域名/manager 账号是PC运营端、合伙人账号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/28673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

删除有序链表中的重复元素

删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次 例如: 给出的链表为1→1→2,返回1→2 给出的链表为1→1→2→3→3,返回1→2→3 数据范围:链表长度满足 0≤𝑛≤100&…

Spring的事务步骤

一、事务处理方案: Spring框架中提供的事务处理方案:一共有两种: 1.适合中小项目使用的, 注解方案: 注解的方式做事务用起来简单,灵活,方便,中小型项目中用它比较方便&#xff0c…

5 分支结构程序-5.5 程序举例

5.5 程序举例,所有的可执行样例 #include <stdio.h>main() {/* 【例 4.11】输入三个整数&#xff0c;输出最大数和最小数。 */// int a, b, c, max, min;// printf("input three numbers: ");// scanf("%d%d%d", &a, &b, &c);// if (a …

基于STM32和人工智能的智能水质监测系统

目录 引言环境准备智能水质监测系统基础代码实现&#xff1a;实现智能水质监测系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景&#xff1a;智能水质管理与优化问题解决方案与优化收尾与总结 1. 引言 随着环境保护意识的提高&#xf…

python type hint async decorator异步函数装饰器的类型注解

原始代码&#xff1a; import functoolsasync def do_sth(f, gs, kw):print(f.__name__, gs, kw)def my_deco(func):functools.wraps(func)async def wrapper(*args, **kw):await do_sth(func, args, kw)return await func(*args, **kw)return wrappermy_deco async def foo()…

【C/C++】【学生成绩管理系统】深度剖析

可接各类C/C管理系统课设 目录 实现功能 部分1&#xff1a;系统设置和主菜单 1. 引入头文件 2. 定义结构体 3. 函数声明 4. 主函数 部分2&#xff1a;添加学生信息 部分3&#xff1a;删除学生信息 部分4&#xff1a;修改学生信息 部分5&#xff1a;查询学生信息 部分…

数组元素的内存地址计算【数据结构与算法C#版】

数组元素被存储在连续的内存空间中&#xff0c;这意味着计算数组元素的内存地址非常容易。给定数组内存地址&#xff08;首 元素内存地址&#xff09;和某个元素的索引&#xff0c;我们可以使用下方图 所示的公式计算得到该元素的内存地址&#xff0c;从而直接 访问该元素。 观…

电源小白入门学习11——反激电源电路原理

电源小白入门学习11——反激电源、正激电源 隔离电源变压器介绍反激电源 前面我们学习了BUCK、BOOST、BUCK-BOOST 等各种各样的DCDC变换器&#xff0c;但是他们都有一共同的特点&#xff0c;即能量的传输路径时一个完整的通路&#xff0c;输入与输出之间不存在电气隔离&#xf…

Linux qt 无法搜索到usb摄像头

在Ubuntu&#xff08;香橙派&#xff09;中使用/usr/local/bin 里面的install_qt.sh 安装的qt 默认是没有安装 的qtmultimedia5-dev 使用 apt-get 安装以后 apt-get install qtmultimedia5-dev 可以正常编译程序但是不能用QCameraInfo::availableCameras()搜索到usb相机原因就是…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 字符串变换(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📎在线评测链接 字符串变换(100分) 🌍 评测功能需要订阅专栏后私信联系清隆…

【Unity实战篇】| 快速制作一个简易时钟,包括2D和3D时钟

前言 【Unity实战篇】| 快速制作一个时钟&#xff0c;包括2D和3D时钟一、2D时钟制作1.1 钟表盘制作1.2 指针制作1.3 钟表搭建1.4 设置时钟的中心点1.5 时钟旋转逻辑 二、3D时钟制作2.1 搭建表盘和指针2.2 调整指针的位置和节点2.3 时钟旋转逻辑 总结 前言 时钟 这个东西想必不…

数据结构——第8章 排序

1 插入排序 插入排序的基本思想&#xff1a;前i-1个元素已经有序&#xff0c;将第i个数插入到该有序序列中。 例&#xff1a;打扑克牌时&#xff0c;手中的牌已经有序&#xff0c;每抓一张牌&#xff0c;就插入到合适的位置&#xff0c;直到抓完牌。 可以选择不同的方法在已排好…

js 移除字符串中所有的a标签;js 移除字符串中所有的a标签,但是保留a标签包裹的部分

js 移除字符串中所有的a标签 要移除字符串中所有的 <a> 标签&#xff0c;可以使用正则表达式和 String.replace() 方法。以下是实现这一功能的示例代码&#xff1a; function removeATags(str) {return str.replace(/<a\b[^<]*(?:(?!<\/a>)<[^<]*)…

微服务项目雪崩的解决思路

雪崩的介绍 雪崩是微服务中某个服务挂了&#xff0c;无法返回请求&#xff0c;导致调用改服务的上层服务也故障&#xff0c;最终形成连锁反应&#xff0c;导致整个系统故障。 解决思路 一般有四种思路&#xff1a; 1.最简单的就是超时处理&#xff0c;即超过一段时间就返回…

matlab读取中国1km分辨率逐月降水量/逐月平均气温数据集(1901-2022)

开源数据集“中国1km分辨率逐月平均气温数据集&#xff08;1901-2022&#xff09;”和“中国1km分辨率逐月降水量数据集&#xff08;1901-2022&#xff09;”&#xff0c;原始数据格式为NETCDF&#xff0c;即.nc格式&#xff0c;现需要转为tif格式&#xff0c;采用matlab读取&a…

qt c++ 计时器 踩坑实录

目录 main.cpp 指针调用&#xff1a; 类调用踩坑实录 "countdownTimer.h" "countdownTimer.cpp" main.cpp #include <QApplication> #include <QLabel> #include "CountdownTimer.h"int main(int argc, char *argv[]) {QAppli…

JAVA小知识21:单列集合顶层接口Collection的使用

一、Collection简介 Collection是单列集合的顶层接口&#xff0c;所有的单列集合都集成自Collection。 那么什么是单列集合呢&#xff1f;我们上篇文章提到了List与ArrayList&#xff0c;List就是单列集合&#xff0c;他是无需可重复单列集合的顶层抽象类&#xff0c;我们学…

定个小目标之刷LeetCode热题(22)

这道题最容易想的就是排序后再遍历&#xff0c;但是时间复杂度就不是O(n)了&#xff0c;所以还是得用更优的解法&#xff0c;直接看题解&#xff0c;它是使用了HashSet&#xff0c;遍历数组&#xff0c;对于每一个数x&#xff0c;如果不存在x - 1则进入内循环&#xff0c;否则跳…

适合小白学习的项目1906java Web智慧食堂管理系统idea开发mysql数据库web结构java编程计算机网页源码servlet项目

一、源码特点 java Web智慧食堂管理系统是一套完善的信息管理系统&#xff0c;结合java 开发技术和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 前段主要技术 bootstra…

C语言的网络编程

目录 引言 一、TCP/IP概述 1. TCP&#xff08;Transmission Control Protocol&#xff09; 2. UDP&#xff08;User Datagram Protocol&#xff09; 二、Socket编程基础 1. 服务器端 2. 客户端 三、URL与HTTP编程 1. 使用libcurl进行HTTP请求 表格总结 TCP/IP与Socke…