diff --git a/asset-manifest.json b/asset-manifest.json index c2cb4fb1..406c777a 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,15 +1,15 @@ { "files": { "main.css": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/css/main.f3484b48.chunk.css", - "main.js": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/main.c1156830.chunk.js", - "main.js.map": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/main.c1156830.chunk.js.map", + "main.js": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/main.e43f80a3.chunk.js", + "main.js.map": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/main.e43f80a3.chunk.js.map", "runtime~main.js": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/runtime~main.a9c024a1.js", "runtime~main.js.map": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/runtime~main.a9c024a1.js.map", "static/css/2.01da1c71.chunk.css": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/css/2.01da1c71.chunk.css", "static/js/2.8a1e8df3.chunk.js": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/2.8a1e8df3.chunk.js", "static/js/2.8a1e8df3.chunk.js.map": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/2.8a1e8df3.chunk.js.map", "index.html": "./index.html", - "precache-manifest.9621642dc35635c03553012e2619676a.js": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/precache-manifest.9621642dc35635c03553012e2619676a.js", + "precache-manifest.07742da4769590fdd920c95351a86128.js": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/precache-manifest.07742da4769590fdd920c95351a86128.js", "service-worker.js": "./service-worker.js", "static/css/2.01da1c71.chunk.css.map": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/css/2.01da1c71.chunk.css.map", "static/css/main.f3484b48.chunk.css.map": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/css/main.f3484b48.chunk.css.map", diff --git a/index.html b/index.html index 1508c501..07746925 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -T大树洞
\ No newline at end of file +T大树洞
\ No newline at end of file diff --git a/precache-manifest.9621642dc35635c03553012e2619676a.js b/precache-manifest.07742da4769590fdd920c95351a86128.js similarity index 98% rename from precache-manifest.9621642dc35635c03553012e2619676a.js rename to precache-manifest.07742da4769590fdd920c95351a86128.js index a5ff017a..fe450e11 100644 --- a/precache-manifest.9621642dc35635c03553012e2619676a.js +++ b/precache-manifest.07742da4769590fdd920c95351a86128.js @@ -1,6 +1,6 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ { - "revision": "e1d6eb5ac771267d431a5acdd906948e", + "revision": "37702b407acb8271826fdc534713d656", "url": "./index.html" }, { @@ -8,7 +8,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/css/2.01da1c71.chunk.css" }, { - "revision": "6bebf886611200cec68b", + "revision": "7f155cf10952fd36a1f4", "url": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/css/main.f3484b48.chunk.css" }, { @@ -16,8 +16,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/2.8a1e8df3.chunk.js" }, { - "revision": "6bebf886611200cec68b", - "url": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/main.c1156830.chunk.js" + "revision": "7f155cf10952fd36a1f4", + "url": "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/static/js/main.e43f80a3.chunk.js" }, { "revision": "62bace3391c0c82c1116", diff --git a/service-worker.js b/service-worker.js index fd59b07b..0f89a570 100644 --- a/service-worker.js +++ b/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/precache-manifest.9621642dc35635c03553012e2619676a.js" + "//cdn.jsdelivr.net/gh/thuhole/webhole@gh-pages/precache-manifest.07742da4769590fdd920c95351a86128.js" ); self.addEventListener('message', (event) => { diff --git a/static/js/main.c1156830.chunk.js.map b/static/js/main.c1156830.chunk.js.map deleted file mode 100644 index f0775ca3..00000000 --- a/static/js/main.c1156830.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["color_picker.js","text_splitter.js","infrastructure/functions.js","infrastructure/widgets.js","cache.js","flows_api.js","Markdown.js","Common.js","react-lazyload/src/utils/event.js","react-lazyload/src/utils/scrollParent.js","react-lazyload/src/index.jsx","react-lazyload/src/utils/debounce.js","react-lazyload/src/utils/throttle.js","AudioWidget.js","Message.js","Config.js","UserAction.js","Flows.js","Title.js","Sidebar.js","PressureHelper.js","App.js","registerServiceWorker.js","index.js","infrastructure/appicon/hole.png","infrastructure/appicon/imasugu.png","infrastructure/appicon/imasugu_rev.png","infrastructure/appicon/syllabus.png","infrastructure/appicon/score.png","infrastructure/appicon/course_survey.png","infrastructure/appicon/homepage.png","infrastructure/appicon/dropdown.png","infrastructure/appicon/dropdown_rev.png"],"names":["ColorPicker","this","names","current_h","Math","random","name","toLowerCase","PID_RE","URL_PID_RE","NICKNAME_RE","URL_RE","split_text","txt","rules","forEach","rule","regex","concat","apply","map","part","content","split","seg","test","filter","get_json","res","ok","Error","status","statusText","text","then","t","JSON","parse","e","console","error","trace","log","SyntaxError","substr","API_VERSION_PARAM","encodeURIComponent","floor","Date","LOGIN_POPUP_ANCHOR_ID","pad2","x","format_time","time","getMonth","getDate","getHours","getMinutes","getSeconds","chinese_format","buildFormatter","chineseStrings","Time","props","stamp","date","formatter","title","toLocaleString","timeZone","hour12","TitleLine","className","appicon_hole","appicon_imasugu","appicon_imasugu_rev","appicon_syllabus","appicon_score","appicon_course_survey","appicon_homepage","LoginPopupSelf","state","loading_status","username_ref","React","createRef","password_ref","input_token_ref","popup_anchor","document","getElementById","createElement","id","body","appendChild","type","setState","fetch","THUHOLE_API_ROOT","current","value","method","headers","stringify","excluded_scopes","json","success","alert","msg","catch","set_token","code","user_token","on_close","token","result","length","ReactDOM","createPortal","ref","autoFocus","defaultValue","onClick","do_sendcode","disabled","do_login","token_callback","placeholder","do_input_token","Component","LoginPopup","popup_show","on_popup_bound","on_popup","bind","on_close_bound","children","HOLE_CACHE_DB_NAME","CACHE_DB_VER","Cache","db","added_items_since_maintenance","encrypt","decrypt","open_req","indexedDB","open","onerror","onupgradeneeded","event","target","createObjectStore","keyPath","createIndex","unique","onsuccess","setTimeout","maintenance","pid","data","s","o","i","key","new_key","charCodeAt","String","fromCharCode","c","target_version","parseInt","Promise","resolve","reject","store","transaction","objectStore","get_req","get","data_str","version","last_access","put","delete","warn","req","count_req","count","index","openKeyCursor","cur","primaryKey","continue","deleteDatabase","cache","window","hole_cache","token_param","API","load_replies","color_picker","cache_version","API_BASE","sort","a","b","cid","info","_display_color","variant","load_replies_with_cache","set_attention","attention","URLSearchParams","append","report","reason","get_list","page","get_search","keyword","get_single","get_attention","md","MarkdownIt","html","linkify","breaks","inline","highlight","str","lang","hljs","getLanguage","__","utils","escapeHtml","use","MarkdownItKaTeX","render","escape_regex","string","replace","build_highlight_re","option","RegExp","join","ColoredSpan","style","colors","normalize_url","url","PureComponent","HighlightedMarkdown","processInstructions","shouldProcessNode","node","processNode","currentLevel","HeadingTag","href","attribs","rel","class","parent","splitted","Fragment","idx","p","preventDefault","show_pid","substring","HtmlToReact","ProcessNodeDefinitions","processDefaultNode","parser","Parser","author","match","renderedMarkdown","renderMd","parseWithInstructions","rawMd","TEXTAREA_BACKUP","SafeTextarea","on_change_bound","on_change","on_keydown_bound","on_keydown","clear","area_ref","change_callback","submit_callback","on_submit","ctrlKey","altKey","focus","onChange","onKeyDown","pwa_prompt_event","PromotionBar","is_ios","navigator","userAgent","matchMedia","matches","standalone","prompt","addEventListener","ClickHandler","moved","init_y","init_x","on_begin_bound","on_begin","on_move_bound","on_move","on_end_bound","on_end","MOVE_THRESHOLD","last_fire","touches","screenY","screenX","abs","do_callback","callback","onTouchStart","onMouseDown","onTouchMove","onMouseMove","on","el","eventName","opts","attachEvent","call","off","removeEventListener","detachEvent","HTMLElement","documentElement","excludeStaticParent","position","overflowRegex","parentNode","ownerDocument","getComputedStyle","overflow","overflowX","overflowY","defaultBoundingClientRect","LISTEN_FLAG","listeners","pending","passiveEventSupported","Object","defineProperty","delayType","passiveEvent","capture","passive","checkVisible","component","ReactDom","findDOMNode","scrollParent","parentTop","parentHeight","getBoundingClientRect","top","height","windowInnerHeight","innerHeight","clientHeight","intersectionTop","max","intersectionHeight","min","offsetTop","offsets","Array","isArray","offset","checkOverflowVisible","elementHeight","offsetWidth","offsetHeight","getClientRects","checkNormalVisible","visible","hidden","once","push","unmountIfInvisible","hiddenIfInvisible","lazyLoadHandler","listener","indexOf","splice","finalLazyLoadHandler","LazyLoad","scrollport","scrollContainer","querySelector","needResetFinalLazyLoadHandler","undefined","debounce","func","wait","immediate","timeout","args","context","timestamp","later","last","arguments","callNow","throttle","fn","threshhold","scope","deferTimer","now","clearTimeout","getAttribute","listenerCount","setAttribute","scroll","resize","removeAttribute","visibility","defaultProps","audio_cache","MessageViewer","load","err","BUILTIN_IMGS","DEFAULT_CONFIG","background_img","background_color","pressure","easter_egg","color_scheme","load_config","loaded_config","config","assign","localStorage","keys","save_config","bgimg_style","img","color","background","backgroundImage","encodeURI","backgroundColor","backgroundSize","ConfigBackground","save_changes","img_select","on_select","on_change_img","on_change_color","ConfigColorScheme","ConfigSwitch","switch","val","checked","description","ConfigUI","save_changes_bound","chg","confirm","location","reload","reset_settings","MAX_IMG_DIAM","MAX_IMG_PX","MAX_IMG_FILESIZE","TokenCtx","createContext","set_value","InfoSidebar","show_sidebar","serviceWorker","getRegistrations","registrations","registration","unregister","process","LoginForm","copy","Consumer","copy_token","do_popup","ReplyForm","preview","global_keypress_handler_bound","global_keypress_handler","tagName","on_complete","onSubmit","toggle_preview","PostForm","img_tip","img_ref","on_img_change_bound","on_img_change","file","return_url","reader","FileReader","onload","fixOrientation","fixed_dataurl","image","Image","width","compressed","rate","sqrt","canvas","ctx","getContext","drawImage","quality","new_url","quality_l","quality_r","toDataURL","round","src","on_got_img","readAsDataURL","files","proc_img","d","do_post","accept","IMAGE_BASE","CLICKABLE_TAGS","audio","QUOTE_BLACKLIST","FOLD_TAGS","LATEST_POST_ID","load_single_meta","title_elem","single","reply","replies","deletion_detect","Reply","replyContent","splitIdx","replyText","do_filter_name","tag","FlowItem","likenum","r","is_quote","copy_link","img_clickable","latest_reply","FlowSidebar","error_msg","filter_name","rev","syncState","sync_state","reply_ref","prev","update_count","set_variant","next_attention","prevState","closest","should_text","set","replies_to_show","slice","reverse","view_mode_key","replies_cnt","main_thread_elem","show_reply_bar","set_filter_name","toggle_rev","toggle_attention","float","FlowItemRow","reply_status","reply_error","attention_override","hl_rules","search_param","parts","quote_id","mode","FlowItemQuote","FlowChunk","list","ind","Flow","search_text","loaded_pages","chunks","on_scroll_bound","on_scroll","failed","max_id","some","finished","scrollHeight","scrollY","load_page","should_deletion_detect","flag_re","ControlBar","set_mode","on_keypress_bound","on_keypress","do_refresh_bound","do_refresh","do_attention_bound","do_attention","hash","decodeURIComponent","lastIndexOf","flag_res","exec","startsWith","scrollTo","onKeyPress","Title","Sidebar","sidebar_ref","do_close_bound","do_close","do_back_bound","do_back","nextProps","stack","scrollTop","cur_title","cur_content","onTouchEnd","click","PressureHelper","level","fired","esc_interval","clearInterval","Pressure","change","force","do_fire","end","polyfill","only","preventSelect","repeat","THRESHOLD","setInterval","new_level","pad","left","right","bottom","DeprecatedAlert","display","App","override","update_color_scheme","classList","add","remove","addListener","listen_darkmode","default","light","dark","sidebar_stack","flow_render_key","show_sidebar_bound","set_mode_bound","on_pressure_bound","on_pressure","inthu_flag","atob","ns","pop","Provider","isLocalhost","Boolean","hostname","registerValidSW","swUrl","register","onupdatefound","installingWorker","installing","onstatechange","controller","response","ready","checkValidServiceWorker","module","exports"],"mappings":"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","file":"static/js/main.c1156830.chunk.js","sourcesContent":["// https://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/\n\nconst golden_ratio_conjugate=0.618033988749895;\n\nexport class ColorPicker {\n constructor() {\n this.names={};\n this.current_h=Math.random();\n }\n\n get(name) {\n name=name.toLowerCase();\n if(name==='洞主')\n return ['hsl(0,0%,97%)','hsl(0,0%,16%)'];\n\n if(!this.names[name]) {\n this.current_h+=golden_ratio_conjugate;\n this.current_h%=1;\n this.names[name]=[\n `hsl(${this.current_h*360}, 50%, 90%)`,\n `hsl(${this.current_h*360}, 60%, 20%)`,\n ];\n }\n return this.names[name];\n }\n}","// regexp should match the WHOLE segmented part\n// export const PID_RE=/(^|[^\\d\\u20e3\\ufe0e\\ufe0f])([2-9]\\d{4,5}|1\\d{4,6})(?![\\d\\u20e3\\ufe0e\\ufe0f])/g;\nexport const PID_RE=/(^|[^\\d\\u20e3\\ufe0e\\ufe0f])(#\\d{1,7})(?![\\d\\u20e3\\ufe0e\\ufe0f])/g;\n// TODO: fix this re\n// export const URL_PID_RE=/((?:https?:\\/\\/)?thuhole\\.com\\/?#(?:#|%23)([2-9]\\d{4,5}|1\\d{4,6}))(?!\\d|\\u20e3|\\ufe0e|\\ufe0f)/g;\nexport const URL_PID_RE=/((?:https?:\\/\\/)?thuhole\\.com\\/?#(?:#|%23)(\\d{1,7}))(?!\\d|\\u20e3|\\ufe0e|\\ufe0f)/g;\nexport const NICKNAME_RE=/(^|[^A-Za-z])((?:(?:Angry|Baby|Crazy|Diligent|Excited|Fat|Greedy|Hungry|Interesting|Jolly|Kind|Little|Magic|Naïve|Old|PKU|Quiet|Rich|Superman|Tough|Undefined|Valuable|Wifeless|Xiangbuchulai|Young|Zombie)\\s)?(?:Alice|Bob|Carol|Dave|Eve|Francis|Grace|Hans|Isabella|Jason|Kate|Louis|Margaret|Nathan|Olivia|Paul|Queen|Richard|Susan|Thomas|Uma|Vivian|Winnie|Xander|Yasmine|Zach)|You Win(?: \\d+)?|洞主)(?![A-Za-z])/gi;\nexport const URL_RE=/(^|[^.@a-zA-Z0-9_])((?:https?:\\/\\/)?(?:(?:[\\w-]+\\.)+[a-zA-Z]{2,3}|\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})(?::\\d{1,5})?(?:\\/[\\w~!@#$%^&*()\\-_=+[\\]{};:,./?|]*)?)(?![a-zA-Z0-9])/gi;\n\nexport function split_text(txt,rules) {\n // rules: [['name',/regex/],...]\n // return: [['name','part'],[null,'part'],...]\n\n txt=[[null,txt]];\n rules.forEach((rule)=>{\n let [name,regex]=rule;\n txt=[].concat.apply([],txt.map((part)=>{\n let [rule,content]=part;\n if(rule) // already tagged by previous rules\n return [part];\n else {\n return content\n .split(regex)\n .map((seg)=>(\n regex.test(seg) ? [name,seg] : [null,seg]\n ))\n .filter(([name,seg])=>(\n name!==null || seg\n ));\n }\n }));\n });\n return txt;\n}\n","export function get_json(res) {\n if(!res.ok) throw Error(`网络错误 ${res.status} ${res.statusText}`);\n return (\n res\n .text()\n .then((t)=>{\n try {\n return JSON.parse(t);\n } catch(e) {\n console.error('json parse error');\n console.trace(e);\n console.log(t);\n throw new SyntaxError('JSON Parse Error '+t.substr(0,50));\n }\n })\n );\n}\n\nexport function listen_darkmode(override) { // override: true/false/undefined\n function update_color_scheme() {\n if(override===undefined ? window.matchMedia('(prefers-color-scheme: dark)').matches : override)\n document.body.classList.add('root-dark-mode');\n else\n document.body.classList.remove('root-dark-mode');\n }\n\n update_color_scheme();\n window.matchMedia('(prefers-color-scheme: dark)').addListener(()=>{\n update_color_scheme();\n });\n}\n\nexport function API_VERSION_PARAM() {\n return '&PKUHelperAPI=3.0&jsapiver='+encodeURIComponent((process.env.REACT_APP_BUILD_INFO||'null')+'-'+(Math.floor(+new Date()/7200000)*2));\n}","import React, {Component, PureComponent} from 'react';\nimport ReactDOM from 'react-dom';\n\nimport TimeAgo from 'react-timeago';\nimport chineseStrings from 'react-timeago/lib/language-strings/zh-CN';\nimport buildFormatter from 'react-timeago/lib/formatters/buildFormatter';\n\nimport './global.css';\nimport './widgets.css';\n\nimport appicon_hole from './appicon/hole.png';\nimport appicon_imasugu from './appicon/imasugu.png';\nimport appicon_imasugu_rev from './appicon/imasugu_rev.png';\nimport appicon_syllabus from './appicon/syllabus.png';\nimport appicon_score from './appicon/score.png';\nimport appicon_course_survey from './appicon/course_survey.png';\nimport appicon_dropdown from './appicon/dropdown.png';\nimport appicon_dropdown_rev from './appicon/dropdown_rev.png';\nimport appicon_homepage from './appicon/homepage.png';\nimport {THUHOLE_API_ROOT} from './const';\nimport {get_json, API_VERSION_PARAM} from './functions';\n\nconst LOGIN_POPUP_ANCHOR_ID='pkuhelper_login_popup_anchor';\n\nfunction pad2(x) {\n return x<10 ? '0'+x : ''+x;\n}\nexport function format_time(time) {\n return `${time.getMonth()+1}-${pad2(time.getDate())} ${time.getHours()}:${pad2(time.getMinutes())}:${pad2(time.getSeconds())}`;\n}\nconst chinese_format=buildFormatter(chineseStrings);\nexport function Time(props) {\n const time=new Date(props.stamp*1000);\n return (\n \n \n  \n {format_time(time)}\n \n );\n}\n\nexport function TitleLine(props) {\n return (\n

\n {props.text}\n

\n )\n}\n\nexport function GlobalTitle(props) {\n return (\n
\n
\n

{props.text}

\n
\n
\n );\n}\n\nconst FALLBACK_APPS={\n // id, text, url, icon_normal, icon_hover, new_tab\n bar: [\n ['hole', '树洞', '/hole', appicon_hole, null, false],\n ['imasugu', '教室', '/spare_classroom', appicon_imasugu, appicon_imasugu_rev, false],\n ['syllabus', '课表', '/syllabus', appicon_syllabus, null, false],\n ['score', '成绩', '/my_score', appicon_score, null, false],\n ],\n dropdown: [\n ['course_survey', '课程测评', 'https://courses.pinzhixiaoyuan.com/', appicon_course_survey, null, true],\n ['homepage', '客户端', '/', appicon_homepage, null, true],\n ],\n fix: {},\n};\n// const SWITCHER_DATA_VER='switcher_2';\n// const SWITCHER_DATA_URL=THUHOLE_API_ROOT+'web_static/appswitcher_items.json';\n\n// export class AppSwitcher extends Component {\n// constructor(props) {\n// super(props);\n// this.state={\n// apps: this.get_apps_from_localstorage(),\n// }\n// }\n//\n// get_apps_from_localstorage() {\n// let ret=FALLBACK_APPS;\n// if(localStorage['APPSWITCHER_ITEMS'])\n// try {\n// let content=JSON.parse(localStorage['APPSWITCHER_ITEMS'])[SWITCHER_DATA_VER];\n// if(!content || !content.bar)\n// throw new Error('content is empty');\n//\n// ret=content;\n// } catch(e) {\n// console.error('load appswitcher items from localstorage failed');\n// console.trace(e);\n// }\n//\n// return ret;\n// }\n//\n// check_fix() {\n// if(this.state.apps && this.state.apps.fix && this.state.apps.fix[this.props.appid])\n// setTimeout(()=>{\n// window.HOTFIX_CONTEXT={\n// build_info: process.env.REACT_APP_BUILD_INFO || '---',\n// build_env: process.env.NODE_ENV,\n// };\n// eval(this.state.apps.fix[this.props.appid]);\n// },1); // make it async so failures won't be critical\n// }\n//\n// componentDidMount() {\n// this.check_fix();\n// setTimeout(()=>{\n// fetch(SWITCHER_DATA_URL)\n// .then((res)=>{\n// if(!res.ok) throw Error(`网络错误 ${res.status} ${res.statusText}`);\n// return res.text();\n// })\n// .then((txt)=>{\n// if(txt!==localStorage['APPSWITCHER_ITEMS']) {\n// console.log('loaded new appswitcher items',txt);\n// localStorage['APPSWITCHER_ITEMS']=txt;\n//\n// this.setState({\n// apps: this.get_apps_from_localstorage(),\n// });\n// } else {\n// console.log('appswitcher items unchanged');\n// }\n// })\n// .catch((e)=>{\n// console.error('loading appswitcher items failed');\n// console.trace(e);\n// });\n// },500);\n// }\n//\n// componentDidUpdate(prevProps, prevState) {\n// if(this.state.apps!==prevState.apps)\n// this.check_fix();\n// }\n//\n// render() {\n// let cur_id=this.props.appid;\n//\n// function app_elem([id,title,url,icon_normal,icon_hover,new_tab],no_class=false,ref=null) {\n// return (\n// \n// {!!icon_normal && [\n// ,\n// \n// ]}\n// {title}\n// \n// );\n// }\n//\n// let dropdown_cur_app=null;\n// this.state.apps.dropdown.forEach((app)=>{\n// if(app[0]===cur_id)\n// dropdown_cur_app=app;\n// });\n//\n// //console.log(JSON.stringify(this.state.apps));\n//\n// return (\n//
\n// PKUHelper\n// {this.state.apps.bar.map((app)=>\n// app_elem(app)\n// )}\n// {!!this.state.apps.dropdown.length &&\n//
\n//

\n// {!!dropdown_cur_app ?\n// app_elem((()=>{\n// let [id,title,_url,icon_normal,icon_hover,_new_tab]=dropdown_cur_app;\n// return [id,title+'▾',null,icon_normal,icon_hover,false];\n// })(),true) :\n// app_elem(['-placeholder-elem','更多▾',null,appicon_dropdown,appicon_dropdown_rev,false],true)\n// }\n//

\n// {this.state.apps.dropdown.map((app)=>{\n// let ref=React.createRef();\n// return (\n//

{\n// if(!e.target.closest('a') && ref.current)\n// ref.current.click();\n// }}>\n// {app_elem(app,true,ref)}\n//

\n// );\n// })}\n//
\n// }\n// 网页版\n//
\n// );\n// }\n// }\n\nclass LoginPopupSelf extends Component {\n constructor(props) {\n super(props);\n this.state={\n loading_status: 'idle',\n // excluded_scopes: [],\n };\n this.username_ref=React.createRef();\n this.password_ref=React.createRef();\n this.input_token_ref=React.createRef();\n\n this.popup_anchor=document.getElementById(LOGIN_POPUP_ANCHOR_ID);\n if(!this.popup_anchor) {\n this.popup_anchor=document.createElement('div');\n this.popup_anchor.id=LOGIN_POPUP_ANCHOR_ID;\n document.body.appendChild(this.popup_anchor);\n }\n }\n\n do_sendcode(type) {\n if(this.state.loading_status==='loading')\n return;\n\n this.setState({\n loading_status: 'loading',\n },()=>{\n fetch(\n THUHOLE_API_ROOT+'api_xmcp/login/send_code'\n +'?user='+encodeURIComponent(this.username_ref.current.value)\n +'&code_type='+encodeURIComponent(type)\n +API_VERSION_PARAM(), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n excluded_scopes: [],\n }),\n }\n )\n .then(get_json)\n .then((json)=>{\n console.log(json);\n if(!json.success)\n throw new Error(JSON.stringify(json));\n\n alert(json.msg);\n this.setState({\n loading_status: 'done',\n });\n })\n .catch((e)=>{\n console.error(e);\n alert('发送失败\\n'+e);\n this.setState({\n loading_status: 'done',\n });\n });\n\n });\n }\n\n do_login(set_token) {\n if(this.state.loading_status==='loading')\n return;\n\n this.setState({\n loading_status: 'loading',\n },()=>{\n fetch(\n THUHOLE_API_ROOT+'api_xmcp/login/login'\n +'?user='+encodeURIComponent(this.username_ref.current.value)\n +'&valid_code='+encodeURIComponent(this.password_ref.current.value)\n +API_VERSION_PARAM(), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n excluded_scopes: [],\n }),\n }\n )\n .then(get_json)\n .then((json)=>{\n if(json.code!==0) {\n if(json.msg) throw new Error(json.msg);\n throw new Error(JSON.stringify(json));\n }\n\n set_token(json.user_token);\n alert(`登录成功`);\n this.setState({\n loading_status: 'done',\n });\n this.props.on_close();\n })\n .catch((e)=>{\n console.error(e);\n alert('登录失败\\n'+e);\n this.setState({\n loading_status: 'done',\n });\n });\n });\n }\n\n do_input_token(set_token) {\n if(this.state.loading_status==='loading')\n return;\n\n let token=this.input_token_ref.current.value;\n this.setState({\n loading_status: 'loading',\n },()=>{\n fetch(THUHOLE_API_ROOT+'api_xmcp/hole/system_msg?user_token='+encodeURIComponent(token)+API_VERSION_PARAM())\n .then((res)=>res.json())\n .then((json)=>{\n if(json.error)\n throw new Error(json.error);\n if(json.result.length===0)\n throw new Error('result check failed');\n this.setState({\n loading_status: 'done',\n });\n set_token(token);\n this.props.on_close();\n })\n .catch((e)=>{\n alert('Token检验失败\\n'+e);\n this.setState({\n loading_status: 'done',\n });\n console.error(e);\n });\n });\n }\n\n // perm_alert() {\n // alert('如果你不需要 PKU Helper 的某项功能,可以取消相应权限。\\n其中【状态信息】包括你的网费、校园卡余额等。\\n该设置应用到你的【所有】设备,取消后如需再次启用相应功能需要重新登录。');\n // }\n\n render() {\n // let PERM_SCOPES=[\n // ['score','成绩查询'],\n // ['syllabus','课表查询'],\n // ['my_info','状态信息'],\n // ];\n\n return ReactDOM.createPortal(\n
\n
\n
\n

\n 接收验证码来登录 T大树洞\n

\n

\n \n \n {/*this.do_sendcode('sms')}>*/}\n {/*  短信 */}\n {/**/}\n {/*/*/}\n this.do_sendcode('mail')}>\n  发送邮件 \n \n \n

\n

\n \n \n

\n
\n

\n 从其他设备导入登录状态\n

\n

\n \n \n

\n
\n

\n \n

\n
\n
,\n this.popup_anchor,\n );\n }\n}\n\nexport class LoginPopup extends Component {\n constructor(props) {\n super(props);\n this.state={\n popup_show: false,\n };\n this.on_popup_bound=this.on_popup.bind(this);\n this.on_close_bound=this.on_close.bind(this);\n }\n\n on_popup() {\n this.setState({\n popup_show: true,\n });\n }\n on_close() {\n this.setState({\n popup_show: false,\n });\n }\n\n render() {\n return (\n <>\n {this.props.children(this.on_popup_bound)}\n {this.state.popup_show &&\n \n }\n \n );\n }\n}","const HOLE_CACHE_DB_NAME='hole_cache_db';\nconst CACHE_DB_VER=1;\nconst MAINTENANCE_STEP=150;\nconst MAINTENANCE_COUNT=1000;\n\nconst ENC_KEY=42;\n\nclass Cache {\n constructor() {\n this.db=null;\n this.added_items_since_maintenance=0;\n this.encrypt=this.encrypt.bind(this);\n this.decrypt=this.decrypt.bind(this);\n const open_req=indexedDB.open(HOLE_CACHE_DB_NAME,CACHE_DB_VER);\n open_req.onerror=console.error.bind(console);\n open_req.onupgradeneeded=(event)=>{\n console.log('comment cache db upgrade');\n const db=event.target.result;\n const store=db.createObjectStore('comment',{\n keyPath: 'pid',\n });\n store.createIndex('last_access','last_access',{unique: false});\n };\n open_req.onsuccess=(event)=>{\n console.log('comment cache db loaded');\n this.db=event.target.result;\n setTimeout(this.maintenance.bind(this),1);\n };\n }\n\n // use window.hole_cache.encrypt() only after cache is loaded!\n encrypt(pid,data) {\n let s=JSON.stringify(data);\n let o='';\n for(let i=0,key=(ENC_KEY^pid)%128;i{\n if(!this.db)\n return resolve(null);\n const tx=this.db.transaction(['comment'],'readwrite');\n const store=tx.objectStore('comment');\n const get_req=store.get(pid);\n get_req.onsuccess=()=>{\n let res=get_req.result;\n if(!res || !res.data_str) {\n //console.log('comment cache miss '+pid);\n resolve(null);\n } else if(target_version===res.version) { // hit\n console.log('comment cache hit',pid);\n res.last_access=(+new Date());\n store.put(res);\n let data=this.decrypt(pid,res.data_str);\n resolve(data); // obj or null\n } else { // expired\n console.log('comment cache expired',pid,': ver',res.version,'target',target_version);\n store.delete(pid);\n resolve(null);\n }\n };\n get_req.onerror=(e)=>{\n console.warn('comment cache indexeddb open failed');\n console.error(e);\n resolve(null);\n };\n });\n }\n\n put(pid,target_version,data) {\n pid=parseInt(pid);\n return new Promise((resolve,reject)=>{\n if(!this.db)\n return resolve();\n const tx=this.db.transaction(['comment'],'readwrite');\n const store=tx.objectStore('comment');\n store.put({\n pid: pid,\n version: target_version,\n data_str: this.encrypt(pid,data),\n last_access: +new Date(),\n });\n if(++this.added_items_since_maintenance===MAINTENANCE_STEP)\n setTimeout(this.maintenance.bind(this),1);\n });\n }\n\n delete(pid) {\n pid=parseInt(pid);\n return new Promise((resolve,reject)=>{\n if(!this.db)\n return resolve();\n const tx=this.db.transaction(['comment'],'readwrite');\n const store=tx.objectStore('comment');\n let req=store.delete(pid);\n //console.log('comment cache delete',pid);\n req.onerror=()=>{\n console.warn('comment cache delete failed ',pid);\n return resolve();\n };\n req.onsuccess=()=>resolve();\n });\n }\n\n maintenance() {\n if(!this.db)\n return;\n const tx=this.db.transaction(['comment'],'readwrite');\n const store=tx.objectStore('comment');\n let count_req=store.count();\n count_req.onsuccess=()=>{\n let count=count_req.result;\n if(count>MAINTENANCE_COUNT) {\n console.log('comment cache db maintenance',count);\n store.index('last_access').openKeyCursor().onsuccess=(e)=>{\n let cur=e.target.result;\n if(cur) {\n //console.log('maintenance: delete',cur);\n store.delete(cur.primaryKey);\n if(--count>MAINTENANCE_COUNT)\n cur.continue();\n }\n };\n } else {\n console.log('comment cache db no need to maintenance',count);\n }\n this.added_items_since_maintenance=0;\n };\n count_req.onerror=console.error.bind(console);\n }\n\n clear() {\n if(!this.db)\n return;\n indexedDB.deleteDatabase(HOLE_CACHE_DB_NAME);\n console.log('delete comment cache db');\n }\n};\n\nexport function cache() {\n if(!window.hole_cache)\n window.hole_cache=new Cache();\n return window.hole_cache;\n}","import {get_json, API_VERSION_PARAM} from './infrastructure/functions';\nimport {THUHOLE_API_ROOT} from './infrastructure/const';\nimport {API_BASE} from './Common';\nimport {cache} from './cache';\n\nexport {THUHOLE_API_ROOT, API_VERSION_PARAM};\n\nexport function token_param(token) {\n return API_VERSION_PARAM()+(token ? ('&user_token='+token) : '');\n}\n\nexport {get_json};\n\nconst SEARCH_PAGESIZE=50;\n\nexport const API={\n load_replies: (pid,token,color_picker,cache_version)=>{\n pid=parseInt(pid);\n return fetch(\n API_BASE+'/api.php?action=getcomment'+\n '&pid='+pid+\n token_param(token)\n )\n .then(get_json)\n .then((json)=>{\n if(json.code!==0) {\n if(json.msg) throw new Error(json.msg);\n else throw new Error(JSON.stringify(json));\n }\n\n cache().delete(pid).then(()=>{\n cache().put(pid,cache_version,json);\n });\n\n // also change load_replies_with_cache!\n json.data=json.data\n .sort((a,b)=>{\n return parseInt(a.cid,10)-parseInt(b.cid,10);\n })\n .map((info)=>{\n info._display_color=color_picker.get(info.name);\n info.variant={};\n return info;\n });\n\n return json;\n });\n },\n\n load_replies_with_cache: (pid,token,color_picker,cache_version)=> {\n pid=parseInt(pid);\n return cache().get(pid,cache_version)\n .then((json)=>{\n if(json) {\n // also change load_replies!\n json.data=json.data\n .sort((a,b)=>{\n return parseInt(a.cid,10)-parseInt(b.cid,10);\n })\n .map((info)=>{\n info._display_color=color_picker.get(info.name);\n info.variant={};\n return info;\n });\n\n return json;\n }\n else\n return API.load_replies(pid,token,color_picker,cache_version);\n });\n },\n\n set_attention: (pid,attention,token)=>{\n let data=new URLSearchParams();\n data.append('user_token',token);\n data.append('pid',pid);\n data.append('switch',attention ? '1' : '0');\n return fetch(API_BASE+'/api.php?action=attention'+token_param(token), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: data,\n })\n .then(get_json)\n .then((json)=>{\n cache().delete(pid);\n if(json.code!==0) {\n if(json.msg && json.msg==='已经关注过了') {}\n else {\n if(json.msg) alert(json.msg);\n throw new Error(JSON.stringify(json));\n }\n }\n return json;\n });\n },\n\n report: (pid,reason,token)=>{\n let data=new URLSearchParams();\n data.append('user_token',token);\n data.append('pid',pid);\n data.append('reason',reason);\n return fetch(API_BASE+'/api.php?action=report'+token_param(token), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: data,\n })\n .then(get_json)\n .then((json)=>{\n if(json.code!==0) {\n if(json.msg) alert(json.msg);\n throw new Error(JSON.stringify(json));\n }\n return json;\n });\n },\n\n get_list: (page,token)=>{\n return fetch(\n API_BASE+'/api.php?action=getlist'+\n '&p='+page+\n token_param(token)\n )\n .then(get_json)\n .then((json)=>{\n if(json.code!==0)\n throw new Error(JSON.stringify(json));\n return json;\n });\n },\n\n get_search: (page,keyword,token)=>{\n return fetch(\n API_BASE+'/api.php?action=search'+\n '&pagesize='+SEARCH_PAGESIZE+\n '&page='+page+\n '&keywords='+encodeURIComponent(keyword)+\n token_param(token)\n )\n .then(get_json)\n .then((json)=>{\n if(json.code!==0) {\n if(json.msg) throw new Error(json.msg);\n throw new Error(JSON.stringify(json));\n }\n return json;\n });\n },\n\n get_single: (pid,token)=>{\n return fetch(\n API_BASE+'/api.php?action=getone'+\n '&pid='+pid+\n token_param(token)\n )\n .then(get_json)\n .then((json)=>{\n if(json.code!==0) {\n if(json.msg) throw new Error(json.msg);\n else throw new Error(JSON.stringify(json));\n }\n return json;\n });\n },\n\n get_attention: (token)=>{\n return fetch(\n API_BASE+'/api.php?action=getattention'+\n token_param(token)\n )\n .then(get_json)\n .then((json)=>{\n if(json.code!==0) {\n if(json.msg) throw new Error(json.msg);\n throw new Error(JSON.stringify(json));\n }\n return json;\n });\n },\n};","import MarkdownIt from 'markdown-it'\nimport MarkdownItKaTeX from 'markdown-it-katex'\nimport hljs from 'highlight.js'\nimport 'highlight.js/styles/atom-one-dark.css'\nimport './Markdown.css'\n\nimport 'katex/dist/katex.min.css'\n\nlet md = new MarkdownIt({\n html: false,\n linkify: false,\n breaks: true,\n inline: true,\n highlight (str, lang) {\n if (lang && hljs.getLanguage(lang)) {\n try {\n return '
' +\n               hljs.highlight(lang, str, true).value +\n               '
';\n } catch (__) {}\n }\n return '
' + md.utils.escapeHtml(str) + '
';\n }\n}).use(MarkdownItKaTeX, {\n \"throwOnError\" : false,\n \"errorColor\" : \"#aa0000\"\n})\n\nexport default (text) => md.render(text)","import React, {Component, PureComponent} from 'react';\nimport {format_time,Time,TitleLine} from './infrastructure/widgets';\nimport {THUHOLE_API_ROOT} from './flows_api';\n\nimport HtmlToReact from 'html-to-react'\n\nimport './Common.css';\nimport { URL_PID_RE, URL_RE, PID_RE, NICKNAME_RE, split_text } from './text_splitter';\n\nimport renderMd from './Markdown'\n\nexport {format_time,Time,TitleLine};\n\nexport const API_BASE=THUHOLE_API_ROOT+'services/thuhole';\n\n// https://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex\nfunction escape_regex(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n}\n\nexport function build_highlight_re(txt,split,option='g') {\n return txt ? new RegExp(`(${txt.split(split).filter((x)=>!!x).map(escape_regex).join('|')})`,option) : /^$/g;\n}\n\nexport function ColoredSpan(props) {\n return (\n {props.children}\n )\n}\n\n\nfunction normalize_url(url) {\n return /^https?:\\/\\//.test(url) ? url : 'http://'+url;\n}\n\nexport class HighlightedText extends PureComponent {\n render() {\n return (\n
\n                {this.props.parts.map((part,idx)=>{\n                    let [rule,p]=part;\n                    return (\n                        {\n                            rule==='url_pid' ? /## :\n                            rule==='url' ? {p} :\n                            rule==='pid' ? {e.preventDefault(); this.props.show_pid(p.substring(1));}}>{p} :\n                            rule==='nickname' ? {p} :\n                            rule==='search' ? {p} :\n                            p\n                        }\n                    );\n                })}\n            
\n )\n }\n}\n\n// props: text, show_pid, color_picker\nexport class HighlightedMarkdown extends Component {\n render() {\n const props = this.props\n const processDefs = new HtmlToReact.ProcessNodeDefinitions(React)\n const processInstructions = [\n {\n shouldProcessNode: (node) => node.name === 'img', // disable images\n processNode (node, children, index) {\n return (
[图片]
)\n }\n },\n {\n shouldProcessNode: (node) => (/^h[123456]$/.test(node.name)),\n processNode (node, children, index) {\n let currentLevel = +(node.name[1])\n if (currentLevel < 3) currentLevel = 3;\n const HeadingTag = `h${currentLevel}`\n return (\n {children}\n )\n }\n },\n {\n shouldProcessNode: (node) => node.name === 'a',\n processNode (node, children, index) {\n return (\n \n {children}\n \n \n )\n }\n },\n {\n shouldProcessNode (node) {\n return node.type === 'text' && (!node.parent || !node.parent.attribs || node.parent.attribs['encoding'] != \"application/x-tex\") // pid, nickname, search\n },\n processNode (node, children, index) {\n const originalText = node.data\n const splitted = split_text(originalText, [\n ['url_pid', URL_PID_RE],\n ['url',URL_RE],\n ['pid',PID_RE],\n ['nickname',NICKNAME_RE],\n ])\n\n return (\n \n {splitted.map(([rule, p], idx) => {\n return (\n {\n rule==='url_pid' ? /## :\n rule==='url' ? \n {p}\n \n :\n rule==='pid' ? {e.preventDefault(); props.show_pid(p.substring(1));}}>{p} :\n rule==='nickname' ? {p} :\n rule==='search' ? {p} :\n p}\n )\n })}\n \n )\n }\n },\n {\n shouldProcessNode: () => true,\n processNode: processDefs.processDefaultNode\n }\n ]\n const parser = new HtmlToReact.Parser()\n if (props.author && props.text.match(/^(?:#+ |>|```|\\t|\\s*-|\\s*\\d+\\.)/)) {\n const renderedMarkdown = renderMd(props.text)\n return (\n <>\n {props.author}\n {parser.parseWithInstructions(renderedMarkdown, node => node.type !== 'script', processInstructions) || ''}\n \n )\n } else {\n let rawMd = props.text\n if (props.author) rawMd = props.author + ' ' + rawMd\n const renderedMarkdown = renderMd(rawMd)\n return (parser.parseWithInstructions(renderedMarkdown, node => node.type !== 'script', processInstructions) || null)\n }\n }\n}\n\nwindow.TEXTAREA_BACKUP={};\n\nexport class SafeTextarea extends Component {\n constructor(props) {\n super(props);\n this.state={\n text: '',\n };\n this.on_change_bound=this.on_change.bind(this);\n this.on_keydown_bound=this.on_keydown.bind(this);\n this.clear=this.clear.bind(this);\n this.area_ref=React.createRef();\n this.change_callback=props.on_change||(()=>{});\n this.submit_callback=props.on_submit||(()=>{});\n }\n\n componentDidMount() {\n this.setState({\n text: window.TEXTAREA_BACKUP[this.props.id]||''\n },()=>{\n this.change_callback(this.state.text);\n });\n }\n\n componentWillUnmount() {\n window.TEXTAREA_BACKUP[this.props.id]=this.state.text;\n this.change_callback(this.state.text);\n }\n\n on_change(event) {\n this.setState({\n text: event.target.value,\n });\n this.change_callback(event.target.value);\n }\n on_keydown(event) {\n if(event.key==='Enter' && event.ctrlKey && !event.altKey) {\n event.preventDefault();\n this.submit_callback();\n }\n }\n\n clear() {\n this.setState({\n text: '',\n });\n }\n set(text) {\n this.change_callback(text);\n this.setState({\n text: text,\n });\n }\n get() {\n return this.state.text;\n }\n focus() {\n this.area_ref.current.focus();\n }\n\n render() {\n return (\n