chore: 重写初始提交(清空历史,整理后全量提交)
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | YwxApp [ WE CAN DO IT JUST THINK ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2026-2036 http://ywxapp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: ywxapp<admin@ywxapp.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace addon\wxchat\command;
|
||||
|
||||
use GatewayWorker\Gateway;
|
||||
use think\console\Command;
|
||||
use think\console\Input;
|
||||
use think\console\input\Option;
|
||||
use think\console\Output;
|
||||
use Workerman\Worker;
|
||||
use \GatewayWorker\BusinessWorker;
|
||||
use \GatewayWorker\Register;
|
||||
|
||||
// php think wxchat:server -a start
|
||||
/**
|
||||
* ChatServer 类
|
||||
*
|
||||
* @author ywxapp <admin@ywxapp.cn>
|
||||
*/
|
||||
class ChatServer extends Command
|
||||
{
|
||||
|
||||
protected function configure()
|
||||
{
|
||||
$this->setName('wxchat:server')->addOption('action', 'a', Option::VALUE_OPTIONAL, '操作')->setDescription('Start wxchat GatewayWorker Server');
|
||||
}
|
||||
|
||||
|
||||
protected function execute(Input $input, Output $output)
|
||||
{
|
||||
// 初始化 GatewayWorker
|
||||
$this->initGatewayWorker();
|
||||
Worker::runAll();
|
||||
}
|
||||
|
||||
|
||||
private function initGatewayWorker()
|
||||
{
|
||||
// register 必须是text协议,切记不能将register端口开放给外网
|
||||
$register = new Register('text://127.0.0.1:1238');
|
||||
// bussinessWorker 进程
|
||||
$worker = new BusinessWorker();
|
||||
// worker名称
|
||||
$worker->name = 'YourAppBusinessWorker';
|
||||
// bussinessWorker进程数量
|
||||
$worker->count = 4;
|
||||
// 服务注册地址
|
||||
$worker->registerAddress = '127.0.0.1:1238';
|
||||
|
||||
$worker->eventHandler = \addon\wxchat\worker\ChatEvent::class;
|
||||
|
||||
$context = [
|
||||
'ssl' => [
|
||||
'local_cert' => __DIR__ . '/fullchain.pem', // 也可以是crt文件
|
||||
'local_pk' => __DIR__ . '/privkey.pem',
|
||||
'verify_peer' => false,
|
||||
'allow_self_signed' => true, //如果是自签名证书需要开启此选项
|
||||
],
|
||||
];
|
||||
$gateway = new Gateway("websocket://0.0.0.0:2346", $context);
|
||||
$gateway->name = 'AppGateway';
|
||||
$gateway->count = 2;
|
||||
$gateway->lanIp = '127.0.0.1';
|
||||
$gateway->startPort = 2900;
|
||||
$gateway->websocketCompression = false; // ⚠️ 必须关闭!
|
||||
$gateway->maxPackageSize = 10 * 1024 * 1024; // 10MB(支持大Base64)
|
||||
$gateway->registerAddress = '127.0.0.1:1238';
|
||||
//$gateway->onWorkerStart
|
||||
//$gateway->onWorkerStop
|
||||
//$gateway->onConnect
|
||||
//$gateway->onMessage
|
||||
//$gateway->onClose
|
||||
$gateway->transport = 'ssl';
|
||||
// 心跳间隔
|
||||
//$gateway->pingInterval = 0;
|
||||
// 心跳数据
|
||||
//$gateway->pingData = '{"type":"ping"}';
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFEzCCA/ugAwIBAgISBW/Ay2dbfeH3mtX35GOjxyN7MA0GCSqGSIb3DQEBCwUA
|
||||
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
|
||||
EwNSMTIwHhcNMjYwMTE0MDQyMTM5WhcNMjYwNDE0MDQyMTM4WjAaMRgwFgYDVQQD
|
||||
Ew9kZXYueGl4aW5nd2wuY24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
||||
AQDRV9LxV8BPoFEaMUMHS9du/rizoJpuTms1byYZ5eoJuYNQjVuuLCs+c2qVKVY5
|
||||
rVgrltkpSLo63dmt2i0p+tlIenPAN0S4p/OF6OfydAVj8wk9xprVYSFNvk7AIX/F
|
||||
0h1BlHg57S54wY+RbX17tTdtU8vnP6T+7skEVWG/xyROcmQjQCSxDkCe/hRkflwN
|
||||
XeGQ6IcdJI17BFeO9yw6SG1aeivZ/nUdtQmcZI6E7PjTkinHRmvEcsdf91AKXWI0
|
||||
HCvRsGsBzvOIdQ7bR3c/N7zAdOCbGTWWcb5UV7ArrilKbWPqVh7FOxGQ/A8n4gDz
|
||||
cMFkHeujGg8cIXmx78nkUi4vAgMBAAGjggI4MIICNDAOBgNVHQ8BAf8EBAMCBaAw
|
||||
HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYD
|
||||
VR0OBBYEFAyNk6Me7pmHHGbKIIUx8lx8t9x+MB8GA1UdIwQYMBaAFAC1KfItjm8x
|
||||
6JtMrXg++tzpDNHSMDMGCCsGAQUFBwEBBCcwJTAjBggrBgEFBQcwAoYXaHR0cDov
|
||||
L3IxMi5pLmxlbmNyLm9yZy8wLAYDVR0RBCUwI4IQYm9sZy54aXhpbmd3bC5jboIP
|
||||
ZGV2LnhpeGluZ3dsLmNuMBMGA1UdIAQMMAowCAYGZ4EMAQIBMC8GA1UdHwQoMCYw
|
||||
JKAioCCGHmh0dHA6Ly9yMTIuYy5sZW5jci5vcmcvMTI0LmNybDCCAQoGCisGAQQB
|
||||
1nkCBAIEgfsEgfgA9gB1AEmcm2neHXzs/DbezYdkprhbrwqHgBnRVVL76esp3fjD
|
||||
AAABm7ryb9gAAAQDAEYwRAIgdxwbydHvKUquqAfkOyDoISPMoQuPj/ku/MOsEgfc
|
||||
S4MCIEMrQaI2LnUqUzTvHC04nzMOtgduuUA1tjm2L0f2ltJ2AH0AcX6V88I4im2x
|
||||
44RJPTHhWqliCHYtQgDgBQzQZ7WmYeIAAAGbuvJwfgAIAAAFAAbmNt0EAwBGMEQC
|
||||
IBaFKBtn/ZvDQhCnjy7VeVH+KrK/voumG0Fx7qb1eIRUAiBBfBEOPx6vCAvrVG+b
|
||||
iZD99RvJcdcrxWIT6rGLHY6dZDANBgkqhkiG9w0BAQsFAAOCAQEAXUACyn+fv80j
|
||||
D7I/01j0197EEWToW210O72bf0sski+RdoIwsawNERwh5AVVYRkfPz/xMvO/H7Ad
|
||||
xx/IyePr6bLuNgYVz+dv5f4s14tCLf4+sN58FSm9+4q0eRiaCq0+plTPpogecmHM
|
||||
v9tUDC1IbigpikIIAaZOTnBT3ERgeS5cv3eAVjiHnSlfX0/jbFIV2dpLGEX35UGk
|
||||
SV+0+w2IfzFtVoq73YwXC+G688Ts6dm670GLIfyFwkrkqKjT6hyckxiWbbQqVv/X
|
||||
DPXi8oLLmsaP4KY5Ly2RtsIJtUTV0lP2Ja3qVPcImOsO7pjL5uoMVjtgn+CvfrwD
|
||||
ADa7KaQXNQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFBjCCAu6gAwIBAgIRAMISMktwqbSRcdxA9+KFJjwwDQYJKoZIhvcNAQELBQAw
|
||||
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
|
||||
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjQwMzEzMDAwMDAw
|
||||
WhcNMjcwMzEyMjM1OTU5WjAzMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
|
||||
RW5jcnlwdDEMMAoGA1UEAxMDUjEyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
||||
CgKCAQEA2pgodK2+lP474B7i5Ut1qywSf+2nAzJ+Npfs6DGPpRONC5kuHs0BUT1M
|
||||
5ShuCVUxqqUiXXL0LQfCTUA83wEjuXg39RplMjTmhnGdBO+ECFu9AhqZ66YBAJpz
|
||||
kG2Pogeg0JfT2kVhgTU9FPnEwF9q3AuWGrCf4yrqvSrWmMebcas7dA8827JgvlpL
|
||||
Thjp2ypzXIlhZZ7+7Tymy05v5J75AEaz/xlNKmOzjmbGGIVwx1Blbzt05UiDDwhY
|
||||
XS0jnV6j/ujbAKHS9OMZTfLuevYnnuXNnC2i8n+cF63vEzc50bTILEHWhsDp7CH4
|
||||
WRt/uTp8n1wBnWIEwii9Cq08yhDsGwIDAQABo4H4MIH1MA4GA1UdDwEB/wQEAwIB
|
||||
hjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwEgYDVR0TAQH/BAgwBgEB
|
||||
/wIBADAdBgNVHQ4EFgQUALUp8i2ObzHom0yteD763OkM0dIwHwYDVR0jBBgwFoAU
|
||||
ebRZ5nu25eQBc4AIiMgaWPbpm24wMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzAC
|
||||
hhZodHRwOi8veDEuaS5sZW5jci5vcmcvMBMGA1UdIAQMMAowCAYGZ4EMAQIBMCcG
|
||||
A1UdHwQgMB4wHKAaoBiGFmh0dHA6Ly94MS5jLmxlbmNyLm9yZy8wDQYJKoZIhvcN
|
||||
AQELBQADggIBAI910AnPanZIZTKS3rVEyIV29BWEjAK/duuz8eL5boSoVpHhkkv3
|
||||
4eoAeEiPdZLj5EZ7G2ArIK+gzhTlRQ1q4FKGpPPaFBSpqV/xbUb5UlAXQOnkHn3m
|
||||
FVj+qYv87/WeY+Bm4sN3Ox8BhyaU7UAQ3LeZ7N1X01xxQe4wIAAE3JVLUCiHmZL+
|
||||
qoCUtgYIFPgcg350QMUIWgxPXNGEncT921ne7nluI02V8pLUmClqXOsCwULw+PVO
|
||||
ZCB7qOMxxMBoCUeL2Ll4oMpOSr5pJCpLN3tRA2s6P1KLs9TSrVhOk+7LX28NMUlI
|
||||
usQ/nxLJID0RhAeFtPjyOCOscQBA53+NRjSCak7P4A5jX7ppmkcJECL+S0i3kXVU
|
||||
y5Me5BbrU8973jZNv/ax6+ZK6TM8jWmimL6of6OrX7ZU6E2WqazzsFrLG3o2kySb
|
||||
zlhSgJ81Cl4tv3SbYiYXnJExKQvzf83DYotox3f0fwv7xln1A2ZLplCb0O+l/AK0
|
||||
YE0DS2FPxSAHi0iwMfW2nNHJrXcY3LLHD77gRgje4Eveubi2xxa+Nmk/hmhLdIET
|
||||
iVDFanoCrMVIpQ59XWHkzdFmoHXHBV7oibVjGSO7ULSQ7MJ1Nz51phuDJSgAIU7A
|
||||
0zrLnOrAj/dfrlEWRhCvAgbuwLZX1A2sjNjXoPOHbsPiy+lO1KF8/XY7
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDRV9LxV8BPoFEa
|
||||
MUMHS9du/rizoJpuTms1byYZ5eoJuYNQjVuuLCs+c2qVKVY5rVgrltkpSLo63dmt
|
||||
2i0p+tlIenPAN0S4p/OF6OfydAVj8wk9xprVYSFNvk7AIX/F0h1BlHg57S54wY+R
|
||||
bX17tTdtU8vnP6T+7skEVWG/xyROcmQjQCSxDkCe/hRkflwNXeGQ6IcdJI17BFeO
|
||||
9yw6SG1aeivZ/nUdtQmcZI6E7PjTkinHRmvEcsdf91AKXWI0HCvRsGsBzvOIdQ7b
|
||||
R3c/N7zAdOCbGTWWcb5UV7ArrilKbWPqVh7FOxGQ/A8n4gDzcMFkHeujGg8cIXmx
|
||||
78nkUi4vAgMBAAECggEABIlRgLmvk6om3RlF2WcgfynAPo2TkHdc5bayYyudyOHU
|
||||
bCRGtn1Y3zdoubHAdMCCYXNujPFOrnmMlDK0TtgTlE6pqnfSzT4/zd47BIB/dhKC
|
||||
rUGGrRVilN4zs6smKyxp8OKy65fDAt/i6Lpa1pmZ3rcgUIhgXsaK5EVQuHNWyz0E
|
||||
+M6r7n9qxsdG5fqjkN+rD/54Ryh4bpMO/aITneqmiGGyO9P6PV2HRFhGcmIezCcb
|
||||
lrXYFuSiBiAsEOIjnI74HcJwVzc30ZahvO9JiAKauGpORQEvJkMl9tDQ/ALdk5m7
|
||||
k3S8vhHYKzOO2i8wHAVnbruXetdQuPkzzbwyVbyviQKBgQDysE51StzzPSR21iDV
|
||||
w/8MEpLu8V07I/AA0CXt22ME6F6qhatfdj7+90E5n8jo8+D+H+Wp58AlIyzSmb6Y
|
||||
WoioHL0MMeZbwGxdZlNYDoT7RBXoePq4wsB+R87Yd0FIHVVXgPOWcbmnNc0ClGqA
|
||||
6mj6PxzdsS7jEs2P9x9OZU04CQKBgQDc00wptJpnoo3QZ01aZBEfhXLl1xn8IzI4
|
||||
ZaLm00vVzElcV3DnzmEMI9qDjdKU6rwu11bhCNJQgLa/OZqVVBQosbIwKCphvPT0
|
||||
tksiOyix3BWo+RaO8+fEqshj8tKPjeXvLOk90sD5cdsRbe9wy63ldrfFMSMKk3sh
|
||||
OzCb1biSdwKBgE9OHdVmaV1zFX9f6crxCV9AkpNSfEzfKYaafkqD7o+j/4tpst63
|
||||
HU7kLYRPGrBFQbjJY5tqB/gazoLjiszuiMmm2oAprkU9VCwRTBryY7JYRXB6WDQY
|
||||
MB8UCBvknIicTU8S7Ia1Ex35Ds1RApyt/TAJf71SMSgy9Mmez7Qmll1BAoGBAIL7
|
||||
Tgza1E8ua0G3VHmOK13wEPPlv8L/uXUcTCDwKeY50zXTo+PLVWMXDTDE+ahdB5wd
|
||||
HKpESkN35W3NpDR497AfnprT6DerFfzk9/Ho9z1wVuSwQsIuSEYuKsimKmD+AOn6
|
||||
UKrcDJyo/RD8jW7xUUdvQJfVinxmeD2A11dH0MAHAoGAGyhwf6Z8Y1jNK6W+2taJ
|
||||
WpYRjoIBW8CaMmpzxsu4Ln92MY5xMTUyvGL2Q6gZ6hXs3dQRvaSxaLvAD0NDOn+2
|
||||
QC1pDZada+I4zvBYWj0kTplKxVQrNJhXeZUB7U8GVGZhRIs+v2qHDHiJyTLdlj+h
|
||||
UbbY1HVcw7kYjDwm7iIM1o0=
|
||||
-----END PRIVATE KEY-----
|
||||
Reference in New Issue
Block a user