<?php
/*
* This file is part of the overtrue/wechat.
*
* (c) overtrue <i@overtrue.me>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace EasyWeChat\OpenPlatform\Authorizer\MiniProgram\Code;
use EasyWeChat\Kernel\BaseClient;
/**
* Class Client.
*
* @author mingyoung <mingyoungcheung@gmail.com>
*/
class Client extends BaseClient
{
/**
* @param int $templateId
* @param string $extJson
* @param string $version
* @param string $description
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function commit(int $templateId, string $extJson, string $version, string $description)
{
return $this->httpPostJson('wxa/commit', [
'template_id' => $templateId,
'ext_json' => $extJson,
'user_version' => $version,
'user_desc' => $description,
]);
}
/**
* @param string|null $path
*
* @return \EasyWeChat\Kernel\Http\Response
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function getQrCode(string $path = null)
{
return $this->requestRaw('wxa/get_qrcode', 'GET', [
'query' => ['path' => $path],
]);
}
/**
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function getCategory()
{
return $this->httpGet('wxa/get_category');
}
/**
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function getPage()
{
return $this->httpGet('wxa/get_page');
}
/**
* @param array $itemList
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function submitAudit(array $itemList)
{
return $this->httpPostJson('wxa/submit_audit', [
'item_list' => $itemList,
]);
}
/**
* @param int $auditId
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function getAuditStatus(int $auditId)
{
return $this->httpPostJson('wxa/get_auditstatus', [
'auditid' => $auditId,
]);
}
/**
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function getLatestAuditStatus()
{
return $this->httpGet('wxa/get_latest_auditstatus');
}
/**
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function release()
{
return $this->httpPostJson('wxa/release');
}
/**
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function withdrawAudit()
{
return $this->httpGet('wxa/undocodeaudit');
}
/**
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function rollbackRelease()
{
return $this->httpGet('wxa/revertcoderelease');
}
/**
* @param string $action
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function changeVisitStatus(string $action)
{
return $this->httpPostJson('wxa/change_visitstatus', [
'action' => $action,
]);
}
/**
* 分阶段发布.
*
* @param int $grayPercentage
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function grayRelease(int $grayPercentage)
{
return $this->httpPostJson('wxa/grayrelease', [
'gray_percentage' => $grayPercentage,
]);
}
/**
* 取消分阶段发布.
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function revertGrayRelease()
{
return $this->httpGet('wxa/revertgrayrelease');
}
/**
* 查询当前分阶段发布详情.
*
* @return array|\EasyWeChat\Kernel\Support\Collection|object|\Psr\Http\Message\ResponseInterface|string
*
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
*/
public function getGrayRelease()
{
return $this->httpGet('wxa/getgrayreleaseplan');
}
}