chengkun
2025-05-22 1a8aea45ebb1582c9f65d9e8dcd520002f83ae12
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<?php
 
class datav_controller extends common{ 
 
    public $member   =  array();
    public $comInfo  =  array();
    public $sy_datav_diydata = array();
    
    function __construct($tpl,$db,$def='',$model='index',$m='') {
 
        $this->common($tpl,$db,$def,'datav',$m);
        $diydata = json_decode($this->config['sy_datav_diydata'],true);
        $this->sy_datav_diydata = array(
            'allcomnum'=>intval($diydata['allcomnum']),
            'daycomnum'=>intval($diydata['daycomnum']),
            'alljobnum'=>intval($diydata['alljobnum']),
            'dayjobnum'=>intval($diydata['dayjobnum']),
            'allusernum'=>intval($diydata['allusernum']),
            'dayusernum'=>intval($diydata['dayusernum']),
            'allzphnum'=>intval($diydata['allzphnum']),
            'dayzphnum'=>intval($diydata['dayzphnum']),
 
            'yearuser_monthreg'=>intval($diydata['yearuser_monthreg']),
            'yearuser_monthreg_rand'=>intval($diydata['yearuser_monthreg_rand']),
            'monthreg_user'=>intval($diydata['monthreg_user']),
            'dayreg_user'=>intval($diydata['dayreg_user']),
            'year_sqnum'=>intval($diydata['year_sqnum']),
            'year_yqnum'=>intval($diydata['year_yqnum']),
            'year_chatnum'=>intval($diydata['year_chatnum']),
            'year_lrnum'=>intval($diydata['year_lrnum']),
            'year_ljnum'=>intval($diydata['year_ljnum']),
 
            'yearcom_regnum'=>intval($diydata['yearcom_regnum']),
            'yearcom_monthreg'=>intval($diydata['yearcom_monthreg']),
            'yearcom_monthreg_rand'=>intval($diydata['yearcom_monthreg_rand']),
 
            'hothy_sqnum'=>intval($diydata['hothy_sqnum']),
            'hothy_sqnum_rand'=>intval($diydata['hothy_sqnum_rand']),
            'hothy_jobs'=>intval($diydata['hothy_jobs']),
            'hothy_jobs_rand'=>intval($diydata['hothy_jobs_rand']),
 
            'hotjob_sqnum'=>intval($diydata['hotjob_sqnum']),
            'hotjob_sqnum_rand'=>intval($diydata['hotjob_sqnum_rand']),
            'hotjob_jobs'=>intval($diydata['hotjob_jobs']),
            'hotjob_jobs_rand'=>intval($diydata['hotjob_jobs_rand']),
        );
        $this->datatoken();
        
    }
    //通信验证
    function datatoken(){
      
        if ($_GET['token'] && $this->config['sy_datav_token'] && $_GET['token'] == $this->config['sy_datav_token']){
               return true;
        }else{
            $result = array(
                'error'  =>  1001,
                'url'=>$this->config['sy_weburl']
            );
            header('content-type:application/json; charset=utf-8');
            echo json_encode($result);exit();
        }
    }
    
    /**
     * 将接口返回数据以统一格式的JSON输出
     * $data       array     执行结果输出的数据
     */
    public function success($data = array()) {
        // 将数组中null字段转为空
        $result  =  $this->nullToEmpty($data);
        header('content-type:application/json; charset=utf-8');
        echo json_encode($result);
        exit;
    }
    /**
     * 将接口返回数据以统一格式的JSON输出
     * $errcode   string     执行结果标识码,
     * $msg       string     执行结果描述信息
     */
    public function fail($msg='') {
        
        $result = array(
            'error'  =>  400,
            'msg'    =>  $msg
        );
        header('content-type:application/json; charset=utf-8');
        echo json_encode($result);
        exit;
    }
    /**
     * 将null字段值转为空
     * @param array $arr
     * @return string
     */
    function nullToEmpty($arr = array()){
        
        if (!empty($arr)){
            
            foreach ($arr as $k=>$v){
                
                if (is_null($v)){
                    
                    $arr[$k] = '';
                    
                }elseif (is_array($v)){
                    
                    $arr[$k]  =  $this->nullToEmpty($v);
                }
            }
        }
        return $arr;
    }
 
    /**
     * 【时间戳转为多久之前】
     * @param String timestamp 时间戳
     * @param String | Boolean format 如果为时间格式字符串,超出一定时间范围,返回固定的时间格式;
     * 如果为布尔值false,无论什么时间,都返回多久以前的格式
     * @return false|string
     */
    public function getDateView($timestamp = null, $format = 'Y-m-d')
    {
 
        $timer = bcsub(time(), $timestamp);
 
        switch (true) {
            case $timer < 60:
                $datetime_n = '刚刚';
                break;
            case $timer >= 60 && $timer < 3600:
                $datetime_n = intval(bcdiv($timer , 60)).'分钟前';
                break;
            case $timer >= 3600 && $timer < 86400:
                $datetime_n = intval(bcdiv($timer , 3600)).'小时前';
                break;
            case $timer >= 86400 && $timer < 2592000:
                $datetime_n = intval(bcdiv($timer , 86400)).'天前';
                break;
            default:
                // 如果format为false,则无论什么时间戳,都显示xx之前
                if ($format === false) {
                    if ($timer >= 2592000 && $timer < 365 * 86400) {
                        $datetime_n = intval(bcdiv($timer , bcmul(86400 , 30))).'个月前';
                    } else {
                        $datetime_n = intval(bcdiv($timer , bcmul(86400 , 365))).'年前';
                    }
                } else {
                    $datetime_n = date($format, $timestamp);
                }
                break;
        }
 
        return $datetime_n;
    }
 
}
?>