diff --git a/certificate.html b/certificate.html
index ec98c9f..7e74cf5 100644
--- a/certificate.html
+++ b/certificate.html
@@ -952,6 +952,7 @@
const urlParams = new URLSearchParams(window.location.search);
const inviter = urlParams.get('inviter');
const inviterPhone = urlParams.get('inviterPhone');
+ const inviterProjectName = urlParams.get('inviterProjectName');
// 添加邀请者信息
if (inviter) {
@@ -960,6 +961,9 @@
if (inviterPhone) {
urlEncodedData.append('inviterPhone', inviterPhone);
}
+ if (inviterProjectName) {
+ urlEncodedData.append('inviterProjectName', inviterProjectName);
+ }
// 发送数据到服务器
fetch('/submit', {
diff --git a/invite.html b/invite.html
index 44fde5d..a71f077 100644
--- a/invite.html
+++ b/invite.html
@@ -218,19 +218,21 @@
const userInfo = localStorage.getItem('userInfo');
let inviterName = '';
let inviterPhone = '';
+ let inviterProjectName = '';
if (userInfo) {
try {
const user = JSON.parse(userInfo);
inviterName = user.name || user.userName;
inviterPhone = user.phoneNumber || '';
+ inviterProjectName = user.projectName || '';
} catch (error) {
console.error('解析用户信息失败:', error);
}
}
// 构建邀请URL,包含会话ID和邀请者信息
- const inviteUrl = `http://8.137.125.67:3008/certificate.html?sessionId=${encodeURIComponent(sessionId)}&inviter=${encodeURIComponent(inviterName)}&inviterPhone=${encodeURIComponent(inviterPhone)}`;
+ const inviteUrl = `http://8.137.125.67:3008/certificate.html?sessionId=${encodeURIComponent(sessionId)}&inviter=${encodeURIComponent(inviterName)}&inviterPhone=${encodeURIComponent(inviterPhone)}&inviterProjectName=${encodeURIComponent(inviterProjectName)}`;
// 使用Google Charts API生成二维码
const qrCodeUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(inviteUrl)}`;
diff --git a/login.html b/login.html
index 03631e9..25bad25 100644
--- a/login.html
+++ b/login.html
@@ -134,6 +134,10 @@
+
+
+
+
@@ -163,10 +167,11 @@
const userName = document.getElementById('userName').value.trim();
const password = document.getElementById('password').value;
+ const projectName = document.getElementById('projectName').value.trim();
// 验证输入
- if (!userName || !password) {
- showError('请输入用户名和密码');
+ if (!userName || !password || !projectName) {
+ showError('请输入用户名、密码和职位名称');
return;
}
@@ -178,7 +183,8 @@
},
body: new URLSearchParams({
userName: userName,
- password: password
+ password: password,
+ projectName: projectName
})
})
.then(response => response.json())
diff --git a/server.js b/server.js
index 81a023e..d92b9f4 100644
--- a/server.js
+++ b/server.js
@@ -114,10 +114,10 @@ const server = http.createServer(async (req, res) => {
database: 'userlogin'
});
- // 验证用户名和密码
+ // 验证用户名、密码和职位名称
const [loginRows] = await userloginPool.execute(
- 'SELECT * FROM login WHERE userName = ? AND password = ?',
- [userName, password]
+ 'SELECT * FROM login WHERE userName = ? AND password = ? AND projectName = ?',
+ [userName, password, formData.get('projectName')]
);
if (loginRows.length === 0) {
@@ -220,10 +220,10 @@ const server = http.createServer(async (req, res) => {
// 从数据库获取对应会话的最新合格证信息
let query, params;
if (sessionId) {
- query = 'SELECT company as subjectName, phoneNumber as contact, productName, grossWeight as weight, commitBasis as basis, origin, DATE_FORMAT(issueDate, "%Y-%m-%d") as date, signature, qrCodeUrl, inviter, inviter_phone as inviterPhone FROM certificate WHERE sessionId = ? ORDER BY id DESC LIMIT 1';
+ query = 'SELECT company as subjectName, phoneNumber as contact, productName, grossWeight as weight, commitBasis as basis, origin, DATE_FORMAT(issueDate, "%Y-%m-%d") as date, signature, qrCodeUrl, inviter, inviter_phone as inviterPhone, projectName as inviterProjectName FROM certificate WHERE sessionId = ? ORDER BY id DESC LIMIT 1';
params = [sessionId];
} else {
- query = 'SELECT company as subjectName, phoneNumber as contact, productName, grossWeight as weight, commitBasis as basis, origin, DATE_FORMAT(issueDate, "%Y-%m-%d") as date, signature, qrCodeUrl, inviter, inviter_phone as inviterPhone FROM certificate WHERE sessionId IS NULL ORDER BY id DESC LIMIT 1';
+ query = 'SELECT company as subjectName, phoneNumber as contact, productName, grossWeight as weight, commitBasis as basis, origin, DATE_FORMAT(issueDate, "%Y-%m-%d") as date, signature, qrCodeUrl, inviter, inviter_phone as inviterPhone, projectName as inviterProjectName FROM certificate WHERE sessionId IS NULL ORDER BY id DESC LIMIT 1';
params = [];
}
@@ -281,7 +281,8 @@ const server = http.createServer(async (req, res) => {
signature: formData.get('signature'),
sessionId: sessionId,
inviter: formData.get('inviter'),
- inviterPhone: formData.get('inviterPhone')
+ inviterPhone: formData.get('inviterPhone'),
+ inviterProjectName: formData.get('inviterProjectName')
};
console.log('接收到的表单数据:', {
@@ -295,7 +296,8 @@ const server = http.createServer(async (req, res) => {
hasSignature: !!certificate.signature,
sessionId: sessionId,
inviter: certificate.inviter,
- inviterPhone: certificate.inviterPhone
+ inviterPhone: certificate.inviterPhone,
+ inviterProjectName: certificate.inviterProjectName
});
// 处理手写签名,上传到OSS
@@ -354,8 +356,8 @@ const server = http.createServer(async (req, res) => {
// 插入数据到数据库
await pool.execute(
- 'INSERT INTO certificate (company, phoneNumber, productName, grossWeight, commitBasis, origin, issueDate, signature, sessionId, qrCodeUrl, inviter, inviter_phone) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
- [certificate.subjectName, certificate.contact, certificate.productName, certificate.weight, certificate.basis, certificate.origin, certificate.date, signatureUrl, certificate.sessionId, qrCodeUrl, certificate.inviter, certificate.inviterPhone]
+ 'INSERT INTO certificate (company, phoneNumber, productName, grossWeight, commitBasis, origin, issueDate, signature, sessionId, qrCodeUrl, inviter, inviter_phone, projectName) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
+ [certificate.subjectName, certificate.contact, certificate.productName, certificate.weight, certificate.basis, certificate.origin, certificate.date, signatureUrl, certificate.sessionId, qrCodeUrl, certificate.inviter, certificate.inviterPhone, certificate.inviterProjectName]
);
console.log('数据插入数据库成功');
@@ -367,6 +369,7 @@ const server = http.createServer(async (req, res) => {
qrCodeUrl: qrCodeUrl,
inviter: certificate.inviter,
inviterPhone: certificate.inviterPhone,
+ inviterProjectName: certificate.inviterProjectName,
// 格式化日期为YYYY-MM-DD格式
date: certificate.date.toISOString().split('T')[0]
};