master
lion 4 hours ago
parent a36a2f0120
commit 6614eec8a2

@ -259,7 +259,7 @@ class SendNotification extends Command
*/
public function urlLink()
{
$app = Factory::miniProgram(miniProgramConfig());
$app = miniProgramApp();
$result = $app->url_link->generate([]);
return $result['url_link'] ?? '';
}
@ -269,7 +269,7 @@ class SendNotification extends Command
*/
public function appletNotice($vo, $sendData)
{
$app = Factory::miniProgram(miniProgramConfig());
$app = miniProgramApp();
$result = $app->subscribe_message->send($sendData);
// 写记录
$vo->via_times++;

@ -470,10 +470,10 @@ class CourseController extends BaseController
}
$debug('request wechat app_code');
$app = Factory::miniProgram(miniProgramConfig([
$app = miniProgramApp([
'app_id' => $appId,
'secret' => $secret,
]));
]);
$tmp = $app->app_code->get('packages/course/detail?id=' . $courseId, [
'env_version' => 'release',
]);

@ -310,7 +310,7 @@ class UserController extends CommonController
if ($validator->fails()) {
return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]);
}
$app = Factory::miniProgram(miniProgramConfig());
$app = miniProgramApp();
$result = $app->phone_number->getUserPhoneNumber($all['code']);
$mobile = $result['phone_info']['purePhoneNumber'] ?? '';
// 判断手机号是否存在

@ -749,6 +749,24 @@ function miniProgramConfig(array $extra = []): array
], $extra);
}
/**
* 创建小程序实例,并把 access_token 缓存绑到 storage避免 /tmp/symfony-cache 权限问题)
*/
function miniProgramApp(array $extra = [])
{
$cacheDir = storage_path('framework/cache/easywechat');
if (!is_dir($cacheDir)) {
@mkdir($cacheDir, 0775, true);
}
$app = \EasyWeChat\Factory::miniProgram(miniProgramConfig($extra));
$psr6 = new \Symfony\Component\Cache\Adapter\FilesystemAdapter('easywechat', 0, $cacheDir);
$cache = new \Symfony\Component\Cache\Psr16Cache($psr6);
$app->rebind('cache', $cache);
return $app;
}
/**
* 将JSON字符串或数组的键值对组合成"键:值,键:值"格式的字符串
*

@ -312,10 +312,10 @@ class Course extends SoftDeletesModel
}
try {
$app = Factory::miniProgram(miniProgramConfig([
$app = miniProgramApp([
'app_id' => $appId,
'secret' => $secret,
]));
]);
$tmp = $app->app_code->get($page, [
'env_version' => 'release',
]);

@ -82,7 +82,7 @@ class CourseContent extends SoftDeletesModel
if ($fileSys->exists($path)) {
return $url;
}
$app = Factory::miniProgram(miniProgramConfig());
$app = miniProgramApp();
$tmp = $app->app_code->get('/packages/sign/index?course_content_id=' . $courseContentId, [
'env_version' => "release" // 正式版
//'env_version' => "trial" // 体验版

@ -124,23 +124,12 @@ if ($appId === '' || $secretCfg === '') {
$put('skip: missing appid/secret');
} else {
try {
$mini = EasyWeChat\Factory::miniProgram(function_exists('miniProgramConfig') ? miniProgramConfig([
'app_id' => $appId,
'secret' => $secretCfg,
]) : [
'app_id' => $appId,
'secret' => $secretCfg,
'log' => [
'default' => 'prod',
'channels' => [
'prod' => [
'driver' => 'single',
'path' => storage_path('logs/easywechat.log'),
'level' => 'error',
],
],
],
]);
$mini = function_exists('miniProgramApp')
? miniProgramApp(['app_id' => $appId, 'secret' => $secretCfg])
: EasyWeChat\Factory::miniProgram([
'app_id' => $appId,
'secret' => $secretCfg,
]);
$token = $mini->access_token->getToken(true);
$put('token_ok=yes');
$put('expires_in=' . ($token['expires_in'] ?? 'n/a'));

Loading…
Cancel
Save