Explorar el Código

青爻公众号

cqp hace 10 meses
padre
commit
cbd2adef03

+ 11 - 0
app/Http/Controllers/Api/WeixinController.php

@@ -53,4 +53,15 @@ class WeixinController extends BaseController
             return $this->json_return(201,$data);
         }
     }
+
+    public function getPublicWxDraft(Request $request){
+        $service = new WeixinService();
+        list($status,$data) = $service->getPublicWxDraft($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
 }

+ 28 - 0
app/Service/Weixin/WeixinService.php

@@ -85,6 +85,34 @@ class WeixinService extends Service
         return [true, ['data' => $result['item'] ?? [], 'total' => $result['total_count'], 'data_count' => $result['item_count']]];
     }
 
+    public function getPublicWxDraft($data){
+        list($status, $msg) = $this->rule($data);
+        if(! $status) {
+            file_put_contents('record_ip.txt',date("Y-m-d H:i:s",time()).json_encode($data) . PHP_EOL."来源IP".$msg.PHP_EOL,8);
+            return [false, 'IP未入白名单'];
+        }
+
+        list($status, $msg) = $this->getToken();
+        if(! $status) return [false, $msg];
+
+        $config = config('qingyaoWx');
+        $url = sprintf($config['get_draft'], $msg);
+
+        $offset = empty($data['page_index']) ? 1 : $data['page_index'] - 1;
+        $count = empty($data['page_size']) || $data['page_size'] > 10 ? 10 : $data['page_size'];
+        $post = [
+            'offset' => $offset,
+            'count' => $count,
+            'no_content' => 0,
+        ];
+        $result = $this->curlOpen($url, ['post' => json_encode($post)]);
+        $result = json_decode($result,true);
+
+        if(isset($result['errmsg'])) return [false, $result['errmsg']];
+
+        return [true, ['data' => $result['item'] ?? [], 'total' => $result['total_count'], 'data_count' => $result['item_count']]];
+    }
+
     public function rule($data){
         // 获取用户的IP地址
         $userIP = $_SERVER['REMOTE_ADDR'];

+ 3 - 2
config/qingyaoWx.php

@@ -6,7 +6,8 @@ return [
     "appid" => "wxb207e156f593f699",
     "appsecret" => "25b2455c0cd6e87c73c9912ba1523aee",
     "get_token" => "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s",
-    "get_article" => "https://api.weixin.qq.com/cgi-bin/freepublish/batchget?access_token=%s",
-    "get_material" => "https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=%s",
+    "get_article" => "https://api.weixin.qq.com/cgi-bin/freepublish/batchget?access_token=%s",//已发布 非群发
+    "get_material" => "https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=%s",//永久素材列表
+    "get_draft" => "https://api.weixin.qq.com/cgi-bin/draft/batchget?access_token=%s",//草稿箱
 ];
 

+ 1 - 0
routes/weixin.php

@@ -14,6 +14,7 @@
 Route::any('checkForWx', 'Api\WeixinController@checkForWx');
 Route::any('getPublicWxArticle', 'Api\WeixinController@getPublicWxArticle');
 Route::any('getPublicWxMaterial', 'Api\WeixinController@getPublicWxMaterial');
+Route::any('getPublicWxDraft', 'Api\WeixinController@getPublicWxDraft');
 
 Route::group(['middleware'=> ['checkWeixin']],function ($route){