含 AI 助手、抖音 OAuth、流量池推送、支付获客、SuperAdmin 设备与场景管理等本地迭代;以本地为准单向推送,未拉取远程。 Co-authored-by: Cursor <cursoragent@cursor.com>
56 lines
1.9 KiB
PHP
56 lines
1.9 KiB
PHP
#!/usr/bin/env php
|
|
<?php
|
|
namespace think\facade {
|
|
class Cache
|
|
{
|
|
public static function get($k) { return null; }
|
|
public static function set($k, $v, $t = 0) {}
|
|
}
|
|
class Env
|
|
{
|
|
public static function get($k, $d = null) { return $d; }
|
|
}
|
|
class Log
|
|
{
|
|
public static function warning($m, $c = []) {}
|
|
}
|
|
}
|
|
|
|
namespace {
|
|
function config($key = null, $default = null)
|
|
{
|
|
$map = [
|
|
'wechat.poster_qrcode_mode' => 'miniprogram',
|
|
'wechat.poster_allow_h5_fallback' => false,
|
|
'wechat.poster' => ['qr_size' => 280, 'qr_cache_ttl' => 86400, 'use_short_url' => false],
|
|
'wechat.api_public_base' => 'https://ckbapi.quwanzhi.com',
|
|
'wechat.mini_program' => [
|
|
'app_id' => 'wx789850448e26c91d',
|
|
'secret' => 'test',
|
|
'name' => '存客宝',
|
|
'poster_page' => 'pages/poster/index2',
|
|
],
|
|
'wechat.h5' => ['base_url' => 'https://h5.ckb.quwanzhi.com'],
|
|
];
|
|
if ($key === null) {
|
|
return $map;
|
|
}
|
|
return $map[$key] ?? $default;
|
|
}
|
|
|
|
require dirname(__DIR__) . '/application/cunkebao/service/MiniProgramQrCodeService.php';
|
|
|
|
use app\cunkebao\service\MiniProgramQrCodeService;
|
|
|
|
assert(MiniProgramQrCodeService::qrcodeMode() === 'miniprogram', 'default mode miniprogram');
|
|
assert(MiniProgramQrCodeService::allowH5Fallback() === false, 'h5 fallback disabled by default');
|
|
|
|
$meta = MiniProgramQrCodeService::miniProgramMeta();
|
|
assert(($meta['page'] ?? '') === 'pages/poster/index2', 'poster landing page');
|
|
|
|
$h5 = MiniProgramQrCodeService::generateH5QrFallback('https://h5.ckb.quwanzhi.com/#/pages/form/input2?id=179');
|
|
assert((int)($h5['code'] ?? 0) === 200, 'h5 qr generator available for copy-link only');
|
|
|
|
echo "[PASS] MiniProgramQrCodeService\n";
|
|
}
|