Card.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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\bestbao\controller\api\v1;
  9. use app\bestbao\controller\api\Base;
  10. use app\bestbao\model\BestbaoCard;
  11. use app\bestbao\model\BestbaoEngineer;
  12. use app\bestbao\model\BestbaoInformation;
  13. class Card extends Base{
  14. /**
  15. * 首页
  16. **/
  17. public function index(){
  18. $param['signkey'] = $this->request->param('signkey');
  19. $param['sign'] = $this->request->param('sign');
  20. $rel = $this->apiSign($param);
  21. if($rel['code'] != 200){
  22. return enjson($rel['code'],'签名验证失败');
  23. }
  24. $rel = BestbaoCard::where(['member_miniapp_id' => $this->miniapp_id])->find();
  25. if($rel){
  26. $map = bdMap_to_txMap($rel['latitude'],$rel['longitude']);
  27. $rel['content'] = str_replace('<img', '<img class="img"',dehtml($rel['content']));
  28. $rel['latitude'] = $map['lat'];
  29. $rel['longitude'] = $map['lng'];
  30. return enjson(200,'成功',$rel);
  31. }else{
  32. return enjson(204);
  33. }
  34. }
  35. /**
  36. * 公司动态
  37. **/
  38. public function news(){
  39. $param['signkey'] = $this->request->param('signkey');
  40. $param['sign'] = $this->request->param('sign');
  41. $rel = $this->apiSign($param);
  42. if($rel['code'] != 200){
  43. return enjson($rel['code'],'签名验证失败');
  44. }
  45. $rel = BestbaoInformation::where(['member_miniapp_id' => $this->miniapp_id])->limit(10)->select();
  46. if($rel){
  47. return enjson(200,'成功',$rel);
  48. }else{
  49. return enjson(204);
  50. }
  51. }
  52. /**
  53. * 公司动态
  54. **/
  55. public function reNews(){
  56. $param['id'] = $this->request->param('id/d',0);
  57. $param['sign'] = $this->request->param('sign');
  58. $rel = $this->apiSign($param);
  59. if($rel['code'] != 200){
  60. return enjson($rel['code'],'签名验证失败');
  61. }
  62. $rel = BestbaoInformation::where(['member_miniapp_id' => $this->miniapp_id,'id' => $param['id']])->find();
  63. if($rel){
  64. $rel['content'] = str_replace('<img', '<img class="img"',dehtml($rel['content']));
  65. return enjson(200,'成功',$rel);
  66. }else{
  67. return enjson(204);
  68. }
  69. }
  70. /**
  71. * 获取工程师列表
  72. * @return void
  73. */
  74. public function engineer(){
  75. $param['page'] = $this->request->param('page/d',1);
  76. $param['sign'] = $this->request->param('sign');
  77. $rel = $this->apiSign($param);
  78. if ($rel['code'] != 200) {
  79. return enjson($rel['code'],'签名验证失败');
  80. }
  81. $rel = BestbaoEngineer::with(['user' => function($query){
  82. $query->field('nickname,phone_uid,id,face');
  83. }])->where(['member_miniapp_id' => $this->miniapp_id])->order('sort desc,id desc')->paginate(10)->toArray();
  84. if(empty($rel['data'])){
  85. return enjson(204);
  86. }
  87. return enjson(200, '成功', $rel['data']);
  88. }
  89. /**
  90. * 不包含自己的的工程师列表
  91. * @return void
  92. */
  93. public function engineerNotMe(){
  94. $this->isUserAuth();
  95. $param['page'] = $this->request->param('page/d',1);
  96. $param['sign'] = $this->request->param('sign');
  97. $rel = $this->apiSign($param);
  98. if ($rel['code'] != 200) {
  99. return enjson($rel['code'],'签名验证失败');
  100. }
  101. $rel = BestbaoEngineer::with(['user' => function($query){
  102. $query->field('nickname,phone_uid,id,face');
  103. }])->where([['member_miniapp_id','=',$this->miniapp_id],['uid','<>',$this->user->id]])->order('sort desc,id desc')->paginate(10)->toArray();
  104. if(empty($rel['data'])){
  105. return enjson(204);
  106. }
  107. return enjson(200, '成功', $rel['data']);
  108. }
  109. }