About.php 4.0 KB

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