110 lines
3.5 KiB
PHP
110 lines
3.5 KiB
PHP
<?php
|
|
namespace addon\aliapp\model;
|
|
|
|
use app\model\BaseModel;
|
|
use think\facade\Db;
|
|
|
|
/**
|
|
* Common: 小程序发布记录
|
|
* Author: wu-hui
|
|
* Time: 2022/12/29 16:50
|
|
* Class AppletRelease
|
|
* @package addon\aliapp\model
|
|
*/
|
|
class AppletRelease extends BaseModel{
|
|
|
|
protected $site_id;
|
|
// 支付宝小程序 创建版本的状态
|
|
protected $aliCreateStatus = [
|
|
0 => '构建排队中',
|
|
1 => '正在构建',
|
|
2 => '构建成功',
|
|
3 => '构建失败',
|
|
5 => '构建超时',
|
|
6 => '版本创建成功',
|
|
];
|
|
// 支付宝小程序 状态
|
|
protected $versionStatus = [
|
|
'INIT' => '开发中',
|
|
'AUDITING' => '审核中',
|
|
'AUDIT_REJECT' => '审核驳回',
|
|
'WAIT_RELEASE' => '待上架',
|
|
'BASE_AUDIT_PASS' => '准入不可营销',
|
|
'GRAY' => '灰度中',
|
|
'RELEASE' => '已上架',
|
|
'OFFLINE' => '已下架',
|
|
'AUDIT_OFFLINE' => '已下架',
|
|
];
|
|
|
|
public function __construct($siteId){
|
|
$this->site_id = $siteId;
|
|
}
|
|
|
|
|
|
/**
|
|
* Common: 获取小程序发布记录
|
|
* Author: wu-hui
|
|
* Time: 2022/12/29 17:04
|
|
* @return array
|
|
* @throws \think\db\exception\DbException
|
|
*/
|
|
public function getList(){
|
|
// 参数获取
|
|
$page = input('page',1);
|
|
$pageSize = input('page_size',PAGE_LIST_ROWS);
|
|
$aliPayAppletModel = new AliPayApplet($this->site_id);
|
|
// 列表获取
|
|
$field = [
|
|
'id',
|
|
'version',
|
|
'ali_create_status',
|
|
'is_experience_version',
|
|
'version_status',
|
|
'create_time',
|
|
'audit_reason'
|
|
];
|
|
$result = Db::name('applet_release')
|
|
->field($field)
|
|
->where('site_id',$this->site_id)
|
|
->where('type',1)
|
|
->order('version','DESC')
|
|
->paginate(['list_rows' => $pageSize,'page' => $page]);
|
|
if($result) {
|
|
$result = $result->toArray();
|
|
try{
|
|
$aliCreateStatus = $this->aliCreateStatus;
|
|
$versionStatus = $this->versionStatus;
|
|
$newestVersion = $aliPayAppletModel->newestVersion();
|
|
// 循环处理信息
|
|
$list = $result['data'] ?? [];
|
|
foreach($list as &$item){
|
|
// 获取构建状态
|
|
if(in_array($item['ali_create_status'],[0,1])) $item['ali_create_status'] = (int)$aliPayAppletModel->versionBuildQuery($item['version'],$item['id']);
|
|
$item['ali_create_status_text'] = $aliCreateStatus[$item['ali_create_status']];
|
|
// 获取状态
|
|
if($item['version_status']) $item['version_status_text'] = $versionStatus[$item['version_status']];
|
|
// 判断当前版本是否为最新版本
|
|
$item['is_newest_version'] = false;
|
|
if($item['version'] == $newestVersion) $item['is_newest_version'] = true;
|
|
}
|
|
// 获取版本信息
|
|
$list = [
|
|
'count' => $result['total'],
|
|
'list' => $list,
|
|
'page_count' => $result['last_page'],
|
|
];
|
|
return $this->success($list);
|
|
|
|
}catch(\Exception $e){
|
|
return $this->error('',$e->getMessage());
|
|
}
|
|
}
|
|
|
|
return $this->success();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
} |