<?php

namespace Lackoxygen\TiktokOpen\Wap\User;

use Lackoxygen\TiktokOpen\Base\ServiceManager;

class User extends ServiceManager
{
    public function info(string $openid, string $accessToken)
    {
        return $this->app['client']->get(
            '/oauth/userinfo/',
            [
                'open_id' => $openid,
                'access_token' => $accessToken
            ]
        );
    }

    public function fansList(string $openid, int $cursor, int $count, string $accessToken)
    {
        return $this->app['client']->get(
            '/fans/list/',
            [
                'open_id' => $openid,
                'cursor' => $cursor,
                'count' => $count,
                'access_token' => $accessToken,
            ]
        );
    }

    public function followList(string $openid, int $cursor, int $count, string $accessToken)
    {
        return $this->app['client']->get(
            '/following/list/',
            [
                'open_id' => $openid,
                'cursor' => $cursor,
                'count' => $count,
                'access_token' => $accessToken
            ]
        );
    }

    public function fansCheck(string $openid, string $followerOpenId, string $accessToken)
    {
        return $this->app['client']->get(
            '/fans/check/',
            [
                'open_id' => $openid,
                'follower_open_id' => $followerOpenId,
                'access_token' => $accessToken
            ]
        );
    }

    public function decryptMobile($encryptedMobile)
    {
        $iv = substr($this->app['config']->getAppSecret(), 0, 16);
        return \openssl_decrypt($encryptedMobile,
            'aes-256-cbc',
            $this->app['config']->getAppSecret(),
            0,
            $iv);
    }
}