zhanglinxin vor 1 Jahr
Ursprung
Commit
1cb9baf29b

+ 1 - 3
application/api/controller/Dingtalk.php

@@ -10,8 +10,7 @@ class Dingtalk extends Base
 
     public function get_obj(){
         $get_token_obj = new Dingtoken();
-        $access_token = $get_token_obj->main();
-        p($access_token);exit;
+        $access_token = $get_token_obj->main()['accessToken'];
         require_once env('root_path').'/vendor/dingapi/TopSdk.php';
         date_default_timezone_set('Asia/Shanghai');
         $c = new \DingTalkClient(\DingTalkConstant::$CALL_TYPE_OAPI, \DingTalkConstant::$METHOD_POST , \DingTalkConstant::$FORMAT_JSON);
@@ -113,7 +112,6 @@ class Dingtalk extends Base
 
     //获取用户列表
     public function get_member(){
-        $obj = $this->get_obj();
         $list = User::select();
         $data = array_column($list->toArray(), null, 'userid');
         $array = [];

+ 16 - 1
application/api/controller/Dingtoken.php

@@ -28,6 +28,14 @@ class Dingtoken extends Base
      **/
     public function main()
     {
+        $options = \think\Config::get('redis');
+        $redis = new Redis($options);
+        $key = 'dingtalk_access_token';
+        $access_token_data = $redis->get($key);
+        if ($access_token_data) {
+            return json_decode($access_token_data, true);
+        }
+
         $client = self::createClient();
         $getAccessTokenRequest = new GetAccessTokenRequest([
             "appKey" => "dingekepwoyycxfbtyvg",
@@ -45,6 +53,13 @@ class Dingtoken extends Base
             }
         }
 
-        return $res;
+        if($res->body){
+            $data = [
+                'accessToken'=>$res->body->accessToken,
+                'expireIn'=>$res->body->expireIn,
+            ];
+            $redis->set($key, json_encode($data), 7000);
+            return $data;
+        }
     }
 }

+ 13 - 0
config/redis.php

@@ -0,0 +1,13 @@
+<?php
+
+return [
+    //Redis驱动
+    'host'       => "120.79.86.50", // 服务器地址
+    'port'       => 6379, // 端口
+    'password'   => "hdl2022", // 密码
+    'select'     => 0, // 使用哪一个 db,默认为 db0
+    'timeout'    => 0, // 连接超时时间
+    'expire'     => 0, // 缓存有效期 0表示永久缓存
+    'persistent' => false, // 是否是长连接
+    'prefix'     => '', // 缓存前缀
+];