Adwords.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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\allwin\controller\api\v4;
  9. use app\allwin\controller\api\Base;
  10. use app\allwin\model\AllwinAdwords;
  11. use think\facade\Request;
  12. use think\facade\Validate;
  13. class Adwords extends Base{
  14. /**
  15. * 读取微信API
  16. * @param integer 读取ID
  17. * @return json
  18. */
  19. public function index(){
  20. $param['ids'] = $this->request->param('ids');
  21. $param['sign'] = $this->request->param('sign');
  22. $rel = $this->apiSign($param);
  23. if($rel['code'] != 200){
  24. return enjson($rel['code'],'签名验证失败');
  25. }
  26. $group = explode('/',$param['ids']);
  27. $adword = [];
  28. foreach ($group as $value) {
  29. $adword[$value] = [];
  30. }
  31. $rel = AllwinAdwords::where(['member_miniapp_id' => $this->miniapp_id,'group' => $group])->field('title,picture,link,open_type,group')->order('sort desc,id desc')->select();
  32. foreach ($rel as $rs) {
  33. $adword[$rs['group']][] = $rs;
  34. }
  35. return enjson(200,'成功',$adword);
  36. }
  37. /**
  38. * 读取微信API
  39. * @param integer 读取ID
  40. * @return json
  41. */
  42. public function icons(){
  43. $api = $this->request->param('api/s'); //参数过滤
  44. $validate = Validate::alphaDash($api);
  45. if(true !== $validate){
  46. return json(['code'=>404,'msg'=>'非法请求']);
  47. }
  48. $num = $this->request->param('num/d',10);
  49. $limit = $this->request->param('limit/d',16);
  50. $where = [];
  51. $where['group'] = $api;
  52. $where['member_miniapp_id'] = $this->miniapp_id;
  53. $rel = AllwinAdwords::where($where)->cache(true)->field('title,picture,link,open_type')->limit($limit)->order('sort desc,id desc')->select()->toArray();
  54. if(empty($rel)){
  55. return enjson(204,['code'=>204,'msg'=>'空','data' => []]);
  56. }else{
  57. $nav = [];
  58. $i = -1;
  59. foreach($rel as $key => $value){
  60. if($key%$num == 0){
  61. $i++;
  62. $nav[$i][] = $value;
  63. }else{
  64. $nav[$i][] = $value;
  65. }
  66. }
  67. return enjson(200,'成功',$nav);
  68. }
  69. }
  70. }