Compare commits
2 Commits
e7f4b85488
...
08dc3539e6
Author | SHA1 | Date | |
---|---|---|---|
08dc3539e6 | |||
79093d8627 |
@ -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;
|
||||||
|
@ -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");
|
||||||
|
@ -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';
|
||||||
});
|
});
|
||||||
|
@ -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;
|
||||||
|
@ -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';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user