[think\exception\ClassNotFoundException]
class not exists: wechat.open_platform.wxb43ec10c87287cd5 消费者类业务逻辑namespace app\home\queue;
use think\Exception;
use think\queue\Job;
use Naixiaoxin\ThinkWechat\Facade;
use app\home\model\Wechat;
class ReleaseCode{
public function fire(Job $job, $data){
$data = json_decode($data, true);
//接收要处理的数据
if($this->withMiniProgram($data['program'], $data['template'])){
print ("<warn>任务执行成功,,已经删除!" . "</warn>\n");
//如果任务执行成功后 记得删除任务,不然这个任务会重复执行,直到达到最大重试次数后失败后,执行failed方法
$job->delete();
}else{
print ("<warn>任务执行成功,已经删除!0" .$job->attempts() . "</warn>\n");
// 也可以重新发布这个任务
$job->release(2); //$delay为延迟时间2秒后重发
}
//....这里执行具体的任务
if ($job->attempts() > 3) {
//通过这个方法可以检查这个任务已经重试了几次了
$job->delete();
}
}
public function failed($data){
// ...任务达到最大重试次数后,失败了
}
//同步小程序基础信息
public function withMiniProgram($program, $template)
{
$openPlatform = Facade::openPlatform($template['platform_appid']);
$miniProgram = $openPlatform->miniProgram($program['authorizer_appid'], $program['refresh_token']);
$code = $miniProgram->code;
$category = $code->getCategory();
$page = $code->getPage();
$config = json_decode($program['config'], true);
//获取已授权小程序设置的类目 get_category
if((int)$category['errcode'] === 0){
$config['category'] = $category['category_list'];
}
//获取小程序的第三方提交代码的页面配置 get_page
if((int)$page['errcode'] === 0){
$config['page'] = $page['page_list'];
}
if(!Wechat::update(['id'=>$program['id'],'config'=>json_encode($config)])){
//TODO 收集错误
return false;
}
return true;
}
}求解写在common.php里的公共函数不可以使用时怎么回事
最佳答案