From 8c5ce78fd07c766731dd7f8b6804012f98b3480f Mon Sep 17 00:00:00 2001 From: canglan Date: Wed, 19 Aug 2026 20:27:05 +0800 Subject: [PATCH] chore: add AGPLv3 copyright header to all source files - 52 JS files (backend + public/js): header with Copyright (C) 2026 Sea Network Technology Studio Author: CangLan + AGPLv3 notice - idempotent (skips if header present), all syntax-checked --- backend/db.js | 19 +++++++++++++++++++ backend/logger.js | 19 +++++++++++++++++++ backend/mailer.js | 19 +++++++++++++++++++ backend/middleware/auth.js | 19 +++++++++++++++++++ backend/middleware/security.js | 19 +++++++++++++++++++ backend/middleware/upload.js | 19 +++++++++++++++++++ backend/routes/auth.js | 19 +++++++++++++++++++ backend/routes/bans.js | 19 +++++++++++++++++++ backend/routes/captcha.js | 19 +++++++++++++++++++ backend/routes/export.js | 19 +++++++++++++++++++ backend/routes/external.js | 19 +++++++++++++++++++ backend/routes/features.js | 19 +++++++++++++++++++ backend/routes/install.js | 19 +++++++++++++++++++ backend/routes/logs.js | 19 +++++++++++++++++++ backend/routes/notifications.js | 19 +++++++++++++++++++ backend/routes/polls.js | 19 +++++++++++++++++++ backend/routes/settings.js | 19 +++++++++++++++++++ backend/routes/sources.js | 19 +++++++++++++++++++ backend/routes/tickets.js | 19 +++++++++++++++++++ backend/routes/uploads.js | 19 +++++++++++++++++++ backend/routes/users.js | 19 +++++++++++++++++++ backend/server.js | 19 +++++++++++++++++++ backend/webhook.js | 19 +++++++++++++++++++ public/js/api.js | 19 +++++++++++++++++++ public/js/app.js | 19 +++++++++++++++++++ public/js/auth.js | 19 +++++++++++++++++++ public/js/pages/bans.js | 19 +++++++++++++++++++ public/js/pages/dashboard.js | 19 +++++++++++++++++++ public/js/pages/export-page.js | 19 +++++++++++++++++++ public/js/pages/external-api.js | 19 +++++++++++++++++++ public/js/pages/feature-detail.js | 19 +++++++++++++++++++ public/js/pages/features.js | 19 +++++++++++++++++++ public/js/pages/forgot.js | 19 +++++++++++++++++++ public/js/pages/home.js | 19 +++++++++++++++++++ public/js/pages/install.js | 19 +++++++++++++++++++ public/js/pages/login.js | 19 +++++++++++++++++++ public/js/pages/logs.js | 19 +++++++++++++++++++ public/js/pages/notifications.js | 19 +++++++++++++++++++ public/js/pages/polls.js | 19 +++++++++++++++++++ public/js/pages/register.js | 19 +++++++++++++++++++ public/js/pages/servers.js | 19 +++++++++++++++++++ public/js/pages/settings-page.js | 19 +++++++++++++++++++ public/js/pages/sources.js | 19 +++++++++++++++++++ public/js/pages/templates.js | 19 +++++++++++++++++++ public/js/pages/ticket-create.js | 19 +++++++++++++++++++ public/js/pages/ticket-detail.js | 19 +++++++++++++++++++ public/js/pages/tickets.js | 19 +++++++++++++++++++ public/js/pages/tracking.js | 19 +++++++++++++++++++ public/js/pages/unclaimed.js | 19 +++++++++++++++++++ public/js/pages/users.js | 19 +++++++++++++++++++ public/js/pages/verify.js | 19 +++++++++++++++++++ public/js/utils.js | 19 +++++++++++++++++++ 52 files changed, 988 insertions(+) diff --git a/backend/db.js b/backend/db.js index 32c9b9e..d3b8fa5 100644 --- a/backend/db.js +++ b/backend/db.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const mysql = require('mysql2/promise'); const fs = require('fs'); const path = require('path'); diff --git a/backend/logger.js b/backend/logger.js index ce5b61c..bb0750d 100644 --- a/backend/logger.js +++ b/backend/logger.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + // 日志模块: 邮件日志 + 系统日志, 写入数据库供后台查看 // 所有写库操作 try/catch 包裹, 日志失败绝不影响主流程 const { query } = require('./db'); diff --git a/backend/mailer.js b/backend/mailer.js index 649a1a5..962f221 100644 --- a/backend/mailer.js +++ b/backend/mailer.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const nodemailer = require('nodemailer'); const { getPool, query, getRow, getConfig } = require('./db'); const { logEmail, logSystem } = require('./logger'); diff --git a/backend/middleware/auth.js b/backend/middleware/auth.js index b764158..ad3463e 100644 --- a/backend/middleware/auth.js +++ b/backend/middleware/auth.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const jwt = require('jsonwebtoken'); const { getConfig } = require('../db'); diff --git a/backend/middleware/security.js b/backend/middleware/security.js index c9f77c6..078387a 100644 --- a/backend/middleware/security.js +++ b/backend/middleware/security.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const xss = require('xss'); const rateLimit = require('express-rate-limit'); const fs = require('fs'); diff --git a/backend/middleware/upload.js b/backend/middleware/upload.js index c07e7eb..a1845fc 100644 --- a/backend/middleware/upload.js +++ b/backend/middleware/upload.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const multer = require('multer'); const path = require('path'); const crypto = require('crypto'); diff --git a/backend/routes/auth.js b/backend/routes/auth.js index 565749e..71f0e7a 100644 --- a/backend/routes/auth.js +++ b/backend/routes/auth.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const bcrypt = require('bcryptjs'); const { v4: uuid } = require('uuid'); diff --git a/backend/routes/bans.js b/backend/routes/bans.js index 5cd6ca1..fa6e5a3 100644 --- a/backend/routes/bans.js +++ b/backend/routes/bans.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const { query, getRow } = require('../db'); const { authenticate, requireRole } = require('../middleware/auth'); diff --git a/backend/routes/captcha.js b/backend/routes/captcha.js index 0ec28ca..7d49f63 100644 --- a/backend/routes/captcha.js +++ b/backend/routes/captcha.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const svgCaptcha = require('svg-captcha'); const crypto = require('crypto'); diff --git a/backend/routes/export.js b/backend/routes/export.js index 208258f..3eea2d1 100644 --- a/backend/routes/export.js +++ b/backend/routes/export.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const { query } = require('../db'); const { authenticate, requireRole } = require('../middleware/auth'); diff --git a/backend/routes/external.js b/backend/routes/external.js index 3447a1f..e81ff40 100644 --- a/backend/routes/external.js +++ b/backend/routes/external.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const bcrypt = require('bcryptjs'); const crypto = require('crypto'); diff --git a/backend/routes/features.js b/backend/routes/features.js index 140ab1a..fc8d459 100644 --- a/backend/routes/features.js +++ b/backend/routes/features.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const { query, getRow } = require('../db'); const { authenticate, requireRole } = require('../middleware/auth'); diff --git a/backend/routes/install.js b/backend/routes/install.js index eb246f9..026e845 100644 --- a/backend/routes/install.js +++ b/backend/routes/install.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const mysql = require('mysql2/promise'); const bcrypt = require('bcryptjs'); diff --git a/backend/routes/logs.js b/backend/routes/logs.js index 3f6c731..42fd8a9 100644 --- a/backend/routes/logs.js +++ b/backend/routes/logs.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const { query } = require('../db'); const { authenticate, requireRole } = require('../middleware/auth'); diff --git a/backend/routes/notifications.js b/backend/routes/notifications.js index 4c2d681..a5c1893 100644 --- a/backend/routes/notifications.js +++ b/backend/routes/notifications.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const { query, getRow } = require('../db'); const { authenticate, requireRole } = require('../middleware/auth'); diff --git a/backend/routes/polls.js b/backend/routes/polls.js index 7df85ef..21c09b6 100644 --- a/backend/routes/polls.js +++ b/backend/routes/polls.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const { query, getRow } = require('../db'); const { authenticate, requireRole } = require('../middleware/auth'); diff --git a/backend/routes/settings.js b/backend/routes/settings.js index d518461..37eb942 100644 --- a/backend/routes/settings.js +++ b/backend/routes/settings.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const { query, getRow } = require('../db'); const { authenticate, requireRole } = require('../middleware/auth'); diff --git a/backend/routes/sources.js b/backend/routes/sources.js index d45524a..21af5f9 100644 --- a/backend/routes/sources.js +++ b/backend/routes/sources.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const { query, getRow } = require('../db'); const { authenticate, requireRole } = require('../middleware/auth'); diff --git a/backend/routes/tickets.js b/backend/routes/tickets.js index f0eed42..faee1c7 100644 --- a/backend/routes/tickets.js +++ b/backend/routes/tickets.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const { v4: uuid } = require('uuid'); const { getPool, query, getRow } = require('../db'); diff --git a/backend/routes/uploads.js b/backend/routes/uploads.js index 078f3b0..d1eaec4 100644 --- a/backend/routes/uploads.js +++ b/backend/routes/uploads.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const path = require('path'); const fs = require('fs'); diff --git a/backend/routes/users.js b/backend/routes/users.js index 42657d7..7424c27 100644 --- a/backend/routes/users.js +++ b/backend/routes/users.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const bcrypt = require('bcryptjs'); const { query, getRow } = require('../db'); diff --git a/backend/server.js b/backend/server.js index 3804af6..54e07a2 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const express = require('express'); const cors = require('cors'); const helmet = require('helmet'); diff --git a/backend/webhook.js b/backend/webhook.js index a76f0d3..c7b81a3 100644 --- a/backend/webhook.js +++ b/backend/webhook.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const { query, getRow } = require('./db'); const { logSystem } = require('./logger'); diff --git a/public/js/api.js b/public/js/api.js index 3920aff..b7b03ae 100644 --- a/public/js/api.js +++ b/public/js/api.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const API = { base: '/api', _key: window.__API_KEY__ || '', diff --git a/public/js/app.js b/public/js/app.js index 0b9d4cb..8dbdae9 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const App = { navItems: [ { id: 'dashboard', label: '控制台', icon: 'fa-chart-simple', roles: ['owner','admin','player'] }, diff --git a/public/js/auth.js b/public/js/auth.js index d3a4d7d..057fe48 100644 --- a/public/js/auth.js +++ b/public/js/auth.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const Auth = { TK: 'mc_token', US: 'mc_user', diff --git a/public/js/pages/bans.js b/public/js/pages/bans.js index 4f34c1c..cdaacfb 100644 --- a/public/js/pages/bans.js +++ b/public/js/pages/bans.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const BansPage = { async render() { return '
'; }, diff --git a/public/js/pages/dashboard.js b/public/js/pages/dashboard.js index b676936..fac0aa0 100644 --- a/public/js/pages/dashboard.js +++ b/public/js/pages/dashboard.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const Dashboard = { async render() { return '
'; }, diff --git a/public/js/pages/export-page.js b/public/js/pages/export-page.js index 177bf01..4f415ad 100644 --- a/public/js/pages/export-page.js +++ b/public/js/pages/export-page.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const ExportPage = { async render() { return '
'; }, diff --git a/public/js/pages/external-api.js b/public/js/pages/external-api.js index 0a38428..fa523fa 100644 --- a/public/js/pages/external-api.js +++ b/public/js/pages/external-api.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const ExternalApiPage = { async render() { return '
'; }, diff --git a/public/js/pages/feature-detail.js b/public/js/pages/feature-detail.js index eca150e..56378ff 100644 --- a/public/js/pages/feature-detail.js +++ b/public/js/pages/feature-detail.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const FeatureDetail = { id: null, diff --git a/public/js/pages/features.js b/public/js/pages/features.js index 48f4513..852fca9 100644 --- a/public/js/pages/features.js +++ b/public/js/pages/features.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const FeaturesPage = { sort: 'time', filterGroup: '', diff --git a/public/js/pages/forgot.js b/public/js/pages/forgot.js index 8533fcd..39cbf80 100644 --- a/public/js/pages/forgot.js +++ b/public/js/pages/forgot.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const ForgotPage = { async render() { return `
diff --git a/public/js/pages/home.js b/public/js/pages/home.js index b1feb4d..5e69b69 100644 --- a/public/js/pages/home.js +++ b/public/js/pages/home.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const HomePage = { async render(tab) { const t = tab || 'report'; diff --git a/public/js/pages/install.js b/public/js/pages/install.js index 61421e6..6452f24 100644 --- a/public/js/pages/install.js +++ b/public/js/pages/install.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const InstallPage = { step: 1, diff --git a/public/js/pages/login.js b/public/js/pages/login.js index 565a8e1..4476364 100644 --- a/public/js/pages/login.js +++ b/public/js/pages/login.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const LoginPage = { async render() { return ` diff --git a/public/js/pages/logs.js b/public/js/pages/logs.js index 9619da5..f0f3b98 100644 --- a/public/js/pages/logs.js +++ b/public/js/pages/logs.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const LogsPage = { tab: 'system', diff --git a/public/js/pages/notifications.js b/public/js/pages/notifications.js index ae132ee..26ce050 100644 --- a/public/js/pages/notifications.js +++ b/public/js/pages/notifications.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const NotificationsPage = { async render() { return '
'; }, diff --git a/public/js/pages/polls.js b/public/js/pages/polls.js index b7422e7..2ed2f0c 100644 --- a/public/js/pages/polls.js +++ b/public/js/pages/polls.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const PollsPage = { async render() { return '
'; }, diff --git a/public/js/pages/register.js b/public/js/pages/register.js index 57cc68c..cc9b3c4 100644 --- a/public/js/pages/register.js +++ b/public/js/pages/register.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const RegisterPage = { captcha: null, codeId: null, diff --git a/public/js/pages/servers.js b/public/js/pages/servers.js index 2a771a9..490d68b 100644 --- a/public/js/pages/servers.js +++ b/public/js/pages/servers.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const ServersPage = { async render() { return '
'; }, diff --git a/public/js/pages/settings-page.js b/public/js/pages/settings-page.js index 21da838..ed03e96 100644 --- a/public/js/pages/settings-page.js +++ b/public/js/pages/settings-page.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const SettingsPage = { async render() { return '
'; }, diff --git a/public/js/pages/sources.js b/public/js/pages/sources.js index aeb6575..24c2ad1 100644 --- a/public/js/pages/sources.js +++ b/public/js/pages/sources.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const SourcesPage = { async render() { return '
'; }, diff --git a/public/js/pages/templates.js b/public/js/pages/templates.js index b81f449..fcb0d3f 100644 --- a/public/js/pages/templates.js +++ b/public/js/pages/templates.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const TemplatesPage = { async render() { return '
'; }, diff --git a/public/js/pages/ticket-create.js b/public/js/pages/ticket-create.js index a34e935..30cbd40 100644 --- a/public/js/pages/ticket-create.js +++ b/public/js/pages/ticket-create.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const TicketCreate = { files: [], diff --git a/public/js/pages/ticket-detail.js b/public/js/pages/ticket-detail.js index 3f1866f..19ea392 100644 --- a/public/js/pages/ticket-detail.js +++ b/public/js/pages/ticket-detail.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const TicketDetail = { id: null, diff --git a/public/js/pages/tickets.js b/public/js/pages/tickets.js index 6cca9d2..0918739 100644 --- a/public/js/pages/tickets.js +++ b/public/js/pages/tickets.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const TicketsPage = { tab: 'all', filters: {}, diff --git a/public/js/pages/tracking.js b/public/js/pages/tracking.js index 42d2e10..412e8dd 100644 --- a/public/js/pages/tracking.js +++ b/public/js/pages/tracking.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const TrackingPage = { async render() { return '
'; }, diff --git a/public/js/pages/unclaimed.js b/public/js/pages/unclaimed.js index ef43d54..5b69d3c 100644 --- a/public/js/pages/unclaimed.js +++ b/public/js/pages/unclaimed.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const UnclaimedPage = { filters: {}, diff --git a/public/js/pages/users.js b/public/js/pages/users.js index 52b410b..dc1ec83 100644 --- a/public/js/pages/users.js +++ b/public/js/pages/users.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const UsersPage = { async render() { return '
'; }, diff --git a/public/js/pages/verify.js b/public/js/pages/verify.js index 3293d69..dc2ee43 100644 --- a/public/js/pages/verify.js +++ b/public/js/pages/verify.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const VerifyPage = { async render() { const params = new URLSearchParams((location.hash.split('?')[1] || '')); diff --git a/public/js/utils.js b/public/js/utils.js index e1052ca..3958df8 100644 --- a/public/js/utils.js +++ b/public/js/utils.js @@ -1,3 +1,22 @@ +/* + * MC Report System + * Copyright (C) 2026 Sea Network Technology Studio + * Author: CangLan + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published + * by the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + const U = { STATUS: { pending:'待处理', processing:'处理中', awaiting_info:'待补充', appealing:'申诉中', resolved:'已解决', rejected:'已驳回', closed:'已关闭' }, TYPE: { report:'举报', suggestion:'建议', appeal:'申诉', result_appeal:'结果申诉' },