postImage('This is a test image', $imgPath); // // exit; return $content ->header('帐号管理') ->description('全部') ->body($this->grid()); } /** * Make a grid builder. * * @return Grid */ protected function grid() { return Grid::make(new SmmUserAccount(), function (Grid $grid) { //指定视图,去掉删除按钮 $grid->view('admin.grid.table'); $grid->disableRowSelector(); // 关键代码 $grid->column('id')->width(80); $grid->column('name')->tree()->display(function ($name) { $num = SmmUserAccount::returnChildCount($this->id); if ($this->parent_id == 0) { if ($num > 0) { return $name . ''. $num. ''; } } return $name; }); $grid->column('account_id'); $grid->column('expires_at'); $grid->column('created_at')->sortable(); $grid->column('status')->display(function ($name) { if ($this->parent_id > 0) { //如果当前时间大于过期时间,则显示过期 if (Carbon::now() > $this->expires_at) { return '过期'; } else { return '正常'; } } }); $grid->column('quota_explanation', admin_trans_label('quota_explanation'))->display(function ($name) { if ($this->parent_id == 0) { $quota = SmmPostLog::getPostQuota($this->name); if ($this->name == 'Twitter') { return admin_trans_label('twitter_quota_explanation',['quota'=>$quota]); } else if ($this->name == 'YouTube'){ return admin_trans_label('youtube_quota_explanation',['quota'=>$quota]); } else if ($this->name == 'Facebook') { return admin_trans_label('facebook_quota_explanation',['quota'=>$quota]); } else if ($this->name == 'Instagram') { return admin_trans_label('instagram_quota_explanation',['quota'=>$quota]); } else { return admin_trans_label('-'); } } })->width('30%'); $grid->filter(function (Grid\Filter $filter) { $filter->panel(); $filter->expand(); $filter->like('name')->width(2); }); // 传入数组 $grid->rightTools([ // new SmmAddAccount(), ]); $grid->actions(function (Grid\Displayers\Actions $actions) { $actions->disableEdit(); $actions->disableQuickEdit(); $actions->disableView(); $dist_id = $actions->row->dist_id; if ($dist_id == 0) { $actions->append(new SmmAddAccount()); $actions->disableDelete(); } else { if (Carbon::now() > $actions->row->expires_at) { $parentAccount = SmmUserAccount::getAccountById($actions->row->parent_id); $smmAddAccount = new SmmAddAccount(); $smmAddAccount->setData(admin_trans_label('reauthorization'),$parentAccount->name); $actions->append($smmAddAccount); } } }); $grid->disableBatchDelete(); $grid->disableCreateButton(); $grid->disableEditButton(); $grid->disableViewButton(); $grid->model()->whereIn('dist_id', [0,getDistributorId()])->orderBy('name', 'asc')->orderBy('id', 'desc'); }); } /* * 社媒回调接口 */ public function callback($mediaName,Request $request) { $data = [ 'status' => 'success', 'message' => '回调成功', ]; try { $ssmService = new SmmService($mediaName); $result = $ssmService->loginCallback($request); if ($result['status']) { $accessToken = $result['data']['accessToken']; $expiresAt = $result['data']['accessToken_expiresAt']; $userName = $result['data']['userName']; $userId = $result['data']['userId']; $refreshToken = isset($result['data']['refreshToken']) ? $result['data']['refreshToken'] : ''; $backupField1 = isset($result['data']['backupField1']) ? $result['data']['backupField1'] : ''; SmmUserAccount::createAccountIfMediaExists($mediaName, $userId,$userName, $accessToken,$expiresAt,$refreshToken,$backupField1); //return response()->json(['code' => 1, 'msg' => 'success']); $data = [ 'status' => 'success', 'message' => 'Success', ]; } else { //return response()->json(['code' => 0,'msg' => $result['data']]); $data = [ 'status' => 'error', 'message' => $result['data'], ]; } } catch (\Exception $e) { //return response()->json(['code' => 0,'msg' => 'error:'.$e->getMessage()]); $data = [ 'status' => 'error', 'message' => $e->getMessage(), ]; } return view('distributor.pages-custom.callback', $data); } }