Index.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. use think\Cache;
  6. /**
  7. * 首页接口
  8. */
  9. class Index extends Api
  10. {
  11. protected $noNeedLogin = ['index'];
  12. protected $noNeedRight = ['*'];
  13. public function index(){
  14. echo 'apisuccess';
  15. exit;
  16. }
  17. //精选
  18. public function jingxuan(){
  19. $keyworld = input('keyworld','');
  20. $where = [
  21. 'user.id' => ['neq',$this->auth->id],
  22. 'user.status' => 1,
  23. 'user.gender' => ['neq',$this->auth->gender],
  24. ];
  25. //女性强制实名,强制真人
  26. if($this->auth->gender == 1 && config('site.index_women_auth_switch') == 1){
  27. $where['user.idcard_status'] = 1;
  28. $where['user.real_status'] = 1;
  29. }
  30. if(!empty($keyworld)){
  31. $where['user.username|nickname'] = ['LILE','%'.$keyworld.'%'];
  32. }
  33. //排除黑名单的
  34. $where_black = [];
  35. $black_ids = Db::name('user_black')->where(['uid'=>$this->auth->id])->column('black_uid');
  36. if(!empty($black_ids)){
  37. $where_black['user.id'] = ['NOTIN',$black_ids];
  38. }
  39. $field = [
  40. 'user.id',
  41. 'user.username',
  42. 'user.nickname',
  43. 'user.avatar',
  44. 'user.idcard_status',
  45. 'user.real_status',
  46. 'user.photo_images',
  47. 'user.gender',
  48. 'user.birthday',
  49. 'user.is_active',
  50. 'user.bio',
  51. 'user.wealth_level',
  52. 'user.charm_level',
  53. 'wallet.vip_endtime',
  54. 'power.meili',
  55. 'power.caifu',
  56. 'wealth.image as wealth_image',
  57. 'charm.image as charm_image',
  58. ];
  59. $list = Db::name('user')->alias('user')->field($field)
  60. ->join('user_wallet wallet','user.id = wallet.user_id','LEFT')
  61. ->join('user_power power','user.id = power.user_id','LEFT')
  62. ->join('wealth_level wealth','user.wealth_level = wealth.level','LEFT')
  63. ->join('charm_level charm','user.charm_level = charm.level','LEFT')
  64. ->where($where)
  65. ->where($where_black)
  66. ->order('user.is_active desc,user.id desc')
  67. ->autopage()
  68. ->select();
  69. $list = list_domain_image($list,['avatar','photo_images','wealth_image','charm_image']);
  70. foreach($list as $key => &$val){
  71. $val['age'] = birthtime_to_age($val['birthday']);
  72. $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
  73. if($val['meili'] == 0){
  74. $val['charm_level'] = '';
  75. $val['charm_image'] = '';
  76. }
  77. if($val['caifu'] == 0){
  78. $val['wealth_level'] = '';
  79. $val['wealth_image'] = '';
  80. }
  81. }
  82. $this->success(1,$list);
  83. }
  84. //新人
  85. public function xinren(){
  86. $keyworld = input('keyworld','');
  87. $where = [
  88. 'user.id' => ['neq',$this->auth->id],
  89. 'user.status' => 1,
  90. 'user.gender' => ['neq',$this->auth->gender],
  91. ];
  92. //女性强制实名,强制真人
  93. if($this->auth->gender == 1 && config('site.index_women_auth_switch') == 1){
  94. $where['user.idcard_status'] = 1;
  95. $where['user.real_status'] = 1;
  96. }
  97. if(!empty($keyworld)){
  98. $where['user.username|nickname'] = ['LILE','%'.$keyworld.'%'];
  99. }
  100. //排除黑名单的
  101. $where_black = [];
  102. $black_ids = Db::name('user_black')->where(['uid'=>$this->auth->id])->column('black_uid');
  103. if(!empty($black_ids)){
  104. $where_black['user.id'] = ['NOTIN',$black_ids];
  105. }
  106. $field = [
  107. 'user.id',
  108. 'user.username',
  109. 'user.nickname',
  110. 'user.avatar',
  111. 'user.idcard_status',
  112. 'user.real_status',
  113. 'user.photo_images',
  114. 'user.gender',
  115. 'user.birthday',
  116. 'user.is_active',
  117. 'user.bio',
  118. 'user.wealth_level',
  119. 'user.charm_level',
  120. 'wallet.vip_endtime',
  121. 'power.meili',
  122. 'power.caifu',
  123. 'wealth.image as wealth_image',
  124. 'charm.image as charm_image',
  125. ];
  126. $list = Db::name('user')->alias('user')->field($field)
  127. ->join('user_wallet wallet','user.id = wallet.user_id','LEFT')
  128. ->join('user_power power','user.id = power.user_id','LEFT')
  129. ->join('wealth_level wealth','user.wealth_level = wealth.level','LEFT')
  130. ->join('charm_level charm','user.charm_level = charm.level','LEFT')
  131. ->where($where)
  132. ->where($where_black)
  133. ->order('user.is_active desc,user.id desc')
  134. ->autopage()
  135. ->select();
  136. $list = list_domain_image($list,['avatar','photo_images','wealth_image','charm_image']);
  137. foreach($list as $key => &$val){
  138. $val['age'] = birthtime_to_age($val['birthday']);
  139. $val['is_vip'] = $val['vip_endtime'] > time() ? 1 : 0;
  140. if($val['meili'] == 0){
  141. $val['charm_level'] = '';
  142. $val['charm_image'] = '';
  143. }
  144. if($val['caifu'] == 0){
  145. $val['wealth_level'] = '';
  146. $val['wealth_image'] = '';
  147. }
  148. }
  149. $this->success(1,$list);
  150. }
  151. //首页搜索
  152. public function search_user(){
  153. $keyword = input('keyword','');
  154. if(empty($keyword)){
  155. $this->error();
  156. }
  157. $where = [
  158. 'gender' => ['neq',$this->auth->gender],
  159. 'status' => 1,
  160. ];
  161. if(is_numeric($keyword)){
  162. $where['username'] = intval($keyword);
  163. }else{
  164. $where['nickname'] = ['LIKE','%'.trim($keyword).'%'];
  165. }
  166. $list = Db::name('user')->field('id,username,nickname,gender,avatar')->where($where)->limit(100)->select();
  167. $list = list_domain_image($list,['avatar']);
  168. $this->success(1,$list);
  169. }
  170. }