|
@@ -110,7 +110,7 @@ class member_loginControl extends mbMemberControl
|
|
|
{
|
|
|
$login_type = trim($_GET['type']);
|
|
|
$client = trim($_GET['client']);
|
|
|
- if (empty($login_type) || empty($client)) {
|
|
|
+ if (!isset($login_type) || !isset($client)) {
|
|
|
return joutput_error(errcode::ErrInputParam);
|
|
|
}
|
|
|
switch ($login_type) {
|
|
@@ -134,7 +134,11 @@ class member_loginControl extends mbMemberControl
|
|
|
if (empty($token)) {
|
|
|
return joutput_error(errcode::ErrLogin);
|
|
|
} else {
|
|
|
- return joutput_data(array('token' => $token));
|
|
|
+ $ret_val = array();
|
|
|
+ $ret_val['token'] = $token;
|
|
|
+ $ret_val['cache_expiration_time'] = time() + self::token_expire * 60;
|
|
|
+ $ret_val['systime'] = time();
|
|
|
+ return joutput_data($ret_val);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
@@ -151,7 +155,11 @@ class member_loginControl extends mbMemberControl
|
|
|
if (empty($token)) {
|
|
|
return joutput_error(errcode::ErrLogin);
|
|
|
} else {
|
|
|
- return joutput_data(array('token' => $token));
|
|
|
+ $ret_val = array();
|
|
|
+ $ret_val['token'] = $token;
|
|
|
+ $ret_val['cache_expiration_time'] = time() + self::token_expire * 60;
|
|
|
+ $ret_val['systime'] = time();
|
|
|
+ return joutput_data($ret_val);
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
@@ -165,21 +173,48 @@ class member_loginControl extends mbMemberControl
|
|
|
*
|
|
|
* 输入参数:
|
|
|
* wx_openid 微信id
|
|
|
- * token:需要修改为token
|
|
|
* user_info: 用户信息
|
|
|
+ * mobile: 手机号
|
|
|
+ * code: 验证码
|
|
|
*/
|
|
|
public function bindOp()
|
|
|
{
|
|
|
$wx_openid = trim($_GET['wx_openid']);
|
|
|
- $token = trim($_GET['key']);
|
|
|
- $user_info = trim($_GET['user_info']);
|
|
|
+ $wx_info = trim($_GET['user_info']);
|
|
|
+ $mobile = trim($_GET['mobile']);
|
|
|
+ $acode = trim($_GET['code']);
|
|
|
|
|
|
- $key = func::gen_token_key($token);
|
|
|
- $ret = rcache($key);
|
|
|
- $member_info = unserialize($ret);
|
|
|
+ // 输入内容判断
|
|
|
+ $validator = new Validate();
|
|
|
+ $validator->setValidate(Validate::verify_mobile($mobile));
|
|
|
+ $err = $validator->validate();
|
|
|
+ if ($err != '' || empty($acode)) {
|
|
|
+ return joutput_error(errcode::ErrInputParam);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 校验验证码
|
|
|
+ if (!$this->checkacode($mobile, $acode)) {
|
|
|
+ return joutput_error(errcode::ErrVerifyCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断是否已经注册
|
|
|
$model = Model('member');
|
|
|
- $ret = $model->bindwx($member_info['member_id'], $wx_openid);
|
|
|
- if($ret != 0){
|
|
|
+ $ret = $model->where(array('member_mobile' => $mobile))->find();
|
|
|
+ if (empty($ret)) {
|
|
|
+ // 添加注册
|
|
|
+ $member_info = array();
|
|
|
+ $member_info['member_mobile'] = $mobile;
|
|
|
+ $member_id = $model->addMember($member_info);
|
|
|
+ if (!$member_id) {
|
|
|
+ return joutput_error(errcode::ErrDB);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ $member_id = $ret['member_id'];
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断是否处理
|
|
|
+ $ret = $model->bindwx($member_id, $wx_openid,serialize($wx_info));
|
|
|
+ if ($ret != 0) {
|
|
|
return joutput_error(errcode::ErrDB);
|
|
|
}
|
|
|
|
|
@@ -265,8 +300,8 @@ class member_loginControl extends mbMemberControl
|
|
|
|
|
|
/**
|
|
|
* 检验校验码
|
|
|
- * @param $mobile: 手机号
|
|
|
- * @param $acode:验证码
|
|
|
+ * @param $mobile : 手机号
|
|
|
+ * @param $acode :验证码
|
|
|
* @return bool
|
|
|
*/
|
|
|
public function checkacode($mobile, $acode)
|