Call.php
3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
namespace Plugin\Partner\alipay;
use Plugin\Partner\Factory;
define('TB_CLASS_PATH', dirname(__FILE__) . '/class');
require TB_CLASS_PATH . '/lib/alipay.function.php';
require TB_CLASS_PATH . '/AlipaySubmit.class.php';
require TB_CLASS_PATH . '/AlipayNotify.class.php';
/**
* 支付宝快捷的调用接口
*
* @name Call
* @package Plugin/Partner/alipay
* @copyright yoho.inc
* @version 1.0 (2015-10-10 17:56:42)
* @author fei.hong <fei.hong@yoho.cn>
*/
class Call extends Factory
{
protected $alipaySubmit;
protected $alipayNotify;
/**
* 初始化
*/
protected function init()
{
$this->alipaySubmit = new \AlipaySubmit($this->apiConfig);
$this->alipayNotify = new \AlipayNotify($this->apiConfig);
}
/**
* 获取授权URL
*
* @return string
*/
public function getAuthorizeUrl()
{
$parameter = array(
'service' => 'alipay.auth.authorize',
'partner' => $this->apiConfig['partner'],
'target_service' => 'user.auth.quick.login',
'return_url' => $this->apiConfig['return_url'],
'anti_phishing_key' => $this->alipaySubmit->query_timestamp(),
'exter_invoke_ip' => '',
'_input_charset' => $this->apiConfig['input_charset']
);
echo '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>支付宝快捷登录</title></head><body>',
$this->alipaySubmit->buildRequestForm($parameter, 'get'),
'</body></html>';
exit();
}
/**
* 获取授权的TOKEN
*
* @return array
*/
public function getAccessToken()
{
$token = array();
$verify = $this->alipayNotify->verifyReturn();
if ($verify) {
$token['access_token'] = isset($_GET['token']) ? $_GET['token'] : null;
$token['user_id'] = isset($_GET['user_id']) ? $_GET['user_id'] : null;
}
return $token;
}
/**
* 获取当前用户的基本资料
*
* @param array $token 授权成功的TOKEN, 默认为NULL
* @return array
*/
public function getUserInfo($token)
{
$parameter = array(
'_input_charset' => $this->apiConfig['input_charset'],
'service' => 'mobile.common.login.userInfo.query',
'partner' => $this->apiConfig['partner'],
'token' => $token,
'timestamp' => date('Y-m-d H:i:s'),
);
$result = $this->alipaySubmit->getUserInfoByToken($parameter, $token);
return $result;
}
/**
* 获取当前用户的偶像(关注)列表
*
* 备注:此接口暂未开放
*
* @param array $token 访问令牌
* @param array $params 参数列表
* @return array
*/
public function getFriends($token, $params)
{
return array();
}
/**
* 同步分享
*
* 备注:此接口暂未开放
*
* @param object $token 访问令牌
* @param String $image 新鲜事图片地址
* @param String $content 新鲜事主体内容 注意:最多200个字符。
* @param String $link 新鲜事标题和图片指向的链接
* @return Long 发布新鲜事的ID
*/
public function syncShare($token, $content, $image, $link)
{
return true;
}
}