@@ -12,8 +12,75 @@ composer require kydev/work-wx-user
1212
1313## 使用
1414
15+ ### 发布配置
16+
17+ ``` shell
18+ php bin/hyperf.php vendor:publish kydev/work-wx-user
19+ ```
20+
1521### 登录
1622
23+ 创建控制器
24+
25+ ``` php
26+ <?php
27+
28+ declare(strict_types=1);
29+
30+ namespace App\Controller;
31+
32+ use Hyperf\Di\Annotation\Inject;
33+ use KY\WorkWxUser\Request\AuthorizeRequest;
34+ use KY\WorkWxUser\UserService;
35+ use KY\WorkWxUser\WeChat\WeChat;
36+
37+ class OAuthController extends Controller
38+ {
39+ #[Inject]
40+ protected WeChat $wx;
41+
42+ #[Inject]
43+ protected UserService $service;
44+
45+ public function authorize(AuthorizeRequest $request)
46+ {
47+ $url = (string) $request->input('redirect_uri');
48+ $state = (string) $request->input('state');
49+
50+ $redirectUrl = $this->wx->authorize($url, $state);
51+
52+ return $this->response->redirect($redirectUrl);
53+ }
54+
55+ public function login()
56+ {
57+ $code = $this->request->input('code');
58+
59+ $result = $this->service->login($code);
60+
61+ return $this->response->success([
62+ 'token' => $result->getToken(),
63+ 'user' => $result->getUser()->toArray(),
64+ ]);
65+ }
66+ }
67+
68+ ```
69+
70+ 增加路由
71+
72+ ``` php
73+ <?php
74+
75+ Router::get('/oauth/authorize', [App\Controller\OAuthController::class, 'authorize']);
76+ Router::get('/oauth/login', [App\Controller\OAuthController::class, 'login']);
77+ Router::post('/oauth/login', [App\Controller\OAuthController::class, 'login']);
78+ ```
79+
80+ 浏览器访问以下地址,并扫码
81+
82+ http://127.0.0.1:9501/oauth/authorize?state=STATE&redirect_uri=http://127.0.0.1:9501/oauth/login
83+
1784### 验证登录态
1885
1986在 ` middlewares.php ` 配置中,增加对应的中间件。
0 commit comments