Compare commits

...

2 Commits

Author SHA1 Message Date
08dc3539e6 關閉QR Content,修改紅跑馬燈 2025-06-26 14:27:54 +08:00
79093d8627 修正手機點歌 2025-06-26 14:26:44 +08:00
5 changed files with 18 additions and 19 deletions

View File

@ -169,7 +169,7 @@ namespace OverlayFormObj
string qrContent = serverAddress.Contains(":") ? string qrContent = serverAddress.Contains(":") ?
String.Format("http://{0}/{1}/windows.html", serverAddress, randomFolderPath) : String.Format("http://{0}/{1}/windows.html", serverAddress, randomFolderPath) :
String.Format("http://{0}:{1}/{2}/windows.html", serverAddress, 9090, randomFolderPath); String.Format("http://{0}:{1}/{2}/windows.html", serverAddress, 9090, randomFolderPath);
Console.WriteLine("QR Content: " + qrContent); // Console.WriteLine("QR Content: " + qrContent);
string qrImagePath = Path.Combine(Application.StartupPath, "themes/superstar/_www", randomFolderPath, "qrcode.png"); string qrImagePath = Path.Combine(Application.StartupPath, "themes/superstar/_www", randomFolderPath, "qrcode.png");
if (!File.Exists(qrImagePath)) if (!File.Exists(qrImagePath))
{ {
@ -474,7 +474,7 @@ namespace OverlayFormObj
using (Font largeFont = new Font("微軟正黑體", 34, FontStyle.Bold)) using (Font largeFont = new Font("微軟正黑體", 34, FontStyle.Bold))
using (Font secondLineFont = new Font("微軟正黑體", 34, FontStyle.Bold)) using (Font secondLineFont = new Font("微軟正黑體", 34, FontStyle.Bold))
using (Brush whiteBrush = new SolidBrush(Color.White)) using (Brush whiteBrush = new SolidBrush(Color.White))
using (Brush limeGreenBrush = new SolidBrush(Color.LimeGreen)) using (Brush RedBrush = new SolidBrush(Color.Red))
using (Brush marqueeBrush = new SolidBrush(marqueeTextColor)) using (Brush marqueeBrush = new SolidBrush(marqueeTextColor))
using (Brush backgroundBrush = new SolidBrush(Color.FromArgb(255, 0, 0, 0))) using (Brush backgroundBrush = new SolidBrush(Color.FromArgb(255, 0, 0, 0)))
{ {
@ -500,7 +500,8 @@ namespace OverlayFormObj
SizeF textSizeSecondLine = e.Graphics.MeasureString(displayText, secondLineFont); SizeF textSizeSecondLine = e.Graphics.MeasureString(displayText, secondLineFont);
float centeredXPos = (this.Width - textSizeSecondLine.Width) / 2; float centeredXPos = (this.Width - textSizeSecondLine.Width) / 2;
e.Graphics.FillRectangle(backgroundBrush, centeredXPos, yPosition2, textSizeSecondLine.Width, textSizeSecondLine.Height); e.Graphics.FillRectangle(backgroundBrush, centeredXPos, yPosition2, textSizeSecondLine.Width, textSizeSecondLine.Height);
e.Graphics.DrawString(displayText, secondLineFont, limeGreenBrush, new PointF(centeredXPos, yPosition2)); // 系統公告塗色調整區域
e.Graphics.DrawString(displayText, secondLineFont, RedBrush, new PointF(centeredXPos, yPosition2));
// 还原裁剪区域 // 还原裁剪区域
e.Graphics.Clip = originalClip; e.Graphics.Clip = originalClip;

View File

@ -34,7 +34,7 @@ namespace DualScreenDemo
string qrContent = serverAddress.Contains(":") ? string qrContent = serverAddress.Contains(":") ?
String.Format("http://{0}/{1}/windows.html", serverAddress, randomFolderPath) : String.Format("http://{0}/{1}/windows.html", serverAddress, randomFolderPath) :
String.Format("http://{0}:{1}/{2}/windows.html", serverAddress, 9090, randomFolderPath); String.Format("http://{0}:{1}/{2}/windows.html", serverAddress, 9090, randomFolderPath);
Console.WriteLine("QR Content: " + qrContent); // Console.WriteLine("QR Content: " + qrContent);
string qrImagePath = Path.Combine(Application.StartupPath, "themes/superstar/_www", randomFolderPath, "qrcode.png"); string qrImagePath = Path.Combine(Application.StartupPath, "themes/superstar/_www", randomFolderPath, "qrcode.png");

View File

@ -254,7 +254,7 @@
<tr> <tr>
<th>歌名</th> <th>歌名</th>
<th>歌手</th> <th>歌手</th>
<th>語別</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -270,7 +270,7 @@
<p>歌名:<span id="detail-song-name"></span></p> <p>歌名:<span id="detail-song-name"></span></p>
<p>編號:<span id="detail-song-number"></span></p> <p>編號:<span id="detail-song-number"></span></p>
<p>歌手:<span id="detail-singer"></span></p> <p>歌手:<span id="detail-singer"></span></p>
<p>語別:<span id="detail-language"></span></p> <!-- <p>語別:<span id="detail-language"></span></p> -->
<button id="order-song-button">包廂點歌</button> <button id="order-song-button">包廂點歌</button>
<button id="insert-song-button">插播歌曲</button> <button id="insert-song-button">插播歌曲</button>
</div> </div>
@ -350,15 +350,15 @@
const row = document.createElement('tr'); const row = document.createElement('tr');
const songNameCell = document.createElement('td'); const songNameCell = document.createElement('td');
const singerCell = document.createElement('td'); const singerCell = document.createElement('td');
const languageCell = document.createElement('td'); // const languageCell = document.createElement('td');
songNameCell.textContent = song.Song; songNameCell.textContent = song.Song;
singerCell.textContent = song.ArtistA; singerCell.textContent = song.ArtistA;
languageCell.textContent = song.Category; // languageCell.textContent = song.Category;
row.appendChild(songNameCell); row.appendChild(songNameCell);
row.appendChild(singerCell); row.appendChild(singerCell);
row.appendChild(languageCell); // row.appendChild(languageCell);
row.addEventListener('click', (e) => { row.addEventListener('click', (e) => {
e.preventDefault(); e.preventDefault();
@ -369,7 +369,7 @@
document.getElementById('detail-song-name').textContent = song.Song; document.getElementById('detail-song-name').textContent = song.Song;
document.getElementById('detail-song-number').textContent = song.SongNumber; document.getElementById('detail-song-number').textContent = song.SongNumber;
document.getElementById('detail-singer').textContent = song.ArtistA; document.getElementById('detail-singer').textContent = song.ArtistA;
document.getElementById('detail-language').textContent = song.Category; // document.getElementById('detail-language').textContent = song.Category;
document.getElementById('song-details').style.display = 'block'; document.getElementById('song-details').style.display = 'block';
}); });

View File

@ -86,14 +86,14 @@
@media (max-width: 600px) { @media (max-width: 600px) {
.content { .content {
display: grid; display: grid;
grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); grid-template-columns: repeat(3, 1fr);
gap: 10px; gap: 5px;
} }
} }
.card { .card {
background: linear-gradient(135deg, #FF4081, #FF4081); background: linear-gradient(135deg, #FF4081, #FF4081);
color: white; color: white;
width: 130px; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;

View File

@ -259,7 +259,6 @@
<tr> <tr>
<th>歌名</th> <th>歌名</th>
<th>歌手</th> <th>歌手</th>
<th>語別</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -275,7 +274,7 @@
<p>歌名:<span id="detail-song-name"></span></p> <p>歌名:<span id="detail-song-name"></span></p>
<p>編號:<span id="detail-song-number"></span></p> <p>編號:<span id="detail-song-number"></span></p>
<p>歌手:<span id="detail-singer"></span></p> <p>歌手:<span id="detail-singer"></span></p>
<p>語別:<span id="detail-language"></span></p> <!-- <p>語別:<span id="detail-language"></span></p> -->
<button id="order-song-button">包廂點歌</button> <button id="order-song-button">包廂點歌</button>
<button id="insert-song-button">插播歌曲</button> <button id="insert-song-button">插播歌曲</button>
</div> </div>
@ -355,15 +354,14 @@
const row = document.createElement('tr'); const row = document.createElement('tr');
const songNameCell = document.createElement('td'); const songNameCell = document.createElement('td');
const singerCell = document.createElement('td'); const singerCell = document.createElement('td');
const languageCell = document.createElement('td');
songNameCell.textContent = song.Song; songNameCell.textContent = song.Song;
singerCell.textContent = song.ArtistA; singerCell.textContent = song.ArtistA;
languageCell.textContent = song.Category;
row.appendChild(songNameCell); row.appendChild(songNameCell);
row.appendChild(singerCell); row.appendChild(singerCell);
row.appendChild(languageCell);
row.addEventListener('click', (e) => { row.addEventListener('click', (e) => {
e.preventDefault(); // 阻止默認行為 e.preventDefault(); // 阻止默認行為
@ -376,7 +374,7 @@
document.getElementById('detail-song-name').textContent = song.Song; document.getElementById('detail-song-name').textContent = song.Song;
document.getElementById('detail-song-number').textContent = song.SongNumber; document.getElementById('detail-song-number').textContent = song.SongNumber;
document.getElementById('detail-singer').textContent = song.ArtistA; document.getElementById('detail-singer').textContent = song.ArtistA;
document.getElementById('detail-language').textContent = song.Category; // document.getElementById('detail-language').textContent = song.Category;
// 顯示詳情視窗和遮罩 // 顯示詳情視窗和遮罩
document.getElementById('song-details').style.display = 'block'; document.getElementById('song-details').style.display = 'block';