// ==UserScript==
// @name poi190213
// @namespace https://gf.qytechs.cn/zh-TW/scripts/377743
// @description 汲汲營營大報社
// @author 稻米
// @include http://sora.komica.org/00/*
// @include https://sora.komica.org/00/*
// @version 2019.01.15.2543.build16299
// @grant none
// ==/UserScript==
try{
$(document).ready(function() {
//console.log( 'jquery ready' );
//window.gg=[];
window.gg=[]; //globalVar
gg.time=new Date();//可讀時間
gg.timestamp=Date.now();//new Date().getTime();
$.gginin=gg;
//
mode_edit_html();//灰色的主題
poi();
});
}
catch(err){
console.log( ''+err.message );
}
finally {
//console.log( 'try-catch-finally' );
}
function poi(){
//console.log( gg );
console.log( $.gginin );
//
var json_array=[];
var ary=[];
ary={nn:'123',cc:1};
json_array.push(ary);
ary={nn:'456',cc:1};
json_array.push(ary);
[json_array]=mode_read_session();//讀取session
//console.log( json_array );
if( json_array.length >0 ){
console.log( '讀取session記錄成功='+json_array.length );
}else{
console.log( '讀取session記錄失敗' );
//throw '失敗';
}
var thread_all=[];
[thread_all]=mode_read_html();
//console.log( thread_all );
if( thread_all.length >0 ){
console.log( '目前網頁上的文章數量=',thread_all.length );//
}else{
throw '失敗';
}
//判斷目前網頁的模式
switch( thread_all.length ){
case 1:
console.log( '回應模式=',thread_all.length );//
break;
case 15:
console.log( '首頁模式=',thread_all.length );//
var qwq='';
[json_array,qwq]=mode_1(thread_all,json_array);//比對紀錄
//console.log( json_array,qwq );
mode_show_html(json_array);
//
mode_save_session(json_array);//存進session
//console.log( window.sessionStorage );
break;
default:
console.log( '[x]例外=',thread_all.length );//
}
}//ff
//
function mode_edit_html(){
$('#contents').before("<div id='id190214'>id190214</div>");
$('#id190214').css({
'background':'rgb(200,200,200)',
'color':'rgb(100,100,100)',
'text-align':'initial',
});
}
function mode_read_html(){
console.log( 'mode_read_html' );//
var str='';
var cc=0;
var thread_all=[];
var ary=[];
$('#contents').find('.thread').each(function(a,b){//讀取目前網頁上文章編號
str=$(b).attr('data-no');
//ary=[{nn:str,cc:1}];
thread_all.push(str);
});
return [thread_all];
}//ff
//
function mode_show_html(a){
console.log( 'mode_show_html' );//
var json_array=a;
//json_array抽出cc
var json_array_cc = json_array.map(function(item, index, array){
return [item.cc,index];
});
//console.log( json_array_cc );//被下面的.sort改了
var json_array_cc2 = json_array.map(function(item, index, array){
return [item.cc,index];
});
//console.log( json_array_cc2 );//被下面的.sort改了//???
//
//json_array_cc比大小 //排序 //大的在前
var xx1=json_array_cc2.sort(function(a,b){
return (a[0] - b[0])*(-1);//
});
//console.log( xx1 );//
//console.log( json_array_cc );//
var str='';
var array_tmp='';
var timestamp;
var timestamp2;
json_array_cc2.forEach(function(item,index,array){
//console.log( item[0],item[1] );//cc,index
//console.log( json_array[ item[1]] );//cc,index
array_tmp=json_array[ item[1]];
//array_tmp.tt = 時間戳
timestamp = Date.now() - array_tmp.tt;
timestamp = Math.floor( timestamp/1000 ); // 秒數
timestamp2 ='秒';
if( timestamp > 60 ){
timestamp=Math.floor( timestamp/60 );//分
timestamp2 ='分';
}
if( timestamp > 60 ){
timestamp=Math.floor( timestamp/60 );//小時
timestamp2 ='小時';
}
//console.log( timestamp,timestamp2 );//
str=str+"<a href='http://sora.komica.org/00/pixmicat.php?res="+array_tmp.nn+"'>"+array_tmp.nn+" "+array_tmp.cc+' '+timestamp+timestamp2+"</a><br/>"+"\n";
});
//console.log( str );//
$('#id190214').html(str);
}
function mode_read_url(){
//console.log( '網址='+location.pathname );
var FFF=location.pathname.length;
//console.log( FFF );
var xx1=0;
switch( FFF ){
case 4:
xx1=1;
break;
case 9:
case 10:
var str=location.pathname;
var re = /([0-9]+)\.htm/i;
var found = str.match(re);
//console.log( found );
xx1=0.5;
break;
default:
xx1=0;
}
return [xx1];
}//ff
//
function mode_read_session(){
console.log( 'mode_read_session' );//讀取session
mode_read_url();
var session='';
if(window.localStorage){
session=window.sessionStorage.poi190214;
//console.log( session );
var json_array=[];
if(session){
if( session.length >0 ){
console.log( 'session長度='+session.length );
//
try{
json_array=JSON.parse( window.sessionStorage.poi190214 );//解析json字串
//console.log( 'json_array=',json_array );
}
catch(e){
console.log( 'try=',e );
}
}else{
throw '失敗';
}
}else{
}
}else{
}
//
return [json_array];
}
function mode_save_session(a,b){
console.log( 'mode_save_session' );//寫入session
var json_array=a;//舊紀錄
var json_array2=[];
//存檔前先處理 //微幅下修cc
var FFF=0.0;
json_array.forEach(function(item,index,array){
//console.log( item );
FFF=item.cc - 0.1;
FFF=FFF.toFixed(1);
item.cc=FFF;
//console.log( json_array[index] );
});
json_array2 = json_array.filter(function(item, index, array){
return item.cc > 0; // 大於
});
//console.log( json_array );
//console.log( json_array2 );
json_array=json_array2;
//
if(window.localStorage){
//儲存紀錄
var json_str=JSON.stringify(json_array); //建立json字串
//console.log( json_str );
window.sessionStorage.poi190214=json_str;//存到session
//console.log( window.sessionStorage );
}else{
}
}//ff
//
function mode_2(a,b){
console.log( 'mode_2' );//資料的處理 //排序 //瘦身
}
function mode_1(a,b){
console.log( 'mode_1' );//資料的處理 //排序 //瘦身
var thread_all=a;
var json_array=b;
//
//console.log( json_array );//
for(var i=0;i<json_array.length;i++){
//console.log( json_array[i].nn );//
}
//從json_array產生一個只有文章編號的陣列
var json_array_nn = json_array.map(function(item, index, array){
return item.nn;
});
//console.log( json_array );//
//console.log( json_array_nn );//
//console.log( json_array_nn[0] );//
var ary=[];
var FFF='';
var [倍率]=mode_read_url();
console.log( '倍率=',倍率 );//
thread_all.forEach(function(item,index,array){
//console.log( index,item );//
FFF=json_array_nn.indexOf(item);
if( FFF >=0 ){
console.log( '舊',item,FFF );//
//舊資料 加count數
json_array[FFF].cc++;
//console.log( json_array[FFF] );//
}else{
console.log( '新',item,FFF );//
//把新資料加進json_array
ary={
nn:item,
cc:1*倍率,
tt:Date.now(),
};
json_array.push(ary);
}
});
//console.log( json_array );//
//更新json_array_nn
json_array_nn = json_array.map(function(item, index, array){
return item.nn;
});
//json_array_nn比大小 //排序 //大的在前
json_array_nn.sort(function(a,b){
return (a - b)*(-1);//
});
//console.log( json_array_nn );//
//json_array_nn剪裁 //瘦身
json_array_nn=json_array_nn.slice(0, 100);//
//console.log( json_array_nn );//
//
var json_array2=[];
json_array.forEach(function(item,index,array){
//console.log( item );//
//在json_array_nn尋找相同的編號 並回傳index
var xx21 = json_array_nn.findIndex(function(item2, index2, array2){
return (item2 == item.nn);
});
//console.log( xx21 );//陣列index位置
//有找到
if(xx21>=0){
json_array2[xx21]=item;//依照排序放進新陣列
}
});
//console.log( json_array2 );//
json_array=json_array2;//取代原本的陣列
json_array2=[];//清空
return [json_array,'ouo'];
}//ff
//
function poi_old(){
console.log( 'poi' );
$('.bar_reply').html('123');
$('.bar_reply').css({
'background':'rgb(200,200,200)',
'color':'rgb(100,100,100)',
'text-align':'initial',
});
}//ff
//
/*
*/