65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| 
 | |
| namespace app\api\logic;
 | |
| 
 | |
| 
 | |
| use app\common\basics\Logic;
 | |
| use app\common\model\FootprintRecord;
 | |
| use app\common\server\ConfigServer;
 | |
| use app\common\server\UrlServer;
 | |
| 
 | |
| class FootPrintLogic extends Logic
 | |
| {
 | |
| 
 | |
|     public static function lists()
 | |
|     {
 | |
|         try {
 | |
|             $config = ConfigServer::get('footprint', 0);
 | |
|             if (empty($config['footprint_status']) or $config['footprint_status'] === 0) {
 | |
|                 return ['time' => time(), 'lists' => []];
 | |
|             }
 | |
| 
 | |
|             $where = [];
 | |
|             if ($config['footprint_duration'] and $config['footprint_duration'] > 0) {
 | |
|                 $duration = ($config['footprint_duration'] * 60);
 | |
|                 $time = time() - $duration; //获取多少分钟前
 | |
|                 $where = [
 | |
|                     ['create_time', '>=', $time]
 | |
|                 ];
 | |
|             }
 | |
| 
 | |
|             $model = new FootprintRecord();
 | |
|             $lists = $model->field(true)->where($where)
 | |
|                 ->with(['user' => function ($query) {
 | |
|                     $query->withAttr('nickname', function ($value) {
 | |
|                         if (mb_strlen($value) > 4) {
 | |
|                             return mb_substr($value, 0, 4) . '**';
 | |
|                         }
 | |
|                         return $value;
 | |
|                     });
 | |
|                 }])->order('id', 'desc')
 | |
|                 ->limit(50)
 | |
|                 ->append(['time'])->select();
 | |
| 
 | |
|             foreach ($lists as &$item) {
 | |
|                 $item['template'] = self::getTemplate($item);
 | |
|                 $item['user']['avatar'] = UrlServer::getFileUrl($item['user']['avatar']);
 | |
|                 unset($item['user_id']);
 | |
|                 unset($item['foreign_id']);
 | |
|             }
 | |
|             return ['time' => time(), 'lists' => $lists];
 | |
|         } catch (\Exception $e) {
 | |
|             self::$error = $e->getMessage();
 | |
|             return [];
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     // 获取模板
 | |
|     private static function getTemplate($data)
 | |
|     {
 | |
|         $nickname = $data['user']['nickname'].' ';
 | |
|         $time = $data['time'];
 | |
|         return $nickname.$time.$data['template'];
 | |
|     }
 | |
| } |