master
lion 6 hours ago
parent a36a2f0120
commit 6614eec8a2

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

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

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

@ -749,6 +749,24 @@ function miniProgramConfig(array $extra = []): array
], $extra); ], $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字符串或数组的键值对组合成"键:值,键:值"格式的字符串 * 将JSON字符串或数组的键值对组合成"键:值,键:值"格式的字符串
* *

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

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

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

Loading…
Cancel
Save