123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Http\Controllers\Controller;
- use App\Models\Securecode;
- use App\Models\Users;
- use App\Service\UserService;
- use Illuminate\Http\Request;
- class UserController extends Controller
- {
- /* 发送验证码 */
- public function sendMobileCode(Request $request) {
- $validator = \Validator::make($request->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);
- }
- }
|