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->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)
{
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'] : '';
SmmUserAccount::createAccountIfMediaExists($mediaName, $userId,$userName, $accessToken,$expiresAt,$refreshToken);
return response()->json(['code' => 1, 'msg' => 'success']);
} else {
return response()->json(['code' => 0,'msg' => $result['data']]);
}
} catch (\Exception $e) {
return response()->json(['code' => 0,'msg' => 'error:'.$e->getMessage()]);
}
}
}