<?php



namespace ln\services\easywechat\certficates;


use ln\services\easywechat\BaseClient;
use EasyWeChat\Core\AbstractAPI;
use think\exception\InvalidArgumentException;
use think\facade\Cache;

class Client extends BaseClient
{
    public function get()
    {
        $driver = Cache::store('file');
        $cacheKey = '_wx_v3' . $this->app['config']['service_payment']['serial_no'];
        if ($driver->has($cacheKey)) {
            return $driver->get($cacheKey);
        }
        $certficates = $this->getCertficates();
        $driver->set($cacheKey, $certficates, 3600 * 24 * 30);
        return $certficates;
    }

    /**
     * get certficates.
     *
     * @return array
     */
    public function getCertficates()
    {
        $response = $this->request('/v3/certificates', 'GET', [], false);
        $certificates = $response['data'][0];
        $certificates['certificates'] = $this->decrypt($certificates['encrypt_certificate']);
        unset($certificates['encrypt_certificate']);
        return $certificates;
    }
}