添加返回及RPC示例
This commit is contained in:
		
							parent
							
								
									c5f301b9ad
								
							
						
					
					
						commit
						f769f7ec02
					
				
							
								
								
									
										87
									
								
								app/Controller/TestController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								app/Controller/TestController.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,87 @@ | |||||||
|  | <?php | ||||||
|  | 
 | ||||||
|  | declare(strict_types=1); | ||||||
|  | 
 | ||||||
|  | namespace App\Controller; | ||||||
|  | 
 | ||||||
|  | use App\Exception\BusinessException; | ||||||
|  | use App\JsonRpc\UserExternalServiceInterface; | ||||||
|  | use Hyperf\Di\Annotation\Inject; | ||||||
|  | use Hyperf\HttpServer\Annotation\AutoController; | ||||||
|  | use Hyperf\Utils\Collection; | ||||||
|  | use Hyperf\Paginator\Paginator; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 示例控制器 | ||||||
|  |  */ | ||||||
|  | #[AutoController]
 | ||||||
|  | class TestController extends BaseController | ||||||
|  | { | ||||||
|  |     /** | ||||||
|  |      * @var UserExternalServiceInterface | ||||||
|  |      */ | ||||||
|  |     #[Inject]
 | ||||||
|  |     protected UserExternalServiceInterface $userService; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 返回数据示例 | ||||||
|  |      * | ||||||
|  |      * @return array | ||||||
|  |      */ | ||||||
|  |     public function index() | ||||||
|  |     { | ||||||
|  |         $data['user_id'] = 'test'; | ||||||
|  |         return $data; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 空返回示例 | ||||||
|  |      * | ||||||
|  |      * @return void | ||||||
|  |      */ | ||||||
|  |     public function empty() | ||||||
|  |     {} | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 错误示例 | ||||||
|  |      * | ||||||
|  |      * @return mixed | ||||||
|  |      */ | ||||||
|  |     public function error() | ||||||
|  |     { | ||||||
|  |         throw new BusinessException(500, 'error'); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 分页示例 | ||||||
|  |      * | ||||||
|  |      * @return Paginator | ||||||
|  |      */ | ||||||
|  |     public function page() | ||||||
|  |     { | ||||||
|  |         $currentPage = (int) $this->request->input('page', 1); | ||||||
|  |         $perPage = (int) $this->request->input('per_page', 2); | ||||||
|  | 
 | ||||||
|  |         // 这里根据 $currentPage 和 $perPage 进行数据查询,以下使用 Collection 代替
 | ||||||
|  |         $collection = new Collection([ | ||||||
|  |             ['id' => 1, 'name' => 'Tom'], | ||||||
|  |             ['id' => 2, 'name' => 'Sam'], | ||||||
|  |             ['id' => 3, 'name' => 'Tim'], | ||||||
|  |             ['id' => 4, 'name' => 'Joe'], | ||||||
|  |         ]); | ||||||
|  | 
 | ||||||
|  |         $users = array_values($collection->forPage($currentPage, $perPage)->toArray()); | ||||||
|  | 
 | ||||||
|  |         return new Paginator($users, $perPage, $currentPage); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * RPC调用示例 | ||||||
|  |      * | ||||||
|  |      * @return array | ||||||
|  |      */ | ||||||
|  |     public function user_info() | ||||||
|  |     { | ||||||
|  |         return $this->getServiceResult($this->userService->getUserInfo()); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -4,6 +4,14 @@ namespace App\JsonRpc; | |||||||
| 
 | 
 | ||||||
| interface UserExternalServiceInterface | interface UserExternalServiceInterface | ||||||
| { | { | ||||||
|  |     /** | ||||||
|  |      * 获取用户信息 | ||||||
|  |      * | ||||||
|  |      * @param string $name | ||||||
|  |      * @return array | ||||||
|  |      */ | ||||||
|  |     public function getUserInfo(string $name = 'test') : array; | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * 通过微信授权新建用户 |      * 通过微信授权新建用户 | ||||||
|      * |      * | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user