| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- declare(strict_types=1);
- namespace app\miniapi\service;
- final class SystemService
- {
- public function configuration(): array
- {
- $capabilities = $this->capabilities();
- return [
- 'currency' => 'CNY',
- 'money_unit' => 'cent',
- 'timezone' => 'Asia/Shanghai',
- 'support_phone' => config('mini_api.support_phone', '') ?: null,
- 'privacy_url' => config('mini_api.privacy_url', '') ?: null,
- 'purchase_agreement_url' => config('mini_api.purchase_agreement_url', '') ?: null,
- 'capabilities' => $capabilities,
- 'setup_messages' => SystemServiceSetup::build($capabilities),
- 'admin_binding' => [
- 'route_users' => '/core/water/mini-users',
- 'route_grants' => '/core/water/mini-grants',
- 'roles' => Access::roles(),
- 'note' => '仅启用状态的超级管理员能调用以上接口;业务身份不会自动获得后台权限。',
- ],
- ];
- }
- private function capabilities(): array
- {
- return [
- 'wechat_login' => (string) config('mini_api.wechat_appid', '') !== '' && (string) config('mini_api.wechat_secret', '') !== '',
- 'test_phone_login' => \app\miniapi\auth\TestPhoneIdentityProvider::enabled(),
- 'enterprise' => true,
- 'driver' => true,
- 'agent' => true,
- 'payment' => false,
- 'balance_payment' => true,
- 'commissions' => true,
- 'withdrawal' => false,
- 'rewards' => \plugin\saiadmin\app\service\promotion\PromotionPolicy::current()['enabled'],
- 'individual_package_cards' => false,
- 'multiple_sites_per_enterprise' => false,
- 'device_binding' => false,
- ];
- }
- public function status(): array
- {
- $capabilities = $this->capabilities();
- return [
- 'service' => 'water-mini-api',
- 'version' => 'v1',
- 'status' => 'ok',
- 'capabilities' => [
- 'login' => $capabilities['wechat_login'],
- 'business' => true,
- 'wechat_payment' => $capabilities['payment'],
- 'balance_payment' => $capabilities['balance_payment'],
- 'commissions' => $capabilities['commissions'],
- 'withdrawals' => $capabilities['withdrawal'],
- ],
- ];
- }
- }
|