where(['id'=>$user['id']])->update(['weixin_web_openid'=>$params['openid'], 'upd_time'=>time()])) { // 用户登录session纪录 if(UserService::UserLoginRecord($user['id'])) { return DataReturn('绑定成功', 0); } } return DataReturn('绑定失败', -100); } // openid登录 $user = UserService::UserInfo('weixin_web_openid', $params['openid']); if(!empty($user)) { // 用户登录 return UserService::UserLoginHandle($user['id'], $params); } // 用户名 $username = empty($params['nickname']) ? '微信-'.RandomString(6) : $params['nickname'].'-'.RandomString(6); if(mb_strlen($username, 'utf-8') > 18) { $username = mb_substr($username, 0, 18); } // 游客数据 $salt = GetNumberCode(6); $data = [ 'weixin_web_openid' => $params['openid'], 'username' => $username, 'nickname' => empty($params['nickname']) ? '' : $params['nickname'], 'gender' => empty($params['sex']) ? 0 : (isset($params['sex']) && $params['sex'] == 1) ? 2 : 1, 'province' => empty($params['province']) ? '' : $params['province'], 'city' => empty($params['city']) ? '' : $params['city'], 'avatar' => empty($params['headimgurl']) ? '' : $params['headimgurl'], 'status' => 0, 'salt' => $salt, 'pwd' => LoginPwdEncryption($username, $salt), 'add_time' => time(), 'upd_time' => time(), ]; // 数据添加 $ret = UserService::UserInsert($data, $params); if($ret['code'] == 0) { // 用户登录session纪录 if(UserService::UserLoginRecord($ret['data']['user_id'])) { return DataReturn('登录成功', 0, $ret['data']); } } return DataReturn('登录失败', -100); } } ?>