Abstract.php 1.73 KB
<?php

abstract class YHMAuth_Package_Abstract implements YHMAuth_Package_Interface
{
    protected $webSite;

    protected $parameter = array();

    protected $redirect_uri;

    protected $display;

    public function __construct($webSite)
    {
        $this->webSite = $webSite;
        $this->setParameter(array('website' => $webSite));
    }

    /**
     * 设置附加参数
     * @param array $parameter
     * @return $this
     */
    public function setParameter(array $parameter)
    {
        if (empty($parameter)) {
            $this->parameter = array($this->parameter, $parameter);
        }
        return $this;
    }

    /**
     * 结果数据
     *
     * @param Integer $code 状态码
     * @param mixed $data 数据
     * @param String $message 数据信息Tag
     *
     */
    public function result($code, $message = null, $data = null)
    {
        return array(
            'code' => $code,
            'message' => $message,
            'data' => $data
        );
    }

    /**
     * 设置回调地址
     * @param $redirectUri
     * @return $this
     */
    function setRedirectUri($redirectUri)
    {
        if (!empty($redirectUri)) {
            $this->redirect_uri = $redirectUri;
        }
        return $this;
    }

    /**
     * 仅PC网站接入时使用,用于展示的样式。不传则默认展示为PC下的样式。 如果传入“mobile”,则展示为mobile端下的样式。
     * @param $display
     * @return $this
     */
    function setDisplay($display)
    {
        if (!empty($display)) {
            $this->display = $display;
        }
        return $this;
    }

    /**
     * 跳转
     */
    function location()
    {
        header('Location: ' . $this->getAuthUrl());
    }
}