|
@@ -105,175 +105,6 @@ class User Extends Model
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 微信授权登录
|
|
|
- * @param $code
|
|
|
- */
|
|
|
- public static function wechatLogin($code){
|
|
|
- $appid = Config::get_values('wechat_appid');
|
|
|
- $secret = Config::get_values('wechat_appsecret');
|
|
|
- $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
|
|
|
- $result = Common::httpcurl($url);
|
|
|
- if (isset($result['access_token'])){
|
|
|
- $access_token=$result['access_token'];
|
|
|
- $openid=$result['openid'];
|
|
|
- $urltoc = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
|
|
|
- $resinfos =Common::httpcurl($urltoc);
|
|
|
-
|
|
|
- //数据库是否已注册
|
|
|
- $user = self::where('status',1)->where('openid',$resinfos['openid'])->find();
|
|
|
- if ($user){
|
|
|
- self::where('id',$user['id'])->update(['ip'=>request()->ip()]);
|
|
|
- LoginLog::create(['user_id'=>$user['id'],'ip'=>request()->ip()]);
|
|
|
- $token = JWT::encode($user,config('jwt.key'));
|
|
|
- return Common::return_success('登录成功',['token'=>$token]);
|
|
|
- }else{
|
|
|
- return Common::return_error('未注册!');
|
|
|
- }
|
|
|
- }else{
|
|
|
- return Common::return_error('获取access_token失败');
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取微信session_key
|
|
|
- */
|
|
|
- public static function getSessionKey($code){
|
|
|
- $appid = Config::get_values('small_wechat_id');
|
|
|
- $secret = Config::get_values('small_wechat_appsecret');
|
|
|
- echo $appid."<br />";
|
|
|
- echo $secret;
|
|
|
- $url = "https://api.weixin.qq.com/sns/jscode2session?appid=" . $appid . "&secret=" . $secret . "&js_code=" . $code . "&grant_type=authorization_code";
|
|
|
- $session_key = Common::curlRequest($url);
|
|
|
- print_r($session_key);die;
|
|
|
- return $session_key;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 微信登录绑定手机号
|
|
|
- */
|
|
|
- public static function wechatLoginBindPhone($code,$rawData,$phone,$ver_code,$password){
|
|
|
- $phone_use = self::where('phone',$phone)->find();
|
|
|
- if ($phone_use && $phone_use['openid']!=''){
|
|
|
- return Common::return_error('手机号已被绑定!');
|
|
|
- }
|
|
|
-// if (!$phone_use['status']){
|
|
|
-// return Common::return_error('账号已禁用!');
|
|
|
-// }
|
|
|
-
|
|
|
- //获取最后的验证码
|
|
|
- $time = time()-90;
|
|
|
- $sms = Sms::where(['mobile' => $phone, 'event' => 'bindwechat'])
|
|
|
- ->where('createtime','>',$time)
|
|
|
- ->order('id', 'DESC')
|
|
|
- ->find();
|
|
|
- if (!$sms || $sms->code != $ver_code){
|
|
|
- return Common::return_error('短信验证码不正确!');
|
|
|
- }
|
|
|
- $appid = Config::get_values('wechat_appid');
|
|
|
- $secret = Config::get_values('wechat_appsecret');
|
|
|
- $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
|
|
|
- $result = Common::httpcurl($url);
|
|
|
- if (isset($result['access_token'])){
|
|
|
- $access_token=$result['access_token'];
|
|
|
- $openid=$result['openid'];
|
|
|
- $urltoc = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
|
|
|
- $resinfos = Common::httpcurl($urltoc);
|
|
|
- $openid = $resinfos['openid'];
|
|
|
- if (!$phone_use){
|
|
|
- $data['phone'] = $phone;
|
|
|
- $data['nickname'] = $resinfos['nickname'];
|
|
|
- $data['headimg'] = $resinfos['headimgurl'];
|
|
|
- $data['openid'] = $openid;
|
|
|
- $data['password'] = md5($password);
|
|
|
- $data['ip'] = request()->ip();
|
|
|
- Db::startTrans();
|
|
|
- try {
|
|
|
- $user = self::create($data);
|
|
|
- Db::commit();
|
|
|
- $userId =$user->id;
|
|
|
- LoginLog::create(['user_id'=>$userId,'ip'=>request()->ip()]);
|
|
|
- $user = self::where('id',$userId)->find();
|
|
|
- $token = JWT::encode($user,config('jwt.key'));
|
|
|
- return Common::return_success('授权成功',['token'=>$token]);
|
|
|
- }catch (Exception $e) {
|
|
|
- Db::rollback();
|
|
|
- return Common::return_error('失败');
|
|
|
- }
|
|
|
-
|
|
|
- }else{
|
|
|
- $da['openid'] = $openid;
|
|
|
- if (!$phone_use['headimg']){
|
|
|
- $da['headimg'] = $resinfos['headimgurl'];
|
|
|
- }
|
|
|
- if (!$phone_use['nickname']){
|
|
|
- $da['nickname'] = $resinfos['nickname'];
|
|
|
- }
|
|
|
- if (self::where('id',$phone_use['id'])->update($da)){
|
|
|
- LoginLog::create(['user_id'=>$phone_use['id'],'ip'=>request()->ip()]);
|
|
|
- $token = JWT::encode($phone_use,config('jwt.key'));
|
|
|
- return Common::return_success('绑定成功',['token'=>$token]);
|
|
|
- }else{
|
|
|
- return Common::return_error('失败');
|
|
|
- }
|
|
|
- }
|
|
|
- }else{
|
|
|
- return Common::return_error('获取access_token失败');
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 商家注册第一步
|
|
|
- */
|
|
|
- public static function designer_register_one($phone,$ver_code){
|
|
|
- $phone_use = self::where('phone',$phone)->find();
|
|
|
- if ($phone_use){
|
|
|
- return Common::return_error('手机号已注册!');
|
|
|
- }
|
|
|
- //获取最后的验证码
|
|
|
- $time = time()-90;
|
|
|
- $sms = Sms::where(['mobile' => $phone, 'event' => 'register'])
|
|
|
- ->where('createtime','>',$time)
|
|
|
- ->order('id', 'DESC')
|
|
|
- ->find();
|
|
|
- if (!$sms || $sms->code != $ver_code){
|
|
|
- return Common::return_error('短信验证码不正确!');
|
|
|
- }
|
|
|
-
|
|
|
- return Common::return_success('验证成功');
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 商家注册第二步
|
|
|
- */
|
|
|
- public static function designer_register_two($data){
|
|
|
- $phone_use = self::where('phone',$data['phone'])->find();
|
|
|
- if ($phone_use && $phone_use['type']==2){
|
|
|
- return Common::return_error('手机号已注册!');
|
|
|
- }
|
|
|
-
|
|
|
- $data['audit'] = 1;
|
|
|
- Db::startTrans();
|
|
|
- try {
|
|
|
- self::where('phone',$data['phone'])->update($data);
|
|
|
- Db::commit();
|
|
|
- return Common::return_success('申请成功,等待审核');
|
|
|
- }catch (Exception $e) {
|
|
|
- Db::rollback();
|
|
|
- return Common::return_error('申请失败');
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
* 忘记密码
|
|
|
*/
|
|
|
public static function forgotPassword($phone,$password,$ver_code){
|
|
@@ -332,94 +163,6 @@ class User Extends Model
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 我的收货地址列表
|
|
|
- */
|
|
|
- public static function MyAddress($user_id,$Nowpage,$limits){
|
|
|
- $list = Address::where('is_del',0)
|
|
|
- ->where('user_id',$user_id)
|
|
|
- ->page($Nowpage,$limits)
|
|
|
- ->order('is_default desc,id desc')
|
|
|
- ->select();
|
|
|
- $data['count'] = count($list);
|
|
|
- $data['list'] = $list;
|
|
|
- return Common::return_success('成功',$data);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 添加,修改收货地址
|
|
|
- */
|
|
|
- public static function AddEditAddress($user_id,$data,$address_id){
|
|
|
- if ($address_id){
|
|
|
- $address = Address::where('id',$address_id)->where('user_id',$user_id)->find();
|
|
|
- if (!$address) return Common::return_error('地址不存在');
|
|
|
- //编辑
|
|
|
- if ($address->save($data)){
|
|
|
- if ($data['is_default']==1){
|
|
|
- Address::where('user_id',$user_id)
|
|
|
- ->where('is_del',0)
|
|
|
- ->where('id','neq',$address_id)
|
|
|
- ->update(['is_default'=>0]);
|
|
|
- }
|
|
|
- return Common::return_success('编辑成功');
|
|
|
- }else{
|
|
|
- return Common::return_error('编辑失败');
|
|
|
- }
|
|
|
- }else{
|
|
|
- $data['user_id'] = $user_id;
|
|
|
- $addre = Address::create($data);
|
|
|
- if ($addre){
|
|
|
- $address_id = $addre->id;
|
|
|
- if ($data['is_default']==1){
|
|
|
- Address::where('user_id',$user_id)
|
|
|
- ->where('is_del',0)
|
|
|
- ->where('id','neq',$address_id)
|
|
|
- ->update(['is_default'=>0]);
|
|
|
- }
|
|
|
- return Common::return_success('添加成功');
|
|
|
- }else{
|
|
|
- return Common::return_error('添加失败');
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 设为默认地址
|
|
|
- */
|
|
|
- public static function SetAddressDefault($user_id,$address_id){
|
|
|
- $address = Address::where('id',$address_id)
|
|
|
- ->where('user_id',$user_id)
|
|
|
- ->find();
|
|
|
- if (!$address) return Common::return_error('地址不存在');
|
|
|
- if ($address->save(['is_default'=>1])){
|
|
|
- Address::where('user_id',$user_id)
|
|
|
- ->where('is_del',0)
|
|
|
- ->where('id','neq',$address_id)
|
|
|
- ->update(['is_default'=>0]);
|
|
|
- return Common::return_success('设置成功');
|
|
|
- }else{
|
|
|
- return Common::return_error('设置失败');
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
- * 删除收货地址
|
|
|
- */
|
|
|
- public static function DelAddress($user_id,$address_id){
|
|
|
- $address = Address::where('id',$address_id)->where('user_id',$user_id)->find();
|
|
|
- if (!$address) return Common::return_error('地址不存在');
|
|
|
- if ($address->save(['is_del'=>time()])){
|
|
|
- return Common::return_success('删除成功');
|
|
|
- }else{
|
|
|
- return Common::return_error('删除失败');
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
* 编辑用户资料
|
|
|
*/
|
|
|
public static function EditUserInfo($user_id,$data){
|