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