Heim >Backend-Entwicklung >PHP-Tutorial >Typecho Sina Login-Plug-in Sinauth

Typecho Sina Login-Plug-in Sinauth

WBOY
WBOYOriginal
2016-08-08 09:23:381136Durchsuche

Es hat einige Zeit gedauert, bis ich ein Plug-in bekam.

Codeadresse: https://github.com/web3d/plugins/tree/master/Sinauth

Der Erweiterungsmechanismus von Typecho ist relativ vollständig. Sie können Aktionen, Routen und Erweiterungen selbst hinzufügen . Es gibt Widget-Funktionen, eine Hintergrund-Plug-in-Konfigurationsoberfläche usw.

Der Faulheit halber verwende ich das in SAE gepackte SDK, um auf Sina Open Platform-Daten zuzugreifen.

Das Plug-in wird im Verzeichnis /root_path/usr/plugins/Sinauth abgelegt:

<code>Plugin.php
AuthorizeAction.php</code>

Plugin.php wird für die Plug-in-Initialisierung verwendet und AuthorizeAction.php wird verwendet für erweiterte Funktionen.

<code><?php
class Sinauth_Plugin implements Typecho_Plugin_Interface
{
    /**
     * 激活插件方法,如果激活失败,直接抛出异常
     * 
     * @access public
     * @return void
     * @throws Typecho_Plugin_Exception
     */
    public static function activate()
    {
        Typecho_Plugin::factory(&#39;Widget_User&#39;)->___sinauthAuthorizeIcon = array('Sinauth_Plugin', 'authorizeIcon');
        
        Helper::addAction('sinauthAuthorize', 'Sinauth_AuthorizeAction');
        Helper::addRoute('sinauthAuthorize', '/sinauthAuthorize/', 'Sinauth_AuthorizeAction', 'action');
        Helper::addRoute('sinauthCallback', '/sinauthCallback/', 'Sinauth_AuthorizeAction', 'callback');
        
        return _t($meg.'。请进行<a href="options-plugin.php?c/a>');
    }
    
    public static function install()
    {
       //db创建
    }

    /**
     * 获取插件配置面板
     * 
     * @access public
     * @param Typecho_Widget_Helper_Form $form 配置面板
     * @return void
     */
    public static function config(Typecho_Widget_Helper_Form $form)
    {
        $client_id = new Typecho_Widget_Helper_Form_Element_Text('client_id', NULL,'', _t('App Key'),'请在微博开放平台查看http://open.weibo.com');
        $form->addInput($client_id);
        
        $client_secret = new Typecho_Widget_Helper_Form_Element_Text('client_secret', NULL,'', _t('App Secret'),'请在微博开放平台查看http://open.weibo.com');
        $form->addInput($client_secret);
        
        $callback_url = new Typecho_Widget_Helper_Form_Element_Text('callback_url', NULL,'http://', _t('回调地址'),'请与微博开放平台中设置一致');
        $form->addInput($callback_url);
        
    }
}</code>
<code>class Sinauth_AuthorizeAction extends Typecho_Widget implements Widget_Interface_Do
{
    public function action(){
        
    }

    public function callback(){
        
    }
}</code>

Fügen Sie

<code><?php $this->user->sinauthAuthorizeIcon(); ?></code>
dort hinzu, wo es in den Mund genommen werden muss

Das Obige stellt das Typecho Sina-Login-Plug-in Sinauth vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn