formSubPageMineTrait.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?php
  2. namespace App\Admin\Controllers\Traits\WxSubSettingTraits;
  3. use App\Admin\Renderable\PlateRender;
  4. use App\Jobs\UserBgColorUpdateJob;
  5. use App\Models\WxPlate;
  6. use App\Wen\Utils\AdminUtils;
  7. use App\Wen\Utils\FieldUtils;
  8. use App\Wen\Utils\GatewayUtils;
  9. use App\Wen\Utils\Settings;
  10. use App\Wen\Utils\SiteUtils;
  11. use Dcat\Admin\Form\NestedForm;
  12. use Dcat\Admin\Layout\Content;
  13. use Dcat\Admin\Widgets\Form;
  14. use Illuminate\Http\Request;
  15. trait formSubPageMineTrait{
  16. public function index_subpagemine(Content $content)
  17. {
  18. global $__MINI_GLOBAL_TENANT_ID__;
  19. if($__MINI_GLOBAL_TENANT_ID__ > 0){
  20. return $content->title('用户相关')
  21. // ->body($this->buildPreviewButton())
  22. // ->body($this->newline())
  23. ->body(
  24. <<<HTML
  25. <div class="card">{$this->form_subpagemine()->render()}</div>
  26. HTML
  27. );
  28. }else{
  29. exit('错误');
  30. }
  31. }
  32. protected function form_subpagemine(){
  33. $form = new Form();
  34. $form->confirm('您确定要提交表单吗?', 'content');
  35. $form->disableResetButton();
  36. $form->tab('我', function (Form $form) {
  37. $form->textarea('app_user_introduce', '默认简介')->help('用户默认简介')->default(Settings::get('app_user_introduce', '这个人很懒,还没有简介', true));
  38. });
  39. $form->tab('资料', function (Form $form) {
  40. $form->list('app_user_labels','用户标签')->default(Settings::get('app_user_labels', [], true));
  41. });
  42. $form->tab('登录', function (Form $form) {
  43. $form->image('app_login_bg', '登录背景图')->help('建议和默认图片大小。 <a href="https://img.mini.minisns.cn/2023/03/25/68b11834f85f49711ae1ba875f7d7ab1.jpg" download="app_login_bg.jpg" target="_blank" style="color: steelblue">点击下载默认图</a>')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('app_login_bg', 'https://img.mini.minisns.cn/2023/03/25/68b11834f85f49711ae1ba875f7d7ab1.jpg', true));
  44. $form->radio('app_login_bg_scroll', '背景')->options([0=>'静止', 1=>'滚动'])->default(Settings::get('app_login_bg_scroll', 1, true));
  45. $form->divider();
  46. // $form->image('user_background_maps', '用户默认背景')->help('<a href="https://img.mini.minisns.cn/icons/back.jpg" download="user_background_maps.jpg" target="_blank" style="color: steelblue">点击下载默认图</a>')->url('files/uploads')->uniqueName()->autoUpload()->default(Settings::get('user_background_maps', 'https://img.mini.minisns.cn/icons/back.jpg', true));
  47. $form->multipleSelectTable('app_login_default_plates', '用户默认选择的板块')->title('板块库')
  48. ->max(10)
  49. ->from(PlateRender::make())
  50. ->model(WxPlate::class, 'id', 'plate_name', 'selectTable:formSubPageMineTrait:app_login_default_plates')
  51. ->help('也就是第一次注册后,默认选择的板块,<a href="'.admin_url('plate').'" target="_blank">管理板块>></a><a href="https://doc.minisns.cn/doc/70/" target="_blank" style="color: red;">(ps:如何控制顺序?)&nbsp;</a>')->default(Settings::get('app_login_default_plates', '', true));
  52. $form->text('app_login_first_welcome_title', '欢迎语-标题')->help('第一次注册时以系统通知的方式发送给客户')->default(Settings::get('app_login_first_welcome_title', '欢迎来到'.Settings::get('app_title', '宠也', true)));
  53. if(__system_is_model_enable('laradocs', 'dcat-neditor')){
  54. $form->neditor('app_login_first_welcome', '欢迎语-内容')->help('以系统通知的方式')->default(Settings::get('app_login_first_welcome', '祝你在这里找到自己的朋友,并且玩的开心', true));
  55. }else{
  56. $form->editor('app_login_first_welcome', '欢迎语-内容')->width(4)->help('以系统通知的方式')->default(Settings::get('app_login_first_welcome', '祝你在这里找到自己的朋友,并且玩的开心', true));
  57. }
  58. });
  59. $form->tab('匿名', function (Form $form) {
  60. $form->table('anonymous_name_avatar','匿名资料库', function (NestedForm $table) {
  61. $table->text('name', '用户名')->placeholder('如:阿白,momo')->required();
  62. $table->image('avatar', '头像')->url('files/uploads')->uniqueName()->autoUpload();
  63. })->default(Settings::get('anonymous_name_avatar', '', true));
  64. });
  65. $form->tab('用户海报', function (Form $form) {
  66. $form->html(function () {
  67. return '<div style="background-color: powderblue;color: #414750;padding: 10px;border-radius: 5px;">路径:/pagesB/playbill/userPoster</div>';
  68. }, '');
  69. $form->html(function () {
  70. return '<a href="https://img.mini.minisns.cn/images/bg/user_poster.png" target="_blank">查看效果</a>';
  71. }, '');
  72. $form->table('app_share_poster','图片样式', function (NestedForm $table) {
  73. $table->text('text1', '文本一')->default('我的二维码');
  74. $table->text('text2', '文本二')->default('邀请你加入女厕');
  75. $table->text('text3', '文本三')->default('躺着就能赚钱');
  76. $table->image('url', '背景')->help('建议图片 560*800 px。 <a href="https://img.mini.minisns.cn/2022/11/04/cc09ed8e1e17689b81a27aec1e471fe8.png" download="app_share_vip_img.jpg" target="_blank" style="color: steelblue">点击下载默认图</a>')->url('files/uploads')->uniqueName()->autoUpload();
  77. })->default(Settings::get('app_share_poster', '', true));
  78. });
  79. $form->tab('自助解封', function (Form $form) {
  80. $form->decimal('app_unban_one_hour_balance', '解除封号消耗余额/小时')->help('请自行换算到一天多少钱,一天24小时')->default(Settings::get('app_unban_one_hour_balance', 1.0, true));
  81. $form->decimal('app_unmute_one_hour_balance', '解除禁言消耗余额/小时')->help('请自行换算到一天多少钱,一天24小时')->default(Settings::get('app_unmute_one_hour_balance', 0.5, true));
  82. });
  83. $form->action('settings/action/subpagemine');
  84. return $form;
  85. }
  86. public function subpagemine(Request $request){
  87. global $__MINI_GLOBAL_TENANT_ID__;
  88. if($__MINI_GLOBAL_TENANT_ID__ > 0){
  89. SiteUtils::forget_config_data();
  90. Settings::set('app_user_introduce', $request->input('app_user_introduce'), true, true);
  91. Settings::set('app_user_labels', AdminUtils::list_fiele_process($request->input('app_user_labels')), true, true);
  92. Settings::set('app_login_bg_scroll', $request->input('app_login_bg_scroll'), true, true);
  93. Settings::set('app_login_bg', $request->input('app_login_bg'), true, true);
  94. // Settings::set('user_background_maps', $request->input('user_background_maps'), true, true);
  95. Settings::set('app_login_default_plates', AdminUtils::_multipleSelectTable_order_process('selectTable:formSubPageMineTrait:app_login_default_plates', $request->input('app_login_default_plates')) , true, true);
  96. Settings::set('app_login_first_welcome_title', $request->input('app_login_first_welcome_title'), true, true);
  97. Settings::set('app_login_first_welcome', $request->input('app_login_first_welcome'), true, true);
  98. Settings::set('anonymous_name_avatar', AdminUtils::_table_data($request->input('anonymous_name_avatar')), true, true);
  99. Settings::set('app_share_poster', AdminUtils::_table_data($request->input('app_share_poster')), true, true);
  100. Settings::set('app_unban_one_hour_balance', $request->input('app_unban_one_hour_balance'), true, true);
  101. Settings::set('app_unmute_one_hour_balance', $request->input('app_unmute_one_hour_balance'), true, true);
  102. // UserBgColorUpdateJob::dispatch(0, true);
  103. $__global_config_version__ = Settings::get('__global_config_version__', 1) + 1;
  104. Settings::set('__global_config_version__', $__global_config_version__);
  105. GatewayUtils::success('all', 13, [ 'version' => $__global_config_version__, 'file' => basename(__FILE__) ]);
  106. return $this->response()->success('成功!');
  107. }else{
  108. return $this->response()->error('错误!');
  109. }
  110. }
  111. }