【OneThink】ThinkSDK 添加到 OT

浏览:2077 发布日期:2013/10/31 分类:技术分享
先从这里开始
http://www.thinkphp.cn/topic/7995.html

里面有qq 和 新浪微博登陆。
【新增 其他】
下载 ThinkSDK
http://www.thinkphp.cn/extend/292.html

将需要的sdk文件拷贝到 OneThink\ThinkPHP\Library\ORG\ThinkSDK中
1、修改sdk文件 淘宝为例:因为我只有qq 新浪 和淘宝。其他sdk应该也一样吧!!??// 添加命名空间
namespace ORG\ThinkSDK;
class TaobaoSDK extends ThinkOauth{}
2、修改Addons\QuickLogin\config.php// 修改 片段1
'login_plugin'=>array(
        'title'=>'开启同步登录功能',
        'type'=>'checkbox',        
        'options'=>array(    
            'sina'=>'新浪微博',        
            'qq'=>'QQ互联',
            'taobao' => '淘宝'  // 注意 键名会在模板中用到
        ),
        'value'=>array('sina','qq','taobao'), // 注意 就是上面键名
    ),
// 修改 片段2
'group'=>array(
        'type'=>'group',
        'options'=>array(
            'sina'=>array(
                'title'=>'新浪微博',
                'options'=>array(
                    // 省略...
                )
            ),
                       'qq'=>array(
                'title'=>'QQ互联',
                'options'=>array(
                    // 省略...
                )
            ),

            'taobao'=>array(
                'title'=>'淘宝',
                'options'=>array(
                                         // 注意 此键名
                    'taobao_akey'=>array(
                        'title'=>'淘宝KEY:',
                        'type'=>'text',
                        'value'=>'',
                        'tip'=>''
                    ),
                                         // 注意 此键名
                    'taobao_skey'=>array(
                        'title'=>'淘宝密匙:',
                        'type'=>'text',
                        'value'=>''
                    )
                )
            ),
        )
    )
3、修改Addons\QuickLogin\Controller\OauthController.class.php    // 修改
public function _initialize(){
    $addon_config = $this->getConfig();
    // QQ互联 sdk配置
    $qq_configs = array(
        // 省略...
        ),
    C('THINK_SDK_QQ',$qq_configs);

    // 新浪微博 sdk配置
    $sina_configs = array(
    // 省略...
        ),
    C('THINK_SDK_SINA',$taobao_configs);

        // 淘宝 sdk配置
        $taobao_configs = array(
            'APP_KEY' => $addon_config['taobao_akey'], // 注意taobao_akey 在配置文件
            'APP_SECRET' => $addon_config['taobao_skey'], // 注意taobao_skey 在配置文件
            'CALLBACK' => U('home/addons/execute',array('_addons'=>'QuickLogin','_controller'=>'Oauth','_action'=>'getTaobaoAT'),true,false,true)
            );  // 注意 参数 _action 与回调地址对应
        C('THINK_SDK_TAOBAO',$sina_configs); // 注意 格式:THINK_SDK_名称 (名称为Thinksdk的文件名 如:TaobaoSDK.class.php 名称为taobao)
}
    // 添加 操作
    // 淘宝登陆
    public function taobao(){
        //加载ThinkOauth类并实例化一个对象
        import("ORG.ThinkSDK.ThinkOauth");
        $sns  = ThinkOauth::getInstance('taobao');
        //跳转到授权页面
        redirect($sns->getRequestCodeURL());
    }

    // 淘宝回调地址
    public function getTaobaoAT(){
        $code = I('get.code');
        $this->login('taobao',$code);
    }
4、修改Addons\QuickLogin\oauth.html//添加
<if condition="in_array('taobao',$third_login)">
    <li>
        <a href="{:U('home/addons/execute',array('_addons'=>'QuickLogin','_controller'=>'Oauth','_action'=>'taobao'))}">淘宝登录</a>
    </li>
</if>
5、后台安装。我终于可以申请认证了。
最佳答案
评论( 相关
后面还有条评论,点击查看>>