12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- namespace App\Admin\Controllers\Traits\AskTraits;
- use App\Admin\Renderable\BannerRender;
- use App\Admin\Renderable\IconRender;
- use App\Models\Ask\AskTemplate;
- use App\Models\WxIcon;
- use App\Models\WxSlideshow;
- use App\Wen\Utils\AdminUtils;
- use App\Wen\Utils\FieldUtils;
- use App\Wen\Utils\GatewayUtils;
- use App\Wen\Utils\Settings;
- use App\Wen\Utils\SiteUtils;
- use Dcat\Admin\Form\NestedForm;
- use Dcat\Admin\Layout\Content;
- use Dcat\Admin\Widgets\Form;
- use Dcat\Admin\Widgets\Tooltip;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Cache;
- trait formAskTrait{
- public function index_config(Content $content)
- {
- return $content->title('知识付费配置')
- // ->body($this->buildPreviewButton())
- // ->body($this->newline())
- ->body(
- <<<HTML
- <div class="card">{$this->form_config()->render()}</div>
- HTML
- );
- }
- protected function form_config(){
- $form = new Form();
- $form->confirm('您确定要提交表单吗?', 'content');
- $form->disableResetButton();
- $form->tab('首页', function (Form $form) {
- $form->multipleSelectTable('app_ask_banner', '轮播图')
- ->title('轮播图库')
- ->max(10)
- ->from(BannerRender::make())
- ->model(WxSlideshow::class, 'id', 'id', 'selectTable:formAskTrait:app_ask_banner')
- ->help('<a href="'.admin_url('slideshow').'" target="_blank">运营管理-轮播图中心</a><a href="https://doc.minisns.cn/doc/70/" target="_blank" style="color: red;">(ps:如何控制顺序?) </a>')
- ->default(Settings::get('app_ask_banner', '',true));
- $form->image('blogger_info_audit_image', '答主招募图片')->url('files/uploads')->autoUpload()->uniqueName()->default(Settings::get('blogger_info_audit_image'));
- $form->text('blogger_info_audit_clause_url', '答主招募图片的链接')->default(Settings::get('blogger_info_audit_clause_url',''));
- $form->number('askorder_blogger_balance_rate', '咨询订单给答主的收益比例百分比')->help('0-100之间')->default(Settings::get('askorder_blogger_balance_rate', 0));
- $form->number('sitorder_user_balance_rate', '旁听订单给咨询者的收益比例百分比')->help('0-100之间')->default(Settings::get('sitorder_user_balance_rate', 0));
- $form->image('askorder_hidden_user_avatar', '匿名用户的头像')->url('files/uploads')->autoUpload()->uniqueName()->default(Settings::get('askorder_hidden_user_avatar'));
- $form->text('askorder_blogger_clause_url', '答主认证条款链接')->default(Settings::get('askorder_blogger_clause_url',''));
- });
- $form->tab('咨询提交', function (Form $form) {
- $form->textarea('askorder_default_question', '咨询问题提醒')->default(Settings::get('askorder_default_question', ''));
- $form->text('askorder_default_hidden', '匿名提醒')->default(Settings::get('askorder_default_hidden', ''));
- $form->text('askorder_default_public', '公开提醒')->default(Settings::get('askorder_default_public', ''));
- $form->textarea('askorder_default_rule', '底部规则提醒')->default(Settings::get('askorder_default_rule', ''));
- });
- $form->action('ask/action/config');
- return $form;
- }
- public function config(Request $request){
- SiteUtils::forget_config_data();
- Settings::set('app_ask_banner', AdminUtils::_multipleSelectTable_order_process('selectTable:formAdkTrait:app_ask_banner', $request->input('app_ask_banner')), true, true);
- Settings::set('blogger_info_audit_image', $request->input('blogger_info_audit_image'), true);
- Settings::set('blogger_info_audit_clause_url', $request->input('blogger_info_audit_clause_url'), true);
- Settings::set('askorder_blogger_balance_rate', $request->input('askorder_blogger_balance_rate'), true);
- Settings::set('sitorder_user_balance_rate', $request->input('sitorder_user_balance_rate'), true);
- Settings::set('askorder_hidden_user_avatar', $request->input('askorder_hidden_user_avatar'), true);
- Settings::set('askorder_blogger_clause_url', $request->input('askorder_blogger_clause_url'), true);
- Settings::set('askorder_default_question', $request->input('askorder_default_question'), true);
- Settings::set('askorder_default_hidden', $request->input('askorder_default_hidden'), true);
- Settings::set('askorder_default_public', $request->input('askorder_default_public'), true);
- Settings::set('askorder_default_rule', $request->input('askorder_default_rule'), true);
- $__global_config_version__ = Settings::get('__global_config_version__', 1) + 1;
- Settings::set('__global_config_version__', $__global_config_version__);
- GatewayUtils::success('all', 13, [ 'version' => $__global_config_version__, 'file' => basename(__FILE__) ]);
- return $this->response()->success('成功!');
- }
- }
|