-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.php
72 lines (65 loc) · 2.07 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
// error_reporting(E_ALL);
// ini_set("display_errors", '1');
ini_set('date.timezone', 'Asia/Shanghai');
// 分类
$cate = $_GET['t'] ?? $_GET['type'] ?? $_GET['cate'] ?? '60s';
// 格式
$encode = $_GET['e'] ?? $_GET['encode'] ?? 'json';
$nocache = isset($_REQUEST['nocache']);
$result = '';
switch ($cate) {
case 'zhihu':
require 'include/zhihu.php';
$result = fetchZhihu($encode);
break;
case 'bili':
require 'include/bili.php';
$result = fetchBili($encode);
break;
case 'weibo':
require 'include/weibo.php';
$result = fetchWeibo($encode);
break;
case 'toutiao':
require 'include/toutiao.php';
$result = fetchToutiao($encode);
break;
case 'douyin':
require 'include/douyin.php';
$result = fetchDouyin($encode, isset($_GET['trending']) ? 'trending' : 'word');
break;
case 'bing':
require 'include/bing.php';
$result = fetchBing($encode);
break;
case 'history':
case 'events':
require 'include/eventsOnHistory.php';
$result = fetchEventsOnHistory($encode, $_GET['day'] ?? '');
break;
case 'ex-rates':
case 'rate':
require 'include/ext-rates.php';
$result = fetchRatesByCurrency($encode, $_GET['c'] ?? 'CNY');
break;
case '60s':
default:
require 'include/60s.php';
$result = fetch60s($encode, $_GET['offset'] ?? 0, isset($_GET['v1']), $nocache);
break;
}
header('Content-Type: application/json');
if (!$nocache) {
$seconds_to_cache = 60; // 1 分钟缓存
header("Expires: " . gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT");
header("Cache-Control: max-age=$seconds_to_cache");
header("Cache-Control: public");
header("Pragma: cache");
}
if (isset($_GET['cors'])) {
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
}
die(is_string($result) ? $result : json_encode($result));