瀏覽代碼

环信的异步回调

lizhen_gitee 1 年之前
父節點
當前提交
0fd22d096a
共有 1 個文件被更改,包括 67 次插入0 次删除
  1. 67 0
      application/api/controller/Easemob.php

+ 67 - 0
application/api/controller/Easemob.php

@@ -0,0 +1,67 @@
+<?php
+
+namespace app\api\controller;
+
+use app\common\controller\Api;
+use Redis;
+use think\Db;
+
+/**
+ * 环信接口
+ */
+class Easemob extends Api
+{
+    protected $noNeedLogin = ["callback"];
+    protected $noNeedRight = ['*'];
+
+    /**
+     * 回调
+     */
+    public function callback() {
+        $this->notify_log_start();
+
+        $input = file_get_contents("php://input"); // 主题信息
+        $input = json_decode($input,true);
+
+
+
+
+    }
+
+    //异步日志
+    private function notify_log_start($paytype = 'easemob'){
+        //记录支付回调数据
+        ignore_user_abort(); // run script in background
+        set_time_limit(30);
+        // 日志文件 start
+        $log_base_dir = '../paylog/'.$paytype.'/';
+        if (!is_dir($log_base_dir))
+        {
+            mkdir($log_base_dir, 0770, true);
+            @chmod($log_base_dir, 0770);
+        }
+        $notify_file = $log_base_dir.'notify.txt';
+        if(!file_exists($notify_file)) {
+            @touch($notify_file);
+            @chmod($notify_file, 0770);
+        }
+        if(filesize($notify_file)>5242880)//大于5M自动切换
+        {
+            rename($notify_file, $log_base_dir.'notify_'.date('Y_m_d_H_i_s').'.txt');
+        }
+        if(!file_exists($notify_file)) {
+            @touch($notify_file);
+            @chmod($notify_file, 0770);
+        }
+        // 日志文件 end
+        //开始写入
+
+        $xml = file_get_contents("php://input");
+        file_put_contents($notify_file, "\r\n\r\n".date('Y-m-d H:i:s')." [notify][入口接收php://input流原始数据] \n".$xml, FILE_APPEND);
+
+        ini_set('display_errors','On');
+
+        return $notify_file;
+
+    }
+}