6 changed files with 88 additions and 35 deletions
-
34app/Admin/Controllers/AgentController.php
-
82app/Admin/Controllers/MiniProgramController.php
-
1app/Admin/routes.php
-
2app/Jobs/UploadMiniProgramQueue.php
-
2app/Service/UploadMiniProgram.php
-
2resources/lang/zh_CN/agent.php
@ -0,0 +1,82 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace App\Admin\Controllers; |
||||
|
|
||||
|
use App\Admin\Extensions\Grid\MiniProgramAuditStatus; |
||||
|
use App\Admin\Extensions\Grid\MiniProgramPull; |
||||
|
use App\Admin\Extensions\Grid\MiniProgramReg; |
||||
|
use App\Admin\Extensions\Grid\MiniProgramUpload; |
||||
|
use App\Common\AgentType; |
||||
|
use App\Common\UserStatus; |
||||
|
use App\Models\Agent; |
||||
|
use App\Models\MiniProgramTemplate; |
||||
|
use Dcat\Admin\Grid; |
||||
|
use Dcat\Admin\Http\Controllers\AdminController; |
||||
|
|
||||
|
class MiniProgramController extends AdminController |
||||
|
{ |
||||
|
protected $title = '小程序管理'; |
||||
|
protected $translation = 'agent'; |
||||
|
|
||||
|
/** |
||||
|
* Make a grid builder. |
||||
|
* |
||||
|
* @return Grid |
||||
|
*/ |
||||
|
protected function grid() |
||||
|
{ |
||||
|
return Grid::make(new Agent(), function (Grid $grid) { |
||||
|
$grid->disableRowSelector(); |
||||
|
$grid->disableCreateButton(); |
||||
|
$grid->disableActions(); |
||||
|
|
||||
|
$grid->model() |
||||
|
->whereIn('type', [AgentType::OPERATOR, AgentType::SUPPLIER]) |
||||
|
->where([['status', '=', UserStatus::NORMAL], ['id', '>', 1]]); //隐藏ID=1的领峰云管理员
|
||||
|
|
||||
|
$grid->tools(new MiniProgramPull('更新小程序模板')); |
||||
|
|
||||
|
$grid->column('id')->sortable(); |
||||
|
$grid->column('username'); |
||||
|
$grid->column('appid'); |
||||
|
$grid->column('name'); |
||||
|
$grid->column('company_name'); |
||||
|
$grid->column('created_at'); |
||||
|
|
||||
|
$last_template_id = MiniProgramTemplate::max('template_id'); |
||||
|
$grid->column('op', '操作') |
||||
|
->style('min-width:7em;') |
||||
|
->help('新用户入驻时,请先注册小程序。待企业法人认证通过之后,并设置邮箱、头像、昵称等,再上传小程序即可') |
||||
|
->if(fn() => true) |
||||
|
->display('') |
||||
|
->then(function ($column) use ($last_template_id) { |
||||
|
$is_success = $this->miniUpload->is_success ?? null; |
||||
|
$template_id = $this->miniUpload->template_id ?? null; |
||||
|
|
||||
|
if (empty($this->appid)) { //注册小程序
|
||||
|
$column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); |
||||
|
$column->append((new MiniProgramReg(null, 2))->setKey($this->id)); |
||||
|
} else if ($is_success === 0 && $template_id === $last_template_id) { |
||||
|
$column->append("已发布(模板:{$template_id})"); |
||||
|
} else if (in_array($is_success, [-1, 2, 4])) { //如果状态是-1未检查过,或2审核中,或4审核延后,则显示审核状态按钮
|
||||
|
$column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id))->append(' '); |
||||
|
$column->append((new MiniProgramAuditStatus(null, 2))->setKey($this->id)); |
||||
|
} else { |
||||
|
$column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); |
||||
|
$statusArr = [0 => '审核成功', 1 => '审核被拒绝', 2 => '审核中', 3 => '已撤回', 4 => '审核延后']; |
||||
|
if (isset($is_success, $statusArr[$is_success])) { |
||||
|
$column->append('<br>(模板' . $template_id . $statusArr[$is_success] . ')'); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
$grid->filter(function (Grid\Filter $filter) { |
||||
|
$filter->panel(); |
||||
|
|
||||
|
$filter->equal('id')->width(2); |
||||
|
$filter->like('name')->width(3); |
||||
|
$filter->like('company_name')->width(3); |
||||
|
}); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue