Index.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 小程序公共API服务
  7. */
  8. namespace app\citys\controller\api\v1;
  9. use app\citys\controller\api\Base;
  10. use app\citys\model\CitysPage;
  11. use app\citys\model\Citys;
  12. use app\citys\model\CitysFollow;
  13. use app\citys\model\CitysCate;
  14. use app\citys\model\CitysType;
  15. use app\citys\model\CitysAdwords;
  16. use app\citys\model\CitysConfig;
  17. class Index extends Base{
  18. /**
  19. * 获取配置参数
  20. * @return void
  21. */
  22. public function getconfig(){
  23. $this->apiSign();
  24. $result = CitysConfig::config($this->member_miniapp_id);
  25. if(empty($result)){
  26. return enjson(204);
  27. }else{
  28. return enjson(200,$result->top);
  29. }
  30. }
  31. /**
  32. * 读取微信API
  33. * @param integer 读取ID
  34. * @return json
  35. */
  36. public function getTpl(){
  37. $param['id'] = $this->request->param('id/d',0);
  38. $this->apiSign($param);
  39. $rel = CitysCate::cateTpl($param['id']);
  40. return enjson(200,$rel);
  41. }
  42. /**
  43. * @return \think\response\Json
  44. * 站点统计
  45. */
  46. public function sitedata(){
  47. $this->apiSign();
  48. $data['all'] = rand(4000,9999);
  49. $data['online'] = rand(1000,3000);
  50. return enjson(200,$data);
  51. }
  52. /**
  53. * @return \think\response\Json
  54. * 文本内容
  55. */
  56. public function pages(){
  57. $this->apiSign();
  58. $rel = CitysPage::where(['member_miniapp_id' => $this->member_miniapp_id])->find();
  59. if($rel){
  60. $rel->disclaimer = strip_tags(str_replace('<img', '<img class="img"',dehtml($rel->disclaimer)),"<b><strong><img><br><p><u><em><span>");
  61. $rel->agreement = strip_tags(str_replace('<img', '<img class="img"',dehtml($rel->agreement)),"<b><strong><img><br><p><u><em><span>");
  62. $rel->fraud = strip_tags(str_replace('<img', '<img class="img"',dehtml($rel->fraud)),"<b><strong><img><br><p><u><em><span>");
  63. $rel->about = strip_tags(str_replace('<img', '<img class="img"',dehtml($rel->about)),"<b><strong><img><br><p><u><em><span>");
  64. return enjson(200,$rel);
  65. }
  66. return enjson(204);
  67. }
  68. /**
  69. * 广告图片
  70. * @return void
  71. */
  72. public function adwords(){
  73. $param['ids'] = $this->request->param('ids');
  74. $this->apiSign($param);
  75. $group = explode('/',$param['ids']);
  76. $adword = [];
  77. foreach ($group as $value) {
  78. $adword[$value] = [];
  79. }
  80. $rel = CitysAdwords::where(['member_miniapp_id' => $this->miniapp_id,'group' => $group])->field('title,picture,link,open_type,group')->order('sort desc,id desc')->select();
  81. foreach ($rel as $rs) {
  82. $adword[$rs['group']][] = $rs;
  83. }
  84. return enjson(200,$adword);
  85. }
  86. /**
  87. * 读取我关注的信息列表
  88. * @param integer 读取ID
  89. * @return json
  90. */
  91. public function index(){
  92. $param['page'] = $this->request->param('page/d',1);
  93. $this->apiSign($param);
  94. $where = [];
  95. $where['member_miniapp_id'] = $this->member_miniapp_id;
  96. $where['is_lock'] = 0;
  97. $order = 'is_top desc,sort desc,id desc';
  98. if($this->user){
  99. $order = 'sort desc,id desc';
  100. $uid = CitysFollow::where(['uid' => $this->user->id])->column('like_uid');
  101. if(!empty($uid)){
  102. $where['uid'] = $uid;
  103. }
  104. }
  105. $data = Citys::apiLists($where,$order,$this->user);
  106. if(empty($data) && $this->user){
  107. $data = Citys::apiLists(['member_miniapp_id' => $this->member_miniapp_id,'is_lock' => 1],$order,$this->user);
  108. }
  109. return enjson(empty($data)?204:200,$data);
  110. }
  111. /**
  112. * 读取微信API
  113. * @param integer 读取ID
  114. * @return json
  115. */
  116. public function cate(){
  117. $this->apiSign();
  118. $data = CitysCate::where(['member_miniapp_id' => $this->member_miniapp_id])->order('sort desc,id desc')->select()->toArray();
  119. return enjson(200,$data);
  120. }
  121. /**
  122. * 主题信息
  123. * @param integer 读取ID
  124. * @return json
  125. */
  126. public function cateInfo(){
  127. $param['cate_id'] = $this->request->param('cate_id/d');
  128. $this->apiSign($param);
  129. $data = CitysCate::where(['member_miniapp_id' => $this->member_miniapp_id,'id' => $param['cate_id']])->field('id,name')->find();
  130. return enjson(200,$data);
  131. }
  132. /**
  133. * 类型筛选
  134. */
  135. public function types(){
  136. $this->apiSign();
  137. $rel = CitysType::where(['member_miniapp_id' => $this->member_miniapp_id])->append(['name'])->order('sort desc,id desc')->select()->toArray();
  138. return enjson(200,$rel);
  139. }
  140. /**
  141. * 城市号
  142. * @param integer 读取ID
  143. * @return json
  144. */
  145. public function info(){
  146. $param['page'] = $this->request->param('page/d',1);
  147. $param['cate_id'] = $this->request->param('cate_id/d');
  148. $param['type_id'] = $this->request->param('type_id/d');
  149. $param['keyword'] = $this->request->param('keyword/s');
  150. $this->apiSign($param);
  151. $where = [];
  152. $where['member_miniapp_id'] = $this->member_miniapp_id;
  153. $where['is_lock'] = 0;
  154. if(!empty($param['cate_id'])){
  155. $where['cate_id'] = $param['cate_id'];
  156. }
  157. if(!empty($param['type_id'])){
  158. $where['type_id'] = $param['type_id'];
  159. }
  160. $data = Citys::apiLists($where,'is_top desc,sort desc,id desc',$this->user,$param['keyword']);
  161. return enjson(empty($data)?204:200,$data);
  162. }
  163. }