SystemService.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. declare(strict_types=1);
  3. namespace app\miniapi\service;
  4. final class SystemService
  5. {
  6. public function configuration(): array
  7. {
  8. $capabilities = $this->capabilities();
  9. return [
  10. 'currency' => 'CNY',
  11. 'money_unit' => 'cent',
  12. 'timezone' => 'Asia/Shanghai',
  13. 'support_phone' => config('mini_api.support_phone', '') ?: null,
  14. 'privacy_url' => config('mini_api.privacy_url', '') ?: null,
  15. 'purchase_agreement_url' => config('mini_api.purchase_agreement_url', '') ?: null,
  16. 'capabilities' => $capabilities,
  17. 'setup_messages' => SystemServiceSetup::build($capabilities),
  18. 'admin_binding' => [
  19. 'route_users' => '/core/water/mini-users',
  20. 'route_grants' => '/core/water/mini-grants',
  21. 'roles' => Access::roles(),
  22. 'note' => '仅启用状态的超级管理员能调用以上接口;业务身份不会自动获得后台权限。',
  23. ],
  24. ];
  25. }
  26. private function capabilities(): array
  27. {
  28. return [
  29. 'wechat_login' => (string) config('mini_api.wechat_appid', '') !== '' && (string) config('mini_api.wechat_secret', '') !== '',
  30. 'test_phone_login' => \app\miniapi\auth\TestPhoneIdentityProvider::enabled(),
  31. 'enterprise' => true,
  32. 'driver' => true,
  33. 'agent' => true,
  34. 'payment' => false,
  35. 'balance_payment' => true,
  36. 'commissions' => true,
  37. 'withdrawal' => false,
  38. 'rewards' => \plugin\saiadmin\app\service\promotion\PromotionPolicy::current()['enabled'],
  39. 'individual_package_cards' => false,
  40. 'multiple_sites_per_enterprise' => false,
  41. 'device_binding' => false,
  42. ];
  43. }
  44. public function status(): array
  45. {
  46. $capabilities = $this->capabilities();
  47. return [
  48. 'service' => 'water-mini-api',
  49. 'version' => 'v1',
  50. 'status' => 'ok',
  51. 'capabilities' => [
  52. 'login' => $capabilities['wechat_login'],
  53. 'business' => true,
  54. 'wechat_payment' => $capabilities['payment'],
  55. 'balance_payment' => $capabilities['balance_payment'],
  56. 'commissions' => $capabilities['commissions'],
  57. 'withdrawals' => $capabilities['withdrawal'],
  58. ],
  59. ];
  60. }
  61. }