提交 e995cae3 编写于 作者: D devil

小程序开发

上级 7c62f2dd
...@@ -93,7 +93,7 @@ class User extends Common ...@@ -93,7 +93,7 @@ class User extends Common
} }
// 授权 // 授权
$result = (new \base\AlipayAuth())->GetAuthSessionKey(MyC('common_app_mini_alipay_appid'), $this->data_post['authcode']); $result = (new \base\Alipay())->GetAuthSessionKey(MyC('common_app_mini_alipay_appid'), $this->data_post['authcode']);
if($result['status'] == 0) if($result['status'] == 0)
{ {
// 先从数据库获取用户信息 // 先从数据库获取用户信息
...@@ -243,7 +243,7 @@ class User extends Common ...@@ -243,7 +243,7 @@ class User extends Common
*/ */
public function BaiduUserAuth() public function BaiduUserAuth()
{ {
$result = (new \base\BaiduAuth(MyC('common_app_mini_baidu_appid'), MyC('common_app_mini_baidu_appkey'), MyC('common_app_mini_baidu_appsecret')))->GetAuthSessionKey($this->data_post); $result = (new \base\Baidu(MyC('common_app_mini_baidu_appid'), MyC('common_app_mini_baidu_appkey'), MyC('common_app_mini_baidu_appsecret')))->GetAuthSessionKey($this->data_post);
if($result['status'] == 0) if($result['status'] == 0)
{ {
// 先从数据库获取用户信息 // 先从数据库获取用户信息
...@@ -296,7 +296,7 @@ class User extends Common ...@@ -296,7 +296,7 @@ class User extends Common
$user = UserService::AppUserInfoHandle(null, 'baidu_openid', $this->data_post['openid']); $user = UserService::AppUserInfoHandle(null, 'baidu_openid', $this->data_post['openid']);
if(empty($user)) if(empty($user))
{ {
$result = (new \base\BaiduAuth(MyC('common_app_mini_baidu_appid'), MyC('common_app_mini_baidu_appkey'), MyC('common_app_mini_baidu_appsecret')))->DecryptData($this->data_post['encrypted_data'], $this->data_post['iv'], $this->data_post['openid']); $result = (new \base\Baidu(MyC('common_app_mini_baidu_appid'), MyC('common_app_mini_baidu_appkey'), MyC('common_app_mini_baidu_appsecret')))->DecryptData($this->data_post['encrypted_data'], $this->data_post['iv'], $this->data_post['openid']);
if($result['status'] == 0 && !empty($result['data'])) if($result['status'] == 0 && !empty($result['data']))
{ {
......
...@@ -32,20 +32,6 @@ return array ( ...@@ -32,20 +32,6 @@ return array (
'log_write' => 'log_write' =>
array ( array (
), ),
'plugins_service_users_center_left_menu_handle' =>
array (
0 => 'app\\plugins\\wallet\\Hook',
1 => 'app\\plugins\\membershiplevelvip\\Hook',
2 => 'app\\plugins\\coupon\\Hook',
3 => 'app\\plugins\\distribution\\Hook',
),
'plugins_service_header_navigation_top_right_handle' =>
array (
0 => 'app\\plugins\\wallet\\Hook',
1 => 'app\\plugins\\membershiplevelvip\\Hook',
2 => 'app\\plugins\\coupon\\Hook',
3 => 'app\\plugins\\distribution\\Hook',
),
'plugins_css' => 'plugins_css' =>
array ( array (
0 => 'app\\plugins\\membershiplevelvip\\Hook', 0 => 'app\\plugins\\membershiplevelvip\\Hook',
...@@ -109,6 +95,18 @@ return array ( ...@@ -109,6 +95,18 @@ return array (
array ( array (
0 => 'app\\plugins\\membershiplevelvip\\Hook', 0 => 'app\\plugins\\membershiplevelvip\\Hook',
), ),
'plugins_service_users_center_left_menu_handle' =>
array (
0 => 'app\\plugins\\membershiplevelvip\\Hook',
1 => 'app\\plugins\\coupon\\Hook',
2 => 'app\\plugins\\distribution\\Hook',
),
'plugins_service_header_navigation_top_right_handle' =>
array (
0 => 'app\\plugins\\membershiplevelvip\\Hook',
1 => 'app\\plugins\\coupon\\Hook',
2 => 'app\\plugins\\distribution\\Hook',
),
'plugins_js' => 'plugins_js' =>
array ( array (
0 => 'app\\plugins\\coupon\\Hook', 0 => 'app\\plugins\\coupon\\Hook',
......
...@@ -11,11 +11,11 @@ ...@@ -11,11 +11,11 @@
namespace base; namespace base;
/** /**
* 支付宝授权驱动 * 支付宝驱动
* @author Devil * @author Devil
* @version V_1.0.0 * @version V_1.0.0
*/ */
class AlipayAuth class Alipay
{ {
/** /**
* [__construct 构造方法] * [__construct 构造方法]
...@@ -234,19 +234,44 @@ class AlipayAuth ...@@ -234,19 +234,44 @@ class AlipayAuth
} }
/** /**
* [AlipayQrcodeCreate 小程序二维码创建] * [MiniQrCodeCreate 小程序二维码创建]
* @author Devil * @author Devil
* @blog http://gong.gg/ * @blog http://gong.gg/
* @version 1.0.0 * @version 1.0.0
* @datetime 2017-10-28T21:31:41+0800 * @datetime 2017-10-28T21:31:41+0800
* @param [string] $query [生成小程序启动参数(如:type=page&page=shop&value=5)] * @param [string] $params['page'] [页面地址]
* @param [string] $describe [二维码描述(默认:ShopXO)] * @param [string] $params['scene'] [参数]
*/ */
public function AlipayQrcodeCreate($query, $describe = 'ShopXO') public function MiniQrCodeCreate($params)
{ {
// 请求参数 // 请求参数
$params = [ $p = [
'app_id' => MyC('common_app_mini_alipay_appid'), [
'checked_type' => 'empty',
'key_name' => 'appid',
'error_msg' => '小程序appid不能为空',
],
[
'checked_type' => 'empty',
'key_name' => 'page',
'error_msg' => 'page地址不能为空',
],
[
'checked_type' => 'length',
'checked_data' => '1,32',
'key_name' => 'scene',
'error_msg' => 'scene参数 1~32 个字符之间',
],
];
$ret = ParamsChecked($params, $p);
if($ret !== true)
{
return DataReturn($ret, -1);
}
// 请求参数
$data = [
'app_id' => $params['appid'],
'method' => 'alipay.open.app.qrcode.create', 'method' => 'alipay.open.app.qrcode.create',
'charset' => 'utf-8', 'charset' => 'utf-8',
'format' => 'JSON', 'format' => 'JSON',
...@@ -255,30 +280,33 @@ class AlipayAuth ...@@ -255,30 +280,33 @@ class AlipayAuth
'version' => '1.0', 'version' => '1.0',
]; ];
$biz_content = [ $biz_content = [
'url_param' => C('alipay_mini_default_page'), 'url_param' => $params['page'],
'query_param' => $query, 'query_param' => $params['scene'],
'describe' => $describe, 'describe' => empty($params['describe']) ? 'ShopXO' : $params['describe'],
]; ];
$params['biz_content'] = json_encode($biz_content, JSON_UNESCAPED_UNICODE); $data['biz_content'] = json_encode($biz_content, JSON_UNESCAPED_UNICODE);
// 生成签名参数+签名 // 生成签名参数+签名
$p = $this->GetParamSign($params); $p = $this->GetParamSign($data);
$params['sign'] = $this->MyRsaSign($p['value']); $data['sign'] = $this->MyRsaSign($p['value']);
// 执行请求 // 执行请求
$result = $this->HttpRequest('https://openapi.alipay.com/gateway.do', $params); $result = $this->HttpRequest('https://openapi.alipay.com/gateway.do', $data);
// 结果正确则验证签名 并且 存储缓存返回access_token // 结果正确则验证签名 并且 存储缓存返回access_token
if(!empty($result['alipay_open_app_qrcode_create_response']['code']) && $result['alipay_open_app_qrcode_create_response']['code'] == 10000) $key = 'alipay_open_app_qrcode_create_response';
if(!empty($result[$key]['code']) && $result[$key]['code'] == 10000)
{ {
// 验证签名正确则存储缓存返回数据 // 验证签名正确则存储缓存返回数据
if(!$this->SyncRsaVerify($result, 'alipay_open_app_qrcode_create_response')) if(!$this->SyncRsaVerify($result, $key))
{ {
return false; return DataReturn('签名错误', -1);
} }
return $result['alipay_open_app_qrcode_create_response']; return DataReturn('获取成功', 0, $result[$key]);
} }
return false;
$msg = isset($res['sub_msg']) ? $res['sub_msg'] : '获取二维码失败';
return DataReturn($msg, -1);
} }
} }
......
...@@ -11,11 +11,11 @@ ...@@ -11,11 +11,11 @@
namespace base; namespace base;
/** /**
* 百度用户授权驱动 * 百度驱动
* @author Devil * @author Devil
* @version V_1.0.0 * @version V_1.0.0
*/ */
class BaiduAuth class Baidu
{ {
// appid // appid
private $_appid; private $_appid;
......
...@@ -124,8 +124,9 @@ class Wechat ...@@ -124,8 +124,9 @@ class Wechat
* @blog http://gong.gg/ * @blog http://gong.gg/
* @version 1.0.0 * @version 1.0.0
* @datetime 2018-01-02T19:53:10+0800 * @datetime 2018-01-02T19:53:10+0800
* @param [array] $params [输入参数] * @param [string] $params['page'] [页面地址]
* @return [string] [成功返回文件流, 失败则空] * @param [string] $params['scene'] [参数]
* @return [string] [成功返回文件流, 失败则空]
*/ */
public function MiniQrCodeCreate($params) public function MiniQrCodeCreate($params)
{ {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册