作者 lyh

gx

... ... @@ -11,6 +11,8 @@ use App\Http\Requests\Aside\Domain\DomainInfoRequest;
use App\Models\Aside\Domain\DomainInfo;
use App\Models\Aside\Domain\DomainInfoLog;
use Illuminate\Http\JsonResponse;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
... ... @@ -138,6 +140,43 @@ class DomainInfoController extends BaseController
}
/**
* @remark :导出数据
* @name :exportData
* @author :lyh
* @method :post
* @time :2023/8/1 16:45
*/
public function exportData(){
$domainModel = new DomainInfo();
$lists = $domainModel->list($this->map);
// 创建一个新的 Excel 电子表格实例
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
// 添加表头
$sheet->setCellValue('A1', 'ID');
$sheet->setCellValue('B1', 'Name');
$sheet->setCellValue('C1', 'domain');
$sheet->setCellValue('D1', 'belong_to');
$sheet->setCellValue('E1', 'status');
$rowCount = 2;
foreach ($lists as $v) {
$sheet->setCellValue('A' . $rowCount, $v['id']);
$sheet->setCellValue('B' . $rowCount, $v['domain']);
$sheet->setCellValue('C' . $rowCount, $v['domain']);
$sheet->setCellValue('D' . $rowCount, $v['belong_to']);
$sheet->setCellValue('E' . $rowCount, $v['status']);
$rowCount++;
}
// 创建一个新的 Excel Writer 对象
$writer = new Xlsx($spreadsheet);
// 设置导出文件的保存路径和文件名
$this->config = config('filesystems.disks.upload');
$filePath = $this->config['root'].'/excel/'.time().'.xlsx';
// 导出 Excel 文件
$writer->save($filePath);
// 返回导出文件的响应
return response()->download($filePath)->deleteFileAfterSend(true);
}
}
... ...
... ... @@ -73,7 +73,7 @@ class WebSettingLogic extends BaseLogic
}
$updateNotifyModel->edit(['status'=>1],['project_id'=>$this->user['project_id'],'status'=>0]);
$urlStr = $this->user['domain'].'api/updateHtmlNotify?project_id='.$this->user['project_id'];
$res = http_get($urlStr);
http_get($urlStr);
return $this->success();
}
}
... ...
... ... @@ -179,6 +179,7 @@ Route::middleware(['aloginauth'])->group(function () {
Route::any('/save', [Aside\Domain\DomainInfoController::class, 'save'])->name('admin.domain_save');
Route::any('/status', [Aside\Domain\DomainInfoController::class, 'status'])->name('admin.domain_status');
Route::any('/getProject', [Aside\Domain\DomainInfoController::class, 'getProject'])->name('admin.domain_getProject');
Route::any('/exportData', [Aside\Domain\DomainInfoController::class, 'exportData'])->name('admin.domain_exportData');
Route::any('/del', [Aside\Domain\DomainInfoController::class, 'del'])->name('admin.domain_del');
Route::any('/log', [Aside\Domain\DomainInfoLogController::class, 'lists'])->name('admin.domain_log_lists'); // 日志
... ...