123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?php
- namespace app\admin\controller\wwh;
- use app\common\controller\Backend;
- use think\Db;
- class Contact extends Base
- {
- // 表字段结构
- const DEFAULT_CONTACT = [
- 'tel' => '',
- 'email' => '',
- 'time' => '',
- 'address' => ''
- ];
-
- // 语言标识
- const LANG_CN = 1;
- const LANG_EN = 2;
- /**
- * 查看
- */
- public function index()
- {
- // 初始化中英文数据
- $dataCN = $this->initContactData(self::LANG_CN);
- $dataEN = $this->initContactData(self::LANG_EN);
- $this->assign([
- 'dataCN' => $dataCN,
- 'dataEN' => $dataEN
- ]);
- return $this->view->fetch();
- }
- /**
- * 初始化数据
- * @param int $lang 语言标识
- * @return array
- */
- protected function initContactData($lang)
- {
- $id = $lang; // ID与语言标识相同
- $data = Db::name('wwh_contact')->where('id', $id)->find();
-
- if (!$data) {
- $data = array_merge(
- ['id' => $id, 'lang' => $lang],
- self::DEFAULT_CONTACT
- );
- Db::name('wwh_contact')->insert($data);
- }
-
- return $data;
- }
- /**
- * 保存数据
- * @param int $lang 语言标识
- */
- public function saveContact($lang)
- {
- $id = $lang; // ID与语言标识相同
- $data = [
- 'id' => $id,
- 'tel' => input('tel'),
- 'email' => input('email'),
- 'time' => input('time'),
- 'address' => input('address'),
- 'lang' => $lang
- ];
- $exists = Db::name('wwh_contact')->where('id', $id)->find();
- if ($exists) {
- // 检查数据变动
- foreach (array_keys(self::DEFAULT_CONTACT) as $field) {
- if ($exists[$field] != $data[$field]) {
- $result = Db::name('wwh_contact')->update($data);
- return $this->returnResult($result);
- }
- }
- return $this->error('未检测到数据变动', null, null, false);
- }
-
- $result = Db::name('wwh_contact')->insert($data);
- return $this->returnResult($result);
- }
- /**
- * 返回操作结果
- * @param bool $result
- */
- protected function returnResult($result)
- {
- return $result ? $this->success('保存成功') : $this->error('保存失败');
- }
- /**
- * 中文联系信息修改
- */
- public function ContactCN()
- {
- return $this->saveContact(self::LANG_CN);
- }
- /**
- * 英文联系信息修改
- */
- public function ContactEN()
- {
- return $this->saveContact(self::LANG_EN);
- }
- }
|