master
嘉祥 詹 2024-06-13 18:25:24 +08:00
parent 9f2f0de5c0
commit 949bfcf38f
6 changed files with 161 additions and 110 deletions

View File

@ -77,11 +77,11 @@ public class authToken
user_perm = GlobalClass.appsettings("Admin:perm");
user_isLogin = true;
int intMin = 20;
int intMin = 180;
if (tokenItem.token_isremember == "Y")
{
intMin = 60 * 24 * 7;
intMin = 60 * 24 * 14;
}
dbConn.sqlConnection().Execute("update token set token_expireddate = @token_expireddate " +

View File

@ -29,7 +29,7 @@ public class youtubeUpdateClass : IHostedService, IDisposable
{
_timer = new Timer(DoWork, null,
TimeSpan.Zero,
TimeSpan.FromSeconds(15 * 60));
TimeSpan.FromSeconds(60 * 60));
return Task.CompletedTask;
}
@ -104,11 +104,16 @@ public class youtubeUpdateClass : IHostedService, IDisposable
}
}
try
{
dynamic youtubePlaylistObj;
youtubePlaylistObj = JsonConvert.DeserializeObject(youtubePlaylistJson);
string videoIdList = "";
foreach (var item in youtubePlaylistObj.items) {
foreach (var item in youtubePlaylistObj.items)
{
videoIdList += item.snippet.resourceId.videoId + ",";
}
@ -146,10 +151,12 @@ public class youtubeUpdateClass : IHostedService, IDisposable
int videosNum = 0;
List<youtubeDetail> youtubeDetailList = new List<youtubeDetail>();
foreach (var item in youtubeVideoObj.items) {
foreach (var item in youtubeVideoObj.items)
{
try {
try
{
totalViewNum += (int)item.statistics.viewCount;
videosNum++;
youtubeDetail objDetail = new youtubeDetail();
@ -168,7 +175,8 @@ public class youtubeUpdateClass : IHostedService, IDisposable
objDetail.youtubeDetail_likeCount = (int)item.statistics.likeCount;
objDetail.youtubeDetail_favoriteCount = (int)item.statistics.favoriteCount;
try {
try
{
objDetail.youtubeDetail_thumbnails = item.snippet.thumbnails.maxres.url;
}
catch { objDetail.youtubeDetail_thumbnails = ""; }
@ -179,7 +187,8 @@ public class youtubeUpdateClass : IHostedService, IDisposable
objDetail.youtubeDetail_json = JsonConvert.SerializeObject(item);
youtubeDetailList.Add(objDetail);
} catch (Exception ex)
}
catch (Exception ex)
{
}
@ -192,7 +201,8 @@ public class youtubeUpdateClass : IHostedService, IDisposable
newYoutube.youtube_avgViewCount = (int)System.Math.Floor(avg);
conn.Execute("update youtube set youtube_revoke = 'Y' where kol_uid = @kol_uid and kolMedia_uid = @kolMedia_uid", new { kol_uid = mediaItem.kol_uid, kolMedia_uid = mediaItem.kolMedia_uid });
//conn.Execute("update youtube set youtube_revoke = 'Y' where kol_uid = @kol_uid and kolMedia_uid = @kolMedia_uid", new { kol_uid = mediaItem.kol_uid, kolMedia_uid = mediaItem.kolMedia_uid });
conn.Execute("update youtube set youtube_revoke = 'Y' where kol_uid = @kol_uid ", new { kol_uid = mediaItem.kol_uid });
conn.Insert(youtubeDetailList);
conn.Insert(newYoutube);
@ -211,6 +221,22 @@ public class youtubeUpdateClass : IHostedService, IDisposable
successLog.updateLog_uid = channel_id;
conn.Insert(successLog);
}
catch (Exception ex) {
updateLog successLog = new updateLog();
successLog.updateLog_text = "此Youtube帳號 " + mediaItem.kolMedia_accountName + "(" + mediaItem.kolMedia_displayName + ") Youtube資料更新失敗,失敗原因 " + ex.Message;
successLog.updateLog_kolMedia_uid = mediaItem.kolMedia_uid;
successLog.updateLog_kolMedia_accountName = mediaItem.kolMedia_accountName;
successLog.updateLog_kolMedia_displayName = mediaItem.kolMedia_displayName;
successLog.updateLog_kol_uid = mediaItem.kol_uid;
successLog.updateLog_type = "YouTube";
successLog.updateLog_result = "failed";
successLog.updateLog_uid = channel_id;
conn.Insert(successLog);
}
}
else {
updateLog failedLog = new updateLog();

View File

@ -1,21 +1,15 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:59933",
"sslPort": 44377
}
},
{
"profiles": {
"Journeys_WantHome": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7111;http://localhost:5223",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"dotnetRunMessages": true,
"applicationUrl": "https://localhost:7111;http://localhost:5223",
"nativeDebugging": false,
"sqlDebugging": false
},
"IIS Express": {
"commandName": "IISExpress",
@ -23,6 +17,24 @@
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"WSL": {
"commandName": "WSL2",
"launchBrowser": true,
"launchUrl": "https://localhost:7111",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_URLS": "https://localhost:7111;http://localhost:5223"
},
"distributionName": ""
}
},
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:59933",
"sslPort": 44377
}
}
}

