About.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <?php
  2. namespace app\admin\controller\wwh;
  3. use app\common\controller\Backend;
  4. use think\Db;
  5. class About extends Base
  6. {
  7. // 表字段结构
  8. const DEFAULT_ABOUT = [
  9. 'about_title' => '',
  10. 'about_content' => '',
  11. 'about_bottom_content' => '',
  12. 'about_image' => '',
  13. 'about_video' => '',
  14. 'culture_title1' => '',
  15. 'culture_slogan1' => '',
  16. 'culture_image1' => '',
  17. 'culture_title2' => '',
  18. 'culture_slogan2' => '',
  19. 'culture_image2' => '',
  20. 'culture_title3' => '',
  21. 'culture_slogan3' => '',
  22. 'culture_image3' => '',
  23. 'culture_title4' => '',
  24. 'culture_slogan4' => '',
  25. 'culture_image4' => '',
  26. 'culture_title5' => '',
  27. 'culture_slogan5' => '',
  28. 'culture_image5' => ''
  29. ];
  30. // 语言标识
  31. const LANG_CN = 1;
  32. const LANG_EN = 2;
  33. /**
  34. * 查看
  35. */
  36. public function index()
  37. {
  38. // 初始化中英文数据
  39. $dataCN = $this->initAboutData(self::LANG_CN);
  40. $dataEN = $this->initAboutData(self::LANG_EN);
  41. $this->assign([
  42. 'dataCN' => $dataCN,
  43. 'dataEN' => $dataEN
  44. ]);
  45. return $this->view->fetch();
  46. }
  47. /**
  48. * 初始化数据
  49. * @param int $lang 语言标识
  50. * @return array
  51. */
  52. protected function initAboutData($lang)
  53. {
  54. $id = $lang; // ID与语言标识相同
  55. $data = Db::name('wwh_about')->where('id', $id)->find();
  56. if (!$data) {
  57. $data = array_merge(
  58. ['id' => $id, 'lang' => $lang],
  59. self::DEFAULT_ABOUT
  60. );
  61. Db::name('wwh_about')->insert($data);
  62. }
  63. return $data;
  64. }
  65. /**
  66. * 保存数据
  67. * @param int $lang 语言标识
  68. */
  69. public function saveAbout($lang)
  70. {
  71. $id = $lang; // ID与语言标识相同
  72. $data = [
  73. 'id' => $id,
  74. 'about_title' => input('about_title'),
  75. 'about_content' => input('about_content'),
  76. 'about_bottom_content' => input('about_bottom_content'),
  77. 'about_image' => input('about_image'),
  78. 'about_video' => input('about_video'),
  79. 'culture_title1' => input('culture_title1'),
  80. 'culture_slogan1' => input('culture_slogan1'),
  81. 'culture_image1' => input('culture_image1'),
  82. 'culture_title2' => input('culture_title2'),
  83. 'culture_slogan2' => input('culture_slogan2'),
  84. 'culture_image2' => input('culture_image2'),
  85. 'culture_title3' => input('culture_title3'),
  86. 'culture_slogan3' => input('culture_slogan3'),
  87. 'culture_image3' => input('culture_image3'),
  88. 'culture_title4' => input('culture_title4'),
  89. 'culture_slogan4' => input('culture_slogan4'),
  90. 'culture_image4' => input('culture_image4'),
  91. 'culture_title5' => input('culture_title5'),
  92. 'culture_slogan5' => input('culture_slogan5'),
  93. 'culture_image5' => input('culture_image5'),
  94. 'lang' => $lang,
  95. ];
  96. $exists = Db::name('wwh_about')->where('id', $id)->find();
  97. if ($exists) {
  98. // 检查数据变动
  99. foreach (array_keys(self::DEFAULT_ABOUT) as $field) {
  100. if ($exists[$field] != $data[$field]) {
  101. $result = Db::name('wwh_about')->update($data);
  102. return $this->returnResult($result);
  103. }
  104. }
  105. return $this->error('未检测到数据变动', null, null, false);
  106. }
  107. $result = Db::name('wwh_about')->insert($data);
  108. return $this->returnResult($result);
  109. }
  110. /**
  111. * 返回操作结果
  112. * @param bool $result
  113. */
  114. protected function returnResult($result)
  115. {
  116. return $result ? $this->success('保存成功') : $this->error('保存失败');
  117. }
  118. /**
  119. * 中文公司概况修改
  120. */
  121. public function AboutCN()
  122. {
  123. return $this->saveAbout(self::LANG_CN);
  124. }
  125. /**
  126. * 英文公司概况修改
  127. */
  128. public function AboutEN()
  129. {
  130. return $this->saveAbout(self::LANG_EN);
  131. }
  132. }