formContentsTrait.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace App\Admin\Controllers\Traits\WxSettingTraits;
  3. use App\Wen\Utils\AdminUtils;
  4. use App\Wen\Utils\GatewayUtils;
  5. use App\Wen\Utils\Settings;
  6. use App\Wen\Utils\SiteUtils;
  7. use Dcat\Admin\Form\NestedForm;
  8. use Dcat\Admin\Layout\Content;
  9. use Dcat\Admin\Widgets\Form;
  10. use Illuminate\Http\Request;
  11. use Illuminate\Support\Facades\Cache;
  12. trait formContentsTrait{
  13. public function index_contents(Content $content)
  14. {
  15. return $content->title('内容源(不可用)')
  16. // ->body($this->buildPreviewButton())
  17. // ->body($this->newline())
  18. ->body(
  19. <<<HTML
  20. <div class="card">{$this->form_contents()->render()}</div>
  21. HTML
  22. );
  23. }
  24. protected function form_contents(){
  25. $form = new Form();
  26. $form->confirm('您确定要提交表单吗?', 'content');
  27. $form->disableResetButton();
  28. $form->html(function () {
  29. return '';
  30. }, '<b>一、minisns</b>');
  31. $form->text('admin_auth_code', '安全码')->default(Settings::get('admin_auth_code', 'asldfafksdzodfansdkfjhashfas'));
  32. $form->html(function () {
  33. return '<div style="background-color: powderblue;padding: 10px;border-radius: 5px;">简单说明一下: <br>1、根据同步列表里配置的映射组id对应的映射组,minisns和其他cms进行同步,只有在映射组的圈子才会同步到其他cms,同时反向同步也是根据这里配置的同步规则。<br>2、左边是mini的,右边是其他cms的,如果其他cms有多个分类要同步到mini的同一个圈子,右边可以配置多个。<br>3、<a style="color: blue" href="https://img.mini.minisns.cn/icons/example1.jpg" target="_blank">点击查看示例</a></div>';
  34. }, '');
  35. $form->table('admin_auth_map','映射组', function (NestedForm $table) {
  36. $table->text('id', 'id')->default('map001')->required();
  37. $table->keyValue('circleMap', '圈子映射')->setKeyLabel('圈子id')->setValueLabel('分类id');
  38. $table->keyValue('goodsClassMap', '商品分类映射')->setKeyLabel('商品分类id')->setValueLabel('商品分类id');
  39. })->default(Settings::get('admin_auth_map', ''));
  40. $form->html(function () {
  41. return '';
  42. }, '<b>二、同步列表</b>');
  43. $form->table('admin_content_source1','LightSNS', function (NestedForm $table) {
  44. $table->text('url', '地址')->default('https://minisns.cn');
  45. $table->text('safe', '安全后缀')->default('abc=123');
  46. $table->switch('needSync', '同步至')->default(false);
  47. $table->text('map', '映射组')->default('map001')->required();
  48. })->default(Settings::get('admin_content_source1', ''));
  49. $form->html(function () {
  50. return '<a href="https://minisns.cn/25292.html" target="_blank" style="color:steelblue;">下载LightSNS同步函数模块?</a><br><br>';
  51. }, '');
  52. $form->table('admin_content_source2','discuz', function (NestedForm $table) {
  53. $table->text('url', '测试')->default('https://minisns.cn');
  54. })->default(Settings::get('admin_content_source2', ''));
  55. $form->html(function () {
  56. return '<a href="#" target="_blank" style="color:steelblue;">下载Discuz同步插件?</a><br><br>';
  57. }, '');
  58. $form->action('settings/action/contents');
  59. return $form;
  60. }
  61. public function contents(Request $request){
  62. SiteUtils::forget_config_data();
  63. // 内容源
  64. Settings::set('admin_auth_code', $request->input('admin_auth_code'), true);
  65. Settings::set('admin_auth_map', $this->_table_keyvalue_data($request->input('admin_auth_map')), true);
  66. Settings::set('admin_content_source1', AdminUtils::_table_data($request->input('admin_content_source1')), true);
  67. Settings::set('admin_content_source2', AdminUtils::_table_data($request->input('admin_content_source2')), true);
  68. $__global_config_version__ = Settings::get('__global_config_version__', 1) + 1;
  69. Settings::set('__global_config_version__', $__global_config_version__);
  70. GatewayUtils::success('all', 13, [ 'version' => $__global_config_version__, 'file' => basename(__FILE__) ]);
  71. return $this->response()->success('成功!');
  72. }
  73. }