all(), [ 'mobile' => 'required|regex:/^1\d{10}$/', 'open_id' => 'required', 'app_id' => 'required', ], [ 'mobile.required' => '手机号必填', 'mobile.regex' => '手机号不合法', 'open_id.required' => '用户标识必填', 'app_id.required' => '小程序标识必填' ]); if ($validator->fails()) { return self::returnValue($validator->getMessageBag(), 1102); } $mobile = $request->input('mobile'); $openId = $request->input('open_id'); $appId = $request->input('app_id'); # 查询openid是否合法 $userInfo = Users::getUserInfo($appId, $openId); if(empty($userInfo)) { return self::returnValue('', 1001); } # 更新用户表 if(empty($userInfo->mobile) || $userInfo->mobile != $mobile) { list($user, $code) = UserService::updateUserByOpenId($userInfo->id, ['mobile' => $mobile]); if(0 != $code) { return self::returnValue('', $code); } } # 发送短信验证码 $data = Securecode::sendPhoneVerify($userInfo); return self::returnValue($data); } /* 短信验证码登录 */ public function loginMobileCode(Request $request) { $validator = \Validator::make($request->all(), [ 'mobile' => 'required|regex:/^1\d{10}$/', 'open_id' => 'required', 'app_id' => 'required', 'code' => 'required' ], [ 'mobile.required' => '手机号必填', 'mobile.regex' => '手机号不合法', 'open_id.required' => '用户标识必填', 'app_id.required' => '小程序标识必填', 'code.required' => '验证码必填' ]); if ($validator->fails()) { return self::returnValue($validator->getMessageBag(), 1102); } $mobile = $request->input('mobile'); $openId = $request->input('open_id'); $appId = $request->input('app_id'); $code = $request->input('code'); # 查询openid是否合法 $userInfo = Users::getUserInfo($appId, $openId); if(empty($userInfo)) { return self::returnValue('', 1001); } $flag = Securecode::receivePhoneVerify($mobile, $code); if(!$flag) { return self::returnValue('', 1004); } return self::returnValue($userInfo, 0); } /* 抖音默认授权码登录 */ public function loginCode(Request $request) { $validator = \Validator::make($request->all(),[ 'app_id' => 'required', 'code' => 'required', ]); if ($validator->fails()) { return self::returnValue($validator->getMessageBag(), 1102); } $appId = $request->input('app_id'); $code = $request->input('code'); list($data, $errcode) = UserService::loginCode($appId, $code); return self::returnValue($data, $errcode); } /* 收藏浏览列表 */ public function likeList(Request $request) { $validator = \Validator::make($request->all(), [ 'app_id' => 'required|string',// 小程序appid 'open_id' => 'required|string' ]); if ($validator->fails()) { return self::returnValue($validator->getMessageBag(), 1102); } $appId = $request->input('app_id'); $openId = $request->input('open_id'); $page = $request->input('page'); $pageSize = $request->input('page_size'); $source = $request->input('source');// 列表 1追剧列表 2历史记录 3收藏喜欢 list($data, $count) = UserService::likeList($appId, $openId, $source, $page, $pageSize); return self::returnPageValue($data, $count, $pageSize, $page); } /* 收藏、取消收藏、浏览上报 */ public function like(Request $request) { $validator = \Validator::make($request->all(), [ 'app_id' => 'required|string',// 小程序appid 'open_id' => 'required|string', 'album_id' => 'required', 'type' => 'required|in:1,2', 'status' => 'required|in:1,0',// 1添加 0取消 ]); if ($validator->fails()) { return self::returnValue($validator->getMessageBag(), 1102); } $appId = $request->input('app_id'); $openId = $request->input('open_id'); $type = $request->input('type'); $albumId = $request->input('album_id'); $episodeId = $request->input('episode_id'); $seq = $request->input('seq'); $status = $request->input('status'); list($res, $code) = UserService::like($appId, $openId, $type, $albumId, $episodeId, $status, $seq); return self::returnValue($res, $code); } /* 用户观看广告行为上报 */ public function watchAd(Request $request) { $validator = \Validator::make($request->all(), [ 'app_id' => 'required',// 小程序appid 'open_id' => 'required', ]); if ($validator->fails()) { return self::returnValue($validator->getMessageBag(), 1102); } $appId = $request->input('app_id'); $openId = $request->input('open_id'); $albumId = $request->input('album_id'); $episodeId = $request->input('episode_id'); $adPlacementId = $request->input('ad_placement_id'); $code = UserService::watchAd($appId, $openId, $albumId, $episodeId, $adPlacementId); return self::returnValue('', $code); } public function userProfile(Request $request) { $validator = \Validator::make($request->all(), [ 'app_id' => 'required',// 小程序appid 'open_id' => 'required', ]); if ($validator->fails()) { return self::returnValue($validator->getMessageBag(), 1102); } $appId = $request->input('app_id'); $openId = $request->input('open_id'); $params['avatar_url'] = $request->input('avatar_url'); $params['nick_name'] = $request->input('nick_name'); $params['gender'] = $request->input('gender'); $params['city'] = $request->input('city'); $params['province'] = $request->input('province'); $params['country'] = $request->input('country'); $params['language'] = $request->input('language'); # 查询openid是否合法 $userInfo = Users::getUserInfo($appId, $openId); if(empty($userInfo)) { return self::returnValue('', 1001); } list($user, $code) = UserService::updateUserByOpenId($userInfo->id, $params); return self::returnValue($user, $code); } }