12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- namespace App\Distributor\Controllers;
- use App\Distributor\Repositories\DistAdminDistributor;
- use App\Http\Controllers\Controller;
- use Dcat\Admin\Layout\Column;
- use Dcat\Admin\Layout\Content;
- use Dcat\Admin\Layout\Row;
- use Dcat\Admin\Widgets\Form;
- use Illuminate\Http\Request;
- class SettingsController extends Controller
- {
- public function index(Content $content)
- {
- return $content->title(admin_trans( 'admin.settings'))
- ->body(
- <<<HTML
- <div class="card">{$this->form()->render()}</div>
- HTML
- );
- }
- protected function form()
- {
- //查分销商信息
- $distInfo = DistAdminDistributor::getInfo();
- $secondaryDomain = $distInfo->secondary_domain ? $distInfo->secondary_domain : '';
- $customDomain = $distInfo->custom_domain ? $distInfo->custom_domain : '';
- $form = new Form();
- $form->radio('domain_type')
- ->when(0, function (Form $form) use ($secondaryDomain) {
- $form->text('secondary_domain')->width(4,2)->value($secondaryDomain)->readOnly();
- })
- ->when(1, function (Form $form) use ($customDomain){
- $form->text('custom_domain')->width(4,2)->value($customDomain)->required()->help('Please enter the domain name, such as www.example.com,and bind the domain name to the IP address '.env('DIST_SITE_IP'));
- })
- ->options([0=>admin_trans_field('secondary_domain'),1=>admin_trans_field('custom_domain')])
- ->value($distInfo->domain_type)
- ->required();
- return $form;
- }
- /*
- * 保存配置
- */
- public function store(Request $request) {
- $form = new Form();
- $domainType = $request->input('domain_type');
- $customDomain = $request->input('custom_domain');
- if (!in_array($domainType, [0,1])) {
- return $form->response()->error('Invalid argument');
- }
- if ($domainType == 1) {
- if (str_starts_with($customDomain,env('TOP_DOMAIN'))) {
- return $form->response()->error('Error in domain format');
- }
- if (!isDomainOnly($customDomain)) {
- return $form->response()->error('Error in domain format');
- }
- }
- DistAdminDistributor::updateDomain($domainType,$customDomain);
- return $form->response()->success('Success');
- }
- }
|