返回提交历史
Modified
g4f/gui/client/qrcode.html
+13
-14
XFEstudio/gpt4free
Fix create QR code
67670006
代码差异
1 个文件
+13
-14
@@ -7,9 +7,9 @@
7
7
<script src="https://cdn.jsdelivr.net/npm/qrcodejs/qrcode.min.js"></script>
8
8
<style>
9
9
body { font-family: Arial, sans-serif; text-align: center; margin: 20px; }
10
video { width: 300px; height: 300px; border: 1px solid black; display: block; margin: auto; object-fit: cover;}
10
video { width: 400px; height: 400px; border: 1px solid black; display: block; margin: auto; object-fit: cover;}
11
11
#qrcode { margin-top: 20px; }
12
#qrcode img, #qrcode canvas { margin: 0 auto; width: 300px; height: 300px; }
12
#qrcode img, #qrcode canvas { margin: 0 auto; width: 400px; height: 400px; }
13
13
button { margin: 5px; padding: 10px; }
14
14
</style>
15
15
</head>
@@ -53,10 +53,6 @@
53
53
const camStatus = document.getElementById('cam-status');
54
54
let qrScanner;
55
55
56
document.getElementById('startCamera').addEventListener('click', async () => {
57
startCamera();
58
});
59
60
56
document.getElementById('stopCamera').addEventListener('click', () => {
61
57
if (currentStream) {
62
58
currentStream.getTracks().forEach(track => track.stop());
@@ -77,11 +73,11 @@
77
73
}
78
74
});
79
75
80
document.getElementById('generateQRCode').addEventListener('click', () => {
76
document.getElementById('generateQRCode').addEventListener('click', async () => {
81
77
const chat_id = generate_uuid();
82
78
83
79
const url = `${share_url}/backend-api/v2/chat/${encodeURI(chat_id)}`;
84
const response = fetch(url, {
80
const response = await fetch(url, {
85
81
method: 'POST',
86
82
headers: {'content-type': 'application/json'},
87
83
body: localStorage.getItem(`conversation:${conversation_id}`)
@@ -89,7 +85,7 @@
89
85
const share = `${share_url}/chat/${encodeURI(chat_id)}/${encodeURI(conversation_id)}`;
90
86
const qrcodeStatus = document.getElementById('qrcode-status');
91
87
if (response.status !== 200) {
92
qrcodeStatus.innerText = 'Error generating QR code';
88
qrcodeStatus.innerText = 'Error generating QR code: ' + response.statusText;
93
89
return;
94
90
}
95
91
qrcodeStatus.innerText = share;
@@ -99,8 +95,8 @@
99
95
document.getElementById("qrcode"),
100
96
share,
101
97
{
102
width: 128,
103
height: 128,
98
width: 400,
99
height: 400,
104
100
colorDark: "#000000",
105
101
colorLight: "#ffffff",
106
102
correctLevel: QRCode.CorrectLevel.H
@@ -120,7 +116,7 @@
120
116
const constraints = {
121
117
video: {
122
118
width: { ideal: 1280 },
123
height: { ideal: 720 },
119
height: { ideal: 1280 },
124
120
facingMode: facingMode
125
121
},
126
122
audio: false
@@ -129,6 +125,7 @@
129
125
const stream = await navigator.mediaDevices.getUserMedia(constraints);
130
126
currentStream = stream;
131
127
video.srcObject = stream;
128
video.play();
132
129
133
130
qrScanner = new QrScanner(videoElem, result => {
134
131
camStatus.innerText = 'Camera Success: ' + result.data;
@@ -140,8 +137,6 @@
140
137
highlightScanRegion: true,
141
138
highlightCodeOutline: true,
142
139
});
143
144
await video.play();
145
140
await qrScanner.start();
146
141
} catch (error) {
147
142
console.error('Error accessing the camera:', error);
@@ -153,6 +148,10 @@
153
148
facingMode = facingMode === 'user' ? 'environment' : 'user';
154
149
startCamera();
155
150
});
151
152
document.getElementById('startCamera').addEventListener('click', () => {
153
startCamera();
154
});
156
155
</script>
157
156
</body>
158
157
</html>