Index.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. use app\common\model\supplier\Service as ServiceModel;
  8. use app\api\model\plus\chat\Chat as ChatModel;
  9. use app\common\model\supplier\Supplier;
  10. use think\facade\Cache;
  11. /**
  12. * 页面控制器
  13. */
  14. class Index extends Controller
  15. {
  16. /**
  17. * 首页
  18. */
  19. public function index($page_id = null, $url = '')
  20. {
  21. // 页面元素
  22. $data = AppPage::getPageData($this->getUser(false), $page_id);
  23. //消息条数
  24. $Chat = new ChatModel;
  25. $data['msgNum'] = $Chat->mCount($this->getUser(false));
  26. $data['setting'] = array(
  27. 'collection' => SettingModel::getItem('collection'),
  28. 'officia' => SettingModel::getItem('officia'),
  29. 'homepush' => SettingModel::getItem('homepush'),
  30. );
  31. $shop_supplier_id = input('shop_supplier_id', 0);
  32. $data['dyLink']= Supplier::getDyLink($shop_supplier_id, $this->app_id);
  33. // 扫一扫参数
  34. $data['signPackage'] = $this->getScanParams($url)['signPackage'];
  35. return $this->renderSuccess('', $data);
  36. }
  37. // 公众号客服
  38. public function mpService($shop_supplier_id)
  39. {
  40. $mp_service = ServiceModel::detail($shop_supplier_id);
  41. return $this->renderSuccess('', compact('mp_service'));
  42. }
  43. //底部导航
  44. public function nav()
  45. {
  46. $data['vars'] = SettingModel::getItem(SettingEnum::BOTTOMNAV);
  47. return $this->renderSuccess('', $data);
  48. }
  49. // app更新
  50. public function update($name, $version, $platform)
  51. {
  52. $result = [
  53. 'update' => false,
  54. 'wgtUrl' => '',
  55. 'pkgUrl' => '',
  56. ];
  57. try {
  58. $model = AppUpdateModel::getLast();
  59. // 这里简单判定下,不相等就是有更新。
  60. if ($model && $version != $model['version']) {
  61. $currentVersions = explode('.', $version);
  62. $resultVersions = explode('.', $model['version']);
  63. if ($currentVersions[0] < $resultVersions[0]) {
  64. // 说明有大版本更新
  65. $result['update'] = true;
  66. $result['pkgUrl'] = $platform == 'android' ? $model['pkg_url_android'] : $model['pkg_url_ios'];
  67. } else {
  68. // 其它情况均认为是小版本更新
  69. $result['update'] = true;
  70. $result['wgtUrl'] = $model['wgt_url'];
  71. }
  72. }
  73. } catch (\Exception $e) {
  74. }
  75. return $this->renderSuccess('', compact('result'));
  76. }
  77. }