View File

@ -319,20 +319,20 @@
<!-- .form-group -->
<div class="form-group">
<div class="form-label-group">
<input type="text" id="kolMedia_url" class="form-control" value="" placeholder="網址" maxlength="50" required=""> <label for="kolMedia_url">網址</label>
<input type="text" id="kolMedia_url" class="form-control" value="" placeholder="網址" maxlength="80" required=""> <label for="kolMedia_url">網址</label>
</div>
</div><!-- /.form-group -->
<!-- .form-group -->
<div class="form-group">
<div class="form-label-group">
<input type="text" id="kolMedia_accountName" class="form-control" value="" placeholder="社群帳號" maxlength="20" required=""> <label for="kolMedia_accountName">社群帳號</label>
<input type="text" id="kolMedia_accountName" class="form-control" value="" placeholder="社群帳號" maxlength="30" required=""> <label for="kolMedia_accountName">社群帳號</label>
</div>
</div><!-- /.form-group -->
<!-- .form-group -->
<div class="form-group">
<div class="form-label-group">
<input type="text" id="kolMedia_displayName" class="form-control" value="" placeholder="社群名稱" maxlength="20" required=""> <label for="kolMedia_displayName">社群名稱</label>
<input type="text" id="kolMedia_displayName" class="form-control" value="" placeholder="社群名稱" maxlength="30" required=""> <label for="kolMedia_displayName">社群名稱</label>
</div>
</div><!-- /.form-group -->
<!-- .form-group -->

View File

@ -63,7 +63,7 @@ $(document).ready(function () {
var mediaArray = [];
var tags = $('#kol_tags').val();
var tagsStr = "";
var err_msg = "";
var src = $('#fileupload-avatar').parent().children('img').prop('src');
var origin = location.origin;
src = src.replace(origin, '');
@ -98,17 +98,30 @@ $(document).ready(function () {
kolMedia_fansNum: RemoveComma($(this).find('td').eq(4).text().trim())
}
kolMedia_accountName = $(this).find('td').eq(2).text().trim();
kolMedia_url22 = $(this).find('td').eq(1).text().trim();
if ($(this).find('td').eq(0).text().trim() == 'YouTube') {
if (kolMedia_accountName.substring(0, 1) != '@') {
err_msg += $(this).find('td').eq(3).text().trim() + " 此YouTube頻道資料有誤YouTube的帳號名稱第一碼應該為@字元\n";
}
if (kolMedia_url22.indexOf("youtube") >= 0) {
err_msg += kolMedia_url22 + " 此Youtube網址有誤\n";
}
}
if ($(this).find('td').eq(0).text().trim() == 'Facebook') {
if (kolMedia_url22.substring(0, 4) != 'http') {
err_msg += $(this).find('td').eq(3).text().trim() + " 此Facebook網址有誤\n";
}
}
mediaArray.push(item);
});
var err_msg = "";
if (kol_name == "") {
err_msg += "KOL頻道名稱未填!\n";

View File

@ -354,7 +354,7 @@ $(document).ready(function () {
checkboxClick(this);
});
},
order: [[5, 'desc']],
order: [[1, 'desc']],
info: true,
search: "搜尋:",
searching: true,