123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- /**
- * @Name
- * @Description
- * @Author 刘学玺
- * @Date 2024/3/25 16:47
- */
- namespace App\Http\Controllers\Frontend\Client\Auth;
- use App\Exceptions\ApiException;
- use App\Http\Controllers\Controller;
- use App\Http\Services\Frontend\Client\Auth\WechatAuthenticatedService;
- use App\Models\Member\User;
- use EasyWeChat\Kernel\Exceptions\InvalidArgumentException;
- use Illuminate\Http\JsonResponse;
- use Illuminate\Http\Request;
- use Illuminate\Http\Response;
- class WechatAuthenticatedController extends Controller
- {
- protected WechatAuthenticatedService $wechatAuthenticatedService;
- public function __construct(WechatAuthenticatedService $wechatAuthenticatedService)
- {
- $this->wechatAuthenticatedService = $wechatAuthenticatedService;
- }
- /**
- * Notes :
- * Method : 公众号授权
- * @param Request $request
- * @return JsonResponse
- * @throws InvalidArgumentException
- */
- public function oauth(Request $request): JsonResponse
- {
- $params = $request->only(['redirect_url', 'scopes']);
- return self::success($this->wechatAuthenticatedService->oauth($params));
- }
- /**
- * Notes :
- * Method : 公众号授权回调
- * @param Request $request
- * @return JsonResponse
- * @throws InvalidArgumentException
- */
- public function callback(Request $request): JsonResponse
- {
- $params = $request->only(['code']);
- $res = $this->wechatAuthenticatedService->callback($params);
- return self::success($res);
- }
- /**
- * @throws ApiException
- */
- public function store(Request $request): JsonResponse
- {
- $params = $request->only(['open_id', 'auto_register']);
- $res = $this->wechatAuthenticatedService->store($params);
- return self::success($res);
- }
- /**
- * @throws ApiException
- */
- public function bind(Request $request): JsonResponse
- {
- $params = $request->only(['mobile', 'code', 'open_id']);
- $this->wechatAuthenticatedService->bind($params);
- return self::success(true);
- }
- // 发送短信
- public function send(Request $request): JsonResponse
- {
- $request->validate([
- 'mobile' => ['required', 'regex:/^1[345789][0-9]{9}$/']
- ], [
- 'mobile.required' => '手机号不能为空!',
- 'mobile.regex' => '手机号码格式不正确!'
- ]);
- $this->wechatAuthenticatedService->send($request->only(['mobile']));
- return self::success(true);
- }
- /**
- * Notes :
- * Method : 公众号签名
- * @throws ApiException
- */
- public function signature(Request $request): JsonResponse
- {
- $res = $this->wechatAuthenticatedService->getSignature($request->only(['url']));
- return self::success($res);
- }
- }
|