Index.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace app\api\controller;
  3. use app\api\model\page\Page as AppPage;
  4. use app\api\model\settings\Setting as SettingModel;
  5. use app\common\enum\settings\SettingEnum;
  6. use app\common\model\app\AppUpdate as AppUpdateModel;
  7. /**
  8. * 页面控制器
  9. */
  10. class Index extends Controller
  11. {
  12. /**
  13. * 首页
  14. */
  15. public function index($page_id = null, $url = '')
  16. {
  17. // 页面元素
  18. $data = AppPage::getPageData($this->getUser(false), $page_id);
  19. $data['setting'] = array(
  20. 'collection' => SettingModel::getItem('collection'),
  21. 'officia' => SettingModel::getItem('officia'),
  22. 'homepush' => SettingModel::getItem('homepush')
  23. );
  24. // 扫一扫参数
  25. $data['signPackage'] = $this->getScanParams($url)['signPackage'];
  26. // 微信公众号分享参数
  27. $data['share'] = $this->getShareParams($url, $data['page']['params']['share_title'], $data['page']['params']['share_title'], '/pages/index/index', $data['page']['params']['share_img']);
  28. return $this->renderSuccess('', $data);
  29. }
  30. // 公众号客服
  31. public function mpService()
  32. {
  33. $mp_service = SettingModel::getItem('mp_service');
  34. return $this->renderSuccess('', compact('mp_service'));
  35. }
  36. // app更新
  37. public function update($name, $version, $platform){
  38. $result = [
  39. 'update' => false,
  40. 'wgtUrl' => '',
  41. 'pkgUrl' => '',
  42. ];
  43. try {
  44. $model = AppUpdateModel::getLast();
  45. // 这里简单判定下,不相等就是有更新。
  46. if($model && $version != $model['version']){
  47. $currentVersions = explode('.', $version);
  48. $resultVersions = explode('.', $model['version']);
  49. if ($currentVersions[0] < $resultVersions[0]) {
  50. // 说明有大版本更新
  51. $result['update'] = true;
  52. $result['pkgUrl'] = $platform == 'android'?$model['pkg_url_android']:$model['pkg_url_ios'];
  53. } else {
  54. // 其它情况均认为是小版本更新
  55. $result['update'] = true;
  56. $result['wgtUrl'] = $model['wgt_url'];
  57. }
  58. }
  59. } catch (\Exception $e) {
  60. }
  61. return $this->renderSuccess('', compact('result'));
  62. }
  63. public function nav(){
  64. $vars = SettingModel::getItem(SettingEnum::TABBAR);
  65. return $this->renderSuccess('', compact('vars'));
  66. }
  67. }