<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://blog.d-bood.top/</id>
  <title type="text">D-Bood</title>
  <subtitle type="text">Neverland</subtitle>
  <updated>2026-05-03T00:00:00.000Z</updated>
  <author><name>D-Bood</name></author>
  <link rel="alternate" href="https://blog.d-bood.top/"/>
  <link rel="self" href="https://blog.d-bood.top/atom.xml"/>
  <generator uri="https://github.com/CuteLeaf/Firefly">Firefly v6.16.8</generator>
    <entry>
      <id>https://blog.d-bood.top/posts/2026-05-03/</id>
      <title type="text">2026-05-03</title>
      <published>2026-05-03T00:00:00.000Z</published>
      <updated>2026-05-03T00:00:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2026-05-03/"/>
      <summary type="text">2026-05-03</summary>
      <content type="html"><![CDATA[<p>好久没有出去骑行了，昨天我突发奇想，想挑战一下自己，于是就有了下面两张图</p>
<div><div><img src="/_astro/licheng1.CV_rkB1F_NFPEP.webp" alt="里程1" loading="lazy" width="1080" height="1728" /></div><div><img src="/_astro/licheng2.BTsMYIFw_Z7koPc.webp" alt="里程2" loading="lazy" width="1080" height="1728" /></div></div>
<p>加起来一共3895千卡了，也是前所未有，后面可能也不会有了</p>
<p>到了对象在的XX，拍照留念</p>
<div><img src="/_astro/1.Cn1UZr1I_Z1IUk.webp" alt="1" loading="lazy" width="1279" height="1706" /></div>
<p>到了跟对象去过的商场，没经受住导购的热情，买了两条毛巾和一个面罩</p>
<div><img src="/_astro/2.BQmj66hy_1DxLTr.webp" alt="2" loading="lazy" width="1279" height="1706" /></div>
<p>又去吃了一碗对象推荐的米线.为什么说是又，因为去年已经吃过一次了😋</p>
<div><img src="/_astro/3.DgW14NBt_2pqIfT.webp" alt="3" loading="lazy" width="1706" height="1279" /></div>
<p>然后就跟对象见面了，本来不想跟她说的，因为我骑了一路，身上脏兮兮的，而且她放假也没怎么休息</p>
<p>此处没有照片哈哈哈哈哈</p>
<p>返程路上又路过了跟对象去过的另外一个商场</p>
<div><img src="/_astro/4.BJLjH5Nu_1RlgeG.webp" alt="4" loading="lazy" width="1706" height="1279" /></div>
<p>回来以后腿酸疼的不行，得好好歇歇了</p>
<p>第二天称了体重，居然没怎么变化，估计是路上喝的电解质水糖分太多了，还有吃了不少好吃的😂</p>]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2024-09-01/</id>
      <title type="text">移植哔哔广场过程记录</title>
      <published>2024-09-01T22:59:19.000Z</published>
      <updated>2024-09-01T22:59:19.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2024-09-01/"/>
      <summary type="text">移植哔哔广场过程记录</summary>
      <content type="html"><![CDATA[<p>最近看到<a href="https://immmmm.com/memobbs-app/" target="_blank">哔哔广场</a>，想移植到博客里用，但是由于pjax的关系，原本的JS文件没法用，所以我稍微修改了一下，适配Solitude主题。以下是折腾的过程
注：折腾Memos的过程，以后大概会单独写一篇。</p>
<section><h1>一、修改配置文件<a href="#一修改配置文件"><span>#</span></a></h1><p>在博客主文件夹中找到主题配置文件，添加以下内容：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span># BB</span></div></div><div><div><div>2</div></div><div><span># 哔哔广场</span></div></div><div><div><div>3</div></div><div><span>bb</span><span>:</span></div></div><div><div><div>4</div></div><div><span>  </span><span>enable</span><span>: </span><span>true</span><span> </span><span>#true: 打开说说; false: 关闭说说</span></div></div><div><div><div>5</div></div><div><span>  </span><span>geminiKey</span><span>: </span><span>false</span><span> </span><span>#true: 显示Gemini相关内容; false: 不显示Gemini相关内容</span></div></div><div><div><div>6</div></div><div><span>  </span><span>cfwkAiUrl</span><span>: </span><span>false</span><span> </span><span>#true: 显示Cloudflare AI相关内容; false: 不显示Cloudflare AIi相关内容</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section>
<section><h1>二、修改JS<a href="#二修改js"><span>#</span></a></h1><section><h2>（一）添加JS文件<a href="#一添加js文件"><span>#</span></a></h2><p>在<code>Solitude主题文件夹\source\js\</code>中添加<code>memos.js</code>，在<code>memos.js</code>中添加以下内容：</p><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>/**</span></div></div><div><div><div>2</div></div><div><span><span> </span></span><span>* Lately.min.js 2.5.2</span></div></div><div><div><div>3</div></div><div><span><span> </span></span><span>* https://tokinx.github.io/lately/</span></div></div><div><div><div>4</div></div><div><span><span> </span></span><span>*/</span></div></div><div><div><div>5</div></div><div><span>!</span><span>function</span><span><span>(){</span><span>window</span><span>.</span></span><span>Lately</span><span>=</span><span>new</span><span> </span><span>function</span><span>(){</span><span>var</span><span><span> </span><span>t</span></span><span>=</span><span>this</span><span>;</span><span>this</span><span>.</span><span>lang</span><span>=</span><span>{</span><span>second</span><span>:</span><span>"秒"</span><span>,</span><span>minute</span><span>:</span><span>"分钟"</span><span>,</span><span>hour</span><span>:</span><span>"小时"</span><span>,</span><span>day</span><span>:</span><span>"天"</span><span>,</span><span>month</span><span>:</span><span>"个月"</span><span>,</span><span>year</span><span>:</span><span>"年"</span><span>,</span><span>ago</span><span>:</span><span>"前"</span><span>,</span><span>error</span><span>:</span><span>"NaN"</span><span>};</span><span>var</span><span> </span><span>e</span><span>=</span><span>function</span><span><span>(</span><span>e</span><span>){</span><span>e</span></span><span>=</span><span>new</span><span> </span><span>Date</span><span>(</span><span>n</span><span><span>(</span><span>e</span><span>));</span></span><span>var</span><span><span> </span><span>r</span></span><span>=</span><span>new</span><span> </span><span>function</span><span>(){</span><span>this</span><span>.</span><span>second</span><span>=</span><span><span>(</span><span>Date</span><span>.</span></span><span>now</span><span>()</span><span>-</span><span><span>e</span><span>.</span></span><span>getTime</span><span>())</span><span>/</span><span>1e3</span><span>,</span><span>this</span><span>.</span><span>minute</span><span>=</span><span>this</span><span>.</span><span>second</span><span>/</span><span>60</span><span>,</span><span>this</span><span>.</span><span>hour</span><span>=</span><span>this</span><span>.</span><span>minute</span><span>/</span><span>60</span><span>,</span><span>this</span><span>.</span><span>day</span><span>=</span><span>this</span><span>.</span><span>hour</span><span>/</span><span>24</span><span>,</span><span>this</span><span>.</span><span>month</span><span>=</span><span>this</span><span>.</span><span>day</span><span>/</span><span>30</span><span>,</span><span>this</span><span>.</span><span>year</span><span>=</span><span>this</span><span>.</span><span>month</span><span>/</span><span>12</span><span><span>},</span><span>i</span></span><span>=</span><span><span>Object</span><span>.</span></span><span>keys</span><span><span>(</span><span>r</span><span>).</span></span><span>reverse</span><span>().</span><span>find</span><span>(</span><span>function</span><span><span>(</span><span>t</span><span>){</span></span><span>return</span><span><span> </span><span>r</span><span>[</span><span>t</span><span>]</span></span><span>&gt;=</span><span>1</span><span>});</span><span>return</span><span><span>(</span><span>i</span></span><span>?</span><span>function</span><span><span>(</span><span>t</span><span>,</span><span>e</span><span>){</span></span><span>return</span><span><span> </span><span>Math</span><span>.</span></span><span>floor</span><span><span>(</span><span>t</span><span>)</span></span><span>+</span><span><span>e</span><span>}(</span><span>r</span><span>[</span><span>i</span><span>],</span><span>t</span><span>.</span></span><span>lang</span><span><span>[</span><span>i</span><span>])</span></span><span>:</span><span><span>t</span><span>.</span></span><span>lang</span><span>.</span><span>error</span><span>)</span><span>+</span><span><span>t</span><span>.</span></span><span>lang</span><span>.</span><span>ago</span><span>},</span><span>n</span><span>=</span><span>function</span><span><span>(</span><span>t</span><span>){</span></span><span>return</span><span><span> </span><span>t</span></span><span>=</span><span>new</span><span> </span><span>Date</span><span><span>(</span><span>t</span></span><span>&amp;&amp;</span><span>(</span><span>"number"</span><span><span>==</span><span>typeof</span></span><span><span> </span><span>t</span></span><span>?</span><span>t</span><span>:</span><span><span>t</span><span>.</span></span><span>replace</span><span>(</span><span>/-/</span><span>g</span><span>,</span><span>"/"</span><span>).</span><span>replace</span><span>(</span><span>"T"</span><span>,</span><span>" "</span><span>))),</span><span>!</span><span>isNaN</span><span><span>(</span><span>t</span><span>.</span></span><span>getTime</span><span>())</span><span>&amp;&amp;</span><span><span>t</span><span>.</span></span><span>getTime</span><span>()};</span><span>return</span><span>{</span><span>init</span><span>:</span><span>function</span><span>(){</span><span>var</span><span><span> </span><span>r</span></span><span>=</span><span>arguments</span><span>.</span><span>length</span><span>&gt;</span><span>0</span><span><span>&amp;&amp;</span><span>void</span></span><span> </span><span>0</span><span>!==</span><span>arguments</span><span>[</span><span>0</span><span>]</span><span>?</span><span>arguments</span><span>[</span><span>0</span><span>]</span><span>:</span><span><span>{},</span><span>i</span></span><span>=</span><span><span>r</span><span>.</span></span><span>target</span><span><span>,</span><span>a</span></span><span><span>=</span><span>void</span></span><span> </span><span>0</span><span>===</span><span>i</span><span>?</span><span>"time"</span><span>:</span><span><span>i</span><span>,</span><span>o</span></span><span>=</span><span><span>r</span><span>.</span></span><span>lang</span><span><span>;</span><span>o</span></span><span>&amp;&amp;</span><span><span>(</span><span>t</span><span>.</span></span><span>lang</span><span>=</span><span><span>o</span><span>);</span></span><span>var</span><span><span> </span><span>u</span></span><span>=!</span><span>0</span><span><span>,</span><span>h</span></span><span>=!</span><span>1</span><span><span>,</span><span>l</span></span><span><span>=</span><span>void</span></span><span> </span><span>0</span><span>;</span><span>try</span><span>{</span><span>for</span><span>(</span><span>var</span><span><span> </span><span>s</span><span>,</span><span>c</span></span><span>=</span><span><span>document</span><span>.</span></span><span>querySelectorAll</span><span><span>(</span><span>a</span><span>)[</span><span>Symbol</span><span>.</span></span><span>iterator</span><span>]();</span><span>!</span><span><span>(</span><span>u</span></span><span>=</span><span><span>(</span><span>s</span></span><span>=</span><span><span>c</span><span>.</span></span><span>next</span><span>()).</span><span>done</span><span><span>);</span><span>u</span></span><span>=!</span><span>0</span><span>){</span><span>var</span><span><span> </span><span>f</span></span><span>=</span><span><span>s</span><span>.</span></span><span>value</span><span><span>,</span><span>g</span></span><span>=</span><span>n</span><span><span>(</span><span>f</span><span>.</span></span><span>dateTime</span><span>)</span><span>||</span><span>n</span><span><span>(</span><span>f</span><span>.</span></span><span>title</span><span>)</span><span>||</span><span>n</span><span><span>(</span><span>f</span><span>.</span></span><span>innerHTML</span><span>)</span><span>||</span><span>0</span><span>;</span><span>if</span><span>(</span><span>!</span><span><span>g</span><span>)</span></span><span>return</span><span><span>;</span><span>f</span><span>.</span></span><span>title</span><span>=</span><span>new</span><span> </span><span>Date</span><span><span>(</span><span>g</span><span>).</span></span><span>toLocaleString</span><span><span>(),</span><span>f</span><span>.</span></span><span>innerHTML</span><span>=</span><span>e</span><span><span>(</span><span>g</span><span>)}}</span></span><span>catch</span><span><span>(</span><span>t</span><span>){</span><span>h</span></span><span>=!</span><span>0</span><span><span>,</span><span>l</span></span><span>=</span><span><span>t</span><span>}</span></span><span>finally</span><span>{</span><span>try</span><span>{</span><span>!</span><span>u</span><span>&amp;&amp;</span><span><span>c</span><span>.</span></span><span>return</span><span>&amp;&amp;</span><span><span>c</span><span>.</span></span><span>return</span><span>()}</span><span>finally</span><span>{</span><span>if</span><span><span>(</span><span>h</span><span>)</span></span><span>throw</span><span><span> </span><span>l</span><span>}}},</span></span><span>format</span><span>:</span><span><span>e</span><span>}}}();</span></span></div></div><div><div><div>6</div></div><div><span>/**</span></div></div><div><div><div>7</div></div><div><span><span> </span></span><span>* ViewImage.min.js 2.0.2</span></div></div><div><div><div>8</div></div><div><span><span> </span></span><span>* https://tokinx.github.io/ViewImage/</span></div></div><div><div><div>9</div></div><div><span><span> </span></span><span>*/</span></div></div><div><div><div>10</div></div><div><span>var</span><span><span> </span><span>$jscomp</span></span><span>=</span><span>$jscomp</span><span>||</span><span><span>{};</span><span>$jscomp</span><span>.</span></span><span>scope</span><span>=</span><span><span>{};</span><span>$jscomp</span><span>.</span></span><span>createTemplateTagFirstArg</span><span>=</span><span>function</span><span><span>(</span><span>b</span><span>){</span></span><span>return</span><span><span> </span><span>b</span><span>.</span></span><span>raw</span><span>=</span><span><span>b</span><span>};</span><span>$jscomp</span><span>.</span></span><span>createTemplateTagFirstArgWithRaw</span><span>=</span><span>function</span><span><span>(</span><span>b</span><span>,</span><span>a</span><span>){</span><span>b</span><span>.</span></span><span>raw</span><span>=</span><span><span>a</span><span>;</span></span><span>return</span><span><span> </span><span>b</span><span>};</span><span>$jscomp</span><span>.</span></span><span>arrayIteratorImpl</span><span>=</span><span>function</span><span><span>(</span><span>b</span><span>){</span></span><span>var</span><span><span> </span><span>a</span></span><span>=</span><span>0</span><span>;</span><span>return</span><span> </span><span>function</span><span>(){</span><span>return</span><span><span> </span><span>a</span></span><span>&lt;</span><span><span>b</span><span>.</span></span><span>length</span><span>?</span><span>{</span><span>done</span><span><span>:</span><span>!</span></span><span>1</span><span>,</span><span>value</span><span>:</span><span><span>b</span><span>[</span><span>a</span></span><span>++</span><span>]}</span><span>:</span><span>{</span><span>done</span><span><span>:</span><span>!</span></span><span>0</span><span><span>}}};</span><span>$jscomp</span><span>.</span></span><span>arrayIterator</span><span>=</span><span>function</span><span><span>(</span><span>b</span><span>){</span></span><span>return</span><span>{</span><span>next</span><span>:</span><span><span>$jscomp</span><span>.</span></span><span>arrayIteratorImpl</span><span><span>(</span><span>b</span><span>)}};</span><span>$jscomp</span><span>.</span></span><span>makeIterator</span><span>=</span><span>function</span><span><span>(</span><span>b</span><span>){</span></span><span>var</span><span><span> </span><span>a</span></span><span>=</span><span>"undefined"</span><span><span>!=</span><span>typeof</span></span><span><span> </span><span>Symbol</span></span><span>&amp;&amp;</span><span><span>Symbol</span><span>.</span></span><span>iterator</span><span>&amp;&amp;</span><span><span>b</span><span>[</span><span>Symbol</span><span>.</span></span><span>iterator</span><span>];</span><span>return</span><span><span> </span><span>a</span></span><span>?</span><span><span>a</span><span>.</span></span><span>call</span><span><span>(</span><span>b</span><span>)</span></span><span>:</span><span><span>$jscomp</span><span>.</span></span><span>arrayIterator</span><span><span>(</span><span>b</span><span>)};</span></span></div></div><div><div><div>11</div></div><div><span><span>$jscomp</span><span>.</span></span><span>arrayFromIterator</span><span>=</span><span>function</span><span><span>(</span><span>b</span><span>){</span></span><span>for</span><span>(</span><span>var</span><span><span> </span><span>a</span><span>,</span><span>d</span></span><span>=</span><span>[];</span><span>!</span><span><span>(</span><span>a</span></span><span>=</span><span><span>b</span><span>.</span></span><span>next</span><span>()).</span><span>done</span><span><span>;)</span><span>d</span><span>.</span></span><span>push</span><span><span>(</span><span>a</span><span>.</span></span><span>value</span><span>);</span><span>return</span><span><span> </span><span>d</span><span>};</span><span>$jscomp</span><span>.</span></span><span>arrayFromIterable</span><span>=</span><span>function</span><span><span>(</span><span>b</span><span>){</span></span><span>return</span><span><span> </span><span>b</span><span> </span></span><span>instanceof</span><span> </span><span>Array</span><span>?</span><span>b</span><span>:</span><span><span>$jscomp</span><span>.</span></span><span>arrayFromIterator</span><span><span>(</span><span>$jscomp</span><span>.</span></span><span>makeIterator</span><span><span>(</span><span>b</span><span>))};</span></span></div></div><div><div><div>12</div></div><div><span>(</span><span>function</span><span><span>(){</span><span>window</span><span>.</span></span><span>ViewImage</span><span>=</span><span>new</span><span> </span><span>function</span><span>(){</span><span>var</span><span><span> </span><span>b</span></span><span>=</span><span>this</span><span>;</span><span>this</span><span>.</span><span>target</span><span>=</span><span>"[view-image] img"</span><span>;</span><span>this</span><span>.</span><span>listener</span><span>=</span><span>function</span><span><span>(</span><span>a</span><span>){</span></span><span>if</span><span>(</span><span>!</span><span><span>(</span><span>a</span><span>.</span></span><span>ctrlKey</span><span>||</span><span><span>a</span><span>.</span></span><span>metaKey</span><span>||</span><span><span>a</span><span>.</span></span><span>shiftKey</span><span>||</span><span><span>a</span><span>.</span></span><span>altKey</span><span>)){</span><span>var</span><span><span> </span><span>d</span></span><span>=</span><span>String</span><span><span>(</span><span>b</span><span>.</span></span><span>target</span><span>.</span><span>split</span><span>(</span><span>","</span><span>).</span><span>map</span><span>(</span><span>function</span><span><span>(</span><span>g</span><span>){</span></span><span>return</span><span><span> </span><span>g</span><span>.</span></span><span>trim</span><span>()</span><span>+</span><span>":not([no-view])"</span><span><span>})),</span><span>c</span></span><span>=</span><span><span>a</span><span>.</span></span><span>target</span><span>.</span><span>closest</span><span><span>(</span><span>d</span><span>);</span></span><span>if</span><span><span>(</span><span>c</span><span>){</span></span><span>var</span><span><span> </span><span>e</span></span><span>=</span><span><span>c</span><span>.</span></span><span>closest</span><span>(</span><span>"[view-image]"</span><span>)</span><span>||</span><span><span>document</span><span>.</span></span><span>body</span><span><span>;</span><span>d</span></span><span>=</span><span>[].</span><span>concat</span><span><span>(</span><span>$jscomp</span><span>.</span></span><span>arrayFromIterable</span><span><span>(</span><span>e</span><span>.</span></span><span>querySelectorAll</span><span><span>(</span><span>d</span><span>))).</span></span><span>map</span><span>(</span><span>function</span><span><span>(</span><span>g</span><span>){</span></span><span>return</span><span><span> </span><span>g</span><span>.</span></span><span>href</span><span>||</span><span><span>g</span><span>.</span></span><span>src</span><span><span>});</span><span>b</span><span>.</span></span><span>display</span><span><span>(</span><span>d</span><span>,</span><span>c</span><span>.</span></span><span>href</span><span>||</span><span><span>c</span><span>.</span></span><span>src</span><span><span>);</span><span>a</span><span>.</span></span><span>stopPropagation</span><span><span>();</span><span>a</span><span>.</span></span><span>preventDefault</span><span>()}}};</span><span>this</span><span>.</span><span>init</span><span>=</span></div></div><div><div><div>13</div></div><div><span>function</span><span><span>(</span><span>a</span><span>){</span><span>a</span></span><span>&amp;&amp;</span><span><span>(</span><span>b</span><span>.</span></span><span>target</span><span>=</span><span><span>a</span><span>);[</span></span><span>"removeEventListener"</span><span>,</span><span>"addEventListener"</span><span>].</span><span>forEach</span><span>(</span><span>function</span><span><span>(</span><span>d</span><span>){</span><span>document</span><span>[</span><span>d</span><span>](</span></span><span>"click"</span><span><span>,</span><span>b</span><span>.</span></span><span>listener</span><span>,</span><span>!</span><span>1</span><span>)})};</span><span>this</span><span>.</span><span>display</span><span>=</span><span>function</span><span><span>(</span><span>a</span><span>,</span><span>d</span><span>){</span></span><span>var</span><span><span> </span><span>c</span></span><span>=</span><span><span>a</span><span>.</span></span><span>indexOf</span><span><span>(</span><span>d</span><span>),</span><span>e</span></span><span>=</span><span>(</span><span>new</span><span><span> </span><span>DOMParser</span><span>).</span></span><span>parseFromString</span><span>(</span><span>'</span><span>\n</span><span>                &lt;div class="view-image"&gt;</span><span>\n</span><span>                    &lt;style&gt;.view-image{position:fixed;inset:0;z-index:500;padding:1rem;display:flex;flex-direction:column;animation:view-image-in 300ms;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.view-image__out{animation:view-image-out 300ms}@keyframes view-image-in{0%{opacity:0}}@keyframes view-image-out{100%{opacity:0}}.view-image-btn{width:32px;height:32px;display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:3px;background-color:rgba(255,255,255,0.2)}.view-image-btn:hover{background-color:rgba(255,255,255,0.5)}.view-image-close__full{position:absolute;inset:0;background-color:rgba(48,55,66,0.3);z-index:unset;cursor:zoom-out;margin:0}.view-image-container{height:0;flex:1;display:flex;align-items:center;justify-content:center;}.view-image-lead{display:contents}.view-image-lead img{position:relative;z-index:1;max-width:100%;max-height:100%;object-fit:contain;border-radius:3px}.view-image-lead__in img{animation:view-image-lead-in 300ms}.view-image-lead__out img{animation:view-image-lead-out 300ms forwards}@keyframes view-image-lead-in{0%{opacity:0;transform:translateY(-20px)}}@keyframes view-image-lead-out{100%{opacity:0;transform:translateY(20px)}}[class*=__out] ~ .view-image-loading{display:block}.view-image-loading{position:absolute;inset:50%;width:8rem;height:2rem;color:#aab2bd;overflow:hidden;text-align:center;margin:-1rem -4rem;z-index:1;display:none}.view-image-loading::after{content:"";position:absolute;inset:50% 0;width:100%;height:3px;background:rgba(255,255,255,0.5);transform:translateX(-100%) translateY(-50%);animation:view-image-loading 800ms -100ms ease-in-out infinite}@keyframes view-image-loading{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.view-image-tools{position:relative;display:flex;justify-content:space-between;align-content:center;color:#fff;max-width:600px;position: absolute; bottom: 5%; left: 1rem; right: 1rem; backdrop-filter: blur(10px);margin:0 auto;padding:10px;border-radius:5px;background:rgba(0,0,0,0.1);margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom);z-index:1}.view-image-tools__count{width:60px;display:flex;align-items:center;justify-content:center}.view-image-tools__flip{display:flex;gap:10px}.view-image-tools [class*=-close]{margin:0 10px}.view-image{backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}.view-image-tools{opacity:1;animation:1s 1.5s forwards fadeOut}.view-image-tools:hover{opacity:1;animation:none;transition:opacity .2s}.view-image-container{margin-top:3rem}@keyframes fadeOut{to{opacity:0}}&lt;/style&gt;</span><span>\n</span><span>                    &lt;div class="view-image-container"&gt;</span><span>\n</span><span>                        &lt;div class="view-image-lead"&gt;&lt;/div&gt;</span><span>\n</span><span>                        &lt;div class="view-image-loading"&gt;&lt;/div&gt;</span><span>\n</span><span>                        &lt;div class="view-image-close view-image-close__full"&gt;&lt;/div&gt;</span><span>\n</span><span>                    &lt;/div&gt;</span><span>\n</span><span>                    &lt;div class="view-image-tools"&gt;</span><span>\n</span><span>                        &lt;div class="view-image-tools__count"&gt;</span><span>\n</span><span>                            &lt;span&gt;&lt;b class="view-image-index"&gt;'</span><span>+</span></div></div><div><div><div>14</div></div><div><span><span>(</span><span>c</span></span><span>+</span><span>1</span><span>)</span><span>+</span><span>"&lt;/b&gt;/"</span><span>+</span><span><span>a</span><span>.</span></span><span>length</span><span>+</span><span>'&lt;/span&gt;</span><span>\n</span><span>                        &lt;/div&gt;</span><span>\n</span><span>                        &lt;div class="view-image-tools__flip"&gt;</span><span>\n</span><span>                            &lt;div class="view-image-btn view-image-tools__flip-prev"&gt;</span><span>\n</span><span>                                &lt;svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"&gt;&lt;rect width="48" height="48" fill="white" fill-opacity="0.01"/&gt;&lt;path d="M31 36L19 24L31 12" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/&gt;&lt;/svg&gt;</span><span>\n</span><span>                            &lt;/div&gt;</span><span>\n</span><span>                            &lt;div class="view-image-btn view-image-tools__flip-next"&gt;</span><span>\n</span><span>                                &lt;svg width="20" height="20" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"&gt;&lt;rect width="48" height="48" fill="white" fill-opacity="0.01"/&gt;&lt;path d="M19 12L31 24L19 36" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/&gt;&lt;/svg&gt;</span><span>\n</span><span>                            &lt;/div&gt;</span><span>\n</span><span>                        &lt;/div&gt;</span><span>\n</span><span>                        &lt;div class="view-image-btn view-image-close"&gt;</span><span>\n</span><span>                            &lt;svg width="16" height="16" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"&gt;&lt;rect width="48" height="48" fill="white" fill-opacity="0.01"/&gt;&lt;path d="M8 8L40 40" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/&gt;&lt;path d="M8 40L40 8" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/&gt;&lt;/svg&gt;</span><span>\n</span><span>                        &lt;/div&gt;</span><span>\n</span><span>                    &lt;/div&gt;</span><span>\n</span><span>                &lt;/div&gt;</span><span>\n</span><span>            '</span><span>,</span></div></div><div><div><div>15</div></div><div><span>"text/html"</span><span>).</span><span>body</span><span>.</span><span>firstChild</span><span>,</span><span>g</span><span>=</span><span>function</span><span><span>(</span><span>f</span><span>){</span></span><span>var</span><span><span> </span><span>h</span></span><span>=</span><span>{</span><span>Escape</span><span>:</span><span>"close"</span><span>,</span><span>ArrowLeft</span><span>:</span><span>"tools__flip-prev"</span><span>,</span><span>ArrowRight</span><span>:</span><span>"tools__flip-next"</span><span><span>};</span><span>h</span><span>[</span><span>f</span><span>.</span></span><span>key</span><span>]</span><span>&amp;&amp;</span><span><span>e</span><span>.</span></span><span>querySelector</span><span>(</span><span>".view-image-"</span><span>+</span><span><span>h</span><span>[</span><span>f</span><span>.</span></span><span>key</span><span>]).</span><span>click</span><span>()},</span><span>l</span><span>=</span><span>function</span><span><span>(</span><span>f</span><span>){</span></span><span>var</span><span><span> </span><span>h</span></span><span>=</span><span>new</span><span><span> </span><span>Image</span><span>,</span><span>k</span></span><span>=</span><span><span>e</span><span>.</span></span><span>querySelector</span><span>(</span><span>".view-image-lead"</span><span><span>);</span><span>k</span><span>.</span></span><span>className</span><span>=</span><span>"view-image-lead view-image-lead__out"</span><span>;</span><span>setTimeout</span><span>(</span><span>function</span><span><span>(){</span><span>k</span><span>.</span></span><span>innerHTML</span><span>=</span><span>""</span><span><span>;</span><span>h</span><span>.</span></span><span>onload</span><span>=</span><span>function</span><span>(){</span><span>setTimeout</span><span>(</span><span>function</span><span><span>(){</span><span>k</span><span>.</span></span><span>innerHTML</span><span>=</span><span>'&lt;img src="'</span><span>+</span><span><span>h</span><span>.</span></span><span>src</span><span>+</span><span>'" alt="ViewImage" no-view/&gt;'</span><span><span>;</span><span>k</span><span>.</span></span><span>className</span><span>=</span><span>"view-image-lead view-image-lead__in"</span><span>},</span><span>100</span><span>)};</span></div></div><div><div><div>16</div></div><div><span><span>h</span><span>.</span></span><span>src</span><span>=</span><span><span>f</span><span>},</span></span><span>300</span><span><span>)};</span><span>document</span><span>.</span></span><span>body</span><span>.</span><span>appendChild</span><span><span>(</span><span>e</span><span>);</span></span><span>l</span><span><span>(</span><span>d</span><span>);</span><span>window</span><span>.</span></span><span>addEventListener</span><span>(</span><span>"keydown"</span><span><span>,</span><span>g</span><span>);</span><span>e</span><span>.</span></span><span>onclick</span><span>=</span><span>function</span><span><span>(</span><span>f</span><span>){</span><span>f</span><span>.</span></span><span>target</span><span>.</span><span>closest</span><span>(</span><span>".view-image-close"</span><span>)</span><span>?</span><span><span>(</span><span>window</span><span>.</span></span><span>removeEventListener</span><span>(</span><span>"keydown"</span><span><span>,</span><span>g</span><span>),</span><span>e</span><span>.</span></span><span>onclick</span><span>=</span><span>null</span><span><span>,</span><span>e</span><span>.</span></span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"view-image__out"</span><span>),</span><span>setTimeout</span><span>(</span><span>function</span><span>(){</span><span>return</span><span><span> </span><span>e</span><span>.</span></span><span>remove</span><span>()},</span><span>290</span><span>))</span><span>:</span><span><span>f</span><span>.</span></span><span>target</span><span>.</span><span>closest</span><span>(</span><span>".view-image-tools__flip"</span><span>)</span><span>&amp;&amp;</span><span><span>(</span><span>c</span></span><span>=</span><span><span>f</span><span>.</span></span><span>target</span><span>.</span><span>closest</span><span>(</span><span>".view-image-tools__flip-prev"</span><span>)</span><span>?</span><span>0</span><span>===</span><span>c</span><span>?</span><span><span>a</span><span>.</span></span><span>length</span><span>-</span><span>1</span><span>:</span><span>c</span><span>-</span><span>1</span><span>:</span><span>c</span><span>===</span><span><span>a</span><span>.</span></span><span>length</span><span>-</span><span>1</span><span>?</span><span>0</span><span>:</span><span>c</span><span>+</span><span>1</span><span>,</span><span>l</span><span><span>(</span><span>a</span><span>[</span><span>c</span><span>]),</span><span>e</span><span>.</span></span><span>querySelector</span><span>(</span><span>".view-image-index"</span><span>).</span><span>innerHTML</span><span>=</span><span>c</span><span>+</span><span>1</span><span>)}}}})();</span></div></div><div><div><div>17</div></div><div><span>/**</span></div></div><div><div><div>18</div></div><div><span><span> </span></span><span>* coco-message</span></div></div><div><div><div>19</div></div><div><span><span> </span></span><span>* https://github.com/TheWindRises-2/coco-message</span></div></div><div><div><div>20</div></div><div><span><span> </span></span><span>*/</span></div></div><div><div><div>21</div></div><div><span>"use strict"</span><span>;</span><span>function</span><span> </span><span>_typeof</span><span><span>(</span><span>o</span><span>){</span></span><span>return</span><span><span> </span><span>_typeof</span></span><span>=</span><span>"function"</span><span><span>==</span><span>typeof</span></span><span><span> </span><span>Symbol</span></span><span>&amp;&amp;</span><span>"symbol"</span><span><span>==</span><span>typeof</span></span><span><span> </span><span>Symbol</span><span>.</span></span><span>iterator</span><span>?</span><span>function</span><span><span>(</span><span>o</span><span>){</span></span><span>return</span><span> </span><span>typeof</span><span><span> </span><span>o</span><span>}</span></span><span>:</span><span>function</span><span><span>(</span><span>o</span><span>){</span></span><span>return</span><span><span> </span><span>o</span></span><span>&amp;&amp;</span><span>"function"</span><span><span>==</span><span>typeof</span></span><span><span> </span><span>Symbol</span></span><span>&amp;&amp;</span><span><span>o</span><span>.</span></span><span>constructor</span><span>===</span><span>Symbol</span><span>&amp;&amp;</span><span>o</span><span>!==</span><span>Symbol</span><span>.</span><span>prototype</span><span>?</span><span>"symbol"</span><span>:typeof</span><span><span> </span><span>o</span><span>},</span></span><span>_typeof</span><span><span>(</span><span>o</span><span>)}</span></span><span>!</span><span>function</span><span><span>(</span><span>o</span><span>,</span><span>t</span><span>){</span></span><span>"object"</span><span>===</span><span>(</span><span>"undefined"</span><span><span>==</span><span>typeof</span></span><span> </span><span>exports</span><span>?</span><span>"undefined"</span><span>:</span><span>_typeof</span><span>(</span><span>exports</span><span>))</span><span>&amp;&amp;</span><span>"undefined"</span><span><span>!=</span><span>typeof</span></span><span> </span><span>module</span><span>?</span><span>module</span><span>.</span><span>exports</span><span>=</span><span>t</span><span>()</span><span>:</span><span>"function"</span><span><span>==</span><span>typeof</span></span><span><span> </span><span>define</span></span><span>&amp;&amp;</span><span><span>define</span><span>.</span></span><span>amd</span><span>?</span><span>define</span><span><span>(</span><span>t</span><span>)</span></span><span>:</span><span><span>(</span><span>o</span></span><span>=</span><span>o</span><span>||</span><span><span>self</span><span>,</span><span>o</span><span>.</span></span><span>cocoMessage</span><span>=</span><span>t</span><span>())}(</span><span>void</span><span> </span><span>0</span><span>,</span><span>function</span><span>(){</span><span>function</span><span> </span><span>o</span><span><span>(</span><span>o</span><span>,</span><span>t</span><span>){</span></span><span>var</span><span><span> </span><span>e</span></span><span>=</span><span><span>document</span><span>.</span></span><span>createElement</span><span>(</span><span>"div"</span><span>);</span><span>for</span><span>(</span><span>var</span><span><span> </span><span>n</span><span> </span></span><span>in</span><span><span> </span><span>o</span><span>){</span></span><span>var</span><span><span> </span><span>i</span></span><span>=</span><span><span>o</span><span>[</span><span>n</span><span>];</span></span><span>"className"</span><span>==</span><span>n</span><span>?</span><span><span>(</span><span>n</span></span><span>=</span><span>"class"</span><span><span>,</span><span>e</span><span>.</span></span><span>setAttribute</span><span><span>(</span><span>n</span><span>,</span><span>i</span><span>))</span></span><span>:</span><span>"_"</span><span>==</span><span><span>n</span><span>[</span></span><span>0</span><span>]</span><span>&amp;&amp;</span><span><span>e</span><span>.</span></span><span>addEventListener</span><span><span>(</span><span>n</span><span>.</span></span><span>slice</span><span>(</span><span>1</span><span><span>),</span><span>i</span><span>)}</span></span><span>if</span><span>(</span><span>"string"</span><span><span>==</span><span>typeof</span></span><span><span> </span><span>t</span><span>)</span><span>e</span><span>.</span></span><span>innerHTML</span><span>=</span><span><span>t</span><span>;</span></span><span>else</span><span> </span><span>if</span><span>(</span><span>"object"</span><span>==</span><span>_typeof</span><span><span>(</span><span>t</span><span>)</span></span><span>&amp;&amp;</span><span><span>t</span><span>.</span></span><span>tagName</span><span><span>)</span><span>e</span><span>.</span></span><span>appendChild</span><span><span>(</span><span>t</span><span>);</span></span><span>else</span><span> </span><span>if</span><span><span>(</span><span>t</span><span>)</span></span><span>for</span><span>(</span><span>var</span><span><span> </span><span>s</span></span><span>=</span><span>0</span><span><span>;</span><span>s</span></span><span>&lt;</span><span><span>t</span><span>.</span></span><span>length</span><span><span>;</span><span>s</span></span><span>++</span><span>){</span><span>var</span><span><span> </span><span>r</span></span><span>=</span><span><span>t</span><span>[</span><span>s</span><span>];</span><span>e</span><span>.</span></span><span>appendChild</span><span><span>(</span><span>r</span><span>)}</span></span><span>return</span><span><span> </span><span>e</span><span>}</span></span><span>function</span><span> </span><span>t</span><span><span>(</span><span>o</span><span>,</span><span>t</span><span>){</span></span><span>for</span><span>(</span><span>var</span><span><span> </span><span>e</span><span> </span></span><span>in</span><span><span> </span><span>t</span><span>)</span><span>o</span><span>.</span></span><span>style</span><span><span>[</span><span>e</span><span>]</span></span><span>=</span><span><span>t</span><span>[</span><span>e</span><span>];</span></span><span>""</span><span>===</span><span><span>o</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"style"</span><span>)</span><span>&amp;&amp;</span><span><span>o</span><span>.</span></span><span>removeAttribute</span><span>(</span><span>"style"</span><span>)}</span><span>function</span><span> </span><span>e</span><span><span>(</span><span>o</span><span>,</span><span>t</span><span>){</span></span><span>var</span><span><span> </span><span>e</span></span><span>=</span><span><span>o</span><span>.</span></span><span>className</span><span>||</span><span>""</span><span>;</span><span>if</span><span>(</span><span>!</span><span>n</span><span><span>(</span><span>e</span><span>,</span><span>t</span><span>)){</span></span><span>var</span><span><span> </span><span>i</span></span><span>=</span><span><span>e</span><span>.</span></span><span>split</span><span>(</span><span>/</span><span>\s</span><span><span>+</span><span>/</span></span><span><span>);</span><span>i</span><span>.</span></span><span>push</span><span><span>(</span><span>t</span><span>),</span><span>o</span><span>.</span></span><span>className</span><span>=</span><span><span>i</span><span>.</span></span><span>join</span><span>(</span><span>" "</span><span>)}}</span><span>function</span><span> </span><span>n</span><span><span>(</span><span>o</span><span>,</span><span>t</span><span>){</span></span><span>return</span><span><span> </span><span>o</span><span>.</span></span><span>indexOf</span><span><span>(</span><span>t</span><span>)</span></span><span>&gt;-</span><span>1</span><span>}</span><span>function</span><span> </span><span>i</span><span><span>(</span><span>o</span><span>,</span><span>t</span><span>){</span></span><span>var</span><span><span> </span><span>e</span></span><span>=</span><span><span>o</span><span>.</span></span><span>className</span><span>||</span><span>""</span><span>;</span><span>if</span><span>(</span><span>n</span><span><span>(</span><span>e</span><span>,</span><span>t</span><span>)){</span></span><span>var</span><span><span> </span><span>i</span></span><span>=</span><span><span>e</span><span>.</span></span><span>split</span><span>(</span><span>/</span><span>\s</span><span><span>+</span><span>/</span></span><span><span>),</span><span>s</span></span><span>=</span><span><span>i</span><span>.</span></span><span>indexOf</span><span><span>(</span><span>t</span><span>);</span><span>i</span><span>.</span></span><span>splice</span><span><span>(</span><span>s</span><span>,</span></span><span>1</span><span><span>),</span><span>o</span><span>.</span></span><span>className</span><span>=</span><span><span>i</span><span>.</span></span><span>join</span><span>(</span><span>" "</span><span>)}</span><span>""</span><span>===</span><span><span>o</span><span>.</span></span><span>className</span><span>&amp;&amp;</span><span><span>o</span><span>.</span></span><span>removeAttribute</span><span>(</span><span>"class"</span><span>)}</span><span>function</span><span> </span><span>s</span><span>(){</span><span>return</span><span> </span><span>r</span><span>(</span><span>arguments</span><span>,</span><span>"info"</span><span>)}</span><span>function</span><span> </span><span>r</span><span><span>(</span><span>o</span><span>,</span><span>t</span><span>){</span></span><span>var</span><span><span> </span><span>e</span></span><span>=</span><span>{};</span><span>for</span><span>(</span><span>var</span><span><span> </span><span>n</span><span> </span></span><span>in</span><span><span> </span><span>h</span><span>)</span><span>e</span><span>[</span><span>n</span><span>]</span></span><span>=</span><span><span>h</span><span>[</span><span>n</span><span>];</span></span><span>for</span><span>(</span><span>var</span><span><span> </span><span>i</span></span><span>=</span><span>0</span><span><span>;</span><span>i</span></span><span>&lt;</span><span><span>o</span><span>.</span></span><span>length</span><span><span>;</span><span>i</span></span><span>++</span><span>){</span><span>var</span><span><span> </span><span>s</span></span><span>=</span><span><span>o</span><span>[</span><span>i</span><span>];</span></span><span>void</span><span> </span><span>0</span><span>!==</span><span>s</span><span>&amp;&amp;</span><span>(</span><span>"string"</span><span><span>==</span><span>typeof</span></span><span><span> </span><span>s</span></span><span>||</span><span>"object"</span><span>==</span><span>_typeof</span><span><span>(</span><span>s</span><span>)</span></span><span>?</span><span><span>e</span><span>.</span></span><span>msg</span><span>=</span><span>s</span><span>:</span><span>"boolean"</span><span><span>==</span><span>typeof</span></span><span><span> </span><span>s</span></span><span>?</span><span><span>e</span><span>.</span></span><span>showClose</span><span>=</span><span>s</span><span>:</span><span>"function"</span><span><span>==</span><span>typeof</span></span><span><span> </span><span>s</span></span><span>?</span><span><span>e</span><span>.</span></span><span>onClose</span><span>=</span><span>s</span><span>:</span><span>"number"</span><span><span>==</span><span>typeof</span></span><span><span> </span><span>s</span></span><span>&amp;&amp;</span><span><span>(</span><span>e</span><span>.</span></span><span>duration</span><span>=</span><span><span>s</span><span>))}</span></span><span>return</span><span><span> </span><span>e</span><span>.</span></span><span>type</span><span>=</span><span><span>t</span><span>,</span></span><span>a</span><span><span>(</span><span>e</span><span>)}</span></span><span>function</span><span> </span><span>a</span><span><span>(</span><span>e</span><span>){</span></span><span>var</span><span><span> </span><span>n</span></span><span>=</span><span><span>e</span><span>.</span></span><span>type</span><span><span>,</span><span>s</span></span><span>=</span><span><span>e</span><span>.</span></span><span>duration</span><span><span>,</span><span>r</span></span><span>=</span><span><span>e</span><span>.</span></span><span>msg</span><span><span>,</span><span>a</span></span><span>=</span><span><span>e</span><span>.</span></span><span>showClose</span><span><span>,</span><span>d</span></span><span>=</span><span><span>e</span><span>.</span></span><span>onClose</span><span><span>,</span><span>g</span></span><span>=</span><span>0</span><span>===</span><span><span>s</span><span>,</span><span>p</span></span><span>=</span><span>l</span><span>();</span><span>"loading"</span><span>==</span><span>n</span><span>&amp;&amp;</span><span><span>(</span><span>r</span></span><span>=</span><span>""</span><span>===</span><span>r</span><span>?</span><span>"正在加载"</span><span>:</span><span><span>r</span><span>,</span><span>g</span></span><span>=</span><span><span>a</span><span>,</span><span>s</span></span><span>=</span><span>0</span><span>);</span><span>var</span><span><span> </span><span>h</span></span><span>=</span><span>o</span><span>({</span><span>className</span><span>:</span><span>"coco-msg-wrapper"</span><span>},[</span><span>o</span><span>({</span><span>className</span><span>:</span><span>"coco-msg coco-msg-fade-in "</span><span>.</span><span>concat</span><span><span>(</span><span>n</span><span>)},[</span></span><span>o</span><span>({</span><span>className</span><span>:</span><span>"coco-msg-icon"</span><span><span>},</span><span>p</span><span>[</span><span>n</span><span>]),</span></span><span>o</span><span>({</span><span>className</span><span>:</span><span>"coco-msg-content"</span><span><span>},</span><span>r</span><span>),</span></span><span>o</span><span>({</span><span>className</span><span>:</span><span>"coco-msg-wait "</span><span>.</span><span>concat</span><span><span>(</span><span>g</span></span><span>?</span><span>"coco-msg-pointer"</span><span>:</span><span>"coco-msg-wait-hidden"</span><span>),</span><span>_click</span><span>:</span><span>function</span><span>(){</span><span>f</span><span><span>(</span><span>h</span><span>,</span><span>d</span><span>)}},</span></span><span>c</span><span><span>(</span><span>g</span><span>)</span></span><span>||</span><span>""</span><span>)])]);</span><span>return</span><span> </span><span>0</span><span>!==</span><span>s</span><span>&amp;&amp;</span><span>setTimeout</span><span>(</span><span>function</span><span>(){</span><span>f</span><span><span>(</span><span>h</span><span>,</span><span>d</span><span>)},</span><span>s</span><span>),</span><span>m</span><span>.</span></span><span>children</span><span>.</span><span>length</span><span>||</span><span><span>document</span><span>.</span></span><span>body</span><span>.</span><span>appendChild</span><span><span>(</span><span>m</span><span>),</span><span>m</span><span>.</span></span><span>appendChild</span><span><span>(</span><span>h</span><span>),</span></span><span>t</span><span><span>(</span><span>h</span><span>,{</span></span><span>height</span><span>:</span><span><span>h</span><span>.</span></span><span>offsetHeight</span><span>+</span><span>"px"</span><span>}),</span><span>setTimeout</span><span>(</span><span>function</span><span>(){</span><span>i</span><span><span>(</span><span>h</span><span>.</span></span><span>children</span><span>[</span><span>0</span><span>],</span><span>"coco-msg-fade-in"</span><span>)},</span><span>300</span><span>),</span><span>function</span><span>(){</span><span>f</span><span><span>(</span><span>h</span><span>,</span><span>d</span><span>)}}</span></span><span>function</span><span> </span><span>c</span><span><span>(</span><span>o</span><span>){</span></span><span>return</span><span><span> </span><span>o</span></span><span>?</span><span>'&lt;svg class="coco-msg-close" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5514"&gt;&lt;path d="M810 274l-238 238 238 238-60 60-238-238-238 238-60-60 238-238-238-238 60-60 238 238 238-238z" p-id="5515"&gt;&lt;/path&gt;&lt;/svg&gt;'</span><span>:</span><span>""</span><span>}</span><span>function</span><span> </span><span>f</span><span><span>(</span><span>o</span><span>,</span><span>n</span><span>){</span><span>o</span></span><span>&amp;&amp;</span><span>(</span><span>t</span><span><span>(</span><span>o</span><span>,{</span></span><span>padding</span><span>:</span><span>0</span><span>,</span><span>height</span><span>:</span><span>0</span><span>}),</span><span>e</span><span><span>(</span><span>o</span><span>.</span></span><span>children</span><span>[</span><span>0</span><span>],</span><span>"coco-msg-fade-out"</span><span><span>),</span><span>n</span></span><span>&amp;&amp;</span><span>n</span><span>(),</span><span>setTimeout</span><span>(</span><span>function</span><span>(){</span><span>if</span><span><span>(</span><span>o</span><span>){</span></span><span>for</span><span>(</span><span>var</span><span><span> </span><span>t</span></span><span>=!</span><span>1</span><span><span>,</span><span>e</span></span><span>=</span><span>0</span><span><span>;</span><span>e</span></span><span>&lt;</span><span><span>m</span><span>.</span></span><span>children</span><span>.</span><span>length</span><span><span>;</span><span>e</span></span><span>++</span><span><span>)</span><span>m</span><span>.</span></span><span>children</span><span><span>[</span><span>e</span><span>]</span></span><span>===</span><span>o</span><span>&amp;&amp;</span><span><span>(</span><span>t</span></span><span>=!</span><span>0</span><span><span>);</span><span>t</span></span><span>&amp;&amp;</span><span>d</span><span><span>(</span><span>o</span><span>),</span><span>o</span></span><span>=</span><span>null</span><span><span>,</span><span>m</span><span>.</span></span><span>children</span><span>.</span><span>length</span><span>||</span><span>t</span><span>&amp;&amp;</span><span>d</span><span><span>(</span><span>m</span><span>)}},</span></span><span>300</span><span>))}</span><span>function</span><span> </span><span>l</span><span>(){</span><span>return</span><span>{</span><span>info</span><span>:</span><span>'</span><span>\n</span><span>    &lt;svg  viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3250"&gt;&lt;path d="M469.333333 341.333333h85.333334v469.333334H469.333333z" fill="#ffffff" p-id="3251"&gt;&lt;/path&gt;&lt;path d="M469.333333 213.333333h85.333334v85.333334H469.333333z" fill="#ffffff" p-id="3252"&gt;&lt;/path&gt;&lt;path d="M384 341.333333h170.666667v85.333334H384z" fill="#ffffff" p-id="3253"&gt;&lt;/path&gt;&lt;path d="M384 725.333333h256v85.333334H384z" fill="#ffffff" p-id="3254"&gt;&lt;/path&gt;&lt;/svg&gt;</span><span>\n</span><span>    '</span><span>,</span><span>success</span><span>:</span><span>'</span><span>\n</span><span>    &lt;svg  viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1807"&gt;&lt;path d="M455.42 731.04c-8.85 0-17.75-3.05-24.99-9.27L235.14 553.91c-16.06-13.81-17.89-38.03-4.09-54.09 13.81-16.06 38.03-17.89 54.09-4.09l195.29 167.86c16.06 13.81 17.89 38.03 4.09 54.09-7.58 8.83-18.31 13.36-29.1 13.36z" p-id="1808" fill="#ffffff"&gt;&lt;/path&gt;&lt;path d="M469.89 731.04c-8.51 0-17.07-2.82-24.18-8.6-16.43-13.37-18.92-37.53-5.55-53.96L734.1 307.11c13.37-16.44 37.53-18.92 53.96-5.55 16.43 13.37 18.92 37.53 5.55 53.96L499.67 716.89c-7.58 9.31-18.64 14.15-29.78 14.15z" p-id="1809" fill="#ffffff"&gt;&lt;/path&gt;&lt;/svg&gt;</span><span>\n</span><span>    '</span><span>,</span><span>warning</span><span>:</span><span>'</span><span>\n</span><span>    &lt;svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18912"&gt;&lt;path d="M468.114286 621.714286c7.314286 21.942857 21.942857 36.571429 43.885714 36.571428s36.571429-14.628571 43.885714-36.571428L585.142857 219.428571c0-43.885714-36.571429-73.142857-73.142857-73.142857-43.885714 0-73.142857 36.571429-73.142857 80.457143l29.257143 394.971429zM512 731.428571c-43.885714 0-73.142857 29.257143-73.142857 73.142858s29.257143 73.142857 73.142857 73.142857 73.142857-29.257143 73.142857-73.142857-29.257143-73.142857-73.142857-73.142858z" p-id="18913" fill="#ffffff"&gt;&lt;/path&gt;&lt;/svg&gt;</span><span>\n</span><span>    '</span><span>,</span><span>error</span><span>:</span><span>'</span><span>\n</span><span>    &lt;svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5514"&gt;&lt;path d="M810 274l-238 238 238 238-60 60-238-238-238 238-60-60 238-238-238-238 60-60 238 238 238-238z" p-id="5515" fill="#ffffff"&gt;&lt;/path&gt;&lt;/svg&gt;</span><span>\n</span><span>    '</span><span>,</span><span>loading</span><span>:</span><span>'</span><span>\n</span><span>    &lt;div class="coco-msg_loading"&gt;</span><span>\n</span><span>    &lt;svg class="coco-msg-circular" viewBox="25 25 50 50"&gt;</span><span>\n</span><span>      &lt;circle class="coco-msg-path" cx="50" cy="50" r="20" fill="none" stroke-width="4" stroke-miterlimit="10"/&gt;</span><span>\n</span><span>    &lt;/svg&gt;</span><span>\n</span><span>    &lt;/div&gt;</span><span>\n</span><span>    '</span><span>}}</span><span>function</span><span> </span><span>d</span><span><span>(</span><span>o</span><span>){</span><span>o</span></span><span>&amp;&amp;</span><span><span>o</span><span>.</span></span><span>parentNode</span><span>.</span><span>removeChild</span><span><span>(</span><span>o</span><span>)}</span></span><span>function</span><span> </span><span>g</span><span>(){</span><span>for</span><span>(</span><span>var</span><span><span> </span><span>o</span></span><span>=</span><span>0</span><span><span>;</span><span>o</span></span><span>&lt;</span><span><span>m</span><span>.</span></span><span>children</span><span>.</span><span>length</span><span><span>;</span><span>o</span></span><span>++</span><span>){</span><span>var</span><span><span> </span><span>t</span></span><span>=</span><span><span>m</span><span>.</span></span><span>children</span><span><span>[</span><span>o</span><span>];</span></span><span>f</span><span><span>(</span><span>t</span><span>)}}</span></span><span>function</span><span> </span><span>p</span><span>(){</span><span>var</span><span><span> </span><span>o</span></span><span>=</span><span><span>document</span><span>;</span></span><span>if</span><span><span>(</span><span>o</span></span><span>&amp;&amp;</span><span><span>o</span><span>.</span></span><span>head</span><span>){</span><span>var</span><span><span> </span><span>t</span></span><span>=</span><span><span>o</span><span>.</span></span><span>head</span><span><span>,</span><span>e</span></span><span>=</span><span><span>o</span><span>.</span></span><span>createElement</span><span>(</span><span>"style"</span><span><span>),</span><span>n</span></span><span>=</span><span>".coco-msg-stage *{box-sizing:border-box}.coco-msg-stage{position:fixed;top:20px;left:50%;width:auto;transform:translate(-50%,0);z-index:3000;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.coco-msg-wrapper{position:relative;left:50%;transform:translate(-50%,0);transition:height .35s ease-out,padding .35s ease-out;padding:8px 0}.coco-msg{padding:8px 16px;border-radius:7px;position:relative;left:50%;transform:translate(-50%,0);display:inline-flex;align-items:center;box-shadow:0 4px 16px rgba(15,15,15,.15);color:rgba(44,44,44,.9);background-color:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark .coco-msg{color:rgba(255,255,255,.9);background-color:rgba(36,36,36,.95);box-shadow:0 0 1px 0 rgba(55,55,55,.3)}.coco-msg-icon{position:relative;width:16px;height:16px;border-radius:100px;display:flex;justify-content:center;align-items:center}.coco-msg-icon svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px}.coco-msg-wait{width:20px;height:20px;position:relative;display:inline-flex;justify-content:center;align-items:center;margin-left:10px}.coco-msg-wait:active svg{transform:scale(.7)}.coco-msg-wait svg{transition:.12s ease-out;fill:currentColor}.coco-msg-close{width:14px;height:14px}.coco-msg-content{margin-left:10px;text-align:left;font-size:14px;font-weight:400;word-break:keep-all;line-height:1.57143;display:inline-block}.coco-msg.info .coco-msg-icon{background-color:#3491fa}.coco-msg.success .coco-msg-icon{background-color:#00b42a}.coco-msg.warning .coco-msg-icon{background-color:#f7ba1e}.coco-msg.error .coco-msg-icon{background-color:#f53f3f}.dark .coco-msg.info .coco-msg-icon{background-color:#1d4dd2}.dark .coco-msg.success .coco-msg-icon{background-color:#129a37}.dark .coco-msg.warning .coco-msg-icon{background-color:#cc961f}.dark .coco-msg.error .coco-msg-icon{background-color:#cb2e34}.dark .coco-msg .coco-msg-icon path{fill:rgba(36,36,36,.95)}.coco-msg_loading{flex-shrink:0;width:20px;height:20px;position:relative}.coco-msg-circular{-webkit-animation:coco-msg-rotate 2s linear infinite both;animation:coco-msg-rotate 2s linear infinite both;transform-origin:center center;height:20px!important;width:20px!important;color:#3491fa;margin-top:-1px}.dark .coco-msg-circular{color:#1d4dd2}.coco-msg-path{stroke-dasharray:1,200;stroke-dashoffset:0;stroke:currentColor;-webkit-animation:coco-msg-dash 1.5s ease-in-out infinite;animation:coco-msg-dash 1.5s ease-in-out infinite;stroke-linecap:round}@-webkit-keyframes coco-msg-rotate{100%{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes coco-msg-rotate{100%{transform:translate(-50%,-50%) rotate(360deg)}}@-webkit-keyframes coco-msg-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}@keyframes coco-msg-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.coco-msg-pointer{cursor:pointer}.coco-msg-wait-hidden{display:none}.coco-msg-fade-in{-webkit-animation:coco-msg-fade .22s ease-out both;animation:coco-msg-fade .22s ease-out both}.coco-msg-fade-out{animation:coco-msg-fade .22s linear reverse both}@-webkit-keyframes coco-msg-fade{0%{opacity:0;transform:translate(-50%,-80%)}to{opacity:1;transform:translate(-50%,0)}}@keyframes coco-msg-fade{0%{opacity:0;transform:translate(-50%,-80%)}to{opacity:1;transform:translate(-50%,0)}}"</span><span><span>;</span><span>e</span><span>.</span></span><span>innerHTML</span><span>=</span><span><span>n</span><span>,</span><span>t</span><span>.</span></span><span>appendChild</span><span><span>(</span><span>e</span><span>)}}</span></span><span>if</span><span>(</span><span>"undefined"</span><span><span>!=</span><span>typeof</span></span><span><span> </span><span>window</span><span>){</span></span><span>var</span><span><span> </span><span>m</span></span><span>=</span><span>o</span><span>({</span><span>className</span><span>:</span><span>"coco-msg-stage"</span><span><span>}),</span><span>h</span></span><span>=</span><span>{</span><span>msg</span><span>:</span><span>""</span><span>,</span><span>duration</span><span>:</span><span>2e3</span><span>,</span><span>showClose</span><span><span>:</span><span>!</span></span><span>1</span><span><span>},</span><span>u</span></span><span>=</span><span>{</span><span>info</span><span>:</span><span>function</span><span>(){</span><span>return</span><span> </span><span>r</span><span>(</span><span>arguments</span><span>,</span><span>"info"</span><span>)},</span><span>success</span><span>:</span><span>function</span><span>(){</span><span>return</span><span> </span><span>r</span><span>(</span><span>arguments</span><span>,</span><span>"success"</span><span>)},</span><span>warning</span><span>:</span><span>function</span><span>(){</span><span>return</span><span> </span><span>r</span><span>(</span><span>arguments</span><span>,</span><span>"warning"</span><span>)},</span><span>error</span><span>:</span><span>function</span><span>(){</span><span>return</span><span> </span><span>r</span><span>(</span><span>arguments</span><span>,</span><span>"error"</span><span>)},</span><span>loading</span><span>:</span><span>function</span><span>(){</span><span>return</span><span> </span><span>r</span><span>(</span><span>arguments</span><span>,</span><span>"loading"</span><span>)},</span><span>destroyAll</span><span>:</span><span>function</span><span>(){</span><span>g</span><span>()},</span><span>config</span><span>:</span><span>function</span><span><span>(</span><span>o</span><span>){</span></span><span>for</span><span>(</span><span>var</span><span><span> </span><span>t</span><span> </span></span><span>in</span><span><span> </span><span>o</span><span>)</span><span>Object</span><span>.</span></span><span>hasOwnProperty</span><span>.</span><span>call</span><span><span>(</span><span>o</span><span>,</span><span>t</span><span>)</span></span><span><span>&amp;&amp;</span><span>void</span></span><span> </span><span>0</span><span>!==</span><span><span>o</span><span>[</span><span>t</span><span>]</span></span><span>&amp;&amp;</span><span><span>(</span><span>h</span><span>[</span><span>t</span><span>]</span></span><span>=</span><span><span>o</span><span>[</span><span>t</span><span>])}};</span></span><span>for</span><span>(</span><span>var</span><span><span> </span><span>v</span><span> </span></span><span>in</span><span><span> </span><span>u</span><span>)</span><span>s</span><span>[</span><span>v</span><span>]</span></span><span>=</span><span><span>u</span><span>[</span><span>v</span><span>];</span></span><span>return</span><span> </span><span>p</span><span><span>(),</span><span>s</span><span>}});</span></span></div></div><div><div><div>22</div></div><div>
</div></div><div><div><div>23</div></div><div><span>/**</span></div></div><div><div><div>24</div></div><div><span><span> </span></span><span>* memobbs</span></div></div><div><div><div>25</div></div><div><span><span> </span></span><span>* 一个纯 HTML、JS、CSS 造的静态页面，实现个人 Memos 前端登录发布、编辑等管理功能，集成广场模式、随机模式。当然，也支持嵌入到自己的博客中。</span></div></div><div><div><div>26</div></div><div><span><span> </span></span><span>* Author: 林木木(@lmm214)</span></div></div><div><div><div>27</div></div><div><span><span> </span></span><span>* Memos v0.18.2 and below only</span></div></div><div><div><div>28</div></div><div><span><span> </span></span><span>* Introduction: https://immmmm.com/memobbs-app/</span></div></div><div><div><div>29</div></div><div><span><span> </span></span><span>* Github Repo: https://github.com/lmm214/memobbs</span></div></div><div><div><div>30</div></div><div><span><span> </span></span><span>* Demo: https://memobbs.app/</span></div></div><div><div><div>31</div></div><div><span><span> </span></span><span>* modified by D-Bood 2024-08-31</span></div></div><div><div><div>32</div></div><div><span><span> </span></span><span>*/</span></div></div><div><div><div>33</div></div><div><span>class</span><span> </span><span>MemosBbs</span><span> {</span></div></div><div><div><div>34</div></div><div>
</div></div><div><div><div>35</div></div><div><span>  </span><span>constructor</span><span>() {</span></div></div><div><div><div>36</div></div><div><span>    </span><span>this</span><span>.</span><span>memosData</span><span> </span><span>=</span><span> {</span></div></div><div><div><div>37</div></div><div><span>      </span><span>dom</span><span>:</span><span> </span><span>"#memos"</span><span>,</span></div></div><div><div><div>38</div></div><div><span>      </span><span>listDom</span><span>:</span><span> </span><span>"#memo-list"</span><span>,</span></div></div><div><div><div>39</div></div><div><span>      </span><span>limit</span><span>:</span><span> </span><span>"8"</span></div></div><div><div><div>40</div></div><div><span><span>    </span></span><span>};</span></div></div><div><div><div>41</div></div><div><span>    </span><span>this</span><span>.</span><span>memosDom</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>this</span><span>.</span><span>memosData</span><span>.</span><span>dom</span><span>);</span></div></div><div><div><div>42</div></div><div>
</div></div><div><div><div>43</div></div><div><span>    </span><span>this</span><span>.</span><span>memoList</span></div></div><div><div><div>44</div></div><div><span>    </span><span>this</span><span>.</span><span>memosMyList</span><span> </span><span>=</span><span> [</span></div></div><div><div><div>45</div></div><div><span><span>      </span></span><span>{</span></div></div><div><div><div>46</div></div><div><span>        </span><span>"creatorName"</span><span>:</span><span><span> #</span><span>自己的名字</span><span>,</span></span></div></div><div><div><div>47</div></div><div><span>        </span><span>"website"</span><span>:</span><span><span> #</span><span>自己的网站地址</span><span>,</span></span></div></div><div><div><div>48</div></div><div><span>        </span><span>"link"</span><span>:</span><span><span> #</span><span>自己的Memos地址</span><span>,</span></span></div></div><div><div><div>49</div></div><div><span>        </span><span>"creatorId"</span><span>:</span><span><span> #</span><span>自己的Memos账号id</span><span>,</span></span></div></div><div><div><div>50</div></div><div><span>        </span><span>"avatar"</span><span>:</span><span><span> #</span><span>自己的头像url</span><span>,</span></span></div></div><div><div><div>51</div></div><div><span>        </span><span>"twikoo"</span><span>:</span><span><span> #</span><span>自己的twikoo地址</span></span></div></div><div><div><div>52</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>53</div></div><div><span><span>    </span></span><span>]</span></div></div><div><div><div>54</div></div><div><span>    </span><span>this</span><span>.</span><span>memoDefaultList</span><span> </span><span>=</span><span> [</span></div></div><div><div><div>55</div></div><div><span><span>      </span></span><span>{</span></div></div><div><div><div>56</div></div><div><span>        </span><span>"creatorName"</span><span>:</span><span> </span><span>"林木木"</span><span>,</span></div></div><div><div><div>57</div></div><div><span>        </span><span>"website"</span><span>:</span><span> </span><span>"https://immmmm.com"</span><span>,</span></div></div><div><div><div>58</div></div><div><span>        </span><span>"link"</span><span>:</span><span> </span><span>"https://me.edui.fun"</span><span>,</span></div></div><div><div><div>59</div></div><div><span>        </span><span>"creatorId"</span><span>:</span><span> </span><span>"101"</span><span>,</span></div></div><div><div><div>60</div></div><div><span>        </span><span>"avatar"</span><span>:</span><span> </span><span>"https://gravatar.memobbs.app/avatar/ba83fa02fc4b2ba621514941307e21be?s=80"</span><span>,</span></div></div><div><div><div>61</div></div><div><span>        </span><span>"twikoo"</span><span>:</span><span> </span><span>"https://metk.edui.fun"</span></div></div><div><div><div>62</div></div><div><span><span>      </span></span><span>},{</span></div></div><div><div><div>63</div></div><div><span>        </span><span>"creatorName"</span><span>:</span><span> </span><span>"归臧"</span><span>,</span></div></div><div><div><div>64</div></div><div><span>        </span><span>"website"</span><span>:</span><span> </span><span>"https://nuoea.com"</span><span>,</span></div></div><div><div><div>65</div></div><div><span>        </span><span>"link"</span><span>:</span><span> </span><span>"https://memos.nuoea.com"</span><span>,</span></div></div><div><div><div>66</div></div><div><span>        </span><span>"creatorId"</span><span>:</span><span> </span><span>"101"</span><span>,</span></div></div><div><div><div>67</div></div><div><span>        </span><span>"avatar"</span><span>:</span><span> </span><span>"https://gravatar.memobbs.app/avatar/020d365ea2596ef6d516143bb0552704?s=80"</span><span>,</span></div></div><div><div><div>68</div></div><div><span>        </span><span>"twikoo"</span><span>:</span><span> </span><span>"https://twikoo.nuoea.com"</span></div></div><div><div><div>69</div></div><div><span><span>      </span></span><span>},{</span></div></div><div><div><div>70</div></div><div><span>        </span><span>"creatorName"</span><span>:</span><span> </span><span>"koobai"</span><span>,</span></div></div><div><div><div>71</div></div><div><span>        </span><span>"website"</span><span>:</span><span> </span><span>"https://koobai.com"</span><span>,</span></div></div><div><div><div>72</div></div><div><span>        </span><span>"link"</span><span>:</span><span> </span><span>"https://memos.koobai.com"</span><span>,</span></div></div><div><div><div>73</div></div><div><span>        </span><span>"creatorId"</span><span>:</span><span> </span><span>"1"</span><span>,</span></div></div><div><div><div>74</div></div><div><span>        </span><span>"avatar"</span><span>:</span><span> </span><span>"https://gravatar.memobbs.app/avatar/3b3d336a7d389b7ae8531cbe177ae9b7?s=80"</span><span>,</span></div></div><div><div><div>75</div></div><div><span>        </span><span>"artalk"</span><span>:</span><span> </span><span>"https://c.koobai.com"</span><span>,</span></div></div><div><div><div>76</div></div><div><span>        </span><span>"artSite"</span><span>:</span><span> </span><span>"空白唠叨"</span></div></div><div><div><div>77</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>78</div></div><div><span><span>    </span></span><span>];</span></div></div><div><div><div>79</div></div><div>
</div></div><div><div><div>80</div></div><div><span>    </span><span>this</span><span>.</span><span>getEditor</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-editor-display"</span><span>);</span></div></div><div><div><div>81</div></div><div><span>    </span><span>this</span><span>.</span><span>getMode</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-mode"</span><span>);</span></div></div><div><div><div>82</div></div><div><span>    </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>83</div></div><div><span>    </span><span>this</span><span>.</span><span>memosPath</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-path"</span><span>);</span></div></div><div><div><div>84</div></div><div><span>    </span><span>this</span><span>.</span><span>memosMeID</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-me-id"</span><span>);</span></div></div><div><div><div>85</div></div><div><span>    </span><span>this</span><span>.</span><span>memosMeNickname</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-me-nickname"</span><span>);</span></div></div><div><div><div>86</div></div><div><span>    </span><span>this</span><span>.</span><span>memosMeAvatarUrl</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-me-avatarurl"</span><span>);</span></div></div><div><div><div>87</div></div><div><span>    </span><span>this</span><span>.</span><span>memosMeArtalk</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-artalk-input"</span><span>);</span></div></div><div><div><div>88</div></div><div><span>    </span><span>this</span><span>.</span><span>memosMeArtalkSite</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-artalksite-input"</span><span>);</span></div></div><div><div><div>89</div></div><div><span>    </span><span>this</span><span>.</span><span>memosMeTwikoo</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-twikoo-input"</span><span>);</span></div></div><div><div><div>90</div></div><div><span>    </span><span>this</span><span>.</span><span>cfwkAiUrl</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-cfwkai-url"</span><span>)</span></div></div><div><div><div>91</div></div><div><span>    </span><span>this</span><span>.</span><span>geminiKey</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-gemini-key"</span><span>)</span></div></div><div><div><div>92</div></div><div><span>    </span><span>this</span><span>.</span><span>filterName</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-filter-name"</span><span>)</span></div></div><div><div><div>93</div></div><div>
</div></div><div><div><div>94</div></div><div><span>    </span><span>// this.themeTogglebtn = document.querySelector(".memos-theme-toggle");</span></div></div><div><div><div>95</div></div><div><span>    </span><span>this</span><span>.</span><span>myFeedsBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".my-blog-feeds"</span><span>);</span></div></div><div><div><div>96</div></div><div><span>    </span><span>this</span><span>.</span><span>memosEditorInner</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-editor-inner"</span><span>);</span></div></div><div><div><div>97</div></div><div><span>    </span><span>this</span><span>.</span><span>memosEditorOption</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-editor-option"</span><span>);</span></div></div><div><div><div>98</div></div><div><span>    </span><span>this</span><span>.</span><span>memosRadomCont</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-random"</span><span>);</span></div></div><div><div><div>99</div></div><div><span>    </span><span>this</span><span>.</span><span>taglistBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".tag-btn"</span><span>);</span></div></div><div><div><div>100</div></div><div><span>    </span><span>this</span><span>.</span><span>codeoneBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".codeone-btn"</span><span>);</span></div></div><div><div><div>101</div></div><div><span>    </span><span>this</span><span>.</span><span>codeBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".code-btn"</span><span>);</span></div></div><div><div><div>102</div></div><div><span>    </span><span>this</span><span>.</span><span>linkBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".link-btn"</span><span>);</span></div></div><div><div><div>103</div></div><div><span>    </span><span>this</span><span>.</span><span>linkPicBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".linkpic-btn"</span><span>);</span></div></div><div><div><div>104</div></div><div><span>    </span><span>this</span><span>.</span><span>cfAiBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".cfworkerai-btn"</span><span>) </span><span>||</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>105</div></div><div><span>    </span><span>this</span><span>.</span><span>cfAiLoadBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".cfworkerai-load-btn"</span><span>);</span></div></div><div><div><div>106</div></div><div><span>    </span><span>this</span><span>.</span><span>geminiAIBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".geminiai-btn"</span><span>) </span><span>||</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>107</div></div><div><span>    </span><span>this</span><span>.</span><span>geminiAILoadBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".geminiai-load-btn"</span><span>);</span></div></div><div><div><div>108</div></div><div><span>    </span><span>this</span><span>.</span><span>randomBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".random-btn"</span><span>);</span></div></div><div><div><div>109</div></div><div><span>    </span><span>this</span><span>.</span><span>oneDayBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".oneday-btn"</span><span>);</span></div></div><div><div><div>110</div></div><div><span>    </span><span>this</span><span>.</span><span>userButton</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>'.user-button-span'</span><span>);</span></div></div><div><div><div>111</div></div><div><span>    </span><span>this</span><span>.</span><span>privateBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".private-btn"</span><span>);</span></div></div><div><div><div>112</div></div><div><span>    </span><span>this</span><span>.</span><span>switchUserBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".switchUser-btn"</span><span>);</span></div></div><div><div><div>113</div></div><div><span>    </span><span>this</span><span>.</span><span>backToEditerBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".backto-editer-btn"</span><span>);</span></div></div><div><div><div>114</div></div><div><span>    </span><span>this</span><span>.</span><span>loadEditorBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".call-memos-editor"</span><span>);</span></div></div><div><div><div>115</div></div><div><span>    </span><span>this</span><span>.</span><span>searchBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".search-memos-btn"</span><span>);</span></div></div><div><div><div>116</div></div><div><span>    </span><span>this</span><span>.</span><span>searchInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".search-memos-input"</span><span>);</span></div></div><div><div><div>117</div></div><div><span>    </span><span>this</span><span>.</span><span>userlistBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".userlist-memos"</span><span>);</span></div></div><div><div><div>118</div></div><div><span>    </span><span>this</span><span>.</span><span>randomUserBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".randomuser-memos"</span><span>);</span></div></div><div><div><div>119</div></div><div><span>    </span><span>this</span><span>.</span><span>submitApiBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".submit-openapi-btn"</span><span>);</span></div></div><div><div><div>120</div></div><div><span>    </span><span>this</span><span>.</span><span>submitMemoBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".submit-memos-btn"</span><span>);</span></div></div><div><div><div>121</div></div><div><span>    </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".select-memos-value"</span><span>);</span></div></div><div><div><div>122</div></div><div><span>    </span><span>this</span><span>.</span><span>pathInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-path-input"</span><span>);</span></div></div><div><div><div>123</div></div><div><span>    </span><span>this</span><span>.</span><span>tokenInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-token-input"</span><span>);</span></div></div><div><div><div>124</div></div><div><span>    </span><span>this</span><span>.</span><span>artalkInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-artalk-input"</span><span>);</span></div></div><div><div><div>125</div></div><div><span>    </span><span>this</span><span>.</span><span>artalkSiteInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-artalksite-input"</span><span>);</span></div></div><div><div><div>126</div></div><div><span>    </span><span>this</span><span>.</span><span>twikooInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-twikoo-input"</span><span>);</span></div></div><div><div><div>127</div></div><div><span>    </span><span>this</span><span>.</span><span>cfwkAiUrlInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".cfwkai-url-input"</span><span>);</span></div></div><div><div><div>128</div></div><div><span>    </span><span>this</span><span>.</span><span>geminiKeyInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".gemini-key-input"</span><span>);</span></div></div><div><div><div>129</div></div><div><span>    </span><span>this</span><span>.</span><span>filterNameInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".filter-name-input"</span><span>);</span></div></div><div><div><div>130</div></div><div><span>    </span><span>this</span><span>.</span><span>uploadImageInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-upload-image-input"</span><span>);</span></div></div><div><div><div>131</div></div><div><span>    </span><span>//Webp格式</span></div></div><div><div><div>132</div></div><div><span>    </span><span>this</span><span>.</span><span>uploadWebpImageInput</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-upload-Webp-image-input"</span><span>);</span></div></div><div><div><div>133</div></div><div>
</div></div><div><div><div>134</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-editor-textarea"</span><span>);</span></div></div><div><div><div>135</div></div><div>
</div></div><div><div><div>136</div></div><div><span>    </span><span>this</span><span>.</span><span>editMemoDom</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".edit-memos"</span><span>);</span></div></div><div><div><div>137</div></div><div><span>    </span><span>this</span><span>.</span><span>editMemoBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".edit-memos-btn"</span><span>);</span></div></div><div><div><div>138</div></div><div><span>    </span><span>this</span><span>.</span><span>cancelEditBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".cancel-edit-btn"</span><span>);</span></div></div><div><div><div>139</div></div><div><span>    </span><span>this</span><span>.</span><span>biaoqingBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".biao-qing-btn"</span><span>);</span></div></div><div><div><div>140</div></div><div><span>    </span><span>this</span><span>.</span><span>usernowDom</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".user-now"</span><span>);</span></div></div><div><div><div>141</div></div><div><span>    </span><span>this</span><span>.</span><span>usernowBtnDom</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelectorAll</span><span>(</span><span>".user-now .button"</span><span>);</span></div></div><div><div><div>142</div></div><div><span>    </span><span>this</span><span>.</span><span>goHomeBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>'.gohome-memos'</span><span>)</span></div></div><div><div><div>143</div></div><div><span>    </span><span>this</span><span>.</span><span>goBbsBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>'.gobbs-memos'</span><span>)</span></div></div><div><div><div>144</div></div><div>
</div></div><div><div><div>145</div></div><div><span>    </span><span>this</span><span>.</span><span>memoDom</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>this</span><span>.</span><span>memosData</span><span>.</span><span>listDom</span><span>);</span></div></div><div><div><div>146</div></div><div><span>    </span><span>this</span><span>.</span><span>skeleton</span><span> </span><span>=</span><span> </span><span>`&lt;div class="el-loading"&gt;&lt;div class="el-skeleton mb-3"&gt;&lt;/div&gt;&lt;div class="el-skeleton mb-3"&gt;&lt;/div&gt;&lt;div class="el-skeleton width-50 mb-3"&gt;&lt;/div&gt;&lt;div class="el-skeleton mb-3"&gt;&lt;/div&gt;&lt;div class="el-skeleton mb-3"&gt;&lt;/div&gt;&lt;div class="el-skeleton width-50 mb-3"&gt;&lt;/div&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>147</div></div><div>
</div></div><div><div><div>148</div></div><div><span>    </span><span>this</span><span>.</span><span>loadBtn</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>"button.button-load"</span><span>);</span></div></div><div><div><div>149</div></div><div>
</div></div><div><div><div>150</div></div><div><span>    </span><span>this</span><span>.</span><span>limit</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosData</span><span>.</span><span>limit</span><span>;</span></div></div><div><div><div>151</div></div><div><span>    </span><span>this</span><span>.</span><span>page</span><span> </span><span>=</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>152</div></div><div><span>    </span><span>this</span><span>.</span><span>nums</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>dataNum</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosContType</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosAccess</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>randomUser</span><span> </span><span>=</span><span> </span><span>0</span><span>;</span><span>// = 0,this.dataNum = 0,this.memosContType = 0, this.memosAccess = 0,this.randomUser = 0;</span></div></div><div><div><div>153</div></div><div><span>    </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosStr</span><span> </span><span>=</span><span> [];</span></div></div><div><div><div>154</div></div><div><span>    </span><span>this</span><span>.</span><span>memoCreatorMap</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>twikooCount</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>artalkCount</span><span> </span><span>=</span><span> {}; </span><span>// this.memosStr = [],this.memoCreatorMap = {},this.twikooCount = {},this.artalkCount = {};</span></div></div><div><div><div>155</div></div><div><span>    </span><span>this</span><span>.</span><span>memosMode</span><span>;</span></div></div><div><div><div>156</div></div><div><span>    </span><span>this</span><span>.</span><span>nowLink</span><span>;</span></div></div><div><div><div>157</div></div><div><span>    </span><span>this</span><span>.</span><span>nowId</span><span>;</span></div></div><div><div><div>158</div></div><div><span>    </span><span>this</span><span>.</span><span>nowName</span><span>;</span></div></div><div><div><div>159</div></div><div><span>    </span><span>this</span><span>.</span><span>nowAvatar</span><span>;</span></div></div><div><div><div>160</div></div><div><span>    </span><span>this</span><span>.</span><span>nowV1</span><span>;</span></div></div><div><div><div>161</div></div><div><span>    </span><span>this</span><span>.</span><span>nowTagList</span><span> </span><span>=</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>162</div></div><div><span>    </span><span>this</span><span>.</span><span>memoChangeDate</span><span> </span><span>=</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>163</div></div><div><span>    </span><span>this</span><span>.</span><span>getSelectedValue</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-visibility-select"</span><span>) </span><span>||</span><span> </span><span>"PUBLIC"</span><span>;</span></div></div><div><div><div>164</div></div><div>
</div></div><div><div><div>165</div></div><div><span>    </span><span>this</span><span>.</span><span>_getTheme</span><span>();</span></div></div><div><div><div>166</div></div><div><span>    </span><span>// this.themeTogglebtn.addEventListener('click', () =&gt; {</span></div></div><div><div><div>167</div></div><div><span>    </span><span>//   if(!document.body.classList.contains("dark")){</span></div></div><div><div><div>168</div></div><div><span>    </span><span>//     document.body.classList.add("dark-theme","dark");</span></div></div><div><div><div>169</div></div><div><span>    </span><span>//     window.localStorage &amp;&amp; window.localStorage.setItem("theme","dark");</span></div></div><div><div><div>170</div></div><div><span>    </span><span>//   }else{</span></div></div><div><div><div>171</div></div><div><span>    </span><span>//     document.body.classList.remove("dark-theme","dark");</span></div></div><div><div><div>172</div></div><div><span>    </span><span>//     window.localStorage &amp;&amp; window.localStorage.setItem("theme","light");</span></div></div><div><div><div>173</div></div><div><span>    </span><span>//   }</span></div></div><div><div><div>174</div></div><div><span>    </span><span>// });</span></div></div><div><div><div>175</div></div><div><span>    </span><span>this</span><span>.</span><span>_init</span><span>();</span></div></div><div><div><div>176</div></div><div><span>    </span><span>this</span><span>.</span><span>myFeedsBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>'click'</span><span><span>, (</span><span>event</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>177</div></div><div><span>      </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>178</div></div><div><span>      </span><span>this</span><span>.</span><span>memoDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>skeleton</span><span>;</span></div></div><div><div><div>179</div></div><div><span>      </span><span>this</span><span>.</span><span>usernowBtnDom</span><span>.</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'current'</span><span>);})</span></div></div><div><div><div>180</div></div><div><span>      </span><span>this</span><span>.</span><span>myFeedsBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>181</div></div><div><span>      </span><span>let</span><span><span> </span><span>fetchUrl</span><span> </span></span><span>=</span><span> </span><span>"https://cf.edui.fun/all?rule=created&amp;end=20"</span></div></div><div><div><div>182</div></div><div><span>      </span><span>fetch</span><span><span>(</span><span>fetchUrl</span><span>).</span></span><span>then</span><span><span>(</span><span>res</span><span> </span></span><span>=&gt;</span><span><span> </span><span>res</span><span>.</span></span><span>json</span><span>()).</span><span>then</span><span><span>(</span><span>resdata</span><span> </span></span><span>=&gt;</span><span>{</span></div></div><div><div><div>183</div></div><div><span>        </span><span>let</span><span><span> </span><span>myFeedData</span><span> </span></span><span>=</span><span><span> </span><span>resdata</span><span>.</span></span><span>article_data</span></div></div><div><div><div>184</div></div><div><span>        </span><span>let</span><span><span> </span><span>myFeedArticle</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>185</div></div><div><span>        </span><span>for</span><span> (</span><span>var</span><span><span> </span><span>i</span><span> </span></span><span>=</span><span> </span><span>0</span><span><span>;</span><span>i</span></span><span>&lt;</span><span><span>myFeedData</span><span>.</span></span><span>length</span><span><span>;</span><span>i</span></span><span>++</span><span>){</span></div></div><div><div><div>186</div></div><div><span>          </span><span>let</span><span><span> </span><span>item</span><span> </span></span><span>=</span><span><span> </span><span>myFeedData</span><span>[</span><span>i</span><span>];</span></span></div></div><div><div><div>187</div></div><div><span><span>          </span></span><span>myFeedArticle</span><span> </span><span>+=</span><span>`</span></div></div><div><div><div>188</div></div><div><span><span>          </span></span><span>&lt;div class="card-item flex-fill p-3"&gt;</span></div></div><div><div><div>189</div></div><div><span><span>            </span></span><span>&lt;div class="d-flex flex-fill"&gt;</span></div></div><div><div><div>190</div></div><div><span><span>              </span></span><span>&lt;div class="item-avatar mr-2" style="background-image:url(</span><span>${</span><span>item</span><span>.</span><span>avatar</span><span>}</span><span>)"&gt;&lt;/div&gt;</span></div></div><div><div><div>191</div></div><div><span><span>              </span></span><span>&lt;div class="item-sub d-flex flex-column p-1"&gt;</span></div></div><div><div><div>192</div></div><div><span><span>                </span></span><span>&lt;div class="item-creator"&gt;&lt;a href="</span><span>${</span><span>item</span><span>.</span><span>link</span><span>}</span><span>" target="_blank" rel="noopener nofollow" &gt;</span><span>${</span><span>item</span><span>.</span><span>title</span><span>}</span><span>&lt;/a&gt;&lt;/div&gt;</span></div></div><div><div><div>193</div></div><div><span><span>                </span></span><span>&lt;span class="myfeeds-floor"&gt;</span><span>${</span><span>item</span><span>.</span><span>floor</span><span>}</span><span>&lt;/span&gt;</span></div></div><div><div><div>194</div></div><div><span><span>                </span></span><span>&lt;div class="item-mate mt-2 text-xs"&gt;</span><span>${</span><span>item</span><span>.</span><span>updated</span><span>}</span><span>&lt;/div&gt;</span></div></div><div><div><div>195</div></div><div><span><span>              </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>196</div></div><div><span><span>            </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>197</div></div><div><span><span>          </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>198</div></div><div><span><span>          </span></span><span>`</span><span>;</span></div></div><div><div><div>199</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>200</div></div><div><span>        </span><span>this</span><span>.</span><span>memoDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>`&lt;div class="myfeeds-option row px-2 pb-2"&gt;</span></div></div><div><div><div>201</div></div><div><span><span>          </span></span><span>&lt;div class="myfeeds-xml card-item px-3 py-2 mr-3" data-type="bfind" onclick="window.memosbbs._myFeedsXML(this)"&gt;BlogFinder&lt;/div&gt;</span></div></div><div><div><div>202</div></div><div><span><span>          </span></span><span>&lt;div class="myfeeds-xml card-item px-3 py-2 mr-3" data-type="boyou"  onclick="window.memosbbs._myFeedsXML(this)"&gt;博友圈&lt;/div&gt;</span></div></div><div><div><div>203</div></div><div><span><span>          </span></span><span>&lt;div class="myfeeds-xml card-item px-3 py-2 mr-3" data-type="shinian"  onclick="window.memosbbs._myFeedsXML(this)"&gt;十年之约&lt;/div&gt;</span></div></div><div><div><div>204</div></div><div><span><span>        </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>205</div></div><div><span><span>        </span></span><span>&lt;div class="myfeeds"&gt;</span><span>${</span><span>myFeedArticle</span><span>}</span><span>&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>206</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>Lately</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>Lately</span><span>.</span></span><span>init</span><span>({</span></div></div><div><div><div>207</div></div><div><span>          </span><span>target</span><span>:</span><span> </span><span>'.item-mate'</span></div></div><div><div><div>208</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>209</div></div><div><span><span>      </span></span><span>})</span></div></div><div><div><div>210</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>211</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>addEventListener</span><span>(</span><span>'focus'</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>212</div></div><div><span>      </span><span>let</span><span><span> </span><span>nowTag</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow-name"</span><span>)</span></div></div><div><div><div>213</div></div><div><span>      </span><span>if</span><span><span>(</span><span>nowTag</span><span> </span></span><span>!==</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>==</span><span> </span><span>""</span><span>){</span></div></div><div><div><div>214</div></div><div><span>        </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>"#"</span><span>+</span><span><span>nowTag</span><span>.</span></span><span>textContent</span><span>+</span><span>" "</span><span>;</span></div></div><div><div><div>215</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>216</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>217</div></div><div><span>    </span><span>//搜索 Memo</span></div></div><div><div><div>218</div></div><div><span>    </span><span>this</span><span>.</span><span>searchBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>219</div></div><div><span>      </span><span>if</span><span>(</span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>"d-none"</span><span>)){</span></div></div><div><div><div>220</div></div><div><span>        </span><span>this</span><span>.</span><span>userButton</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>221</div></div><div><span>        </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>222</div></div><div><span>        </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>focus</span><span>();</span></div></div><div><div><div>223</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span> </span><span>if</span><span>(</span><span>!</span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>"d-none"</span><span>) </span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>value</span><span> </span><span>==</span><span> </span><span>""</span><span>){</span></div></div><div><div><div>224</div></div><div><span>        </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"animate__fadeOutRight"</span><span>)</span></div></div><div><div><div>225</div></div><div><span>        </span><span>setTimeout</span><span>(() </span><span>=&gt;</span><span> {</span></div></div><div><div><div>226</div></div><div><span>          </span><span>this</span><span>.</span><span>userButton</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>227</div></div><div><span>          </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>228</div></div><div><span>          </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"animate__fadeOutRight"</span><span>)</span></div></div><div><div><div>229</div></div><div><span><span>        </span></span><span>}, </span><span>500</span><span>);</span></div></div><div><div><div>230</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span> </span><span>if</span><span>(</span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>""</span><span>){</span></div></div><div><div><div>231</div></div><div><span>        </span><span>this</span><span>.</span><span>_searchNow</span><span>(</span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>value</span><span>)</span></div></div><div><div><div>232</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>233</div></div><div><span>      </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>addEventListener</span><span>(</span><span>'keydown'</span><span><span>, (</span><span>event</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>234</div></div><div><span>        </span><span>if</span><span><span> (</span><span>event</span><span>.</span></span><span>key</span><span> </span><span>===</span><span> </span><span>'Enter'</span><span>) {</span></div></div><div><div><div>235</div></div><div><span>          </span><span>this</span><span>.</span><span>_searchNow</span><span>(</span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>value</span><span>)</span></div></div><div><div><div>236</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>237</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>238</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>239</div></div><div><span>    </span><span>//显示订阅列表</span></div></div><div><div><div>240</div></div><div><span>    </span><span>this</span><span>.</span><span>userlistBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>241</div></div><div><span>      </span><span>let</span><span><span> </span><span>userlistDom</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".userlist"</span><span>);</span></div></div><div><div><div>242</div></div><div><span>      </span><span>if</span><span><span>(</span><span>userlistDom</span><span>){</span></span></div></div><div><div><div>243</div></div><div><span><span>        </span></span><span>userlistDom</span><span>.</span><span>remove</span><span>();</span></div></div><div><div><div>244</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>245</div></div><div><span>        </span><span>let</span><span><span> </span><span>userlistDom</span><span> </span></span><span>=</span><span> </span><span>`&lt;div class="userlist card-item d-flex flex-wrap mb-3 animate__animated animate__fadeIn"&gt;`</span><span>;</span></div></div><div><div><div>246</div></div><div><span>        </span><span>for</span><span> (</span><span>var</span><span><span> </span><span>i</span><span> </span></span><span>=</span><span> </span><span>0</span><span><span>; </span><span>i</span><span> </span></span><span>&lt;</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>length</span><span><span>; </span><span>i</span></span><span>++</span><span>) {</span></div></div><div><div><div>247</div></div><div><span>          </span><span>let</span><span><span> </span><span>nowMemo</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span><span>[</span><span>i</span><span>]</span></span></div></div><div><div><div>248</div></div><div><span><span>          </span></span><span>userlistDom</span><span> </span><span>+=</span><span> </span><span>`&lt;div onclick="window.memosbbs._getUserMemos('</span><span>${</span><span>nowMemo</span><span>.</span><span>link</span><span>}</span><span>', '</span><span>${</span><span>nowMemo</span><span>.</span><span>creatorId</span><span>}</span><span>','</span><span>${</span><span>nowMemo</span><span>.</span><span>creatorName</span><span>.</span><span>replace</span><span>(</span><span>/</span><span>'</span><span>/</span><span>g</span><span>,</span><span> </span><span>"</span><span>’</span><span>"</span><span>)</span><span>}</span><span>','</span><span>${</span><span>nowMemo</span><span>.</span><span>avatar</span><span>}</span><span>')" class="item-avatar" style="background-image:url(</span><span>${</span><span>nowMemo</span><span>.</span><span>avatar</span><span>}</span><span>)"&gt;&lt;/div&gt;`</span></div></div><div><div><div>249</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>250</div></div><div><span><span>        </span></span><span>userlistDom</span><span> </span><span>+=</span><span> </span><span>`&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>251</div></div><div><span>        </span><span>this</span><span>.</span><span>memosDom</span><span>.</span><span>insertAdjacentHTML</span><span>(</span><span>'beforebegin'</span><span><span>, </span><span>userlistDom</span><span>);</span></span></div></div><div><div><div>252</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>253</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>254</div></div><div><span>    </span><span>this</span><span>.</span><span>goHomeBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>255</div></div><div><span><span>      </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-mode"</span><span>,  </span><span>"MEMOSHOME"</span><span>);</span></div></div><div><div><div>256</div></div><div><span>      </span><span>let</span><span><span> </span><span>tagnowHas</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow"</span><span>)</span></div></div><div><div><div>257</div></div><div><span>      </span><span>if</span><span><span>(</span><span>tagnowHas</span><span>) </span><span>tagnowHas</span><span>.</span></span><span>remove</span><span>();</span></div></div><div><div><div>258</div></div><div><span>      </span><span>this</span><span>.</span><span>_goHome</span><span>();</span></div></div><div><div><div>259</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>260</div></div><div><span>    </span><span>this</span><span>.</span><span>goBbsBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>261</div></div><div><span><span>      </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-mode"</span><span>,  </span><span>"MEMOSBBS"</span><span>);</span></div></div><div><div><div>262</div></div><div><span>      </span><span>let</span><span><span> </span><span>tagnowHas</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow"</span><span>)</span></div></div><div><div><div>263</div></div><div><span>      </span><span>if</span><span><span>(</span><span>tagnowHas</span><span>) </span><span>tagnowHas</span><span>.</span></span><span>remove</span><span>();</span></div></div><div><div><div>264</div></div><div><span>      </span><span>this</span><span>.</span><span>_goBbs</span><span>()</span></div></div><div><div><div>265</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>266</div></div><div><span>    </span><span>this</span><span>.</span><span>randomUserBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>267</div></div><div><span><span>      </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-mode"</span><span>,  </span><span>"RANDUSER"</span><span>);</span></div></div><div><div><div>268</div></div><div><span>      </span><span>let</span><span><span> </span><span>tagnowHas</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow"</span><span>)</span></div></div><div><div><div>269</div></div><div><span>      </span><span>if</span><span><span>(</span><span>tagnowHas</span><span>) </span><span>tagnowHas</span><span>.</span></span><span>remove</span><span>();</span></div></div><div><div><div>270</div></div><div><span>      </span><span>this</span><span>.</span><span>_goRandUser</span><span>();</span></div></div><div><div><div>271</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>272</div></div><div><span>    </span><span>this</span><span>.</span><span>memosOldSelect</span><span>;</span></div></div><div><div><div>273</div></div><div><span>    </span><span>this</span><span>.</span><span>editMemoBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>274</div></div><div><span>      </span><span>let</span><span><span> </span><span>dataformNow</span><span> </span></span><span>=</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-editor-dataform"</span><span>));</span></div></div><div><div><div>275</div></div><div><span>      </span><span>let</span><span><span> </span><span>memoId</span><span> </span></span><span>=</span><span><span> </span><span>dataformNow</span><span>.</span></span><span>id</span><span>;</span></div></div><div><div><div>276</div></div><div><span>      </span><span>let</span><span><span> </span><span>memoRelationList</span><span> </span></span><span>=</span><span><span> </span><span>dataformNow</span><span>.</span></span><span>relationList</span><span>;</span></div></div><div><div><div>277</div></div><div><span>      </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>278</div></div><div><span>      </span><span>let</span><span><span> </span><span>memoContent</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>;</span></div></div><div><div><div>279</div></div><div><span>      </span><span>let</span><span><span> </span><span>memocreatedTs</span><span> </span></span><span>=</span><span><span> </span><span>dataformNow</span><span>.</span></span><span>createdTs</span><span>;</span></div></div><div><div><div>280</div></div><div><span>      </span><span>let</span><span><span> </span><span>memoVisibility</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span>;</span></div></div><div><div><div>281</div></div><div><span>      </span><span>let</span><span><span> </span><span>memoResourceList</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-resource-list"</span><span>));</span></div></div><div><div><div>282</div></div><div><span>      </span><span>if</span><span>(</span><span>this</span><span>.</span><span>memoChangeDate</span><span> </span><span>==</span><span> </span><span>1</span><span>){</span></div></div><div><div><div>283</div></div><div><span><span>        </span></span><span>memocreatedTs</span><span> </span><span>=</span><span><span> </span><span>Math</span><span>.</span></span><span>floor</span><span><span>(</span><span>Date</span><span>.</span></span><span>now</span><span>() </span><span>/</span><span> </span><span>1000</span><span>);;</span></div></div><div><div><div>284</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>285</div></div><div><span>      </span><span>let</span><span><span> </span><span>hasContent</span><span> </span></span><span>=</span><span><span> </span><span>memoContent</span><span>.</span></span><span>length</span><span> </span><span>!==</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>286</div></div><div><span>      </span><span>if</span><span><span> (</span><span>hasContent</span><span>) {</span></span></div></div><div><div><div>287</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>memosPath</span><span>}</span><span>api/v1/memo/</span><span>${</span><span>memoId</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>288</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoBody</span><span> </span></span><span>=</span><span> {</span><span>content</span><span>:</span><span><span>memoContent</span><span>,</span></span><span>id</span><span>:</span><span><span>memoId</span><span>,</span></span><span>createdTs</span><span>:</span><span><span>memocreatedTs</span><span>,</span></span><span>relationList</span><span>:</span><span><span>memoRelationList</span><span>,</span></span><span>resourceIdList</span><span>:</span><span><span>memoResourceList</span><span>,</span></span><span>visibility</span><span>:</span><span><span>memoVisibility</span><span>}</span></span></div></div><div><div><div>289</div></div><div><span>        </span><span>fetch</span><span><span>(</span><span>memoUrl</span><span>, {</span></span></div></div><div><div><div>290</div></div><div><span>          </span><span>method</span><span>:</span><span> </span><span>'PATCH'</span><span>,</span></div></div><div><div><div>291</div></div><div><span>          </span><span>body</span><span>:</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memoBody</span><span>),</span></span></div></div><div><div><div>292</div></div><div><span>          </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>293</div></div><div><span>            </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>294</div></div><div><span>            </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span></div></div><div><div><div>295</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>296</div></div><div><span><span>        </span></span><span>}).</span><span>then</span><span><span>((</span><span>res</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>297</div></div><div><span>          </span><span>if</span><span><span> (</span><span>res</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>298</div></div><div><span>            </span><span>let</span><span><span> </span><span>tagnowHas</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow"</span><span>)</span></div></div><div><div><div>299</div></div><div><span>            </span><span>if</span><span><span>(</span><span>tagnowHas</span><span>) </span><span>tagnowHas</span><span>.</span></span><span>remove</span><span>();</span></div></div><div><div><div>300</div></div><div><span><span>            </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span></div></div><div><div><div>301</div></div><div><span>            </span><span>'修改成功'</span><span>,</span></div></div><div><div><div>302</div></div><div><span><span>            </span></span><span>()</span><span>=&gt;</span><span>{</span></div></div><div><div><div>303</div></div><div><span>              </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosOldSelect</span><span>;</span></div></div><div><div><div>304</div></div><div><span>              </span><span>this</span><span>.</span><span>memoChangeDate</span><span> </span><span>=</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>305</div></div><div><span>              </span><span>this</span><span>.</span><span>_clearTextarea</span><span>();</span></div></div><div><div><div>306</div></div><div><span><span>            </span></span><span>})</span></div></div><div><div><div>307</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>308</div></div><div><span><span>        </span></span><span>})</span></div></div><div><div><div>309</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>310</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>311</div></div><div><span>    </span><span>this</span><span>.</span><span>cancelEditBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>312</div></div><div><span>      </span><span>if</span><span> (</span><span>!</span><span>this</span><span>.</span><span>editMemoDom</span><span>.</span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>"d-none"</span><span>)) {</span></div></div><div><div><div>313</div></div><div><span>        </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosOldSelect</span><span>;</span></div></div><div><div><div>314</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>removeItem</span><span>(</span><span>"memos-editor-dataform"</span><span>);</span></div></div><div><div><div>315</div></div><div><span>        </span><span>this</span><span>.</span><span>editMemoDom</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>316</div></div><div><span>        </span><span>this</span><span>.</span><span>submitMemoBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>317</div></div><div><span>        </span><span>this</span><span>.</span><span>_clearTextarea</span><span>(</span><span>"cancel"</span><span>)</span></div></div><div><div><div>318</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>319</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>320</div></div><div><span>    </span><span>// 获取 owo.json 文件中的数据</span></div></div><div><div><div>321</div></div><div><span>    </span><span>this</span><span>.</span><span>emojiSelectorVisible</span><span> </span><span>=</span><span> </span><span>false</span><span>;</span></div></div><div><div><div>322</div></div><div><span>    </span><span>this</span><span>.</span><span>emojiSelector</span><span>;</span></div></div><div><div><div>323</div></div><div><span>    </span><span>this</span><span>.</span><span>emojis</span><span> </span><span>=</span><span> [{</span><span>"icon"</span><span>:</span><span> </span><span>"😂"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"哭笑不得"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😎"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"酷"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😏"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"坏笑"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😅"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"流汗"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😄"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"笑"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😜"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"调皮"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤣"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"笑倒"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😭"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"大哭"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🙄"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"白眼"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤐"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"嘘"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😋"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"美食脸"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🥶"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"冰冻"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🥵"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"热"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😴"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"睡觉"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤧"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"打喷嚏"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🍉"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"西瓜"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😱"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"惊恐"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"👋"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"招手"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🔨"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"锤子"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🐶"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"小狗"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"👏"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"鼓掌"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🙈"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"不看"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😓"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"汗"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😍"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"爱心眼"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤝"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"握手"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🥺"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"求你"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😔"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"沮丧"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😪"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"困"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😕"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"困惑"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤷‍♂️"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"摊手"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😛"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"舌头"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤭"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"偷笑"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤮"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"呕吐"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🥺"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"求你"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🙂"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"轻松的笑"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😈"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"恶魔"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😃"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"笑脸"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤫"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"嘘"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😒"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"无语"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😵"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"晕"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"💪"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"加油"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"👍"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"赞"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"👎"</span><span>,  </span><span>"text"</span><span>:</span><span> </span><span>"踩"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😡"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"愤怒"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤬"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"怒骂"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😖"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"心烦"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🌹"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"玫瑰"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🏃"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"跑步"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😆"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"大笑"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"💵"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"钞票"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😘"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"飞吻"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😷"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"生病"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤕"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"受伤"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🎉"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"庆祝"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"❤️"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"红心"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"💔"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"心碎"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😣"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"无奈"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"😘"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"飞吻"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"💩"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"一坨便便"</span><span>},{</span><span>"icon"</span><span>:</span><span> </span><span>"🤩"</span><span>,</span><span>"text"</span><span>:</span><span> </span><span>"爱慕"</span><span>}];</span></div></div><div><div><div>324</div></div><div><span>    </span><span>// 表情选择器点击事件处理</span></div></div><div><div><div>325</div></div><div><span>    </span><span>this</span><span>.</span><span>biaoqingBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span><span>, (</span><span>event</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>326</div></div><div><span><span>      </span></span><span>event</span><span>.</span><span>stopPropagation</span><span>();</span></div></div><div><div><div>327</div></div><div><span>      </span><span>this</span><span>.</span><span>emojiSelectorVisible</span><span> </span><span>=</span><span> </span><span>!</span><span>this</span><span>.</span><span>emojiSelectorVisible</span><span>;</span></div></div><div><div><div>328</div></div><div><span>      </span><span>if</span><span> (</span><span>this</span><span>.</span><span>emojiSelectorVisible</span><span>) {</span></div></div><div><div><div>329</div></div><div><span>        </span><span>this</span><span>.</span><span>_displayEmojiSelector</span><span>();</span></div></div><div><div><div>330</div></div><div><span><span>      </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>331</div></div><div><span>        </span><span>this</span><span>.</span><span>emojiSelector</span><span>?.</span><span>remove</span><span>();</span></div></div><div><div><div>332</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>333</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>334</div></div><div><span>    </span><span>this</span><span>.</span><span>_backToTop</span><span>();</span></div></div><div><div><div>335</div></div><div><span>    </span><span>// this._cfAiBtnClick();</span></div></div><div><div><div>336</div></div><div><span>    </span><span>if</span><span>(</span><span>this</span><span>.</span><span>cfwkAiUrl</span><span> </span><span>!=</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>cfwkAiUrl</span><span> </span><span>!==</span><span> </span><span>""</span><span>) {</span></div></div><div><div><div>337</div></div><div><span>      </span><span>this</span><span>.</span><span>cfAiBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>'click'</span><span>, </span><span>async</span><span> () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>338</div></div><div><span>        </span><span>this</span><span>.</span><span>cfAiBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>,</span><span>"noclick"</span><span>)</span></div></div><div><div><div>339</div></div><div><span>        </span><span>this</span><span>.</span><span>cfAiLoadBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>340</div></div><div><span>        </span><span>try</span><span>{</span></div></div><div><div><div>341</div></div><div><span>          </span><span>let</span><span><span> </span><span>textOld</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span></div></div><div><div><div>342</div></div><div><span>          </span><span>let</span><span><span> </span><span>input</span><span> </span></span><span>=</span><span> </span><span>encodeURIComponent</span><span>(</span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>)</span></div></div><div><div><div>343</div></div><div><span>          </span><span>let</span><span><span> </span><span>fetchUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>cfwkAiUrl</span><span>}</span><span>/?q=</span><span>${</span><span>input</span><span>}</span><span>`</span></div></div><div><div><div>344</div></div><div><span>          </span><span>const</span><span> </span><span>source</span><span> </span><span>=</span><span> </span><span>new</span><span> </span><span>EventSource</span><span><span>(</span><span>fetchUrl</span><span>);</span></span></div></div><div><div><div>345</div></div><div><span>          </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>textOld</span><span>}</span><span>\n</span><span>----------</span><span>\n</span><span>`</span></div></div><div><div><div>346</div></div><div><span><span>          </span></span><span>source</span><span>.</span><span>onmessage</span><span> </span><span>=</span><span><span> (</span><span>event</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>347</div></div><div><span>            </span><span>if</span><span><span>(</span><span>event</span><span>.</span></span><span>data</span><span>==</span><span>"[DONE]"</span><span>) {</span></div></div><div><div><div>348</div></div><div><span>              </span><span>this</span><span>.</span><span>cfAiBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>,</span><span>"noclick"</span><span>)</span></div></div><div><div><div>349</div></div><div><span>              </span><span>this</span><span>.</span><span>cfAiLoadBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>350</div></div><div><span><span>              </span></span><span>source</span><span>.</span><span>close</span><span>();</span></div></div><div><div><div>351</div></div><div><span>              </span><span>return</span><span>;</span></div></div><div><div><div>352</div></div><div><span><span>            </span></span><span>}</span></div></div><div><div><div>353</div></div><div><span>            </span><span>const</span><span> </span><span>data</span><span> </span><span>=</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>event</span><span>.</span></span><span>data</span><span>);</span></div></div><div><div><div>354</div></div><div><span>            </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>+=</span><span><span> </span><span>data</span><span>.</span></span><span>response</span></div></div><div><div><div>355</div></div><div><span>            </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>style</span><span>.</span><span>height</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>scrollHeight</span><span> </span><span>+</span><span> </span><span>'px'</span><span>;</span></div></div><div><div><div>356</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>357</div></div><div><span><span>        </span></span><span>} </span><span>catch</span><span><span> (</span><span>error</span><span>) {</span></span></div></div><div><div><div>358</div></div><div><span>          </span><span>this</span><span>.</span><span>cfAiBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>,</span><span>"noclick"</span><span>)</span></div></div><div><div><div>359</div></div><div><span>          </span><span>this</span><span>.</span><span>cfAiLoadBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>360</div></div><div><span><span>          </span></span><span>cocoMessage</span><span>.</span><span>error</span><span>(</span><span>'已超时，请稍后再试～'</span><span>);</span></div></div><div><div><div>361</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>362</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>363</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>364</div></div><div><span>    </span><span>this</span><span>.</span><span>GeminiFetch</span><span> </span><span>=</span><span> </span><span>"https://lmm-api-gemini.deno.dev/v1/chat/completions"</span><span>;</span></div></div><div><div><div>365</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>366</div></div><div>
</div></div><div><div><div>367</div></div><div><span>  </span><span>_getTheme</span><span>() {</span></div></div><div><div><div>368</div></div><div><span>    </span><span>let</span><span><span> </span><span>getTheme</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"theme"</span><span>);</span></div></div><div><div><div>369</div></div><div><span>    </span><span>if</span><span><span> (</span><span>getTheme</span><span> </span></span><span>!==</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>getTheme</span><span> </span></span><span>==</span><span> </span><span>"dark"</span><span>){</span></div></div><div><div><div>370</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>body</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"dark-theme"</span><span>,</span><span>"dark"</span><span>);</span></div></div><div><div><div>371</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>372</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>body</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"dark-theme"</span><span>,</span><span>"dark"</span><span>);</span></div></div><div><div><div>373</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>374</div></div><div><span>    </span><span>if</span><span><span> (</span><span>getTheme</span><span> </span></span><span>==</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>matchMedia</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>matchMedia</span><span>(</span><span>'(prefers-color-scheme: dark)'</span><span>).</span><span>matches</span><span>) {</span></div></div><div><div><div>375</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>body</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"dark-theme"</span><span>,</span><span>"dark"</span><span>);</span></div></div><div><div><div>376</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>377</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>378</div></div><div>
</div></div><div><div><div>379</div></div><div><span>  </span><span>async</span><span> </span><span>_init</span><span>() {</span></div></div><div><div><div>380</div></div><div><span>    </span><span>// 获取自定义列表</span></div></div><div><div><div>381</div></div><div><span>    </span><span>let</span><span><span> </span><span>memoOurList</span><span>;</span></span></div></div><div><div><div>382</div></div><div><span>    </span><span>if</span><span>(</span><span>typeof</span><span><span> </span><span>memosJson</span><span> </span></span><span>!==</span><span> </span><span>'undefined'</span><span>) {</span></div></div><div><div><div>383</div></div><div><span>      </span><span>try</span><span> {</span></div></div><div><div><div>384</div></div><div><span><span>        </span></span><span>memoOurList</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>this</span><span>.</span><span>_getMemoListData</span><span><span>(</span><span>memosJson</span><span>.</span></span><span>url</span><span>); </span><span>// 获取自定义列表</span></div></div><div><div><div>385</div></div><div><span><span>      </span></span><span>} </span><span>catch</span><span><span> (</span><span>error</span><span>) {</span></span></div></div><div><div><div>386</div></div><div><span><span>        </span></span><span>memoOurList</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memoDefaultList</span></div></div><div><div><div>387</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>388</div></div><div><span><span>    </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>389</div></div><div><span>      </span><span>try</span><span> {</span></div></div><div><div><div>390</div></div><div><span><span>        </span></span><span>memoOurList</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>this</span><span>.</span><span>_getMemoListData</span><span>(</span><span>"https://memobbs.app/memos.json"</span><span>); </span><span>// 获取自定义列表</span></div></div><div><div><div>391</div></div><div><span><span>      </span></span><span>} </span><span>catch</span><span><span> (</span><span>error</span><span>) {</span></span></div></div><div><div><div>392</div></div><div><span><span>        </span></span><span>memoOurList</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memoDefaultList</span></div></div><div><div><div>393</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>394</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>395</div></div><div><span>    </span><span>if</span><span>(</span><span>typeof</span><span> </span><span>this</span><span>.</span><span>memosMyList</span><span> </span><span>!==</span><span> </span><span>'undefined'</span><span>) {</span></div></div><div><div><div>396</div></div><div><span>      </span><span>const</span><span> </span><span>mergedArray</span><span> </span><span>=</span><span> [</span><span>...</span><span>this</span><span>.</span><span>memosMyList</span><span>, </span><span>...</span><span><span>memoOurList</span><span>];</span></span></div></div><div><div><div>397</div></div><div><span>      </span><span>this</span><span>.</span><span>memoList</span><span> </span><span>=</span><span><span> </span><span>mergedArray</span><span>.</span></span><span>filter</span><span><span>((</span><span>item</span><span>, </span><span>index</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>398</div></div><div><span>        </span><span>const</span><span> </span><span>stringifiedItem</span><span> </span><span>=</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>item</span><span>);</span></span></div></div><div><div><div>399</div></div><div><span>        </span><span>return</span><span><span> </span><span>index</span><span> </span></span><span>===</span><span><span> </span><span>mergedArray</span><span>.</span></span><span>findIndex</span><span><span>(</span><span>obj</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>400</div></div><div><span>          </span><span>return</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>obj</span><span>) </span></span><span>===</span><span><span> </span><span>stringifiedItem</span><span>;</span></span></div></div><div><div><div>401</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>402</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>403</div></div><div><span><span>    </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>404</div></div><div><span>      </span><span>this</span><span>.</span><span>memoList</span><span> </span><span>=</span><span><span> </span><span>memoOurList</span></span></div></div><div><div><div>405</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>406</div></div><div>
</div></div><div><div><div>407</div></div><div><span>    </span><span>//查询当前页面 window.location.origin 作为主页展示</span></div></div><div><div><div>408</div></div><div><span>    </span><span>let</span><span><span> </span><span>memobbsAdmin</span><span> </span></span><span>=</span><span> []</span></div></div><div><div><div>409</div></div><div><span>    </span><span>let</span><span><span> </span><span>memobbsLink</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>location</span><span>.</span><span>origin</span><span>;</span></div></div><div><div><div>410</div></div><div><span>    </span><span>let</span><span><span> </span><span>linkIndex</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>findIndex</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span><span> (</span><span>item</span><span>.</span></span><span>website</span><span> </span><span>==</span><span><span> </span><span>memobbsLink</span><span>))</span></span></div></div><div><div><div>411</div></div><div><span>    </span><span>if</span><span><span>(</span><span>linkIndex</span><span> </span></span><span>&gt;=</span><span> </span><span>0</span><span>){</span></div></div><div><div><div>412</div></div><div><span><span>      </span></span><span>memobbsAdmin</span><span>.</span><span>push</span><span>(</span><span>this</span><span>.</span><span>memoList</span><span><span>[</span><span>linkIndex</span><span>])</span></span></div></div><div><div><div>413</div></div><div><span>      </span><span>const</span><span> </span><span>mergedArray2</span><span> </span><span>=</span><span> [</span><span>...</span><span><span>memobbsAdmin</span><span>, </span></span><span>...</span><span>this</span><span>.</span><span>memoList</span><span>];</span></div></div><div><div><div>414</div></div><div><span>      </span><span>this</span><span>.</span><span>memoList</span><span> </span><span>=</span><span><span> </span><span>mergedArray2</span><span>.</span></span><span>filter</span><span><span>((</span><span>item</span><span>, </span><span>index</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>415</div></div><div><span>        </span><span>const</span><span> </span><span>stringifiedItem</span><span> </span><span>=</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>item</span><span>);</span></span></div></div><div><div><div>416</div></div><div><span>        </span><span>return</span><span><span> </span><span>index</span><span> </span></span><span>===</span><span><span> </span><span>mergedArray2</span><span>.</span></span><span>findIndex</span><span><span>(</span><span>obj</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>417</div></div><div><span>          </span><span>return</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>obj</span><span>) </span></span><span>===</span><span><span> </span><span>stringifiedItem</span><span>;</span></span></div></div><div><div><div>418</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>419</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>420</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>421</div></div><div>
</div></div><div><div><div>422</div></div><div><span>    </span><span>this</span><span>.</span><span>nowLink</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosPath</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>[</span><span>0</span><span>].</span><span>link</span><span>;</span></div></div><div><div><div>423</div></div><div><span>    </span><span>if</span><span> (</span><span>!</span><span>this</span><span>.</span><span>nowLink</span><span>.</span><span>endsWith</span><span>(</span><span>'/'</span><span>)) {</span></div></div><div><div><div>424</div></div><div><span>      </span><span>this</span><span>.</span><span>nowLink</span><span> </span><span>+=</span><span> </span><span>'/'</span><span>;</span></div></div><div><div><div>425</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>426</div></div><div><span>    </span><span>this</span><span>.</span><span>nowId</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosMeID</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>[</span><span>0</span><span>].</span><span>creatorId</span><span>;</span></div></div><div><div><div>427</div></div><div><span>    </span><span>this</span><span>.</span><span>nowName</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosMeNickname</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>[</span><span>0</span><span>].</span><span>creatorName</span><span>;</span></div></div><div><div><div>428</div></div><div><span>    </span><span>this</span><span>.</span><span>nowAvatar</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosMeAvatarUrl</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>[</span><span>0</span><span>].</span><span>avatar</span><span>;</span></div></div><div><div><div>429</div></div><div><span>    </span><span>this</span><span>.</span><span>nowV1</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>[</span><span>0</span><span>].</span><span>v1</span><span> </span><span>||</span><span> </span><span>'memo'</span></div></div><div><div><div>430</div></div><div><span>    </span><span>this</span><span>.</span><span>_memoFollow</span><span>(</span><span>this</span><span>.</span><span>getMode</span><span>);</span></div></div><div><div><div>431</div></div><div><span>    </span><span>this</span><span>.</span><span>_getEditIcon</span><span>();</span></div></div><div><div><div>432</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>433</div></div><div>
</div></div><div><div><div>434</div></div><div><span>  </span><span>// 获取自定义 memos.json 订阅列表</span></div></div><div><div><div>435</div></div><div><span>  </span><span>async</span><span> </span><span>_getMemoListData</span><span><span>(</span><span>url</span><span>) {</span></span></div></div><div><div><div>436</div></div><div><span>    </span><span>const</span><span> </span><span>response</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>url</span><span>);</span></span></div></div><div><div><div>437</div></div><div><span>    </span><span>const</span><span> </span><span>data</span><span> </span><span>=</span><span> </span><span>await</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>438</div></div><div><span>    </span><span>if</span><span>(</span><span>this</span><span>.</span><span>filterName</span><span>){</span></div></div><div><div><div>439</div></div><div><span>      </span><span>let</span><span><span> </span><span>namesToRemove</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>filterName</span><span>.</span><span>replace</span><span>(</span><span>/，/</span><span>g</span><span>, </span><span>","</span><span>).</span><span>split</span><span>(</span><span>','</span><span>);</span></div></div><div><div><div>440</div></div><div><span>      </span><span>for</span><span> (</span><span>let</span><span><span> </span><span>name</span><span> </span></span><span>of</span><span><span> </span><span>namesToRemove</span><span>) {</span></span></div></div><div><div><div>441</div></div><div><span>      </span><span>let</span><span><span> </span><span>nameIndex</span><span> </span></span><span>=</span><span><span> </span><span>data</span><span>.</span></span><span>myMemoList</span><span>.</span><span>findIndex</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span><span> (</span><span>item</span><span>.</span></span><span>creatorName</span><span> </span><span>==</span><span><span> </span><span>name</span><span>));</span></span></div></div><div><div><div>442</div></div><div><span>        </span><span>if</span><span><span> (</span><span>nameIndex</span><span> </span></span><span>!==</span><span> </span><span>-</span><span>1</span><span>) {</span></div></div><div><div><div>443</div></div><div><span>          </span><span>delete</span><span><span> </span><span>data</span><span>.</span></span><span>myMemoList</span><span>.</span><span>splice</span><span><span>(</span><span>nameIndex</span><span>, </span></span><span>1</span><span>);</span></div></div><div><div><div>444</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>445</div></div><div><span><span>      </span></span><span>};</span></div></div><div><div><div>446</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>447</div></div><div><span>    </span><span>return</span><span><span> </span><span>data</span><span>.</span></span><span>myMemoList</span></div></div><div><div><div>448</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>449</div></div><div>
</div></div><div><div><div>450</div></div><div><span>  </span><span>_memoFollow</span><span><span>(</span><span>mode</span><span>) {</span></span></div></div><div><div><div>451</div></div><div><span>    </span><span>//记忆显示模式</span></div></div><div><div><div>452</div></div><div><span>    </span><span>this</span><span>.</span><span>usernowBtnDom</span><span>.</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'current'</span><span>);})</span></div></div><div><div><div>453</div></div><div><span>    </span><span>if</span><span><span>(</span><span>mode</span><span> </span></span><span>==</span><span> </span><span>"MEMOSHOME"</span><span>){</span></div></div><div><div><div>454</div></div><div><span>      </span><span>this</span><span>.</span><span>goHomeBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>455</div></div><div><span>      </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>,</span><span>""</span><span>,</span><span>""</span><span>,</span><span>"MEMOSHOME"</span><span>)</span></div></div><div><div><div>456</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>mode</span><span> </span></span><span>==</span><span> </span><span>"MEMOSBBS"</span><span>){</span></div></div><div><div><div>457</div></div><div><span>      </span><span>this</span><span>.</span><span>goBbsBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>458</div></div><div><span>      </span><span>this</span><span>.</span><span>_getMemos</span><span>();</span></div></div><div><div><div>459</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>mode</span><span> </span></span><span>==</span><span> </span><span>"RANDUSER"</span><span>){</span></div></div><div><div><div>460</div></div><div><span>      </span><span>this</span><span>.</span><span>randomUserBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>461</div></div><div><span>      </span><span>this</span><span>.</span><span>_goRandUser</span><span>()</span></div></div><div><div><div>462</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>mode</span><span> </span></span><span>==</span><span> </span><span>"NOPUBLIC"</span><span>){</span></div></div><div><div><div>463</div></div><div><span>      </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>,</span><span>""</span><span>,</span><span>""</span><span><span>,</span><span>mode</span><span>)</span></span></div></div><div><div><div>464</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>mode</span><span> </span></span><span>==</span><span> </span><span>"oneday"</span><span>){</span></div></div><div><div><div>465</div></div><div><span>      </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>,</span><span>""</span><span>,</span><span>""</span><span><span>,</span><span>mode</span><span>)</span></span></div></div><div><div><div>466</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>467</div></div><div><span>      </span><span>this</span><span>.</span><span>goHomeBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>468</div></div><div><span>      </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>,</span><span>""</span><span>,</span><span>""</span><span>,</span><span>""</span><span>)</span></div></div><div><div><div>469</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>470</div></div><div>
</div></div><div><div><div>471</div></div><div><span>    </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>472</div></div><div><span>      </span><span>if</span><span>(</span><span>this</span><span>.</span><span>page</span><span> </span><span>&lt;</span><span> </span><span>this</span><span>.</span><span>dataNum</span><span>) {</span></div></div><div><div><div>473</div></div><div><span>        </span><span>this</span><span>.</span><span>page</span><span>++</span><span>;</span></div></div><div><div><div>474</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>475</div></div><div><span>      </span><span>this</span><span>.</span><span>_updateData</span><span>(</span><span>this</span><span>.</span><span>memoData</span><span>)</span></div></div><div><div><div>476</div></div><div><span><span>      </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>"加载中"</span><span>);</span></div></div><div><div><div>477</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>478</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>479</div></div><div>
</div></div><div><div><div>480</div></div><div><span>  </span><span>async</span><span> </span><span>_getMemoCount</span><span><span>(</span><span>m</span><span>) {</span></span></div></div><div><div><div>481</div></div><div><span>    </span><span>let</span><span><span> </span><span>twikooData</span><span> </span></span><span>=</span><span><span> </span><span>m</span><span>.</span></span><span>filter</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span><span> </span><span>item</span><span>.</span></span><span>twikoo</span><span>);</span></div></div><div><div><div>482</div></div><div><span>    </span><span>if</span><span><span> (</span><span>twikooData</span><span>.</span></span><span>length</span><span> </span><span>!==</span><span> </span><span>0</span><span>) {</span></div></div><div><div><div>483</div></div><div><span>      </span><span>let</span><span><span> </span><span>twikooRes</span><span> </span></span><span>=</span><span> {};</span></div></div><div><div><div>484</div></div><div><span>      </span><span>for</span><span> (</span><span>const</span><span> { </span><span>creatorName</span><span>, </span><span>twikoo</span><span>, </span><span>link</span><span>, </span><span>id</span><span> } </span><span>of</span><span><span> </span><span>twikooData</span><span>) {</span></span></div></div><div><div><div>485</div></div><div><span>        </span><span>if</span><span> (</span><span>!</span><span><span>twikooRes</span><span>[</span><span>creatorName</span><span>]) {</span></span></div></div><div><div><div>486</div></div><div><span><span>          </span></span><span>twikooRes</span><span>[</span><span>creatorName</span><span>] </span><span>=</span><span> {</span></div></div><div><div><div>487</div></div><div><span><span>            </span></span><span>creatorName</span><span>,</span></div></div><div><div><div>488</div></div><div><span>            </span><span>envId</span><span>:</span><span><span> </span><span>twikoo</span><span>,</span></span></div></div><div><div><div>489</div></div><div><span>            </span><span>urls</span><span>:</span><span> []</span></div></div><div><div><div>490</div></div><div><span><span>          </span></span><span>};</span></div></div><div><div><div>491</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>492</div></div><div><span><span>        </span></span><span>twikooRes</span><span>[</span><span>creatorName</span><span>].</span><span>urls</span><span>.</span><span>push</span><span>(</span><span>`</span><span>${</span><span>link</span><span>}</span><span>m/</span><span>${</span><span>id</span><span>}</span><span>`</span><span>);</span></div></div><div><div><div>493</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>494</div></div><div><span>      </span><span>let</span><span><span> </span><span>twikooList</span><span> </span></span><span>=</span><span><span> </span><span>Object</span><span>.</span></span><span>values</span><span><span>(</span><span>twikooRes</span><span>);</span></span></div></div><div><div><div>495</div></div><div><span>      </span><span>let</span><span><span> </span><span>twikooPromise</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>Promise</span><span>.</span><span>all</span><span>(</span></div></div><div><div><div>496</div></div><div><span><span>        </span></span><span>twikooList</span><span>.</span><span>map</span><span>(</span><span>async</span><span><span> (</span><span>item</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>497</div></div><div><span>          </span><span>try</span><span> {</span></div></div><div><div><div>498</div></div><div><span>            </span><span>let</span><span><span> </span><span>res</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>twikoo</span><span>.</span></span><span>getCommentsCount</span><span>({</span></div></div><div><div><div>499</div></div><div><span>              </span><span>envId</span><span>:</span><span><span> </span><span>item</span><span>.</span></span><span>envId</span><span>,</span></div></div><div><div><div>500</div></div><div><span>              </span><span>urls</span><span>:</span><span><span> </span><span>item</span><span>.</span></span><span>urls</span><span>,</span></div></div><div><div><div>501</div></div><div><span>              </span><span>includeReply</span><span>:</span><span> </span><span>false</span></div></div><div><div><div>502</div></div><div><span><span>            </span></span><span>});</span></div></div><div><div><div>503</div></div><div><span>            </span><span>return</span><span><span> </span><span>res</span><span>;</span></span></div></div><div><div><div>504</div></div><div><span><span>          </span></span><span>} </span><span>catch</span><span><span> (</span><span>err</span><span>) {</span></span></div></div><div><div><div>505</div></div><div><span><span>            </span></span><span>console</span><span>.</span><span>error</span><span><span>(</span><span>err</span><span>);</span></span></div></div><div><div><div>506</div></div><div><span>            </span><span>return</span><span> [];</span></div></div><div><div><div>507</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>508</div></div><div><span><span>        </span></span><span>})</span></div></div><div><div><div>509</div></div><div><span><span>      </span></span><span>);</span></div></div><div><div><div>510</div></div><div><span>      </span><span>this</span><span>.</span><span>twikooCount</span><span> </span><span>=</span><span><span> </span><span>twikooPromise</span><span>.</span></span><span>flatMap</span><span><span>(</span><span>r</span><span> </span></span><span>=&gt;</span><span><span> </span><span>r</span><span>);</span></span></div></div><div><div><div>511</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>512</div></div><div><span>    </span><span>let</span><span><span> </span><span>artalkData</span><span> </span></span><span>=</span><span><span> </span><span>m</span><span>.</span></span><span>filter</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span><span> </span><span>item</span><span>.</span></span><span>artalk</span><span>);</span></div></div><div><div><div>513</div></div><div><span>    </span><span>if</span><span><span> (</span><span>artalkData</span><span>.</span></span><span>length</span><span> </span><span>!==</span><span> </span><span>0</span><span>) {</span></div></div><div><div><div>514</div></div><div><span>      </span><span>let</span><span><span> </span><span>artalkRes</span><span> </span></span><span>=</span><span> {};</span></div></div><div><div><div>515</div></div><div><span>      </span><span>for</span><span> (</span><span>const</span><span> { </span><span>creatorName</span><span>, </span><span>artalk</span><span>, </span><span>artSite</span><span>, </span><span>link</span><span>, </span><span>id</span><span> } </span><span>of</span><span><span> </span><span>artalkData</span><span>) {</span></span></div></div><div><div><div>516</div></div><div><span>        </span><span>if</span><span> (</span><span>!</span><span><span>artalkRes</span><span>[</span><span>creatorName</span><span>]) {</span></span></div></div><div><div><div>517</div></div><div><span><span>          </span></span><span>artalkRes</span><span>[</span><span>creatorName</span><span>] </span><span>=</span><span> {</span></div></div><div><div><div>518</div></div><div><span><span>            </span></span><span>creatorName</span><span>,</span></div></div><div><div><div>519</div></div><div><span>            </span><span>envId</span><span>:</span><span><span> </span><span>artalk</span><span>,</span></span></div></div><div><div><div>520</div></div><div><span>            </span><span>site_name</span><span>:</span><span><span> </span><span>artSite</span><span>,</span></span></div></div><div><div><div>521</div></div><div><span><span>            </span></span><span>link</span><span>,</span></div></div><div><div><div>522</div></div><div><span>            </span><span>urls</span><span>:</span><span> []</span></div></div><div><div><div>523</div></div><div><span><span>          </span></span><span>};</span></div></div><div><div><div>524</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>525</div></div><div><span><span>        </span></span><span>artalkRes</span><span>[</span><span>creatorName</span><span>].</span><span>urls</span><span>.</span><span>push</span><span>(</span><span>`/m/</span><span>${</span><span>id</span><span>}</span><span>`</span><span>);</span></div></div><div><div><div>526</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>527</div></div><div><span>      </span><span>let</span><span><span> </span><span>artalkList</span><span> </span></span><span>=</span><span><span> </span><span>Object</span><span>.</span></span><span>values</span><span><span>(</span><span>artalkRes</span><span>);</span></span></div></div><div><div><div>528</div></div><div><span>      </span><span>let</span><span><span> </span><span>artalkPromise</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>Promise</span><span>.</span><span>all</span><span>(</span></div></div><div><div><div>529</div></div><div><span><span>        </span></span><span>artalkList</span><span>.</span><span>map</span><span>(</span><span>async</span><span><span> (</span><span>item</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>530</div></div><div><span>          </span><span>try</span><span> {</span></div></div><div><div><div>531</div></div><div><span>            </span><span>let</span><span><span> </span><span>pageKeys</span><span> </span></span><span>=</span><span><span> </span><span>item</span><span>.</span></span><span>urls</span><span>.</span><span>join</span><span>(</span><span>','</span><span>);</span></div></div><div><div><div>532</div></div><div><span>            </span><span>let</span><span><span> </span><span>siteName</span><span> </span></span><span>=</span><span><span> </span><span>item</span><span>.</span></span><span>site_name</span><span>;</span></div></div><div><div><div>533</div></div><div><span>            </span><span>let</span><span><span> </span><span>response</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span>(</span><span>`</span><span>${</span><span>item</span><span>.</span><span>envId</span><span>}</span><span>/api/v2/stats/page_comment?page_keys=</span><span>${</span><span>pageKeys</span><span>}</span><span>&amp;site_name=</span><span>${</span><span>siteName</span><span>}</span><span>`</span><span>);</span></div></div><div><div><div>534</div></div><div><span>            </span><span>if</span><span> (</span><span>!</span><span><span>response</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>535</div></div><div><span>              </span><span>throw</span><span> </span><span>new</span><span> </span><span>Error</span><span>(</span><span>`Request failed`</span><span>);</span></div></div><div><div><div>536</div></div><div><span><span>            </span></span><span>}</span></div></div><div><div><div>537</div></div><div><span>            </span><span>let</span><span><span> </span><span>results</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>538</div></div><div><span>            </span><span>let</span><span><span> </span><span>countList</span><span> </span></span><span>=</span><span><span> </span><span>item</span><span>.</span></span><span>urls</span><span>.</span><span>map</span><span><span>(</span><span>url</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>539</div></div><div><span>              </span><span>let</span><span><span> </span><span>count</span><span> </span></span><span>=</span><span><span> </span><span>results</span><span>.</span></span><span>data</span><span><span>[</span><span>url</span><span>] </span></span><span>||</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>540</div></div><div><span>              </span><span>return</span><span> { </span><span>url</span><span>:</span><span><span> </span><span>item</span><span>.</span></span><span>link</span><span> </span><span>+</span><span><span> </span><span>url</span><span>, </span><span>count</span><span> };</span></span></div></div><div><div><div>541</div></div><div><span><span>            </span></span><span>});</span></div></div><div><div><div>542</div></div><div><span>            </span><span>return</span><span><span> </span><span>countList</span><span>;</span></span></div></div><div><div><div>543</div></div><div><span><span>          </span></span><span>} </span><span>catch</span><span><span> (</span><span>err</span><span>) {</span></span></div></div><div><div><div>544</div></div><div><span>            </span><span>return</span><span> [];</span></div></div><div><div><div>545</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>546</div></div><div><span><span>        </span></span><span>})</span></div></div><div><div><div>547</div></div><div><span><span>      </span></span><span>)</span></div></div><div><div><div>548</div></div><div><span>      </span><span>this</span><span>.</span><span>artalkCount</span><span> </span><span>=</span><span><span> </span><span>artalkPromise</span><span>.</span></span><span>flatMap</span><span><span>(</span><span>r</span><span> </span></span><span>=&gt;</span><span><span> </span><span>r</span><span>);</span></span></div></div><div><div><div>549</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>550</div></div><div><span>    </span><span>for</span><span> (</span><span>const</span><span> </span><span>item</span><span> </span><span>of</span><span><span> </span><span>m</span><span>) {</span></span></div></div><div><div><div>551</div></div><div><span>      </span><span>let</span><span><span> </span><span>count</span><span> </span></span><span>=</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>552</div></div><div><span>      </span><span>let</span><span><span> </span><span>url</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>item</span><span>.</span><span>link</span><span>}</span><span>/m/</span><span>${</span><span>item</span><span>.</span><span>id</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>553</div></div><div><span>      </span><span>if</span><span><span> (</span><span>item</span><span>.</span></span><span>twikoo</span><span>) {</span></div></div><div><div><div>554</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoCount</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>twikooCount</span><span>.</span><span>find</span><span><span>((</span><span>o</span><span>) </span></span><span>=&gt;</span><span><span> </span><span>o</span><span>.</span></span><span>url</span><span> </span><span>===</span><span><span> </span><span>url</span><span>);</span></span></div></div><div><div><div>555</div></div><div><span>        </span><span>if</span><span><span> (</span><span>memoCount</span><span>) {</span></span></div></div><div><div><div>556</div></div><div><span><span>          </span></span><span>count</span><span> </span><span>=</span><span><span> </span><span>memoCount</span><span>.</span></span><span>count</span><span>;</span></div></div><div><div><div>557</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>558</div></div><div><span><span>      </span></span><span>} </span><span>else</span><span> </span><span>if</span><span><span> (</span><span>item</span><span>.</span></span><span>artalk</span><span>) {</span></div></div><div><div><div>559</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoCount</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>artalkCount</span><span>.</span><span>find</span><span><span>((</span><span>o</span><span>) </span></span><span>=&gt;</span><span><span> </span><span>o</span><span>.</span></span><span>url</span><span> </span><span>===</span><span><span> </span><span>url</span><span>);</span></span></div></div><div><div><div>560</div></div><div><span>        </span><span>if</span><span><span> (</span><span>memoCount</span><span>) {</span></span></div></div><div><div><div>561</div></div><div><span><span>          </span></span><span>count</span><span> </span><span>=</span><span><span> </span><span>memoCount</span><span>.</span></span><span>count</span><span>;</span></div></div><div><div><div>562</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>563</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>564</div></div><div><span><span>      </span></span><span>item</span><span>.</span><span>count</span><span> </span><span>=</span><span><span> </span><span>count</span><span>;</span></span></div></div><div><div><div>565</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>566</div></div><div><span>    </span><span>return</span><span><span> </span><span>m</span><span>;</span></span></div></div><div><div><div>567</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>568</div></div><div>
</div></div><div><div><div>569</div></div><div><span>  </span><span>_updateData</span><span><span>(</span><span>res</span><span>) {</span></span></div></div><div><div><div>570</div></div><div><span>    </span><span>let</span><span><span> </span><span>oneDayTag</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-oneday-tag"</span><span>);</span></div></div><div><div><div>571</div></div><div><span>    </span><span>if</span><span><span>(</span><span>oneDayTag</span><span> </span></span><span>!==</span><span> </span><span>null</span><span>){</span></div></div><div><div><div>572</div></div><div><span>      </span><span>const</span><span> </span><span>firstItem</span><span> </span><span>=</span><span><span> </span><span>res</span><span>.</span></span><span>slice</span><span>(</span><span>0</span><span>, </span><span>1</span><span>);</span></div></div><div><div><div>573</div></div><div><span>      </span><span>const</span><span> </span><span>restItems</span><span> </span><span>=</span><span><span> </span><span>res</span><span>.</span></span><span>slice</span><span>(</span><span>1</span><span>);</span></div></div><div><div><div>574</div></div><div><span>      </span><span>// 对后面的内容进行排序</span></div></div><div><div><div>575</div></div><div><span><span>      </span></span><span>restItems</span><span>.</span><span>sort</span><span><span>((</span><span>a</span><span>, </span><span>b</span><span>) </span></span><span>=&gt;</span><span><span> </span><span>b</span><span>.</span></span><span>createdTs</span><span> </span><span>-</span><span><span> </span><span>a</span><span>.</span></span><span>createdTs</span><span>);</span></div></div><div><div><div>576</div></div><div><span>      </span><span>// 将两部分合并在一起</span></div></div><div><div><div>577</div></div><div><span>      </span><span>const</span><span> </span><span>sortedArray</span><span> </span><span>=</span><span><span> </span><span>firstItem</span><span>.</span></span><span>concat</span><span><span>(</span><span>restItems</span><span>);</span></span></div></div><div><div><div>578</div></div><div><span>      </span><span>// 返回排序后的数组</span></div></div><div><div><div>579</div></div><div><span>      </span><span>this</span><span>.</span><span>_pagination</span><span><span>(</span><span>sortedArray</span><span>)</span></span></div></div><div><div><div>580</div></div><div><span>      </span><span>this</span><span>.</span><span>dataNum</span><span> </span><span>=</span><span><span> </span><span>Math</span><span>.</span></span><span>ceil</span><span><span>(</span><span>sortedArray</span><span>.</span></span><span>length</span><span>/</span><span>this</span><span>.</span><span>limit</span><span>);</span></div></div><div><div><div>581</div></div><div><span>      </span><span>this</span><span>.</span><span>nums</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>dataNum</span><span> </span><span>-</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>582</div></div><div><span>      </span><span>if</span><span> (</span><span>this</span><span>.</span><span>page</span><span> </span><span>&gt;</span><span> </span><span>this</span><span>.</span><span>nums</span><span>) {</span></div></div><div><div><div>583</div></div><div><span>        </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>584</div></div><div><span>        </span><span>return</span></div></div><div><div><div>585</div></div><div><span><span>      </span></span><span>};</span></div></div><div><div><div>586</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>587</div></div><div><span><span>      </span></span><span>res</span><span>.</span><span>sort</span><span><span>((</span><span>i</span><span>,</span><span>o</span><span>)</span></span><span>=&gt;</span><span>{</span></div></div><div><div><div>588</div></div><div><span>        </span><span>return</span><span><span>( </span><span>o</span><span>.</span></span><span>createdTs</span><span> </span><span>-</span><span><span> </span><span>i</span><span>.</span></span><span>createdTs</span><span>)</span></div></div><div><div><div>589</div></div><div><span><span>      </span></span><span>})</span></div></div><div><div><div>590</div></div><div><span>      </span><span>this</span><span>.</span><span>_pagination</span><span><span>(</span><span>res</span><span>)</span></span></div></div><div><div><div>591</div></div><div><span>      </span><span>this</span><span>.</span><span>dataNum</span><span> </span><span>=</span><span><span> </span><span>Math</span><span>.</span></span><span>ceil</span><span><span>(</span><span>res</span><span>.</span></span><span>length</span><span>/</span><span>this</span><span>.</span><span>limit</span><span>);</span></div></div><div><div><div>592</div></div><div><span>      </span><span>this</span><span>.</span><span>nums</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>dataNum</span><span> </span><span>-</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>593</div></div><div><span>      </span><span>if</span><span> (</span><span>this</span><span>.</span><span>page</span><span> </span><span>&gt;</span><span> </span><span>this</span><span>.</span><span>nums</span><span>) {</span></div></div><div><div><div>594</div></div><div><span>        </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>595</div></div><div><span>        </span><span>return</span></div></div><div><div><div>596</div></div><div><span><span>      </span></span><span>};</span></div></div><div><div><div>597</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>598</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>599</div></div><div>
</div></div><div><div><div>600</div></div><div><span>  </span><span>_pagination</span><span><span>(</span><span>data</span><span>) {</span></span></div></div><div><div><div>601</div></div><div><span>    </span><span>this</span><span>.</span><span>memosStr</span><span> </span><span>=</span><span> [];</span></div></div><div><div><div>602</div></div><div><span>    </span><span>var</span><span><span> </span><span>last</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>page</span><span> </span><span>*</span><span> </span><span>this</span><span>.</span><span>limit</span><span> </span><span>-</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>603</div></div><div><span><span>    </span></span><span>last</span><span> </span><span>=</span><span><span> </span><span>last</span><span> </span></span><span>&gt;=</span><span><span> </span><span>data</span><span>.</span></span><span>length</span><span> </span><span>?</span><span><span> (</span><span>data</span><span>.</span></span><span>length</span><span> </span><span>-</span><span> </span><span>1</span><span>) </span><span>:</span><span><span> </span><span>last</span><span>;</span></span></div></div><div><div><div>604</div></div><div><span>    </span><span>for</span><span> (</span><span>var</span><span><span> </span><span>i</span><span> </span></span><span>=</span><span> (</span><span>this</span><span>.</span><span>page</span><span> </span><span>*</span><span> </span><span>this</span><span>.</span><span>limit</span><span> </span><span>-</span><span> </span><span>this</span><span>.</span><span>limit</span><span><span>); </span><span>i</span><span> </span></span><span>&lt;=</span><span><span> </span><span>last</span><span>; </span><span>i</span></span><span>++</span><span>) {</span></div></div><div><div><div>605</div></div><div><span>      </span><span>this</span><span>.</span><span>memosStr</span><span>.</span><span>push</span><span><span>(</span><span>data</span><span>[</span><span>i</span><span>])</span></span></div></div><div><div><div>606</div></div><div><span><span>    </span></span><span>};</span></div></div><div><div><div>607</div></div><div><span>    </span><span>this</span><span>.</span><span>_updateHtml</span><span>(</span><span>this</span><span>.</span><span>memosStr</span><span>);</span></div></div><div><div><div>608</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>609</div></div><div>
</div></div><div><div><div>610</div></div><div><span>  </span><span>// 插入 html</span></div></div><div><div><div>611</div></div><div><span>  </span><span>async</span><span> </span><span>_updateHtml</span><span><span>(</span><span>data</span><span>) {</span></span></div></div><div><div><div>612</div></div><div><span>    </span><span>let</span><span><span> </span><span>oneDayClass</span><span> </span></span><span>=</span><span> </span><span>"oneday"</span><span>;</span></div></div><div><div><div>613</div></div><div><span>    </span><span>let</span><span><span> </span><span>tagnowHas</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow"</span><span>)</span></div></div><div><div><div>614</div></div><div><span>    </span><span>this</span><span>.</span><span>memosMode</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-mode"</span><span>);</span></div></div><div><div><div>615</div></div><div><span>    </span><span>let</span><span><span> </span><span>oneDayTag</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-oneday-tag"</span><span>);</span></div></div><div><div><div>616</div></div><div><span>    </span><span>let</span><span><span> </span><span>result</span><span> </span></span><span>=</span><span> </span><span>''</span><span><span>,</span><span>itemOption</span><span> </span></span><span>=</span><span> </span><span>''</span><span><span>,</span><span>itemContent</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>617</div></div><div><span>    </span><span>let</span><span> </span><span>TAG_REG</span><span> </span><span>=</span><span> </span><span>/#(</span><span>[</span><span>^</span><span><span>#</span><span>\s</span><span>!</span><span>.</span><span>,;:?"'()]</span></span><span><span>+</span><span>)(?= )/</span></span><span>g</span><span>,</span></div></div><div><div><div>618</div></div><div><span>      </span><span>IMG_REG</span><span> </span><span>=</span><span><span> /</span><span>\!\[</span><span>(</span></span><span>.</span><span><span>*?</span><span>)</span><span>\]\(</span><span>(</span></span><span>.</span><span><span>*?</span><span>)</span><span>\)</span><span>/</span></span><span>g</span><span>,</span></div></div><div><div><div>619</div></div><div><span>      </span><span>LINK_REG</span><span> </span><span>=</span><span><span> /(?&lt;!!)</span><span>\[</span><span>(</span></span><span>.</span><span><span>*?</span><span>)</span><span>\]\(</span><span>(</span></span><span>.</span><span><span>*?</span><span>)</span><span>\)</span><span>/</span></span><span>g</span><span>,</span></div></div><div><div><div>620</div></div><div><span>      </span><span>LINE_REG</span><span> </span><span>=</span><span> /</span><span>\n</span><span>/</span><span>g</span><span>,</span></div></div><div><div><div>621</div></div><div><span>      </span><span>BLOCKQUDTE_REG</span><span> </span><span>=</span><span><span> /</span><span>\&gt;</span></span><span>.</span><span>*</span><span>$</span><span>/</span><span>g</span><span>,</span></div></div><div><div><div>622</div></div><div><span>      </span><span>CODE_REG</span><span> </span><span>=</span><span><span> /</span><span>\`</span><span>``</span></span><span>.</span><span>*</span><span>$</span><span>/</span><span>g</span><span>,</span></div></div><div><div><div>623</div></div><div><span>      </span><span>DOUDB_LINK_REG</span><span> </span><span>=</span><span> </span><span><span>/(https:</span><span>\/\/</span><span>(www</span><span>|</span><span>movie</span><span>|</span><span>book)</span><span>\.</span><span>douban</span><span>\.</span><span>com</span><span>\/</span><span>(game</span><span>|</span><span>subject)</span><span>\/</span></span><span>[0-9]</span><span><span>+</span><span>\/</span><span>)</span></span><span>.</span><span><span>*?</span><span>/</span></span><span>g</span><span>,</span></div></div><div><div><div>624</div></div><div><span>      </span><span>NEODB_LINK_REG</span><span> </span><span>=</span><span> </span><span><span>/(https:</span><span>\/\/</span><span>neodb</span><span>\.</span><span>social</span><span>\/</span><span>(game</span><span>|</span><span>movie</span><span>|</span><span>tv</span><span>\/</span><span>season</span><span>|</span><span>book)</span><span>\/</span></span><span>[0-9a-zA-Z]</span><span><span>+</span><span>)(?= )/</span></span><span>g</span><span>,</span></div></div><div><div><div>625</div></div><div><span>      </span><span>BILIBILI_REG2</span><span> </span><span>=</span><span> /{ bilibili (</span><span>[0-9a-zA-Z]</span><span><span>+</span><span>) }/</span></span><span>g</span><span>,</span></div></div><div><div><div>626</div></div><div><span>      </span><span>BILIBILI_REG</span><span> </span><span>=</span><span> </span><span>/&lt;a</span><span>.</span><span><span>*?</span><span>href="https:</span><span>\/\/</span><span>www</span><span>\.</span><span>bilibili</span><span>\.</span><span>com</span><span>\/</span><span>video</span><span>\/</span><span>((av</span></span><span><span>[</span><span>\d</span><span>]</span></span><span><span>{1,10}</span><span>)</span><span>|</span><span>(BV(</span></span><span><span>[</span><span>\w</span><span>]</span></span><span><span>{10}</span><span>)))</span><span>\/</span><span>?</span><span>"</span></span><span>.</span><span><span>*?</span><span>&gt;</span></span><span>.</span><span><span>*</span><span>&lt;</span><span>\/</span><span>a&gt;/</span></span><span>g</span><span>,</span></div></div><div><div><div>627</div></div><div><span>      </span><span>NETEASE_MUSIC_REG</span><span> </span><span>=</span><span> /&lt;a</span><span>.</span><span><span>*?</span><span>href="https:</span><span>\/\/</span><span>music</span><span>\.</span><span>163</span><span>\.</span><span>com</span><span>\/</span></span><span>.</span><span><span>*</span><span>id=(</span></span><span>[0-9]</span><span><span>+</span><span>)"</span></span><span>.</span><span><span>*?</span><span>&gt;</span></span><span>.</span><span><span>*</span><span>&lt;</span><span>\/</span><span>a&gt;/</span></span><span>g</span><span>,</span></div></div><div><div><div>628</div></div><div><span>      </span><span>QQMUSIC_REG</span><span> </span><span>=</span><span> /&lt;a</span><span>.</span><span><span>*?</span><span>href="https</span><span>\:\/\/</span><span>y</span><span>\.</span><span>qq</span><span>\.</span><span>com</span><span>\/</span></span><span>.</span><span><span>*</span><span>(</span><span>\/</span></span><span>[0-9a-zA-Z]</span><span><span>+</span><span>)(</span><span>\.</span><span>html)</span><span>?</span><span>"</span></span><span>.</span><span><span>*?</span><span>&gt;</span></span><span>.</span><span><span>*?</span><span>&lt;</span><span>\/</span><span>a&gt;/</span></span><span>g</span><span>,</span></div></div><div><div><div>629</div></div><div><span>      </span><span>QQVIDEO_REG</span><span> </span><span>=</span><span> /&lt;a</span><span>.</span><span><span>*?</span><span>href="https:</span><span>\/\/</span><span>v</span><span>\.</span><span>qq</span><span>\.</span><span>com</span><span>\/</span></span><span>.</span><span><span>*</span><span>\/</span><span>(</span></span><span>[a-z|A-Z|0-9]</span><span><span>+</span><span>)</span><span>\.</span><span>html"</span></span><span>.</span><span><span>*?</span><span>&gt;</span></span><span>.</span><span><span>*</span><span>&lt;</span><span>\/</span><span>a&gt;/</span></span><span>g</span><span>,</span></div></div><div><div><div>630</div></div><div><span>      </span><span>YOUKU_REG</span><span> </span><span>=</span><span> /&lt;a</span><span>.</span><span><span>*?</span><span>href="https:</span><span>\/\/</span><span>v</span><span>\.</span><span>youku</span><span>\.</span><span>com</span><span>\/</span></span><span>.</span><span><span>*</span><span>\/</span><span>id_(</span></span><span>[a-z|A-Z|0-9|==]</span><span><span>+</span><span>)</span><span>\.</span><span>html"</span></span><span>.</span><span><span>*?</span><span>&gt;</span></span><span>.</span><span><span>*</span><span>&lt;</span><span>\/</span><span>a&gt;/</span></span><span>g</span><span>,</span></div></div><div><div><div>631</div></div><div><span>      </span><span>YOUTUBE_REG</span><span> </span><span>=</span><span> /&lt;a</span><span>.</span><span><span>*?</span><span>href="https:</span><span>\/\/</span><span>www</span><span>\.</span><span>youtube</span><span>\.</span><span>com</span><span>\/</span><span>watch</span><span>\?</span><span>v</span><span>\=</span><span>(</span></span><span>[a-z|A-Z|0-9]</span><span><span>{11}</span><span>)</span><span>\"</span></span><span>.</span><span><span>*?</span><span>&gt;</span></span><span>.</span><span><span>*</span><span>&lt;</span><span>\/</span><span>a&gt;/</span></span><span>g</span><span>,</span></div></div><div><div><div>632</div></div><div><span>      </span><span>APLAYER_REG</span><span> </span><span>=</span><span><span> /</span><span>\{</span><span>aplayer:</span></span><span>[</span><span>^</span><span>}]</span><span><span>+</span><span>\}</span><span>/</span></span><span>g</span><span>,</span></div></div><div><div><div>633</div></div><div><span>      </span><span>SONG_TITLE_REG</span><span> </span><span>=</span><span> /(?&lt;=title:)</span><span>[</span><span>^</span><span>;]</span><span><span>+</span><span>/</span></span><span>i</span><span>,</span></div></div><div><div><div>634</div></div><div><span>      </span><span>SONG_ARTIST_REG</span><span> </span><span>=</span><span> /(?&lt;=artist:)</span><span>[</span><span>^</span><span>;]</span><span><span>+</span><span>/</span></span><span>i</span><span>,</span></div></div><div><div><div>635</div></div><div><span>      </span><span>SONG_COVER_REG</span><span> </span><span>=</span><span> /(?&lt;=cover:)</span><span>[</span><span>^</span><span>;]</span><span><span>+</span><span>/</span></span><span>i</span><span>,</span></div></div><div><div><div>636</div></div><div><span>      </span><span>APLAYER_SERVER_REG</span><span> </span><span>=</span><span> /(?&lt;=server:)(</span><span>[</span><span>^</span><span>;]</span><span><span>+</span><span>)/</span></span><span>i</span><span>,</span></div></div><div><div><div>637</div></div><div><span>      </span><span>APLAYER_ID_REG</span><span> </span><span>=</span><span> /(?&lt;=id:)</span><span>[</span><span>^</span><span>}]</span><span><span>+</span><span>/</span></span><span>i</span><span>,</span></div></div><div><div><div>638</div></div><div><span>      </span><span>APLAYER_TYPE_REG</span><span> </span><span>=</span><span> /(?&lt;=type:)</span><span>[</span><span>^</span><span>;]</span><span><span>+</span><span>/</span></span><span>i</span><span>;</span></div></div><div><div><div>639</div></div><div>
</div></div><div><div><div>640</div></div><div><span><span>      </span></span><span>marked</span><span>.</span><span>setOptions</span><span>({</span></div></div><div><div><div>641</div></div><div><span>        </span><span>breaks</span><span>:</span><span> </span><span>true</span><span>,</span></div></div><div><div><div>642</div></div><div><span>        </span><span>smartypants</span><span>:</span><span> </span><span>false</span><span>,</span></div></div><div><div><div>643</div></div><div><span>        </span><span>langPrefix</span><span>:</span><span> </span><span>'language-'</span></div></div><div><div><div>644</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>645</div></div><div><span>    </span><span>for</span><span> (</span><span>var</span><span><span> </span><span>i</span><span> </span></span><span>=</span><span> </span><span>0</span><span><span>; </span><span>i</span><span> </span></span><span>&lt;</span><span><span> </span><span>data</span><span>.</span></span><span>length</span><span><span>; </span><span>i</span></span><span>++</span><span>) {</span></div></div><div><div><div>646</div></div><div><span>      </span><span>let</span><span><span> </span><span>memo</span><span> </span></span><span>=</span><span><span> </span><span>data</span><span>[</span><span>i</span><span>];</span></span></div></div><div><div><div>647</div></div><div><span>      </span><span>let</span><span><span> </span><span>link</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>link</span><span>;</span></div></div><div><div><div>648</div></div><div><span>      </span><span>if</span><span> (</span><span>!</span><span><span>link</span><span>.</span></span><span>endsWith</span><span>(</span><span>'/'</span><span>)) {</span></div></div><div><div><div>649</div></div><div><span><span>        </span></span><span>link</span><span> </span><span>+=</span><span> </span><span>'/'</span><span>;</span></div></div><div><div><div>650</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>651</div></div><div><span>      </span><span>let</span><span><span> </span><span>memoString</span><span> </span></span><span>=</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memo</span><span>).</span></span><span>replace</span><span>(</span><span>/"/</span><span>g</span><span>, </span><span>'&amp;quot;'</span><span>);</span></div></div><div><div><div>652</div></div><div><span>      </span><span>let</span><span><span> </span><span>avatar</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>avatar</span><span>;</span></div></div><div><div><div>653</div></div><div><span>      </span><span>let</span><span><span> </span><span>count</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>count</span><span> </span><span>||</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>654</div></div><div><span>      </span><span>let</span><span><span> </span><span>website</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>website</span><span>;</span></div></div><div><div><div>655</div></div><div><span>      </span><span>let</span><span><span> </span><span>creatorId</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>creatorId</span><span>;</span></div></div><div><div><div>656</div></div><div><span>      </span><span>let</span><span><span> </span><span>creatorName</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>creatorName</span><span>;</span></div></div><div><div><div>657</div></div><div><span>      </span><span>let</span><span><span> </span><span>createdTs</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>createdTs</span><span>;</span></div></div><div><div><div>658</div></div><div><span>      </span><span>let</span><span><span> </span><span>in2Week</span><span> </span></span><span>=</span><span><span> </span><span>Math</span><span>.</span></span><span>floor</span><span>(</span><span>new</span><span> </span><span>Date</span><span>().</span><span>getTime</span><span>()</span><span>/</span><span> </span><span>1000</span><span>) </span><span>-</span><span><span> </span><span>createdTs</span><span> </span></span><span>&lt;=</span><span> </span><span>1209600</span><span> </span><span>?</span><span> </span><span>"in2week"</span><span> </span><span>:</span><span> </span><span>"out2week"</span><span>;</span></div></div><div><div><div>659</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosId</span><span> </span></span><span>=</span><span><span> </span><span>createdTs</span></span><span>+</span><span><span>memo</span><span>.</span></span><span>id</span><span>;</span></div></div><div><div><div>660</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosVisibility</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>visibility</span></div></div><div><div><div>661</div></div><div><span>      </span><span>let</span><span><span> </span><span>twikooEnv</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>twikoo</span><span>;</span></div></div><div><div><div>662</div></div><div><span>      </span><span>let</span><span><span> </span><span>artalkEnv</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>artalk</span><span>;</span></div></div><div><div><div>663</div></div><div><span>      </span><span>let</span><span><span> </span><span>artSite</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>memo</span><span>.</span><span>artSite</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>664</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosLink</span><span> </span></span><span>=</span><span><span> </span><span>link</span><span> </span></span><span>+</span><span> </span><span>"m/"</span><span> </span><span>+</span><span><span> (</span><span>memo</span><span>.</span></span><span>uid</span><span> </span><span>||</span><span><span> </span><span>memo</span><span>.</span></span><span>name</span><span> </span><span>||</span><span><span> </span><span>memo</span><span>.</span></span><span>id</span><span>);</span></div></div><div><div><div>665</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosRes</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>content</span></div></div><div><div><div>666</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>TAG_REG</span><span>, </span><span>""</span><span>)</span></div></div><div><div><div>667</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>IMG_REG</span><span>, </span><span>""</span><span>)</span></div></div><div><div><div>668</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>DOUDB_LINK_REG</span><span>, </span><span>""</span><span>)</span></div></div><div><div><div>669</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>NEODB_LINK_REG</span><span>, </span><span>""</span><span>)</span></div></div><div><div><div>670</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>LINK_REG</span><span>, </span><span>`&lt;a class='primary' href='$2' target='_blank'&gt;$1&lt;/a&gt;`</span><span>)</span></div></div><div><div><div>671</div></div><div><span><span>      </span></span><span>memosRes</span><span> </span><span>=</span><span><span> </span><span>marked</span><span>.</span></span><span>parse</span><span><span>(</span><span>memosRes</span><span>)</span></span></div></div><div><div><div>672</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>BILIBILI_REG</span><span>, </span><span>`&lt;div class='video-wrapper'&gt;&lt;iframe src='//player.bilibili.com/player.html?autoplay=0&amp;bvid=$1' scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"&gt;&lt;/iframe&gt;&lt;/div&gt;`</span><span>)</span></div></div><div><div><div>673</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>BILIBILI_REG2</span><span>, </span><span>`&lt;div class='video-wrapper'&gt;&lt;iframe src='//player.bilibili.com/player.html?autoplay=0&amp;bvid=$1' scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"&gt;&lt;/iframe&gt;&lt;/div&gt;`</span><span>)</span></div></div><div><div><div>674</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>NETEASE_MUSIC_REG</span><span>, </span><span>`&lt;meting-js auto='https://music.163.com/#/song?id=$1'&gt;&lt;/meting-js&gt;`</span><span>)</span></div></div><div><div><div>675</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>QQMUSIC_REG</span><span>, </span><span>`&lt;meting-js auto='https://y.qq.com/n/yqq/song$1.html'&gt;&lt;/meting-js&gt;`</span><span>)</span></div></div><div><div><div>676</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>QQVIDEO_REG</span><span>, </span><span>`&lt;div class='video-wrapper'&gt;&lt;iframe src='//v.qq.com/iframe/player.html?vid=$1' allowFullScreen='true' frameborder='no'&gt;&lt;/iframe&gt;&lt;/div&gt;`</span><span>)</span></div></div><div><div><div>677</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>YOUKU_REG</span><span>, </span><span>`&lt;div class='video-wrapper'&gt;&lt;iframe src='https://player.youku.com/embed/$1' frameborder=0 'allowfullscreen'&gt;&lt;/iframe&gt;&lt;/div&gt;`</span><span>)</span></div></div><div><div><div>678</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>YOUTUBE_REG</span><span>, </span><span>`&lt;div class='video-wrapper'&gt;&lt;iframe src='https://www.youtube.com/embed/$1' title='YouTube video player' frameborder='0' allow='accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture' allowfullscreen title='YouTube Video'&gt;&lt;/iframe&gt;&lt;/div&gt;`</span><span>)</span></div></div><div><div><div>679</div></div><div><span><span>        </span></span><span>.</span><span>replace</span><span>(</span><span>APLAYER_REG</span><span>, </span><span>""</span><span>);</span></div></div><div><div><div>680</div></div><div><span>      </span><span>let</span><span><span> </span><span>transData</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>content</span><span>.</span><span>replace</span><span>(</span><span>TAG_REG</span><span>, </span><span>""</span><span>).</span><span>replace</span><span>(</span><span>IMG_REG</span><span>, </span><span>""</span><span>).</span><span>replace</span><span>(</span><span>LINK_REG</span><span>, </span><span>"$1"</span><span>).</span><span>replace</span><span>(</span><span>LINE_REG</span><span>, </span><span>" "</span><span>).</span><span>replace</span><span>(</span><span>BLOCKQUDTE_REG</span><span>, </span><span>""</span><span>).</span><span>replace</span><span>(</span><span>CODE_REG</span><span>, </span><span>""</span><span>);</span></div></div><div><div><div>681</div></div><div><span>      </span><span>if</span><span><span>(</span><span>transData</span><span>.</span></span><span>length</span><span>&gt;</span><span>140</span><span><span>){</span><span>transData</span><span> </span></span><span>=</span><span><span> </span><span>transData</span><span>.</span></span><span>substring</span><span>(</span><span>0</span><span>,</span><span>140</span><span>) </span><span>+</span><span> </span><span>'...'</span><span>};</span></div></div><div><div><div>682</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosForm</span><span> </span></span><span>=</span><span> {</span><span>creatorName</span><span>:</span><span><span>creatorName</span><span>,</span></span><span>content</span><span>:</span><span><span>transData</span><span>,</span></span><span>url</span><span>:</span><span><span>memosLink</span><span>};</span></span></div></div><div><div><div>683</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosFormString</span><span> </span></span><span>=</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memosForm</span><span>).</span></span><span>replace</span><span>(</span><span>/"/</span><span>g</span><span>, </span><span>'&amp;quot;'</span><span>);</span></div></div><div><div><div>684</div></div><div><span>      </span><span>//解析 content 内 md 格式图片</span></div></div><div><div><div>685</div></div><div><span>      </span><span>let</span><span><span> </span><span>imgArr</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>content</span><span>.</span><span>match</span><span>(</span><span>IMG_REG</span><span>);</span></div></div><div><div><div>686</div></div><div><span>      </span><span>let</span><span><span> </span><span>imgStr</span><span> </span></span><span>=</span><span> </span><span>String</span><span><span>(</span><span>imgArr</span><span>).</span></span><span>replace</span><span>(</span><span>/</span><span>[,]</span><span>/</span><span>g</span><span>, </span><span>''</span><span>);</span></div></div><div><div><div>687</div></div><div><span>      </span><span>if</span><span><span> (</span><span>imgArr</span><span>) {</span></span></div></div><div><div><div>688</div></div><div><span>          </span><span>let</span><span><span> </span><span>memosImg</span><span> </span></span><span>=</span><span><span> </span><span>imgStr</span><span>.</span></span><span>replace</span><span>(</span><span>IMG_REG</span><span>, </span><span>`&lt;div class="memo-resource width-100"&gt;&lt;img class="lozad" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="$2"&gt;&lt;/div&gt;`</span><span>)</span></div></div><div><div><div>689</div></div><div><span><span>          </span></span><span>memosRes</span><span> </span><span>+=</span><span> </span><span>`&lt;div class="resource-wrapper"&gt;&lt;div class="images-wrapper my-2" view-image&gt;</span><span>${</span><span>memosImg</span><span>}</span><span>&lt;/div&gt;&lt;/div&gt;`</span></div></div><div><div><div>690</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>691</div></div><div><span>      </span><span>// aplayer</span></div></div><div><div><div>692</div></div><div><span>      </span><span>let</span><span><span> </span><span>aplayerArr</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>content</span><span>.</span><span>match</span><span>(</span><span>APLAYER_REG</span><span>);</span></div></div><div><div><div>693</div></div><div><span>      </span><span>let</span><span><span> </span><span>musicDom</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>694</div></div><div><span>      </span><span>if</span><span><span> (</span><span>aplayerArr</span><span>) {</span></span></div></div><div><div><div>695</div></div><div><span>        </span><span>for</span><span>(</span><span>let</span><span><span> </span><span>x</span></span><span>=</span><span>0</span><span><span>;</span><span>x</span><span> </span></span><span>&lt;</span><span><span> </span><span>aplayerArr</span><span>.</span></span><span>length</span><span><span>;</span><span>x</span></span><span>++</span><span>){</span></div></div><div><div><div>696</div></div><div><span>          </span><span>let</span><span><span> </span><span>server</span><span> </span></span><span>=</span><span> </span><span>APLAYER_SERVER_REG</span><span>.</span><span>exec</span><span><span>(</span><span>aplayerArr</span><span>[</span><span>x</span><span>]), </span><span>type</span><span> </span></span><span>=</span><span> </span><span>APLAYER_TYPE_REG</span><span>.</span><span>exec</span><span><span>(</span><span>aplayerArr</span><span>[</span><span>x</span><span>]), </span><span>id</span><span> </span></span><span>=</span><span> </span><span>APLAYER_ID_REG</span><span>.</span><span>exec</span><span><span>(</span><span>aplayerArr</span><span>[</span><span>x</span><span>]), </span><span>cover</span><span> </span></span><span>=</span><span> </span><span>SONG_COVER_REG</span><span>.</span><span>exec</span><span><span>(</span><span>aplayerArr</span><span>[</span><span>x</span><span>]), </span><span>title</span><span> </span></span><span>=</span><span> </span><span>SONG_TITLE_REG</span><span>.</span><span>exec</span><span><span>(</span><span>aplayerArr</span><span>[</span><span>x</span><span>]), </span><span>artist</span><span> </span></span><span>=</span><span> </span><span>SONG_ARTIST_REG</span><span>.</span><span>exec</span><span><span>(</span><span>aplayerArr</span><span>[</span><span>x</span><span>])</span></span></div></div><div><div><div>697</div></div><div><span><span>          </span></span><span>musicDom</span><span> </span><span>+=</span><span> </span><span>`&lt;button class="bber-music" onclick="sco.changePlaylist('</span><span>${</span><span><span>server</span><span>[</span></span><span>0</span><span>]</span><span>}</span><span>', '</span><span>${</span><span>type</span><span>}</span><span>', '</span><span>${</span><span>id</span><span>}</span><span>')" data-pjax-state=""&gt;&lt;div class="bber-music-wrap"&gt;&lt;div class="bber-music-pic" style="background: url(&amp;quot;</span><span>${</span><span>cover</span><span>}</span><span>&amp;quot;) center/contain no-repeat"&gt;&lt;/div&gt;&lt;div class="bber-music-info"&gt;&lt;div class="bber-music-title"&gt;</span><span>${</span><span>title</span><span>}</span><span>&lt;/div&gt;&lt;div class="bber-music-artist"&gt;</span><span>${</span><span>artist</span><span>}</span><span>&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;svg fill="#000000" width="800px" height="800px" viewBox="-5.5 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M5.688 9.656v10.906c-0.469-0.125-0.969-0.219-1.406-0.219-1 0-2.031 0.344-2.875 0.906s-1.406 1.469-1.406 2.531c0 1.125 0.563 1.969 1.406 2.531s1.875 0.875 2.875 0.875c0.938 0 2-0.313 2.844-0.875s1.375-1.406 1.375-2.531v-11.438l9.531-2.719v7.531c-0.438-0.125-0.969-0.188-1.438-0.188-0.969 0-2.031 0.281-2.875 0.844s-1.375 1.469-1.375 2.531c0 1.125 0.531 2 1.375 2.531 0.844 0.563 1.906 0.906 2.875 0.906 0.938 0 2.031-0.344 2.875-0.906 0.875-0.531 1.406-1.406 1.406-2.531v-14.406c0-0.688-0.469-1.156-1.156-1.156-0.063 0-0.438 0.125-1.031 0.281-1.25 0.344-3.125 0.875-5.25 1.5-1.094 0.281-2.063 0.594-3.031 0.844-0.938 0.281-1.75 0.563-2.469 0.75-0.75 0.219-1.219 0.344-1.406 0.406-0.5 0.156-0.844 0.594-0.844 1.094z"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;`</span></div></div><div><div><div>698</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>699</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>700</div></div><div><span>      </span><span>// DoubanDB</span></div></div><div><div><div>701</div></div><div><span>      </span><span>let</span><span><span> </span><span>doudbArr</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>content</span><span>.</span><span>match</span><span>(</span><span>DOUDB_LINK_REG</span><span>);</span></div></div><div><div><div>702</div></div><div><span>      </span><span>let</span><span><span> </span><span>neodbDom</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>703</div></div><div><span>      </span><span>if</span><span><span>(</span><span>doudbArr</span><span>){</span></span></div></div><div><div><div>704</div></div><div><span>        </span><span>for</span><span>(</span><span>let</span><span><span> </span><span>k</span></span><span>=</span><span>0</span><span><span>;</span><span>k</span><span> </span></span><span>&lt;</span><span><span> </span><span>doudbArr</span><span>.</span></span><span>length</span><span><span>;</span><span>k</span></span><span>++</span><span>){</span></div></div><div><div><div>705</div></div><div><span><span>          </span></span><span>neodbDom</span><span> </span><span>+=</span><span> </span><span>await</span><span> </span><span>this</span><span>.</span><span>_fetchNeoDB</span><span><span>(</span><span>doudbArr</span><span>[</span><span>k</span><span>],</span></span><span>"douban"</span><span>)</span></div></div><div><div><div>706</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>707</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>708</div></div><div><span>      </span><span>// DoubanDB</span></div></div><div><div><div>709</div></div><div><span>      </span><span>let</span><span><span> </span><span>neodbArr</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>content</span><span>.</span><span>match</span><span>(</span><span>NEODB_LINK_REG</span><span>);</span></div></div><div><div><div>710</div></div><div><span>      </span><span>if</span><span><span>(</span><span>neodbArr</span><span>){</span></span></div></div><div><div><div>711</div></div><div><span>        </span><span>for</span><span>(</span><span>let</span><span><span> </span><span>l</span></span><span>=</span><span>0</span><span><span>;</span><span>l</span><span> </span></span><span>&lt;</span><span><span> </span><span>neodbArr</span><span>.</span></span><span>length</span><span><span>;</span><span>l</span></span><span>++</span><span>){</span></div></div><div><div><div>712</div></div><div><span><span>          </span></span><span>neodbDom</span><span> </span><span>+=</span><span> </span><span>await</span><span> </span><span>this</span><span>.</span><span>_fetchNeoDB</span><span><span>(</span><span>neodbArr</span><span>[</span><span>l</span><span>],</span></span><span>"neodb"</span><span>)</span></div></div><div><div><div>713</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>714</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>715</div></div><div><span>      </span><span>//标签</span></div></div><div><div><div>716</div></div><div><span>      </span><span>let</span><span><span> </span><span>tagArr</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>content</span><span>.</span><span>match</span><span>(</span><span>TAG_REG</span><span>);</span></div></div><div><div><div>717</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosTag</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>718</div></div><div><span>      </span><span>if</span><span><span> (</span><span>tagArr</span><span>) {</span></span></div></div><div><div><div>719</div></div><div><span><span>        </span></span><span>memosTag</span><span> </span><span>=</span><span><span> </span><span>tagArr</span><span>.</span></span><span>map</span><span><span>(</span><span>t</span></span><span>=&gt;</span><span>{</span></div></div><div><div><div>720</div></div><div><span>          </span><span>return</span><span> </span><span>`&lt;div class="item-tag d-flex align-items-center text-sm line-xl mr-2 px-2" onclick="window.memosbbs._getTagNow('</span><span>${</span><span>link</span><span>}</span><span>','</span><span>${</span><span>creatorId</span><span>}</span><span>','</span><span>${</span><span>creatorName</span><span>}</span><span>','</span><span>${</span><span>avatar</span><span>}</span><span>',this)"&gt;</span><span>${</span><span>String</span><span><span>(</span><span>t</span><span>)</span></span><span>.</span><span>replace</span><span>(</span><span><span>/</span><span>[</span></span><span>#</span><span><span>]</span><span>/</span></span><span>,</span><span> </span><span>''</span><span>)</span><span>}</span><span>&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>721</div></div><div><span><span>        </span></span><span>}).</span><span>join</span><span>(</span><span>''</span><span>);</span></div></div><div><div><div>722</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>723</div></div><div><span><span>        </span></span><span>memosTag</span><span> </span><span>=</span><span> </span><span>`&lt;div class="item-tag d-flex align-items-center text-sm line-xl mr-2 px-2 no-cursor"&gt;动态&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>724</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>725</div></div><div>
</div></div><div><div><div>726</div></div><div><span>      </span><span>//解析内置资源文件</span></div></div><div><div><div>727</div></div><div><span>      </span><span>if</span><span><span> (</span><span>memo</span><span>.</span></span><span>resourceList</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>memo</span><span>.</span></span><span>resourceList</span><span>.</span><span>length</span><span> </span><span>&gt;</span><span> </span><span>0</span><span>) {</span></div></div><div><div><div>728</div></div><div><span>        </span><span>let</span><span><span> </span><span>resourceList</span><span> </span></span><span>=</span><span><span> </span><span>memo</span><span>.</span></span><span>resourceList</span><span>;</span></div></div><div><div><div>729</div></div><div><span>        </span><span>let</span><span><span> </span><span>imgUrl</span><span> </span></span><span>=</span><span> </span><span>''</span><span><span>,</span><span>resUrl</span><span> </span></span><span>=</span><span> </span><span>''</span><span><span>,</span><span>resImgLength</span><span> </span></span><span>=</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>730</div></div><div><span>        </span><span>for</span><span> (</span><span>let</span><span><span> </span><span>j</span><span> </span></span><span>=</span><span> </span><span>0</span><span><span>; </span><span>j</span><span> </span></span><span>&lt;</span><span><span> </span><span>resourceList</span><span>.</span></span><span>length</span><span><span>; </span><span>j</span></span><span>++</span><span>) {</span></div></div><div><div><div>731</div></div><div><span>          </span><span>let</span><span><span> </span><span>restype</span><span> </span></span><span>=</span><span><span> </span><span>resourceList</span><span>[</span><span>j</span><span>].</span></span><span>type</span><span>.</span><span>slice</span><span>(</span><span>0</span><span>, </span><span>5</span><span>);</span></div></div><div><div><div>732</div></div><div><span>          </span><span>let</span><span><span> </span><span>resexlink</span><span> </span></span><span>=</span><span><span> </span><span>resourceList</span><span>[</span><span>j</span><span>].</span></span><span>externalLink</span><span>;</span></div></div><div><div><div>733</div></div><div><span>          </span><span>let</span><span><span> </span><span>imgLink</span><span> </span></span><span>=</span><span> </span><span>''</span><span><span>, </span><span>fileId</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>734</div></div><div><span>          </span><span>if</span><span><span> (</span><span>resexlink</span><span>) {</span></span></div></div><div><div><div>735</div></div><div><span><span>              </span></span><span>imgLink</span><span> </span><span>=</span><span><span> </span><span>resexlink</span></span></div></div><div><div><div>736</div></div><div><span><span>          </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>737</div></div><div><span><span>              </span></span><span>fileId</span><span> </span><span>=</span><span><span> </span><span>resourceList</span><span>[</span><span>j</span><span>].</span></span><span>id</span><span>;</span></div></div><div><div><div>738</div></div><div><span>              </span><span>if</span><span><span>(</span><span>resourceList</span><span>[</span><span>j</span><span>].</span></span><span>uid</span><span> </span><span>!==</span><span> </span><span>undefined</span><span>){</span></div></div><div><div><div>739</div></div><div><span><span>                </span></span><span>fileId</span><span> </span><span>=</span><span><span> </span><span>resourceList</span><span>[</span><span>j</span><span>].</span></span><span>uid</span></div></div><div><div><div>740</div></div><div><span><span>              </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>resourceList</span><span>[</span><span>j</span><span>].</span></span><span>name</span><span> </span><span>!==</span><span> </span><span>undefined</span><span>){</span></div></div><div><div><div>741</div></div><div><span><span>                </span></span><span>fileId</span><span> </span><span>=</span><span><span> </span><span>resourceList</span><span>[</span><span>j</span><span>].</span></span><span>name</span><span>+</span><span>"?thumbnail=1"</span></div></div><div><div><div>742</div></div><div><span><span>              </span></span><span>}</span></div></div><div><div><div>743</div></div><div><span><span>              </span></span><span>imgLink</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>link</span><span>}</span><span>o/r/</span><span>${</span><span>fileId</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>744</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>745</div></div><div><span>          </span><span>if</span><span><span> (</span><span>restype</span><span> </span></span><span>==</span><span> </span><span>'image'</span><span>) {</span></div></div><div><div><div>746</div></div><div><span><span>            </span></span><span>imgUrl</span><span> </span><span>+=</span><span> </span><span>`&lt;div class="memo-resource w-100"&gt;&lt;img class="lozad" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-src="</span><span>${</span><span>imgLink</span><span>}</span><span>"/&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>747</div></div><div><span><span>            </span></span><span>resImgLength</span><span> </span><span>=</span><span><span> </span><span>resImgLength</span><span> </span></span><span>+</span><span> </span><span>1</span></div></div><div><div><div>748</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>749</div></div><div><span>          </span><span>if</span><span><span> (</span><span>restype</span><span> </span></span><span>==</span><span> </span><span>'video'</span><span>) {</span></div></div><div><div><div>750</div></div><div><span><span>            </span></span><span>resUrl</span><span> </span><span>+=</span><span> </span><span>`&lt;video style="width:100%;max-height:50vh;" crossorigin="anonymous" src="</span><span>${</span><span>imgLink</span><span>}</span><span>" controls=""&gt;&lt;/video&gt;`</span></div></div><div><div><div>751</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>752</div></div><div><span>          </span><span>if</span><span><span> (</span><span>restype</span><span> </span></span><span>!==</span><span> </span><span>'video'</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>restype</span><span> </span></span><span>!==</span><span> </span><span>'image'</span><span>) {</span></div></div><div><div><div>753</div></div><div><span><span>            </span></span><span>resUrl</span><span> </span><span>+=</span><span> </span><span>`&lt;a class="memos-tag p-1" target="_blank" rel="noreferrer" href="</span><span>${</span><span>imgLink</span><span>}</span><span>"&gt;</span><span>${</span><span><span>resourceList</span><span>[</span><span>j</span><span>]</span></span><span>.</span><span>filename</span><span>}</span><span>&lt;/a&gt;`</span><span>;</span></div></div><div><div><div>754</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>755</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>756</div></div><div><span>        </span><span>if</span><span><span> (</span><span>imgUrl</span><span>) {</span></span></div></div><div><div><div>757</div></div><div><span><span>          </span></span><span>memosRes</span><span> </span><span>+=</span><span> </span><span>`&lt;div class="resource-wrapper"&gt;&lt;div class="images-wrapper my-2" view-image&gt;</span><span>${</span><span>imgUrl</span><span>}</span><span>&lt;/div&gt;&lt;/div&gt;`</span></div></div><div><div><div>758</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>759</div></div><div><span>        </span><span>if</span><span><span> (</span><span>resUrl</span><span>) {</span></span></div></div><div><div><div>760</div></div><div><span><span>          </span></span><span>memosRes</span><span> </span><span>+=</span><span> </span><span>`&lt;p class="datasource"&gt;</span><span>${</span><span>resUrl</span><span>}</span><span>&lt;/p&gt;`</span></div></div><div><div><div>761</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>762</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>763</div></div><div><span>      </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>764</div></div><div><span>      </span><span>if</span><span> (</span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>!=</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>!==</span><span> </span><span>""</span><span>  </span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>nowId</span><span> </span><span>==</span><span><span> </span><span>creatorId</span><span> </span></span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>nowLink</span><span> </span><span>==</span><span><span> </span><span>link</span><span>) {</span></span></div></div><div><div><div>765</div></div><div><span><span>        </span></span><span>itemOption</span><span> </span><span>=</span><span> </span><span>`&lt;div class="item-option mr-1"&gt;&lt;div class="d-flex dropdown"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" width="1.15rem" height="1.15rem" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;circle cx="12" cy="12" r="1"/&gt;&lt;circle cx="19" cy="12" r="1"/&gt;&lt;circle cx="5" cy="12" r="1"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;div class="dropdown-wrapper d-none"&gt;&lt;a class="btn edit-btn" data-form="</span><span>${</span><span>memoString</span><span>}</span><span>" onclick="window.memosbbs._editMemo(this)"&gt;编辑&lt;/a&gt;&lt;a class="btn arch-btn" onclick="window.memosbbs._archiveMemo('</span><span>${</span><span>memo</span><span>.</span><span>id</span><span>}</span><span>')"&gt;归档&lt;/a&gt;&lt;a class="btn del-btn" onclick="window.memosbbs._deleteMemo('</span><span>${</span><span>memo</span><span>.</span><span>id</span><span>}</span><span>')"&gt;删除&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>766</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span> </span><span>if</span><span> (</span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>!=</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>!==</span><span> </span><span>""</span><span>) {</span></div></div><div><div><div>767</div></div><div><span><span>        </span></span><span>itemOption</span><span> </span><span>=</span><span> </span><span>`&lt;div class="item-option mr-1"&gt;</span></div></div><div><div><div>768</div></div><div><span><span>          </span></span><span>&lt;div class="d-flex dropdown"&gt;</span></div></div><div><div><div>769</div></div><div><span><span>            </span></span><span>&lt;svg xmlns="http://www.w3.org/2000/svg" width="1.15rem" height="1.15rem" viewBox="0 0 24 24"&gt;&lt;g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"&gt;&lt;circle cx="12" cy="12" r="1"/&gt;&lt;circle cx="19" cy="12" r="1"/&gt;&lt;circle cx="5" cy="12" r="1"/&gt;&lt;/g&gt;&lt;/svg&gt;</span></div></div><div><div><div>770</div></div><div><span><span>            </span></span><span>&lt;div class="dropdown-wrapper d-none"&gt;</span></div></div><div><div><div>771</div></div><div><span><span>              </span></span><span>&lt;a class="btn sav-btn" data-form="</span><span>${</span><span>memoString</span><span>}</span><span>" onclick="window.memosbbs._saveMemo(this)"&gt;收藏&lt;/a&gt;</span></div></div><div><div><div>772</div></div><div><span><span>              </span></span><span>&lt;a class="btn via-btn" data-form="</span><span>${</span><span>memoString</span><span>}</span><span>" onclick="window.memosbbs._viaNow(this)"&gt;引用&lt;/a&gt;</span></div></div><div><div><div>773</div></div><div><span><span>              </span></span><span>&lt;a class="btn jump-btn" href="</span><span>${</span><span>memosLink</span><span>}</span><span>" target="_blank" rel="noopener noreferrer"&gt;跳转&lt;/a&gt;</span></div></div><div><div><div>774</div></div><div><span><span>            </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>775</div></div><div><span><span>          </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>776</div></div><div><span><span>        </span></span><span>&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>777</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>778</div></div><div><span><span>        </span></span><span>itemOption</span><span> </span><span>=</span><span> </span><span>`&lt;div class="item-option mr-1"&gt;&lt;a class="d-flex" href="</span><span>${</span><span>memosLink</span><span>}</span><span>" target="_blank" rel="noopener noreferrer"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" width="1.15rem" height="1.15rem" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6m4-3h6v6m-11 5L21 3"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>779</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>780</div></div><div><span><span>      </span></span><span>itemContent</span><span> </span><span>=</span><span> </span><span>`&lt;div class="item-content"&gt;&lt;div class="item-inner"&gt;</span><span>${</span><span>memosRes</span><span>+</span><span>musicDom</span><span>}</span><span>&lt;/div&gt;&lt;div class="item-footer d-flex mt-2"&gt;&lt;div class="d-flex"&gt;</span><span>${</span><span>memosTag</span><span>}</span><span>&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>781</div></div><div><span>      </span><span>if</span><span><span> (</span><span>twikooEnv</span><span> </span></span><span>&amp;&amp;</span><span><span> </span><span>memosVisibility</span><span> </span></span><span>==</span><span> </span><span>"PUBLIC"</span><span>) {</span></div></div><div><div><div>782</div></div><div><span><span>        </span></span><span>itemContent</span><span> </span><span>+=</span><span> </span><span>`&lt;div class="d-flex flex-fill justify-content-end"&gt;&lt;div class="item d-flex align-items-center"&gt;&lt;a data-id="</span><span>${</span><span>memo</span><span>.</span><span>id</span><span>}</span><span>" data-time="</span><span>${</span><span>createdTs</span><span>}</span><span>" data-env="</span><span>${</span><span>twikooEnv</span><span>}</span><span>" data-path="</span><span>${</span><span>memosLink</span><span>}</span><span>" onclick="window.memosbbs._loadTwikoo(this)" rel="noopener noreferrer" class="d-flex twikoo-btn"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" width="1.25rem" height="1.25rem" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2zM8 10h.01M12 10h.01M16 10h.01"/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;span class="ml-1"&gt;</span><span>${</span><span>count</span><span>}</span><span>&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id="</span><span>${</span><span>memosId</span><span>}</span><span>" class="item-comment mt-3 d-none"&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>783</div></div><div><span><span>      </span></span><span>} </span><span>else</span><span> </span><span>if</span><span><span> (</span><span>artalkEnv</span><span> </span></span><span>&amp;&amp;</span><span><span> </span><span>memosVisibility</span><span> </span></span><span>==</span><span> </span><span>"PUBLIC"</span><span>) {</span></div></div><div><div><div>784</div></div><div><span><span>        </span></span><span>itemContent</span><span> </span><span>+=</span><span> </span><span>`&lt;div class="d-flex flex-fill justify-content-end"&gt;&lt;div class="item d-flex align-items-center"&gt;&lt;a data-id="</span><span>${</span><span>memo</span><span>.</span><span>id</span><span>}</span><span>" data-time="</span><span>${</span><span>createdTs</span><span>}</span><span>" data-env="</span><span>${</span><span>artalkEnv</span><span>}</span><span>" data-path="</span><span>${</span><span>artSite</span><span>}</span><span>" onclick="window.memosbbs._loadArtalk(this)" rel="noopener noreferrer" class="d-flex artalk-btn"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" width="1.25rem" height="1.25rem" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2zM8 10h.01M12 10h.01M16 10h.01"/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;span class="ml-1"&gt;</span><span>${</span><span>count</span><span>}</span><span>&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id="</span><span>${</span><span>memosId</span><span>}</span><span>" class="item-comment mt-3 d-none"&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>785</div></div><div><span><span>      </span></span><span>} </span><span>else</span><span> </span><span>if</span><span><span>(</span><span>memosVisibility</span><span> </span></span><span>!==</span><span> </span><span>"PUBLIC"</span><span>){</span></div></div><div><div><div>786</div></div><div><span><span>        </span></span><span>itemContent</span><span> </span><span>+=</span><span> </span><span>`&lt;div class="d-flex flex-fill justify-content-end"&gt;&lt;div class="item d-flex align-items-center mr-1 pri-btn" onclick="window.memosbbs._getUserMemos('</span><span>${</span><span>link</span><span>}</span><span>','</span><span>${</span><span>creatorId</span><span>}</span><span>','</span><span>${</span><span>creatorName</span><span>}</span><span>','</span><span>${</span><span>avatar</span><span>}</span><span>','','','NOPUBLIC')"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" width="1.15rem" height="1.15rem" viewBox="0 0 14 14"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M1.68 4.206C2.652 6.015 4.67 7.258 7 7.258c2.331 0 4.348-1.243 5.322-3.052M2.75 5.596L.5 7.481m4.916-.415L4.333 9.794m6.917-4.198l2.25 1.885m-4.92-.415l1.083 2.728"/&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>787</div></div><div><span><span>      </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>788</div></div><div><span><span>        </span></span><span>itemContent</span><span> </span><span>+=</span><span> </span><span>`&lt;div class="d-flex flex-fill justify-content-end"&gt;&lt;/div&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>789</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>790</div></div><div><span><span>      </span></span><span>itemContent</span><span> </span><span>+=</span><span> </span><span>`&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;`</span></div></div><div><div><div>791</div></div><div><span><span>      </span></span><span>result</span><span> </span><span>=</span><span> </span><span>`&lt;div class="</span><span>${</span><span>this</span><span>.</span><span>memosMode</span><span> </span><span>==</span><span> </span><span>"</span><span>MEMOSHOME</span><span>"</span><span> </span><span>&amp;&amp;</span><span> </span><span>tagnowHas</span><span> </span><span>==</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span>oneDayTag</span><span> </span><span>!==</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span> </span><span>i</span><span> </span><span>==</span><span> </span><span>0</span><span> </span><span>?</span><span> </span><span>oneDayClass</span><span> </span><span>:</span><span> </span><span><span>''</span><span>}</span></span><span> memo-</span><span>${</span><span>memosId</span><span>}</span><span> d-flex animate__animated mb-3 memos-item"&gt;&lt;div class="card-item flex-fill p-3"&gt;&lt;div class="item-header d-flex mb-3"&gt;&lt;div class="d-flex flex-fill"&gt;&lt;div class="item-avatar mr-2" style="background-image:url(</span><span>${</span><span>avatar</span><span>}</span><span>)"&gt;&lt;/div&gt;&lt;div class="item-sub d-flex flex-column p-1"&gt;&lt;div class="item-creator"&gt;&lt;a </span><span>${</span><span>website</span><span> </span><span>!==</span><span> </span><span>undefined</span><span> </span><span>?</span><span> </span><span>'</span><span>href=</span><span>\"</span><span>'</span><span> </span><span>+</span><span> </span><span>website</span><span> </span><span>+</span><span> </span><span>'</span><span>\"</span><span>'</span><span>:</span><span> </span><span><span>''</span><span>}</span></span><span> target="_blank"&gt;</span><span>${</span><span>creatorName</span><span>}</span><span>&lt;/a&gt;&lt;/div&gt;&lt;div class="item-mate </span><span>${</span><span>in2Week</span><span>}</span><span> mt-2 text-xs"&gt;</span><span>${</span><span>new</span><span> </span><span>Date</span><span><span>(</span><span>createdTs</span></span><span> </span><span>*</span><span> </span><span>1000</span><span> </span><span>-</span><span> </span><span>5</span><span> </span><span>)</span><span>.</span><span>toLocaleString</span><span>()</span><span>}</span><span>&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</span><span>${</span><span>itemOption</span><span>}</span><span>&lt;/div&gt;</span><span>${</span><span>neodbDom</span><span>+</span><span>itemContent</span><span>}</span><span>&lt;/div&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>792</div></div><div><span>      </span><span>this</span><span>.</span><span>memoDom</span><span>.</span><span>insertAdjacentHTML</span><span>(</span><span>'beforeend'</span><span><span>, </span><span>result</span><span>);</span></span></div></div><div><div><div>793</div></div><div>
</div></div><div><div><div>794</div></div><div><span>      </span><span>//循环绑定事件，替代元素内onclick方法 update: 放弃了，如果有更好的办法的话请告诉我吧，谢谢！</span></div></div><div><div><div>795</div></div><div><span>      </span><span>let</span><span><span> </span><span>queryAvatarList</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelectorAll</span><span>(</span><span>'#memo-list .item-avatar'</span><span><span>), </span><span>lastAvatar</span><span> </span></span><span>=</span><span><span> </span><span>queryAvatarList</span><span>[</span><span>queryAvatarList</span><span>.</span></span><span>length</span><span> </span><span>-</span><span> </span><span>1</span><span>];</span></div></div><div><div><div>796</div></div><div><span><span>      </span></span><span>lastAvatar</span><span>.</span><span>addEventListener</span><span>(</span><span>'click'</span><span>, () </span><span>=&gt;</span><span> {</span><span>this</span><span>.</span><span>_getUserMemos</span><span><span>(</span><span>link</span><span>, </span><span>creatorId</span><span>, </span><span>creatorName</span><span>, </span><span>avatar</span><span>)});</span></span></div></div><div><div><div>797</div></div><div><span><span>    </span></span><span>} </span><span>// end for</span></div></div><div><div><div>798</div></div><div>
</div></div><div><div><div>799</div></div><div><span>    </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>textContent</span><span> </span><span>=</span><span> </span><span>"加载更多"</span><span>;</span></div></div><div><div><div>800</div></div><div><span>    </span><span>function</span><span> </span><span>animation</span><span>() {</span></div></div><div><div><div>801</div></div><div><span>      </span><span>var</span><span><span> </span><span>animate</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>getElementsByClassName</span><span>(</span><span>"animate__animated"</span><span>);</span></div></div><div><div><div>802</div></div><div><span>      </span><span>Array</span><span>.</span><span>prototype</span><span>.</span><span>slice</span><span>.</span><span>call</span><span><span>(</span><span>animate</span><span>,</span></span><span>0</span><span>).</span><span>forEach</span><span><span>((</span><span>i</span><span>,</span><span>index</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>803</div></div><div><span>        </span><span>const</span><span> </span><span>top</span><span> </span><span>=</span><span><span> </span><span>i</span><span>.</span></span><span>getBoundingClientRect</span><span>().</span><span>top</span><span>; </span><span>// 目标元素dom距离顶部的高度</span></div></div><div><div><div>804</div></div><div><span>        </span><span>if</span><span><span> (</span><span>top</span><span> </span></span><span>&lt;=</span><span><span> </span><span>window</span><span>.</span></span><span>innerHeight</span><span>) { </span><span>// 当top小于等于文档显示区域的高时，就进入可视区域了</span></div></div><div><div><div>805</div></div><div><span><span>          </span></span><span>i</span><span>.</span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>'animate__fadeIn"'</span><span>) </span><span>?</span><span> </span><span>''</span><span> </span><span>:</span><span><span> </span><span>i</span><span>.</span></span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"animate__fadeIn"</span><span>)</span></div></div><div><div><div>806</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>807</div></div><div><span><span>      </span></span><span>})</span></div></div><div><div><div>808</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>809</div></div><div><span>    </span><span>animation</span><span>();</span></div></div><div><div><div>810</div></div><div>
</div></div><div><div><div>811</div></div><div><span><span>    </span></span><span>window</span><span>.</span><span>addEventListener</span><span>(</span><span>'scroll'</span><span><span>, </span><span>animation</span><span>);</span></span></div></div><div><div><div>812</div></div><div><span>    </span><span>//图片灯箱</span></div></div><div><div><div>813</div></div><div><span><span>    </span></span><span>window</span><span>.</span><span>ViewImage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>ViewImage</span><span>.</span></span><span>init</span><span>(</span><span>'.images-wrapper img'</span><span>)</span></div></div><div><div><div>814</div></div><div><span>    </span><span>//相对时间</span></div></div><div><div><div>815</div></div><div><span><span>    </span></span><span>window</span><span>.</span><span>Lately</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>Lately</span><span>.</span></span><span>init</span><span>({</span></div></div><div><div><div>816</div></div><div><span>      </span><span>target</span><span>:</span><span> </span><span>'.item-mate.in2week'</span></div></div><div><div><div>817</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>818</div></div><div><span>    </span><span>//延迟加载</span></div></div><div><div><div>819</div></div><div><span>    </span><span>let</span><span><span> </span><span>observer</span><span> </span></span><span>=</span><span> </span><span>lozad</span><span>(</span><span>'.lozad'</span><span>);</span></div></div><div><div><div>820</div></div><div><span><span>    </span></span><span>observer</span><span>.</span><span>observe</span><span>();</span></div></div><div><div><div>821</div></div><div><span>    </span><span>//下拉菜单</span></div></div><div><div><div>822</div></div><div><span>    </span><span>let</span><span><span> </span><span>dropdowns</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelectorAll</span><span>(</span><span>".dropdown"</span><span>);</span></div></div><div><div><div>823</div></div><div><span><span>    </span></span><span>Array</span><span>.</span><span>from</span><span><span>(</span><span>dropdowns</span><span>).</span></span><span>forEach</span><span><span>((</span><span>dropdown</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>824</div></div><div><span>      </span><span>let</span><span><span> </span><span>lis</span><span> </span></span><span>=</span><span><span> </span><span>Array</span><span>.</span></span><span>from</span><span><span>(</span><span>dropdown</span><span>.</span></span><span>children</span><span>).</span><span>slice</span><span>(</span><span>1</span><span>);</span></div></div><div><div><div>825</div></div><div><span><span>      </span></span><span>dropdown</span><span>.</span><span>addEventListener</span><span>(</span><span>"mouseenter"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>826</div></div><div><span><span>        </span></span><span>lis</span><span>.</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>827</div></div><div><span><span>          </span></span><span>item</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>828</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>829</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>830</div></div><div><span><span>      </span></span><span>dropdown</span><span>.</span><span>addEventListener</span><span>(</span><span>"mouseleave"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>831</div></div><div><span><span>        </span></span><span>lis</span><span>.</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>832</div></div><div><span><span>          </span></span><span>item</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>833</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>834</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>835</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>836</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>837</div></div><div>
</div></div><div><div><div>838</div></div><div><span>  </span><span>_withTimeout</span><span><span>(</span><span>millis</span><span>, </span><span>promise</span><span>) {</span></span></div></div><div><div><div>839</div></div><div><span>    </span><span>let</span><span><span> </span><span>timeout</span><span> </span></span><span>=</span><span> </span><span>new</span><span> </span><span>Promise</span><span><span>((</span><span>resolve</span><span>, </span><span>reject</span><span>) </span></span><span>=&gt;</span></div></div><div><div><div>840</div></div><div><span>      </span><span>setTimeout</span><span>(() </span><span>=&gt;</span><span> </span><span>reject</span><span>(</span><span>`Timed out after </span><span>${</span><span>millis</span><span>}</span><span> ms.`</span><span><span>), </span><span>millis</span><span>)</span></span></div></div><div><div><div>841</div></div><div><span><span>    </span></span><span>);</span></div></div><div><div><div>842</div></div><div><span>    </span><span>return</span><span> </span><span>Promise</span><span>.</span><span>race</span><span><span>([</span><span>promise</span><span>, </span><span>timeout</span><span>]);</span></span></div></div><div><div><div>843</div></div><div><span><span>  </span></span><span>};</span></div></div><div><div><div>844</div></div><div>
</div></div><div><div><div>845</div></div><div><span>  </span><span>async</span><span> </span><span>_getMemos</span><span><span>(</span><span>search</span><span>) {</span></span></div></div><div><div><div>846</div></div><div><span>    </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span> [], </span><span>this</span><span>.</span><span>memoCreatorMap</span><span> </span><span>=</span><span> {}, </span><span>this</span><span>.</span><span>page</span><span> </span><span>=</span><span> </span><span>1</span><span>, </span><span>this</span><span>.</span><span>nums</span><span> </span><span>=</span><span> </span><span>0</span><span>, </span><span>this</span><span>.</span><span>dataNum</span><span> </span><span>=</span><span> </span><span>0</span><span>, </span><span>this</span><span>.</span><span>memosContType</span><span> </span><span>=</span><span> </span><span>0</span><span>, </span><span>this</span><span>.</span><span>memosAccess</span><span> </span><span>=</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>847</div></div><div><span>    </span><span>this</span><span>.</span><span>memoDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>skeleton</span><span>;</span></div></div><div><div><div>848</div></div><div><span>    </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>849</div></div><div><span>    </span><span>let</span><span><span> </span><span>results</span><span>;</span></span></div></div><div><div><div>850</div></div><div><span>    </span><span>if</span><span><span>(</span><span>search</span><span> </span></span><span>&amp;&amp;</span><span><span> </span><span>search</span><span> </span></span><span>!=</span><span> </span><span>""</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>search</span><span> </span></span><span>!=</span><span> </span><span>null</span><span> ){</span></div></div><div><div><div>851</div></div><div><span><span>      </span></span><span>results</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>Promise</span><span>.</span><span>allSettled</span><span>(</span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>map</span><span><span>(</span><span>u</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>852</div></div><div><span>        </span><span>let</span><span><span> </span><span>uLink</span><span> </span></span><span>=</span><span><span> </span><span>u</span><span>.</span></span><span>link</span></div></div><div><div><div>853</div></div><div><span>        </span><span>if</span><span> (</span><span>!</span><span><span>uLink</span><span>.</span></span><span>endsWith</span><span>(</span><span>'/'</span><span>)) {</span></div></div><div><div><div>854</div></div><div><span><span>          </span></span><span>uLink</span><span> </span><span>+=</span><span> </span><span>'/'</span><span>;</span></div></div><div><div><div>855</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>856</div></div><div><span>        </span><span>const</span><span> </span><span>fetchUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>uLink</span><span>}</span><span>api/v1/memo?creatorId=</span><span>${</span><span>u</span><span>.</span><span>creatorId</span><span>}</span><span>&amp;content=</span><span>${</span><span>search</span><span>}</span><span>&amp;rowStatus=NORMAL&amp;limit=</span><span>${</span><span>this</span><span>.</span><span>limit</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>857</div></div><div><span>        </span><span>return</span><span> </span><span>this</span><span>.</span><span>_withTimeout</span><span>(</span><span>2000</span><span>, </span><span>fetch</span><span><span>(</span><span>fetchUrl</span><span>)</span></span></div></div><div><div><div>858</div></div><div><span><span>          </span></span><span>.</span><span>then</span><span><span>(</span><span>response</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>859</div></div><div><span>            </span><span>if</span><span> (</span><span>!</span><span><span>response</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>860</div></div><div><span>              </span><span>throw</span><span> </span><span>new</span><span> </span><span>Error</span><span><span>(</span><span>response</span><span>.</span></span><span>statusText</span><span>);</span></div></div><div><div><div>861</div></div><div><span><span>            </span></span><span>}</span></div></div><div><div><div>862</div></div><div><span>            </span><span>return</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>863</div></div><div><span><span>          </span></span><span>})</span></div></div><div><div><div>864</div></div><div><span><span>        </span></span><span>);</span></div></div><div><div><div>865</div></div><div><span><span>      </span></span><span>}));</span></div></div><div><div><div>866</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>867</div></div><div><span><span>      </span></span><span>results</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>Promise</span><span>.</span><span>allSettled</span><span>(</span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>map</span><span>(</span><span>async</span><span><span>(</span><span>u</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>868</div></div><div><span>        </span><span>let</span><span><span> </span><span>matchedMemo</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>find</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span><span> </span><span>item</span><span>.</span></span><span>link</span><span> </span><span>===</span><span><span> </span><span>u</span><span>.</span></span><span>link</span><span>);</span></div></div><div><div><div>869</div></div><div><span>        </span><span>let</span><span><span> </span><span>matchedV1</span><span> </span></span><span>=</span><span><span> </span><span>matchedMemo</span><span> </span></span><span>?</span><span><span> </span><span>matchedMemo</span><span>.</span></span><span>v1</span><span> </span><span>:</span><span> </span><span>undefined</span><span>;</span></div></div><div><div><div>870</div></div><div><span>        </span><span>let</span><span><span> </span><span>fetchUrl</span><span>;</span></span></div></div><div><div><div>871</div></div><div><span>        </span><span>let</span><span><span> </span><span>uLink</span><span> </span></span><span>=</span><span><span> </span><span>u</span><span>.</span></span><span>link</span></div></div><div><div><div>872</div></div><div><span>        </span><span>if</span><span> (</span><span>!</span><span><span>uLink</span><span>.</span></span><span>endsWith</span><span>(</span><span>'/'</span><span>)) {</span></div></div><div><div><div>873</div></div><div><span><span>          </span></span><span>uLink</span><span> </span><span>+=</span><span> </span><span>'/'</span><span>;</span></div></div><div><div><div>874</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>875</div></div><div><span>        </span><span>if</span><span><span> (</span><span>matchedV1</span><span>) {</span></span></div></div><div><div><div>876</div></div><div><span>          </span><span>const</span><span> </span><span>filter</span><span> </span><span>=</span><span> </span><span>`creator=='users/</span><span>${</span><span>matchedMemo</span><span>.</span><span>creatorId</span><span>}</span><span>'&amp;&amp;visibilities==['PUBLIC']`</span></div></div><div><div><div>877</div></div><div><span><span>          </span></span><span>fetchUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>uLink</span><span>}</span><span>api/v1/memos?pageSize=</span><span>${</span><span>this</span><span>.</span><span>limit</span><span>}</span><span>&amp;filter=</span><span>${</span><span>encodeURIComponent</span><span><span>(</span><span>filter</span><span>)</span></span><span>}</span><span>`</span></div></div><div><div><div>878</div></div><div><span><span>        </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>879</div></div><div><span><span>          </span></span><span>fetchUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>uLink</span><span>}</span><span>api/v1/memo?creatorId=</span><span>${</span><span>u</span><span>.</span><span>creatorId</span><span>}</span><span>&amp;rowStatus=NORMAL&amp;limit=</span><span>${</span><span>this</span><span>.</span><span>limit</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>880</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>881</div></div><div>
</div></div><div><div><div>882</div></div><div><span>        </span><span>const</span><span> </span><span>response</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>this</span><span>.</span><span>_withTimeout</span><span>(</span><span>2000</span><span>, </span><span>fetch</span><span><span>(</span><span>fetchUrl</span><span>));</span></span></div></div><div><div><div>883</div></div><div><span>        </span><span>if</span><span> (</span><span>!</span><span><span>response</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>884</div></div><div><span>          </span><span>throw</span><span> </span><span>new</span><span> </span><span>Error</span><span><span>(</span><span>response</span><span>.</span></span><span>statusText</span><span>);</span></div></div><div><div><div>885</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>886</div></div><div><span>        </span><span>const</span><span> </span><span>data</span><span> </span><span>=</span><span> </span><span>await</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>887</div></div><div><span>        </span><span>const</span><span> </span><span>memosData</span><span> </span><span>=</span><span><span> </span><span>matchedV1</span><span> </span></span><span>?</span><span><span> </span><span>data</span><span>.</span></span><span>memos</span><span> </span><span>:</span><span><span> </span><span>data</span><span>;</span></span></div></div><div><div><div>888</div></div><div>
</div></div><div><div><div>889</div></div><div><span><span>        </span></span><span>memosData</span><span>.</span><span>forEach</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>890</div></div><div><span>          </span><span>if</span><span><span> (</span><span>matchedV1</span><span> </span></span><span>&amp;&amp;</span><span><span> </span><span>item</span><span>.</span></span><span>createTime</span><span>) {</span></div></div><div><div><div>891</div></div><div><span><span>            </span></span><span>item</span><span>.</span><span>createdTs</span><span> </span><span>=</span><span><span> </span><span>Math</span><span>.</span></span><span>floor</span><span>(</span><span>new</span><span> </span><span>Date</span><span><span>(</span><span>item</span><span>.</span></span><span>createTime</span><span>).</span><span>getTime</span><span>() </span><span>/</span><span> </span><span>1000</span><span>);</span></div></div><div><div><div>892</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>893</div></div><div><span>          </span><span>for</span><span> (</span><span>let</span><span><span> </span><span>key</span><span> </span></span><span>in</span><span><span> </span><span>matchedMemo</span><span>) {</span></span></div></div><div><div><div>894</div></div><div><span>            </span><span>if</span><span><span> (</span><span>matchedMemo</span><span>.</span></span><span>hasOwnProperty</span><span><span>(</span><span>key</span><span>)) {</span></span></div></div><div><div><div>895</div></div><div><span><span>              </span></span><span>item</span><span>[</span><span>key</span><span>] </span><span>=</span><span><span> </span><span>matchedMemo</span><span>[</span><span>key</span><span>];</span></span></div></div><div><div><div>896</div></div><div><span><span>            </span></span><span>}</span></div></div><div><div><div>897</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>898</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>899</div></div><div><span>        </span><span>return</span><span><span> </span><span>memosData</span></span></div></div><div><div><div>900</div></div><div><span><span>      </span></span><span>}));</span></div></div><div><div><div>901</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>902</div></div><div><span><span>    </span></span><span>results</span><span> </span><span>=</span><span><span> </span><span>results</span><span>.</span></span><span>filter</span><span><span>(</span><span>i</span><span> </span></span><span>=&gt;</span><span><span> </span><span>i</span><span>.</span></span><span>status</span><span> </span><span>===</span><span> </span><span>'fulfilled'</span><span>);</span></div></div><div><div><div>903</div></div><div><span>    </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span><span> </span><span>results</span><span>.</span></span><span>flatMap</span><span><span>(</span><span>result</span><span> </span></span><span>=&gt;</span><span><span> </span><span>result</span><span>.</span></span><span>value</span><span>);</span></div></div><div><div><div>904</div></div><div>
</div></div><div><div><div>905</div></div><div><span>    </span><span>//this.memoData = await getMemoCount(this.memoData);</span></div></div><div><div><div>906</div></div><div><span>    </span><span>this</span><span>.</span><span>memoDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>907</div></div><div><span>    </span><span>this</span><span>.</span><span>_updateData</span><span>(</span><span>this</span><span>.</span><span>memoData</span><span>);</span></div></div><div><div><div>908</div></div><div><span>    </span><span>setTimeout</span><span>(() </span><span>=&gt;</span><span> {</span></div></div><div><div><div>909</div></div><div><span>      </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>910</div></div><div><span><span>    </span></span><span>}, </span><span>1000</span><span>);</span></div></div><div><div><div>911</div></div><div><span>    </span><span>//setTimeout(() =&gt; {</span></div></div><div><div><div>912</div></div><div><span><span>      </span></span><span>window</span><span>.</span><span>scrollTo</span><span>({</span></div></div><div><div><div>913</div></div><div><span>        </span><span>top</span><span>:</span><span> </span><span>this</span><span>.</span><span>usernowDom</span><span>.</span><span>offsetTop</span><span> </span><span>-</span><span> </span><span>30</span><span>,</span></div></div><div><div><div>914</div></div><div><span>        </span><span>behavior</span><span>:</span><span> </span><span>"smooth"</span></div></div><div><div><div>915</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>916</div></div><div><span>    </span><span>//}, 800);</span></div></div><div><div><div>917</div></div><div><span>    </span><span>this</span><span>.</span><span>goBbsBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"noclick"</span><span>)</span></div></div><div><div><div>918</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>919</div></div><div>
</div></div><div><div><div>920</div></div><div><span>  </span><span>_myFeedsXML</span><span><span>(</span><span>e</span><span>){</span></span></div></div><div><div><div>921</div></div><div><span>    </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>922</div></div><div><span>    </span><span>let</span><span><span> </span><span>myfeedsDom</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".myfeeds"</span><span>)</span></div></div><div><div><div>923</div></div><div><span><span>    </span></span><span>document</span><span>.</span><span>querySelectorAll</span><span>(</span><span>'.myfeeds-xml'</span><span>).</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>924</div></div><div><span><span>      </span></span><span>item</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'noclick'</span><span>);</span></div></div><div><div><div>925</div></div><div><span><span>      </span></span><span>item</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'current'</span><span>);</span></div></div><div><div><div>926</div></div><div><span><span>    </span></span><span>})</span></div></div><div><div><div>927</div></div><div><span><span>    </span></span><span>e</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>928</div></div><div><span>    </span><span>let</span><span><span> </span><span>type</span><span> </span></span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-type"</span><span>)</span></div></div><div><div><div>929</div></div><div><span><span>    </span></span><span>myfeedsDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>""</span></div></div><div><div><div>930</div></div><div><span>    </span><span>let</span><span><span> </span><span>myFeedArticle</span><span> </span></span><span>=</span><span> </span><span>''</span><span><span>,</span><span>entries</span><span>;</span></span></div></div><div><div><div>931</div></div><div><span><span>    </span></span><span>myfeedsDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>skeleton</span><span>;</span></div></div><div><div><div>932</div></div><div><span>    </span><span>if</span><span><span>(</span><span>type</span></span><span>==</span><span>"bfind"</span><span>){</span></div></div><div><div><div>933</div></div><div><span>      </span><span>fetch</span><span>(</span><span>'https://cors.memobbs.app/https://bf.zzxworld.com/feed.xml'</span><span>).</span><span>then</span><span><span>(</span><span>response</span><span> </span></span><span>=&gt;</span><span><span> </span><span>response</span><span>.</span></span><span>text</span><span>()).</span><span>then</span><span><span>(</span><span>str</span><span> </span></span><span>=&gt;</span><span> </span><span>new</span><span><span> </span><span>window</span><span>.</span></span><span>DOMParser</span><span>().</span><span>parseFromString</span><span><span>(</span><span>str</span><span>, </span></span><span>'text/xml'</span><span>))</span></div></div><div><div><div>934</div></div><div><span><span>      </span></span><span>.</span><span>then</span><span><span>(</span><span>data</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>935</div></div><div><span><span>        </span></span><span>entries</span><span> </span><span>=</span><span><span> </span><span>Array</span><span>.</span></span><span>from</span><span><span>(</span><span>data</span><span>.</span></span><span>querySelectorAll</span><span>(</span><span>'entry'</span><span>)).</span><span>map</span><span><span>(</span><span>entry</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>936</div></div><div><span>          </span><span>return</span><span> {</span></div></div><div><div><div>937</div></div><div><span>            </span><span>title</span><span>:</span><span><span> </span><span>entry</span><span>.</span></span><span>querySelector</span><span>(</span><span>'title'</span><span>).</span><span>textContent</span><span>,</span></div></div><div><div><div>938</div></div><div><span>            </span><span>link</span><span>:</span><span><span> </span><span>entry</span><span>.</span></span><span>querySelector</span><span>(</span><span>'link'</span><span>).</span><span>getAttribute</span><span>(</span><span>'href'</span><span>),</span></div></div><div><div><div>939</div></div><div><span>            </span><span>published</span><span>:</span><span><span> </span><span>entry</span><span>.</span></span><span>querySelector</span><span>(</span><span>'published'</span><span>).</span><span>textContent</span><span>,</span></div></div><div><div><div>940</div></div><div><span>            </span><span>creator</span><span>:</span><span><span> </span><span>entry</span><span>.</span></span><span>querySelector</span><span>(</span><span>'author name'</span><span>).</span><span>textContent</span></div></div><div><div><div>941</div></div><div><span><span>          </span></span><span>};</span></div></div><div><div><div>942</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>943</div></div><div><span>        </span><span>var</span><span><span> </span><span>myFeedArticle</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>944</div></div><div><span>        </span><span>for</span><span> (</span><span>var</span><span><span> </span><span>i</span><span> </span></span><span>=</span><span> </span><span>0</span><span><span>;</span><span>i</span></span><span>&lt;</span><span>20</span><span><span>;</span><span>i</span></span><span>++</span><span>){</span></div></div><div><div><div>945</div></div><div><span>          </span><span>let</span><span><span> </span><span>item</span><span> </span></span><span>=</span><span><span> </span><span>entries</span><span>[</span><span>i</span><span>];</span></span></div></div><div><div><div>946</div></div><div><span><span>          </span></span><span>myFeedArticle</span><span> </span><span>+=</span><span>`</span></div></div><div><div><div>947</div></div><div><span><span>          </span></span><span>&lt;div class="card-item flex-fill p-3"&gt;</span></div></div><div><div><div>948</div></div><div><span><span>            </span></span><span>&lt;div class="d-flex flex-fill"&gt;</span></div></div><div><div><div>949</div></div><div><span><span>              </span></span><span>&lt;div class="item-avatar mr-2 face" style="background-image:url('https://favicon.memobbs.app?url=</span><span>${</span><span>item</span><span>.</span><span>link</span><span>}</span><span>')"&gt;&lt;/div&gt;</span></div></div><div><div><div>950</div></div><div><span><span>              </span></span><span>&lt;div class="item-sub d-flex flex-column p-1"&gt;</span></div></div><div><div><div>951</div></div><div><span><span>                </span></span><span>&lt;div class="item-creator"&gt;&lt;a href="</span><span>${</span><span>item</span><span>.</span><span>link</span><span>}</span><span>" target="_blank" rel="noopener nofollow" &gt;</span><span>${</span><span>item</span><span>.</span><span>title</span><span>}</span><span>&lt;/a&gt;&lt;/div&gt;</span></div></div><div><div><div>952</div></div><div><span><span>                </span></span><span>&lt;span class="myfeeds-floor"&gt;</span><span>${</span><span>i</span><span>+</span><span>1</span><span>}</span><span>&lt;/span&gt;</span></div></div><div><div><div>953</div></div><div><span><span>                </span></span><span>&lt;div class="item-mate mt-2 text-xs"&gt;</span><span>${</span><span>item</span><span>.</span><span>published</span><span>}</span><span>&lt;/div&gt;</span></div></div><div><div><div>954</div></div><div><span><span>              </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>955</div></div><div><span><span>            </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>956</div></div><div><span><span>          </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>957</div></div><div><span><span>          </span></span><span>`</span><span>;</span></div></div><div><div><div>958</div></div><div><span><span>          </span></span><span>myfeedsDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span><span> </span><span>myFeedArticle</span></span></div></div><div><div><div>959</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>960</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>querySelectorAll</span><span>(</span><span>'.myfeeds-xml'</span><span>).</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'noclick'</span><span>);})</span></div></div><div><div><div>961</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>Lately</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>Lately</span><span>.</span></span><span>init</span><span>({</span><span>target</span><span>:</span><span> </span><span>'.item-mate'</span><span>});</span></div></div><div><div><div>962</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>963</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>964</div></div><div><span>    </span><span>if</span><span><span>(</span><span>type</span></span><span>==</span><span>"boyou"</span><span>){</span></div></div><div><div><div>965</div></div><div><span>      </span><span>fetch</span><span>(</span><span>"https://www.boyouquan.com/feed.xml"</span><span>).</span><span>then</span><span><span>(</span><span>response</span><span> </span></span><span>=&gt;</span><span><span> </span><span>response</span><span>.</span></span><span>text</span><span>()).</span><span>then</span><span><span>(</span><span>str</span><span> </span></span><span>=&gt;</span><span> </span><span>new</span><span><span> </span><span>window</span><span>.</span></span><span>DOMParser</span><span>().</span><span>parseFromString</span><span><span>(</span><span>str</span><span>, </span></span><span>'text/xml'</span><span>))</span></div></div><div><div><div>966</div></div><div><span><span>      </span></span><span>.</span><span>then</span><span><span>(</span><span>data</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>967</div></div><div><span><span>        </span></span><span>entries</span><span> </span><span>=</span><span><span> </span><span>Array</span><span>.</span></span><span>from</span><span><span>(</span><span>data</span><span>.</span></span><span>querySelectorAll</span><span>(</span><span>'item'</span><span>)).</span><span>map</span><span><span>(</span><span>entry</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>968</div></div><div><span>          </span><span>return</span><span> {</span></div></div><div><div><div>969</div></div><div><span>            </span><span>title</span><span>:</span><span><span> </span><span>entry</span><span>.</span></span><span>querySelector</span><span>(</span><span>'title'</span><span>).</span><span>textContent</span><span>,</span></div></div><div><div><div>970</div></div><div><span>            </span><span>link</span><span>:</span><span> </span><span>decodeURIComponent</span><span><span>(</span><span>entry</span><span>.</span></span><span>querySelector</span><span>(</span><span>'link'</span><span>).</span><span>textContent</span><span>.</span><span>replace</span><span>(</span><span>'https://www.boyouquan.com/go?from=feed&amp;link='</span><span>,</span><span>""</span><span>)),</span></div></div><div><div><div>971</div></div><div><span>            </span><span>published</span><span>:</span><span><span> </span><span>entry</span><span>.</span></span><span>getElementsByTagName</span><span>(</span><span>'dc:date'</span><span>)[</span><span>0</span><span>].</span><span>textContent</span><span>,</span></div></div><div><div><div>972</div></div><div><span>            </span><span>creator</span><span>:</span><span><span> </span><span>entry</span><span>.</span></span><span>getElementsByTagName</span><span>(</span><span>'dc:creator'</span><span>)[</span><span>0</span><span>].</span><span>textContent</span></div></div><div><div><div>973</div></div><div><span><span>          </span></span><span>};</span></div></div><div><div><div>974</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>975</div></div><div><span>        </span><span>for</span><span> (</span><span>var</span><span><span> </span><span>i</span><span> </span></span><span>=</span><span> </span><span>0</span><span><span>;</span><span>i</span></span><span>&lt;</span><span>20</span><span><span>;</span><span>i</span></span><span>++</span><span>){</span></div></div><div><div><div>976</div></div><div><span>          </span><span>let</span><span><span> </span><span>item</span><span> </span></span><span>=</span><span><span> </span><span>entries</span><span>[</span><span>i</span><span>];</span></span></div></div><div><div><div>977</div></div><div><span><span>          </span></span><span>myFeedArticle</span><span> </span><span>+=</span><span>`</span></div></div><div><div><div>978</div></div><div><span><span>          </span></span><span>&lt;div class="card-item flex-fill p-3"&gt;</span></div></div><div><div><div>979</div></div><div><span><span>            </span></span><span>&lt;div class="d-flex flex-fill"&gt;</span></div></div><div><div><div>980</div></div><div><span><span>              </span></span><span>&lt;div class="item-avatar mr-2 face" style="background-image:url('https://favicon.memobbs.app?url=</span><span>${</span><span>item</span><span>.</span><span>link</span><span>}</span><span>')"&gt;&lt;/div&gt;</span></div></div><div><div><div>981</div></div><div><span><span>              </span></span><span>&lt;div class="item-sub d-flex flex-column p-1"&gt;</span></div></div><div><div><div>982</div></div><div><span><span>                </span></span><span>&lt;div class="item-creator"&gt;&lt;a href="</span><span>${</span><span>item</span><span>.</span><span>link</span><span>}</span><span>" target="_blank" rel="noopener nofollow" &gt;</span><span>${</span><span>item</span><span>.</span><span>title</span><span>}</span><span>&lt;/a&gt;&lt;/div&gt;</span></div></div><div><div><div>983</div></div><div><span><span>                </span></span><span>&lt;span class="myfeeds-floor"&gt;</span><span>${</span><span>i</span><span>+</span><span>1</span><span>}</span><span>&lt;/span&gt;</span></div></div><div><div><div>984</div></div><div><span><span>                </span></span><span>&lt;div class="item-mate mt-2 text-xs"&gt;</span><span>${</span><span>item</span><span>.</span><span>published</span><span>}</span><span>&lt;/div&gt;</span></div></div><div><div><div>985</div></div><div><span><span>              </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>986</div></div><div><span><span>            </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>987</div></div><div><span><span>          </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>988</div></div><div><span><span>          </span></span><span>`</span><span>;</span></div></div><div><div><div>989</div></div><div><span><span>          </span></span><span>myfeedsDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span><span> </span><span>myFeedArticle</span></span></div></div><div><div><div>990</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>991</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>querySelectorAll</span><span>(</span><span>'.myfeeds-xml'</span><span>).</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'noclick'</span><span>);})</span></div></div><div><div><div>992</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>Lately</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>Lately</span><span>.</span></span><span>init</span><span>({</span><span>target</span><span>:</span><span> </span><span>'.item-mate'</span><span>});</span></div></div><div><div><div>993</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>994</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>995</div></div><div><span>    </span><span>if</span><span><span>(</span><span>type</span></span><span>==</span><span>"shinian"</span><span>){</span></div></div><div><div><div>996</div></div><div><span>      </span><span>fetch</span><span>(</span><span>"https://www.foreverblog.cn/api/v1/blog/feeds?page=1"</span><span>).</span><span>then</span><span><span>(</span><span>res</span><span> </span></span><span>=&gt;</span><span><span> </span><span>res</span><span>.</span></span><span>json</span><span>()).</span><span>then</span><span><span>(</span><span>resdata</span><span> </span></span><span>=&gt;</span><span>{</span></div></div><div><div><div>997</div></div><div><span>        </span><span>for</span><span> (</span><span>var</span><span><span> </span><span>i</span><span> </span></span><span>=</span><span> </span><span>0</span><span><span>;</span><span>i</span></span><span>&lt;</span><span>20</span><span><span>;</span><span>i</span></span><span>++</span><span>){</span></div></div><div><div><div>998</div></div><div><span>          </span><span>let</span><span><span> </span><span>item</span><span> </span></span><span>=</span><span><span> </span><span>resdata</span><span>.</span></span><span>data</span><span>.</span><span>data</span><span><span>[</span><span>i</span><span>];</span></span></div></div><div><div><div>999</div></div><div><span><span>          </span></span><span>myFeedArticle</span><span> </span><span>+=</span><span>`</span></div></div><div><div><div>1000</div></div><div><span><span>          </span></span><span>&lt;div class="card-item flex-fill p-3"&gt;</span></div></div><div><div><div>1001</div></div><div><span><span>            </span></span><span>&lt;div class="d-flex flex-fill"&gt;</span></div></div><div><div><div>1002</div></div><div><span><span>              </span></span><span>&lt;div class="item-avatar mr-2" style="background-image:url(https://gravatar.loli.net/avatar/</span><span>${</span><span>item</span><span>.</span><span>email</span><span>}</span><span>)"&gt;&lt;/div&gt;</span></div></div><div><div><div>1003</div></div><div><span><span>              </span></span><span>&lt;div class="item-sub d-flex flex-column p-1"&gt;</span></div></div><div><div><div>1004</div></div><div><span><span>                </span></span><span>&lt;div class="item-creator"&gt;&lt;a href="</span><span>${</span><span>item</span><span>.</span><span>link</span><span>}</span><span>" target="_blank" rel="noopener nofollow" &gt;</span><span>${</span><span>item</span><span>.</span><span>title</span><span>}</span><span>&lt;/a&gt;&lt;/div&gt;</span></div></div><div><div><div>1005</div></div><div><span><span>                </span></span><span>&lt;span class="myfeeds-floor"&gt;</span><span>${</span><span>i</span><span>+</span><span>1</span><span>}</span><span>&lt;/span&gt;</span></div></div><div><div><div>1006</div></div><div><span><span>                </span></span><span>&lt;div class="item-mate mt-2 text-xs"&gt;</span><span>${</span><span>item</span><span>.</span><span>created_at</span><span>}</span><span>&lt;/div&gt;</span></div></div><div><div><div>1007</div></div><div><span><span>              </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>1008</div></div><div><span><span>            </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>1009</div></div><div><span><span>          </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>1010</div></div><div><span><span>          </span></span><span>`</span><span>;</span></div></div><div><div><div>1011</div></div><div><span><span>          </span></span><span>myfeedsDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span><span> </span><span>myFeedArticle</span></span></div></div><div><div><div>1012</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1013</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>querySelectorAll</span><span>(</span><span>'.myfeeds-xml'</span><span>).</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'noclick'</span><span>);})</span></div></div><div><div><div>1014</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>Lately</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>Lately</span><span>.</span></span><span>init</span><span>({</span><span>target</span><span>:</span><span> </span><span>'.item-mate'</span><span>});</span></div></div><div><div><div>1015</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>1016</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1017</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1018</div></div><div>
</div></div><div><div><div>1019</div></div><div><span>  </span><span>//标签筛选且输入框为空，自动插入标签</span></div></div><div><div><div>1020</div></div><div><span>  </span><span>_memosTextareaFocus</span><span>() {</span></div></div><div><div><div>1021</div></div><div><span>    </span><span>let</span><span><span> </span><span>nowTag</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow-name"</span><span>)</span></div></div><div><div><div>1022</div></div><div><span>    </span><span>if</span><span><span>(</span><span>nowTag</span><span> </span></span><span>!==</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>==</span><span> </span><span>""</span><span>){</span></div></div><div><div><div>1023</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>"#"</span><span>+</span><span><span>nowTag</span><span>.</span></span><span>textContent</span><span>+</span><span>" "</span><span>;</span></div></div><div><div><div>1024</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1025</div></div><div><span><span>  </span></span><span>};</span></div></div><div><div><div>1026</div></div><div>
</div></div><div><div><div>1027</div></div><div><span>  </span><span>_searchNow</span><span><span>(</span><span>serchText</span><span>){</span></span></div></div><div><div><div>1028</div></div><div><span>    </span><span>if</span><span><span>(</span><span>serchText</span><span> </span></span><span>!==</span><span> </span><span>""</span><span>){</span></div></div><div><div><div>1029</div></div><div><span>      </span><span>let</span><span><span> </span><span>tagnowHas</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow"</span><span>)</span></div></div><div><div><div>1030</div></div><div><span>      </span><span>if</span><span><span>(</span><span>tagnowHas</span><span>) </span><span>tagnowHas</span><span>.</span></span><span>remove</span><span>();</span></div></div><div><div><div>1031</div></div><div><span>      </span><span>let</span><span><span> </span><span>usernowName</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".user-now-name"</span><span>).</span><span>innerHTML</span><span>;</span></div></div><div><div><div>1032</div></div><div><span>      </span><span>let</span><span><span> </span><span>serchDom</span><span> </span></span><span>=</span><span> </span><span>`</span></div></div><div><div><div>1033</div></div><div><span><span>        </span></span><span>&lt;div class="memos-tagnow row p-2 mb-2"&gt;</span></div></div><div><div><div>1034</div></div><div><span><span>          </span></span><span>&lt;div class="memos-tagnow-title mr-3"&gt;当前搜索b:&lt;/div&gt;</span></div></div><div><div><div>1035</div></div><div><span><span>          </span></span><span>&lt;div class="memos-tagnow-name card-item pr-2 pl-2" onclick="window.memosbbs._reloadUser('search')"&gt;</span><span>${</span><span>serchText</span><span>}</span><span>&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-auto ml-1 opacity-40"&gt;&lt;path d="M18 6 6 18"&gt;&lt;/path&gt;&lt;path d="m6 6 12 12"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;</span></div></div><div><div><div>1036</div></div><div><span><span>        </span></span><span>&lt;/div&gt;`</span></div></div><div><div><div>1037</div></div><div><span>      </span><span>this</span><span>.</span><span>memosDom</span><span>.</span><span>insertAdjacentHTML</span><span>(</span><span>'beforebegin'</span><span><span>, </span><span>serchDom</span><span>);</span></span></div></div><div><div><div>1038</div></div><div><span>      </span><span>if</span><span><span>(</span><span>usernowName</span><span> </span></span><span>==</span><span> </span><span>""</span><span>){</span></div></div><div><div><div>1039</div></div><div><span>        </span><span>this</span><span>.</span><span>_getMemos</span><span><span>(</span><span>serchText</span><span>)</span></span></div></div><div><div><div>1040</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1041</div></div><div><span>        </span><span>let</span><span><span> </span><span>userNameIndex</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>findIndex</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span><span> (</span><span>item</span><span>.</span></span><span>creatorName</span><span> </span><span>==</span><span><span> </span><span>usernowName</span><span>));</span></span></div></div><div><div><div>1042</div></div><div><span>        </span><span>if</span><span><span>(</span><span>userNameIndex</span><span> </span></span><span>==</span><span> </span><span>-</span><span>1</span><span>){</span></div></div><div><div><div>1043</div></div><div><span>          </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>,</span><span>""</span><span><span>,</span><span>serchText</span><span>)</span></span></div></div><div><div><div>1044</div></div><div><span><span>        </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1045</div></div><div><span>          </span><span>let</span><span><span> </span><span>userNowData</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span><span>[</span><span>userNameIndex</span><span>]</span></span></div></div><div><div><div>1046</div></div><div><span>          </span><span>this</span><span>.</span><span>_getUserMemos</span><span><span>(</span><span>userNowData</span><span>.</span></span><span>link</span><span><span>,</span><span>userNowData</span><span>.</span></span><span>creatorId</span><span><span>,</span><span>userNowData</span><span>.</span></span><span>creatorName</span><span><span>,</span><span>userNowData</span><span>.</span></span><span>avatar</span><span>,</span><span>""</span><span><span>,</span><span>serchText</span><span>)</span></span></div></div><div><div><div>1047</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1048</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1049</div></div><div><span>      </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>''</span></div></div><div><div><div>1050</div></div><div>
</div></div><div><div><div>1051</div></div><div><span>      </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"animate__fadeOutRight"</span><span>)</span></div></div><div><div><div>1052</div></div><div><span>    </span><span>setTimeout</span><span>(() </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1053</div></div><div><span>      </span><span>this</span><span>.</span><span>userButton</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>1054</div></div><div><span>      </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>1055</div></div><div><span>      </span><span>this</span><span>.</span><span>searchInput</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"animate__fadeOutRight"</span><span>)</span></div></div><div><div><div>1056</div></div><div><span><span>    </span></span><span>}, </span><span>500</span><span>);</span></div></div><div><div><div>1057</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1058</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1059</div></div><div>
</div></div><div><div><div>1060</div></div><div><span>  </span><span>//返回个人主页</span></div></div><div><div><div>1061</div></div><div><span>  </span><span>_goHome</span><span>(){</span></div></div><div><div><div>1062</div></div><div><span>    </span><span>this</span><span>.</span><span>goHomeBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"noclick"</span><span>)</span></div></div><div><div><div>1063</div></div><div><span>    </span><span>this</span><span>.</span><span>usernowBtnDom</span><span>.</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'current'</span><span>);})</span></div></div><div><div><div>1064</div></div><div><span>    </span><span>this</span><span>.</span><span>goHomeBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>1065</div></div><div><span>    </span><span>this</span><span>.</span><span>goBbsBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>1066</div></div><div><span>    </span><span>this</span><span>.</span><span>randomUser</span><span> </span><span>=</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>1067</div></div><div><span>    </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>)</span></div></div><div><div><div>1068</div></div><div><span><span>    </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>"Hi， "</span><span>+</span><span>this</span><span>.</span><span>nowName</span><span>);</span></div></div><div><div><div>1069</div></div><div><span><span>  </span></span><span>};</span></div></div><div><div><div>1070</div></div><div>
</div></div><div><div><div>1071</div></div><div><span>  </span><span>//切换为广场模式</span></div></div><div><div><div>1072</div></div><div><span>  </span><span>_goBbs</span><span>(){</span></div></div><div><div><div>1073</div></div><div><span>    </span><span>this</span><span>.</span><span>goBbsBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"noclick"</span><span>)</span></div></div><div><div><div>1074</div></div><div><span>    </span><span>this</span><span>.</span><span>usernowBtnDom</span><span>.</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'current'</span><span>);})</span></div></div><div><div><div>1075</div></div><div><span>    </span><span>this</span><span>.</span><span>goBbsBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>1076</div></div><div><span>    </span><span>this</span><span>.</span><span>goHomeBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>1077</div></div><div><span>    </span><span>this</span><span>.</span><span>_getMemos</span><span>();</span></div></div><div><div><div>1078</div></div><div><span>    </span><span>let</span><span><span> </span><span>usernowName</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".user-now-name"</span><span>);</span></div></div><div><div><div>1079</div></div><div><span>    </span><span>let</span><span><span> </span><span>usernowAvatar</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".user-now-avatar"</span><span>);</span></div></div><div><div><div>1080</div></div><div><span><span>    </span></span><span>usernowName</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>1081</div></div><div><span><span>    </span></span><span>usernowAvatar</span><span>.</span><span>src</span><span> </span><span>=</span><span> </span><span>"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"</span><span>;</span></div></div><div><div><div>1082</div></div><div><span>    </span><span>//this.goBbsBtn.classList.remove("noclick")</span></div></div><div><div><div>1083</div></div><div><span><span>    </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>"有啥新鲜事儿？"</span><span>);</span></div></div><div><div><div>1084</div></div><div><span><span>  </span></span><span>};</span></div></div><div><div><div>1085</div></div><div>
</div></div><div><div><div>1086</div></div><div><span>  </span><span>//随机个人</span></div></div><div><div><div>1087</div></div><div><span>  </span><span>_goRandUser</span><span>(){</span></div></div><div><div><div>1088</div></div><div><span>    </span><span>this</span><span>.</span><span>randomUser</span><span> </span><span>=</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>1089</div></div><div><span>    </span><span>this</span><span>.</span><span>usernowBtnDom</span><span>.</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'current'</span><span>);})</span></div></div><div><div><div>1090</div></div><div><span>    </span><span>this</span><span>.</span><span>randomUserBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"current"</span><span>)</span></div></div><div><div><div>1091</div></div><div><span>    </span><span>let</span><span><span> </span><span>usernowName</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".user-now-name"</span><span>);</span></div></div><div><div><div>1092</div></div><div><span>    </span><span>let</span><span><span> </span><span>usernowAvatar</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".user-now-avatar"</span><span>);</span></div></div><div><div><div>1093</div></div><div><span><span>    </span></span><span>usernowName</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>""</span></div></div><div><div><div>1094</div></div><div><span><span>    </span></span><span>usernowAvatar</span><span>.</span><span>src</span><span> </span><span>=</span><span> </span><span>"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"</span></div></div><div><div><div>1095</div></div><div><span>    </span><span>let</span><span><span> </span><span>randomIndex</span><span> </span></span><span>=</span><span><span> </span><span>Math</span><span>.</span></span><span>round</span><span><span>(</span><span>Math</span><span>.</span></span><span>random</span><span>() </span><span>*</span><span> (</span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>length</span><span> </span><span>-</span><span> </span><span>1</span><span>));</span></div></div><div><div><div>1096</div></div><div><span>    </span><span>let</span><span><span> </span><span>userNowData</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span><span>[</span><span>randomIndex</span><span>]</span></span></div></div><div><div><div>1097</div></div><div><span>    </span><span>this</span><span>.</span><span>_getUserMemos</span><span><span>(</span><span>userNowData</span><span>.</span></span><span>link</span><span><span>,</span><span>userNowData</span><span>.</span></span><span>creatorId</span><span><span>,</span><span>userNowData</span><span>.</span></span><span>creatorName</span><span><span>,</span><span>userNowData</span><span>.</span></span><span>avatar</span><span>,</span><span>""</span><span>,</span><span>""</span><span>)</span></div></div><div><div><div>1098</div></div><div><span><span>    </span></span><span>cocoMessage</span><span>.</span><span>success</span><span><span>(</span><span>userNowData</span><span>.</span></span><span>creatorName</span><span>+</span><span>" 上线～"</span><span>);</span></div></div><div><div><div>1099</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1100</div></div><div>
</div></div><div><div><div>1101</div></div><div><span>  </span><span>//重载当前 user</span></div></div><div><div><div>1102</div></div><div><span>  </span><span>_reloadUser</span><span><span>(</span><span>mode</span><span>){</span></span></div></div><div><div><div>1103</div></div><div><span>    </span><span>let</span><span><span> </span><span>tagnowHas</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow"</span><span>)</span></div></div><div><div><div>1104</div></div><div><span>    </span><span>if</span><span><span>(</span><span>tagnowHas</span><span>) </span><span>tagnowHas</span><span>.</span></span><span>remove</span><span>();</span></div></div><div><div><div>1105</div></div><div><span>    </span><span>let</span><span><span> </span><span>usernowName</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".user-now-name"</span><span>).</span><span>innerHTML</span><span>;</span></div></div><div><div><div>1106</div></div><div><span>    </span><span>if</span><span><span>(</span><span>usernowName</span><span> </span></span><span>==</span><span> </span><span>""</span><span>){</span></div></div><div><div><div>1107</div></div><div><span>      </span><span>this</span><span>.</span><span>_getMemos</span><span>()</span></div></div><div><div><div>1108</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1109</div></div><div><span>      </span><span>let</span><span><span> </span><span>userNameIndex</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>findIndex</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span><span> (</span><span>item</span><span>.</span></span><span>creatorName</span><span> </span><span>==</span><span><span> </span><span>usernowName</span><span>));</span></span></div></div><div><div><div>1110</div></div><div><span>      </span><span>if</span><span><span>(</span><span>userNameIndex</span><span> </span></span><span>==</span><span> </span><span>-</span><span>1</span><span>){</span></div></div><div><div><div>1111</div></div><div><span>        </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>)</span></div></div><div><div><div>1112</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1113</div></div><div><span>        </span><span>let</span><span><span> </span><span>userNowData</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span><span>[</span><span>userNameIndex</span><span>]</span></span></div></div><div><div><div>1114</div></div><div><span>        </span><span>this</span><span>.</span><span>_getUserMemos</span><span><span>(</span><span>userNowData</span><span>.</span></span><span>link</span><span><span>,</span><span>userNowData</span><span>.</span></span><span>creatorId</span><span><span>,</span><span>userNowData</span><span>.</span></span><span>creatorName</span><span><span>,</span><span>userNowData</span><span>.</span></span><span>avatar</span><span>)</span></div></div><div><div><div>1115</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1116</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1117</div></div><div><span>    </span><span>if</span><span><span>(</span><span>mode</span><span> </span></span><span>==</span><span> </span><span>"search"</span><span>){</span></div></div><div><div><div>1118</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1119</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1120</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1121</div></div><div>
</div></div><div><div><div>1122</div></div><div><span>  </span><span>// 获取指定用户列表</span></div></div><div><div><div>1123</div></div><div><span>  </span><span>async</span><span> </span><span>_getUserMemos</span><span><span>(</span><span>link</span><span>,</span><span>id</span><span>,</span><span>name</span><span>,</span><span>avatar</span><span>,</span><span>tag</span><span>,</span><span>search</span><span>,</span><span>mode</span><span>,</span><span>random</span><span>) {</span></span></div></div><div><div><div>1124</div></div><div><span>    </span><span>let</span><span><span> </span><span>matchedMemo</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>find</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span><span> (</span><span>item</span><span>.</span></span><span>link</span><span> </span><span>===</span><span><span> </span><span>link</span><span>))</span></span></div></div><div><div><div>1125</div></div><div><span>    </span><span>let</span><span><span> </span><span>matchedV1</span><span> </span></span><span>=</span><span><span> </span><span>matchedMemo</span><span> </span></span><span>?</span><span><span> </span><span>matchedMemo</span><span>.</span></span><span>v1</span><span> </span><span>:</span><span> </span><span>undefined</span><span>;</span></div></div><div><div><div>1126</div></div><div><span>    </span><span>this</span><span>.</span><span>memoDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>skeleton</span><span>;</span></div></div><div><div><div>1127</div></div><div><span>    </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>1128</div></div><div><span>    </span><span>this</span><span>.</span><span>randomUserBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"noclick"</span><span>);</span></div></div><div><div><div>1129</div></div><div><span>    </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span> [],</span><span>this</span><span>.</span><span>memoCreatorMap</span><span> </span><span>=</span><span> {}, </span><span>this</span><span>.</span><span>page</span><span> </span><span>=</span><span> </span><span>1</span><span>,</span><span>this</span><span>.</span><span>nums</span><span> </span><span>=</span><span> </span><span>0</span><span>,</span><span>this</span><span>.</span><span>dataNum</span><span> </span><span>=</span><span> </span><span>0</span><span>,</span><span>this</span><span>.</span><span>memosContType</span><span> </span><span>=</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>1130</div></div><div><span>    </span><span>this</span><span>.</span><span>memosPath</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-path"</span><span>);</span></div></div><div><div><div>1131</div></div><div><span>    </span><span>let</span><span><span> </span><span>usernowName</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".user-now-name"</span><span>);</span></div></div><div><div><div>1132</div></div><div><span>    </span><span>let</span><span><span> </span><span>usernowAvatar</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".user-now-avatar"</span><span>);</span></div></div><div><div><div>1133</div></div><div><span><span>    </span></span><span>usernowName</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span><span> </span><span>name</span><span>;</span></span></div></div><div><div><div>1134</div></div><div><span><span>    </span></span><span>usernowAvatar</span><span>.</span><span>src</span><span> </span><span>=</span><span><span> </span><span>avatar</span><span>;</span></span></div></div><div><div><div>1135</div></div><div><span>    </span><span>if</span><span> (</span><span>!</span><span><span>link</span><span>.</span></span><span>endsWith</span><span>(</span><span>'/'</span><span>)) {</span></div></div><div><div><div>1136</div></div><div><span><span>      </span></span><span>link</span><span> </span><span>+=</span><span> </span><span>'/'</span><span>;</span></div></div><div><div><div>1137</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1138</div></div><div><span>    </span><span>if</span><span> (</span><span>this</span><span>.</span><span>memosPath</span><span> </span><span>&amp;&amp;</span><span> </span><span>!</span><span>this</span><span>.</span><span>memosPath</span><span>.</span><span>endsWith</span><span>(</span><span>'/'</span><span>)) {</span></div></div><div><div><div>1139</div></div><div><span>      </span><span>this</span><span>.</span><span>memosPath</span><span> </span><span>+=</span><span> </span><span>'/'</span><span>;</span></div></div><div><div><div>1140</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1141</div></div><div><span>    </span><span>if</span><span><span> (</span><span>link</span><span> </span></span><span>==</span><span> </span><span>this</span><span>.</span><span>memosPath</span><span>) {</span></div></div><div><div><div>1142</div></div><div><span>      </span><span>this</span><span>.</span><span>memosAccess</span><span> </span><span>=</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>1143</div></div><div><span><span>    </span></span><span>};</span></div></div><div><div><div>1144</div></div><div><span>    </span><span>let</span><span><span> </span><span>userMemoUrl</span><span>;</span></span></div></div><div><div><div>1145</div></div><div><span>    </span><span>if</span><span><span>(</span><span>tag</span><span> </span></span><span>&amp;&amp;</span><span><span> (</span><span>random</span><span> </span></span><span>==</span><span> </span><span>null</span><span> </span><span>||</span><span><span> </span><span>random</span><span> </span></span><span>==</span><span> </span><span>""</span><span> )){</span></div></div><div><div><div>1146</div></div><div><span><span>      </span></span><span>userMemoUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>link</span><span>}</span><span>api/v1/memo?creatorId=</span><span>${</span><span>id</span><span>}</span><span>&amp;tag=</span><span>${</span><span>tag</span><span>}</span><span>&amp;rowStatus=NORMAL&amp;limit=50`</span><span>;</span></div></div><div><div><div>1147</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>search</span><span>){</span></span></div></div><div><div><div>1148</div></div><div><span><span>      </span></span><span>userMemoUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>link</span><span>}</span><span>api/v1/memo?creatorId=</span><span>${</span><span>id</span><span>}</span><span>&amp;content=</span><span>${</span><span>search</span><span>}</span><span>&amp;rowStatus=NORMAL&amp;limit=</span><span>${</span><span>this</span><span>.</span><span>limit</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>1149</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>mode</span><span> </span></span><span>==</span><span> </span><span>"NOPUBLIC"</span><span>){</span></div></div><div><div><div>1150</div></div><div><span><span>      </span></span><span>userMemoUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>link</span><span>}</span><span>api/v1/memo`</span><span>;</span></div></div><div><div><div>1151</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>random</span><span>){</span></span></div></div><div><div><div>1152</div></div><div><span>      </span><span>if</span><span><span>(</span><span>tag</span><span>){</span></span></div></div><div><div><div>1153</div></div><div><span><span>        </span></span><span>userMemoUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>link</span><span>}</span><span>api/v1/memo?tag=</span><span>${</span><span>tag</span><span>}</span><span>&amp;limit=1&amp;offset=</span><span>${</span><span>random</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>1154</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1155</div></div><div><span><span>        </span></span><span>userMemoUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>link</span><span>}</span><span>api/v1/memo?&amp;limit=1&amp;offset=</span><span>${</span><span>random</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>1156</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1157</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1158</div></div><div><span>      </span><span>if</span><span><span> (</span><span>matchedV1</span><span>) {</span></span></div></div><div><div><div>1159</div></div><div><span>        </span><span>const</span><span> </span><span>filter</span><span> </span><span>=</span><span> </span><span>`creator=='users/</span><span>${</span><span>id</span><span>}</span><span>'&amp;&amp;visibilities==['PUBLIC']`</span></div></div><div><div><div>1160</div></div><div><span><span>        </span></span><span>userMemoUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>link</span><span>}</span><span>api/v1/memos?pageSize=50&amp;filter=</span><span>${</span><span>encodeURIComponent</span><span><span>(</span><span>filter</span><span>)</span></span><span>}</span><span>`</span></div></div><div><div><div>1161</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1162</div></div><div><span><span>        </span></span><span>userMemoUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>link</span><span>}</span><span>api/v1/memo?creatorId=</span><span>${</span><span>id</span><span>}</span><span>&amp;rowStatus=NORMAL&amp;limit=50`</span><span>;</span></div></div><div><div><div>1163</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1164</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1165</div></div><div>
</div></div><div><div><div>1166</div></div><div><span>    </span><span>if</span><span><span> (</span><span>link</span><span> </span></span><span>==</span><span> </span><span>this</span><span>.</span><span>memosPath</span><span>) {</span></div></div><div><div><div>1167</div></div><div><span>      </span><span>try</span><span> {</span></div></div><div><div><div>1168</div></div><div><span>        </span><span>let</span><span><span> </span><span>response</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>userMemoUrl</span><span>,{</span></span></div></div><div><div><div>1169</div></div><div><span>            </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1170</div></div><div><span>              </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>1171</div></div><div><span>              </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span><span>,</span></div></div><div><div><div>1172</div></div><div><span>              </span><span>'Cache-Control'</span><span>:</span><span> </span><span>'no-cache'</span><span>,</span></div></div><div><div><div>1173</div></div><div><span><span>            </span></span><span>},</span></div></div><div><div><div>1174</div></div><div><span>            </span><span>cache</span><span>:</span><span> </span><span>'no-store'</span><span>,</span></div></div><div><div><div>1175</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>1176</div></div><div><span>        </span><span>if</span><span><span> (</span><span>response</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>1177</div></div><div><span>          </span><span>let</span><span><span> </span><span>data</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>1178</div></div><div><span>          </span><span>if</span><span>(</span><span>this</span><span>.</span><span>nowV1</span><span> </span><span>==</span><span> </span><span>"memos"</span><span>){</span></div></div><div><div><div>1179</div></div><div><span><span>            </span></span><span>data</span><span> </span><span>=</span><span><span> </span><span>data</span><span>.</span></span><span>memos</span></div></div><div><div><div>1180</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1181</div></div><div><span>          </span><span>let</span><span><span> </span><span>oneDayTag</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-oneday-tag"</span><span>);</span></div></div><div><div><div>1182</div></div><div><span>          </span><span>let</span><span><span> </span><span>oneDayTagCount</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-oneday-count"</span><span>);</span></div></div><div><div><div>1183</div></div><div><span>          </span><span>if</span><span><span>( </span><span>oneDayTag</span><span> </span></span><span>!==</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>oneDayTagCount</span><span> </span></span><span>!==</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span> </span><span>!</span><span><span>search</span><span> ){</span></span></div></div><div><div><div>1184</div></div><div><span>            </span><span>let</span><span><span> </span><span>randomOneNum</span><span> </span></span><span>=</span><span><span> </span><span>Math</span><span>.</span></span><span>floor</span><span><span>(</span><span>Math</span><span>.</span></span><span>random</span><span>() </span><span>*</span><span><span> </span><span>oneDayTagCount</span><span>)</span></span></div></div><div><div><div>1185</div></div><div><span>            </span><span>let</span><span><span> </span><span>oneDayUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>link</span><span>}</span><span>api/v1/memo?tag=</span><span>${</span><span>oneDayTag</span><span>}</span><span>&amp;limit=1&amp;offset=</span><span>${</span><span>randomOneNum</span><span>}</span><span>`</span></div></div><div><div><div>1186</div></div><div><span>            </span><span>try</span><span> {</span></div></div><div><div><div>1187</div></div><div><span>              </span><span>let</span><span><span> </span><span>responseOne</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>oneDayUrl</span><span>,{</span></span></div></div><div><div><div>1188</div></div><div><span>                </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1189</div></div><div><span>                  </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>1190</div></div><div><span>                  </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span><span>,</span></div></div><div><div><div>1191</div></div><div><span>                  </span><span>'Cache-Control'</span><span>:</span><span> </span><span>'no-cache'</span><span>,</span></div></div><div><div><div>1192</div></div><div><span><span>                </span></span><span>},</span></div></div><div><div><div>1193</div></div><div><span>                </span><span>cache</span><span>:</span><span> </span><span>'no-store'</span><span>,</span></div></div><div><div><div>1194</div></div><div><span><span>              </span></span><span>});</span></div></div><div><div><div>1195</div></div><div><span>              </span><span>if</span><span> (</span><span>!</span><span><span>responseOne</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>1196</div></div><div><span>                </span><span>throw</span><span> </span><span>new</span><span> </span><span>Error</span><span>(</span><span>`Request failed oneDay`</span><span>);</span></div></div><div><div><div>1197</div></div><div><span><span>              </span></span><span>}</span></div></div><div><div><div>1198</div></div><div><span><span>              </span></span><span>dataone</span><span> </span><span>=</span><span> </span><span>await</span><span><span> </span><span>responseOne</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>1199</div></div><div><span><span>              </span></span><span>data</span><span>.</span><span>splice</span><span>(</span><span>0</span><span>, </span><span>0</span><span>, </span><span>...</span><span><span>dataone</span><span>);</span></span></div></div><div><div><div>1200</div></div><div><span><span>            </span></span><span>} </span><span>catch</span><span><span> (</span><span>error</span><span>) {</span></span></div></div><div><div><div>1201</div></div><div><span><span>              </span></span><span>console</span><span>.</span><span>error</span><span><span>(</span><span>error</span><span>);</span></span></div></div><div><div><div>1202</div></div><div><span><span>            </span></span><span>}</span></div></div><div><div><div>1203</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1204</div></div><div><span><span>          </span></span><span>data</span><span>.</span><span>forEach</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1205</div></div><div><span><span>            </span></span><span>item</span><span>.</span><span>avatar</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosMeAvatarUrl</span></div></div><div><div><div>1206</div></div><div><span><span>            </span></span><span>item</span><span>.</span><span>link</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosPath</span></div></div><div><div><div>1207</div></div><div><span><span>            </span></span><span>item</span><span>.</span><span>twikoo</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosMeTwikoo</span></div></div><div><div><div>1208</div></div><div><span><span>            </span></span><span>item</span><span>.</span><span>artalk</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosMeArtalk</span></div></div><div><div><div>1209</div></div><div><span><span>            </span></span><span>item</span><span>.</span><span>artSite</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>memosMeArtalkSite</span><span>}</span><span>`</span></div></div><div><div><div>1210</div></div><div><span><span>          </span></span><span>});</span></div></div><div><div><div>1211</div></div><div><span>          </span><span>if</span><span><span> (</span><span>mode</span><span> </span></span><span>==</span><span> </span><span>"NOPUBLIC"</span><span>) {</span></div></div><div><div><div>1212</div></div><div><span>            </span><span>let</span><span><span> </span><span>memosCount</span><span> </span></span><span>=</span><span><span> </span><span>data</span><span>.</span></span><span>length</span><span>;</span></div></div><div><div><div>1213</div></div><div><span><span>            </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-response-count"</span><span><span>,  </span><span>memosCount</span><span>);</span></span></div></div><div><div><div>1214</div></div><div><span><span>            </span></span><span>data</span><span> </span><span>=</span><span><span> </span><span>data</span><span>.</span></span><span>filter</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> </span><span>item</span><span>.</span></span><span>visibility</span><span> </span><span>!==</span><span> </span><span>"PUBLIC"</span><span>);</span></div></div><div><div><div>1215</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1216</div></div><div><span>          </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span><span> </span><span>data</span><span>.</span></span><span>flatMap</span><span><span>(</span><span>result</span><span> </span></span><span>=&gt;</span><span><span> </span><span>result</span><span>);</span></span></div></div><div><div><div>1217</div></div><div><span>          </span><span>if</span><span>(</span><span>this</span><span>.</span><span>nowV1</span><span> </span><span>==</span><span> </span><span>"memos"</span><span>){</span></div></div><div><div><div>1218</div></div><div><span>            </span><span>let</span><span><span> </span><span>creatorName</span><span> </span></span><span>=</span><span><span> </span><span>name</span></span></div></div><div><div><div>1219</div></div><div><span>            </span><span>let</span><span><span> </span><span>creatorId</span><span> </span></span><span>=</span><span><span> </span><span>id</span></span></div></div><div><div><div>1220</div></div><div><span>            </span><span>let</span><span><span> </span><span>linkFind</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>find</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span><span> (</span><span>item</span><span>.</span></span><span>link</span><span> </span><span>==</span><span><span> </span><span>link</span><span>));</span></span></div></div><div><div><div>1221</div></div><div><span>            </span><span>let</span><span><span> </span><span>website</span><span> </span></span><span>=</span><span><span> </span><span>linkFind</span><span> </span></span><span>?</span><span><span> </span><span>linkFind</span><span>.</span></span><span>website</span><span> </span><span>:</span><span> </span><span>undefined</span><span>;</span></div></div><div><div><div>1222</div></div><div><span>            </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memoData</span><span>.</span><span>map</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1223</div></div><div><span>              </span><span>let</span><span><span> </span><span>cTime</span><span> </span></span><span>=</span><span>  </span><span>new</span><span> </span><span>Date</span><span><span>(</span><span>item</span><span>.</span></span><span>createTime</span><span>)</span></div></div><div><div><div>1224</div></div><div><span>              </span><span>let</span><span><span> </span><span>createdTs</span><span> </span></span><span>=</span><span><span> </span><span>Math</span><span>.</span></span><span>floor</span><span><span>(</span><span>cTime</span><span>.</span></span><span>getTime</span><span>() </span><span>/</span><span> </span><span>1000</span><span>);</span></div></div><div><div><div>1225</div></div><div><span>              </span><span>return</span><span> {</span><span>...</span><span><span>item</span><span>, </span><span>creatorName</span><span>,</span><span>avatar</span><span>,</span><span>createdTs</span><span>,</span><span>creatorId</span><span>,</span><span>link</span><span>,</span><span>website</span><span>};</span></span></div></div><div><div><div>1226</div></div><div><span><span>            </span></span><span>});</span></div></div><div><div><div>1227</div></div><div><span><span>          </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1228</div></div><div><span>            </span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>forEach</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1229</div></div><div><span>              </span><span>this</span><span>.</span><span>memoCreatorMap</span><span><span>[</span><span>item</span><span>.</span></span><span>creatorName</span><span>] </span><span>=</span><span><span> </span><span>item</span><span>;</span></span></div></div><div><div><div>1230</div></div><div><span><span>            </span></span><span>});</span></div></div><div><div><div>1231</div></div><div><span>            </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memoData</span><span>.</span><span>map</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1232</div></div><div><span>              </span><span>let</span><span><span> </span><span>data</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoCreatorMap</span><span><span>[</span><span>item</span><span>.</span></span><span>creatorName</span><span>];</span></div></div><div><div><div>1233</div></div><div><span>              </span><span>return</span><span> {</span><span>...</span><span><span>item</span><span>, </span></span><span>...</span><span><span>data</span><span>};</span></span></div></div><div><div><div>1234</div></div><div><span><span>            </span></span><span>});</span></div></div><div><div><div>1235</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1236</div></div><div><span>          </span><span>if</span><span><span> (</span><span>mode</span><span> </span></span><span>!==</span><span> </span><span>"NOPUBLIC"</span><span>) {</span></div></div><div><div><div>1237</div></div><div><span>            </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>this</span><span>.</span><span>_getMemoCount</span><span>(</span><span>this</span><span>.</span><span>memoData</span><span>);</span></div></div><div><div><div>1238</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1239</div></div><div><span>          </span><span>this</span><span>.</span><span>memoDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>1240</div></div><div><span>          </span><span>this</span><span>.</span><span>_updateData</span><span>(</span><span>this</span><span>.</span><span>memoData</span><span>);</span></div></div><div><div><div>1241</div></div><div><span>          </span><span>if</span><span>(</span><span>!</span><span><span>random</span><span> </span></span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>memoData</span><span>.</span><span>length</span><span> </span><span>&gt;=</span><span> </span><span>8</span><span> ){</span></div></div><div><div><div>1242</div></div><div><span>            </span><span>setTimeout</span><span>(() </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1243</div></div><div><span>              </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>1244</div></div><div><span><span>            </span></span><span>}, </span><span>1000</span><span>);</span></div></div><div><div><div>1245</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1246</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1247</div></div><div><span><span>      </span></span><span>} </span><span>catch</span><span><span> (</span><span>error</span><span>) {</span></span></div></div><div><div><div>1248</div></div><div><span><span>        </span></span><span>console</span><span>.</span><span>error</span><span><span>(</span><span>error</span><span>);</span></span></div></div><div><div><div>1249</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1250</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1251</div></div><div><span>        </span><span>try</span><span> {</span></div></div><div><div><div>1252</div></div><div><span>          </span><span>let</span><span><span> </span><span>response</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>userMemoUrl</span><span>);</span></span></div></div><div><div><div>1253</div></div><div><span>          </span><span>if</span><span> (</span><span>!</span><span><span>response</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>1254</div></div><div><span>            </span><span>throw</span><span> </span><span>new</span><span> </span><span>Error</span><span><span>(</span><span>response</span><span>.</span></span><span>statusText</span><span>);</span></div></div><div><div><div>1255</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1256</div></div><div><span>          </span><span>let</span><span><span> </span><span>data</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>1257</div></div><div><span>          </span><span>if</span><span><span>(</span><span>matchedV1</span><span>){</span></span></div></div><div><div><div>1258</div></div><div><span><span>            </span></span><span>data</span><span> </span><span>=</span><span><span> </span><span>data</span><span>.</span></span><span>memos</span></div></div><div><div><div>1259</div></div><div><span>            </span><span>let</span><span><span> </span><span>creatorName</span><span> </span></span><span>=</span><span><span> </span><span>name</span></span></div></div><div><div><div>1260</div></div><div><span>            </span><span>let</span><span><span> </span><span>creatorId</span><span> </span></span><span>=</span><span><span> </span><span>id</span></span></div></div><div><div><div>1261</div></div><div><span>            </span><span>let</span><span><span> </span><span>linkFind</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>find</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span><span> (</span><span>item</span><span>.</span></span><span>link</span><span> </span><span>==</span><span><span> </span><span>link</span><span>));</span></span></div></div><div><div><div>1262</div></div><div><span>            </span><span>let</span><span><span> </span><span>website</span><span> </span></span><span>=</span><span><span> </span><span>linkFind</span><span> </span></span><span>?</span><span><span> </span><span>linkFind</span><span>.</span></span><span>website</span><span> </span><span>:</span><span> </span><span>undefined</span><span>;</span></div></div><div><div><div>1263</div></div><div><span>            </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span><span> </span><span>data</span><span>.</span></span><span>flatMap</span><span><span>(</span><span>result</span><span> </span></span><span>=&gt;</span><span><span> </span><span>result</span><span>);</span></span></div></div><div><div><div>1264</div></div><div><span>            </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memoData</span><span>.</span><span>map</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1265</div></div><div><span>              </span><span>let</span><span><span> </span><span>cTime</span><span> </span></span><span>=</span><span>  </span><span>new</span><span> </span><span>Date</span><span><span>(</span><span>item</span><span>.</span></span><span>createTime</span><span>)</span></div></div><div><div><div>1266</div></div><div><span>              </span><span>let</span><span><span> </span><span>createdTs</span><span> </span></span><span>=</span><span><span> </span><span>Math</span><span>.</span></span><span>floor</span><span><span>(</span><span>cTime</span><span>.</span></span><span>getTime</span><span>() </span><span>/</span><span> </span><span>1000</span><span>);</span></div></div><div><div><div>1267</div></div><div><span>              </span><span>return</span><span> {</span><span>...</span><span><span>item</span><span>, </span><span>creatorName</span><span>,</span><span>avatar</span><span>,</span><span>createdTs</span><span>,</span><span>creatorId</span><span>,</span><span>link</span><span>,</span><span>website</span><span>};</span></span></div></div><div><div><div>1268</div></div><div><span><span>            </span></span><span>});</span></div></div><div><div><div>1269</div></div><div><span><span>          </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1270</div></div><div><span>            </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span><span> </span><span>data</span><span>.</span></span><span>flatMap</span><span><span>(</span><span>result</span><span> </span></span><span>=&gt;</span><span><span> </span><span>result</span><span>);</span></span></div></div><div><div><div>1271</div></div><div><span>            </span><span>this</span><span>.</span><span>memoList</span><span>.</span><span>forEach</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1272</div></div><div><span>              </span><span>this</span><span>.</span><span>memoCreatorMap</span><span><span>[</span><span>item</span><span>.</span></span><span>creatorName</span><span>] </span><span>=</span><span><span> </span><span>item</span><span>;</span></span></div></div><div><div><div>1273</div></div><div><span><span>            </span></span><span>});</span></div></div><div><div><div>1274</div></div><div><span>            </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memoData</span><span>.</span><span>map</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1275</div></div><div><span>              </span><span>let</span><span><span> </span><span>data</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memoCreatorMap</span><span><span>[</span><span>item</span><span>.</span></span><span>creatorName</span><span>];</span></div></div><div><div><div>1276</div></div><div><span>              </span><span>return</span><span> {</span><span>...</span><span><span>item</span><span>, </span></span><span>...</span><span><span>data</span><span>};</span></span></div></div><div><div><div>1277</div></div><div><span><span>            </span></span><span>});</span></div></div><div><div><div>1278</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1279</div></div><div><span>          </span><span>this</span><span>.</span><span>memoData</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>this</span><span>.</span><span>_getMemoCount</span><span>(</span><span>this</span><span>.</span><span>memoData</span><span>);</span></div></div><div><div><div>1280</div></div><div><span>          </span><span>this</span><span>.</span><span>memoDom</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>1281</div></div><div><span>          </span><span>this</span><span>.</span><span>_updateData</span><span>(</span><span>this</span><span>.</span><span>memoData</span><span>);</span></div></div><div><div><div>1282</div></div><div><span>          </span><span>if</span><span>(</span><span>this</span><span>.</span><span>memoData</span><span>.</span><span>length</span><span> </span><span>&gt;=</span><span> </span><span>8</span><span> ){</span></div></div><div><div><div>1283</div></div><div><span>            </span><span>setTimeout</span><span>(() </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1284</div></div><div><span>              </span><span>this</span><span>.</span><span>loadBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>1285</div></div><div><span><span>            </span></span><span>}, </span><span>1000</span><span>);</span></div></div><div><div><div>1286</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1287</div></div><div><span><span>        </span></span><span>} </span><span>catch</span><span><span> (</span><span>error</span><span>) {</span></span></div></div><div><div><div>1288</div></div><div><span><span>          </span></span><span>console</span><span>.</span><span>error</span><span><span>(</span><span>error</span><span>);</span></span></div></div><div><div><div>1289</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1290</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1291</div></div><div><span>    </span><span>setTimeout</span><span>(() </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1292</div></div><div><span>      </span><span>this</span><span>.</span><span>goHomeBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"noclick"</span><span>)</span></div></div><div><div><div>1293</div></div><div><span>      </span><span>this</span><span>.</span><span>randomUserBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"noclick"</span><span>)</span></div></div><div><div><div>1294</div></div><div><span><span>    </span></span><span>}, </span><span>800</span><span>);</span></div></div><div><div><div>1295</div></div><div><span><span>    </span></span><span>window</span><span>.</span><span>scrollTo</span><span>({</span></div></div><div><div><div>1296</div></div><div><span>      </span><span>top</span><span>:</span><span> </span><span>this</span><span>.</span><span>usernowDom</span><span>.</span><span>offsetTop</span><span> </span><span>-</span><span> </span><span>30</span><span>,</span></div></div><div><div><div>1297</div></div><div><span>      </span><span>behavior</span><span>:</span><span> </span><span>"smooth"</span></div></div><div><div><div>1298</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1299</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1300</div></div><div><span>  </span><span>// Fetch NeoDB</span></div></div><div><div><div>1301</div></div><div><span>  </span><span>async</span><span> </span><span>_fetchNeoDB</span><span><span>(</span><span>url</span><span>,</span><span>mode</span><span>){</span></span></div></div><div><div><div>1302</div></div><div><span>    </span><span>let</span><span><span> </span><span>urlNow</span><span>;</span></span></div></div><div><div><div>1303</div></div><div><span>    </span><span>if</span><span><span>(</span><span>mode</span><span> </span></span><span>==</span><span> </span><span>"douban"</span><span>){</span></div></div><div><div><div>1304</div></div><div><span><span>      </span></span><span>urlNow</span><span> </span><span>=</span><span> </span><span>"https://api-neodb.immmmm.com/?url="</span><span>+</span><span>url</span></div></div><div><div><div>1305</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>mode</span><span> </span></span><span>=</span><span> </span><span>"neodb"</span><span>){</span></div></div><div><div><div>1306</div></div><div><span><span>      </span></span><span>urlNow</span><span> </span><span>=</span><span><span> </span><span>url</span><span>.</span></span><span>replace</span><span>(</span><span>"social/"</span><span>,</span><span>"social/api/"</span><span>)</span></div></div><div><div><div>1307</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1308</div></div><div><span>    </span><span>let</span><span><span> </span><span>response</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>urlNow</span><span>);</span></span></div></div><div><div><div>1309</div></div><div><span>    </span><span>let</span><span><span> </span><span>dbFetch</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>1310</div></div><div><span>    </span><span>let</span><span><span> </span><span>neodbDom</span><span> </span></span><span>=</span><span> </span><span>`&lt;div class="db-card"&gt;</span></div></div><div><div><div>1311</div></div><div><span><span>      </span></span><span>&lt;div class="db-card-subject"&gt;</span></div></div><div><div><div>1312</div></div><div><span><span>          </span></span><span>&lt;div class="db-card-post"&gt;&lt;img loading="lazy" decoding="async" referrerpolicy="no-referrer" src="https://cors.immmmm.com/</span><span>${</span><span>dbFetch</span><span>.</span><span>cover_image_url</span><span>}</span><span>"&gt;&lt;/div&gt;</span></div></div><div><div><div>1313</div></div><div><span><span>          </span></span><span>&lt;div class="db-card-content"&gt;</span></div></div><div><div><div>1314</div></div><div><span><span>              </span></span><span>&lt;div class="db-card-title"&gt;&lt;a href="</span><span>${</span><span>url</span><span>}</span><span>" class="cute" target="_blank" rel="noreferrer"&gt;</span><span>${</span><span>dbFetch</span><span>.</span><span>title</span><span>}</span><span>&lt;/a&gt;&lt;/div&gt;</span></div></div><div><div><div>1315</div></div><div><span><span>              </span></span><span>&lt;div class="rating"&gt;&lt;span class="allstardark"&gt;&lt;span class="allstarlight" style="width:</span><span>${</span><span>dbFetch</span><span>.</span><span>rating</span><span>*</span><span>10</span><span>}</span><span>%"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="rating_nums"&gt;</span><span>${</span><span>dbFetch</span><span>.</span><span>rating</span><span>}</span><span>&lt;/span&gt;&lt;/div&gt;</span></div></div><div><div><div>1316</div></div><div><span><span>              </span></span><span>&lt;div class="db-card-abstract"&gt;</span><span>${</span><span>dbFetch</span><span>.</span><span>brief</span><span>}</span><span>&lt;/div&gt;</span></div></div><div><div><div>1317</div></div><div><span><span>          </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>1318</div></div><div><span><span>          </span></span><span>&lt;div class="db-card-cate"&gt;</span><span>${</span><span>dbFetch</span><span>.</span><span>category</span><span>}</span><span>&lt;/div&gt;</span></div></div><div><div><div>1319</div></div><div><span><span>      </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>1320</div></div><div><span><span>    </span></span><span>&lt;/div&gt;`</span></div></div><div><div><div>1321</div></div><div><span>    </span><span>return</span><span><span> </span><span>neodbDom</span></span></div></div><div><div><div>1322</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1323</div></div><div><span>  </span><span>//获取指定 Tag</span></div></div><div><div><div>1324</div></div><div><span>  </span><span>_getTagNow</span><span><span>(</span><span>u</span><span>,</span><span>i</span><span>,</span><span>n</span><span>,</span><span>a</span><span>,</span><span>e</span><span>){</span></span></div></div><div><div><div>1325</div></div><div><span>    </span><span>let</span><span><span> </span><span>tagnowHas</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow"</span><span>)</span></div></div><div><div><div>1326</div></div><div><span>    </span><span>if</span><span><span>(</span><span>tagnowHas</span><span>) </span><span>tagnowHas</span><span>.</span></span><span>remove</span><span>();</span></div></div><div><div><div>1327</div></div><div><span>    </span><span>let</span><span><span> </span><span>tagName</span><span> </span></span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>innerHTML</span></div></div><div><div><div>1328</div></div><div><span>    </span><span>let</span><span><span> </span><span>tagnowDom</span><span> </span></span><span>=</span><span> </span><span>`</span></div></div><div><div><div>1329</div></div><div><span><span>    </span></span><span>&lt;div class="memos-tagnow row p-2 mb-2"&gt;</span></div></div><div><div><div>1330</div></div><div><span><span>      </span></span><span>&lt;div class="memos-tagnow-title mr-3"&gt;标签筛选:&lt;/div&gt;</span></div></div><div><div><div>1331</div></div><div><span><span>      </span></span><span>&lt;div class="memos-tagnow-name card-item pr-2 pl-2" onclick="window.memosbbs._reloadUser()"&gt;</span><span>${</span><span>tagName</span><span>}</span><span>&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-4 h-auto ml-1 opacity-40"&gt;&lt;path d="M18 6 6 18"&gt;&lt;/path&gt;&lt;path d="m6 6 12 12"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;</span></div></div><div><div><div>1332</div></div><div><span><span>    </span></span><span>&lt;/div&gt;`</span></div></div><div><div><div>1333</div></div><div><span>    </span><span>this</span><span>.</span><span>memosDom</span><span>.</span><span>insertAdjacentHTML</span><span>(</span><span>'beforebegin'</span><span><span>, </span><span>tagnowDom</span><span>);</span></span></div></div><div><div><div>1334</div></div><div><span>    </span><span>this</span><span>.</span><span>_getUserMemos</span><span><span>(</span><span>u</span><span>,</span><span>i</span><span>,</span><span>n</span><span>,</span><span>a</span><span>,</span><span>tagName</span><span>);</span></span></div></div><div><div><div>1335</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1336</div></div><div>
</div></div><div><div><div>1337</div></div><div><span>  </span><span>// 加载Twikoo评论</span></div></div><div><div><div>1338</div></div><div><span>  </span><span>_loadTwikoo</span><span><span>(</span><span>i</span><span>) {</span></span></div></div><div><div><div>1339</div></div><div><span>    </span><span>let</span><span><span> </span><span>twikooEnv</span><span> </span></span><span>=</span><span><span> </span><span>i</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-env"</span><span>)</span></div></div><div><div><div>1340</div></div><div><span>    </span><span>let</span><span><span> </span><span>twikooPath</span><span> </span></span><span>=</span><span><span> </span><span>i</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-path"</span><span>)</span></div></div><div><div><div>1341</div></div><div><span>    </span><span>let</span><span><span> </span><span>twikooId</span><span> </span></span><span>=</span><span><span> </span><span>i</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-id"</span><span>)</span></div></div><div><div><div>1342</div></div><div><span>    </span><span>let</span><span><span> </span><span>twikooTime</span><span> </span></span><span>=</span><span><span> </span><span>i</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-time"</span><span>)</span></div></div><div><div><div>1343</div></div><div><span>    </span><span>let</span><span><span> </span><span>twikooDom</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>getElementById</span><span>(</span><span>`</span><span>${</span><span>Number</span><span><span>(</span><span>twikooTime</span><span>)</span></span><span>+</span><span>Number</span><span><span>(</span><span>twikooId</span><span>)</span></span><span>}</span><span>`</span><span>);</span></div></div><div><div><div>1344</div></div><div><span>    </span><span>let</span><span><span> </span><span>twikooCon</span><span> </span></span><span>=</span><span> </span><span>"&lt;div id='twikoo'&gt;&lt;/div&gt;"</span></div></div><div><div><div>1345</div></div><div><span>    </span><span>if</span><span><span> (</span><span>twikooDom</span><span>.</span></span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>'d-none'</span><span>)) {</span></div></div><div><div><div>1346</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>querySelectorAll</span><span>(</span><span>'.item-comment'</span><span>).</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);})</span></div></div><div><div><div>1347</div></div><div><span>      </span><span>if</span><span><span>(</span><span>document</span><span>.</span></span><span>getElementById</span><span>(</span><span>"twikoo"</span><span>)){</span></div></div><div><div><div>1348</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>getElementById</span><span>(</span><span>"twikoo"</span><span>).</span><span>remove</span><span>()</span></div></div><div><div><div>1349</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1350</div></div><div><span><span>      </span></span><span>twikooDom</span><span>.</span><span>insertAdjacentHTML</span><span>(</span><span>'beforeend'</span><span><span>, </span><span>twikooCon</span><span>);</span></span></div></div><div><div><div>1351</div></div><div><span><span>      </span></span><span>twikooDom</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>1352</div></div><div><span><span>      </span></span><span>twikoo</span><span>.</span><span>init</span><span>({</span></div></div><div><div><div>1353</div></div><div><span>        </span><span>envId</span><span>:</span><span><span> </span><span>twikooEnv</span><span>,</span></span></div></div><div><div><div>1354</div></div><div><span>        </span><span>el</span><span>:</span><span> </span><span>'#twikoo'</span><span>,</span></div></div><div><div><div>1355</div></div><div><span>        </span><span>path</span><span>:</span><span><span> </span><span>twikooPath</span></span></div></div><div><div><div>1356</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>1357</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1358</div></div><div><span><span>      </span></span><span>twikooDom</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>1359</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>getElementById</span><span>(</span><span>"twikoo"</span><span>).</span><span>remove</span><span>()</span></div></div><div><div><div>1360</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1361</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1362</div></div><div>
</div></div><div><div><div>1363</div></div><div><span>  </span><span>// 加载Artalk评论</span></div></div><div><div><div>1364</div></div><div><span>  </span><span>_loadArtalk</span><span><span>(</span><span>e</span><span>) {</span></span></div></div><div><div><div>1365</div></div><div><span>    </span><span>let</span><span><span> </span><span>artalkEnv</span><span> </span></span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-env"</span><span>)</span></div></div><div><div><div>1366</div></div><div><span>    </span><span>let</span><span><span> </span><span>artalkPath</span></span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-path"</span><span>)</span></div></div><div><div><div>1367</div></div><div><span>    </span><span>let</span><span><span> </span><span>artalkId</span><span> </span></span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-id"</span><span>)</span></div></div><div><div><div>1368</div></div><div><span>    </span><span>let</span><span><span> </span><span>artalkTime</span><span> </span></span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-time"</span><span>)</span></div></div><div><div><div>1369</div></div><div><span>    </span><span>let</span><span><span> </span><span>artalkDom</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>getElementById</span><span>(</span><span>`</span><span>${</span><span>Number</span><span><span>(</span><span>artalkTime</span><span>)</span></span><span> </span><span>+</span><span> </span><span>Number</span><span><span>(</span><span>artalkId</span><span>)</span></span><span>}</span><span>`</span><span>);</span></div></div><div><div><div>1370</div></div><div><span>    </span><span>let</span><span><span> </span><span>artalkCon</span><span> </span></span><span>=</span><span> </span><span>"&lt;div id='artalk'&gt;&lt;/div&gt;"</span></div></div><div><div><div>1371</div></div><div><span>    </span><span>if</span><span><span> (</span><span>artalkDom</span><span>.</span></span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>'d-none'</span><span>)) {</span></div></div><div><div><div>1372</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>querySelectorAll</span><span>(</span><span>'.item-comment'</span><span>).</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);})</span></div></div><div><div><div>1373</div></div><div><span>      </span><span>if</span><span><span>(</span><span>document</span><span>.</span></span><span>getElementById</span><span>(</span><span>"artalk"</span><span>)){</span></div></div><div><div><div>1374</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>getElementById</span><span>(</span><span>"artalk"</span><span>).</span><span>remove</span><span>()</span></div></div><div><div><div>1375</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1376</div></div><div><span><span>      </span></span><span>artalkDom</span><span>.</span><span>insertAdjacentHTML</span><span>(</span><span>'beforeend'</span><span><span>, </span><span>artalkCon</span><span>);</span></span></div></div><div><div><div>1377</div></div><div><span><span>      </span></span><span>artalkDom</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>1378</div></div><div><span><span>      </span></span><span>Artalk</span><span>.</span><span>init</span><span>({</span></div></div><div><div><div>1379</div></div><div><span>        </span><span>el</span><span>:</span><span> </span><span>'#artalk'</span><span>,</span></div></div><div><div><div>1380</div></div><div><span>        </span><span>pageKey</span><span>:</span><span> </span><span>'/m/'</span><span> </span><span>+</span><span><span> </span><span>artalkId</span><span>,</span></span></div></div><div><div><div>1381</div></div><div><span>        </span><span>pageTitle</span><span>:</span><span> </span><span>''</span><span>,</span></div></div><div><div><div>1382</div></div><div><span>        </span><span>site</span><span>:</span><span><span> </span><span>artalkPath</span><span>,</span></span></div></div><div><div><div>1383</div></div><div><span>        </span><span>server</span><span>:</span><span><span> </span><span>artalkEnv</span><span>,</span></span></div></div><div><div><div>1384</div></div><div><span>        </span><span>emoticons</span><span>:</span><span> </span><span>false</span></div></div><div><div><div>1385</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>1386</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1387</div></div><div><span><span>      </span></span><span>artalkDom</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>1388</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>getElementById</span><span>(</span><span>"artalk"</span><span>).</span><span>remove</span><span>()</span></div></div><div><div><div>1389</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1390</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1391</div></div><div><span>  </span><span>//收藏</span></div></div><div><div><div>1392</div></div><div><span>  </span><span>_saveMemo</span><span><span>(</span><span>memo</span><span>) {</span></span></div></div><div><div><div>1393</div></div><div><span>      </span><span>let</span><span><span> </span><span>e</span><span> </span></span><span>=</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>memo</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-form"</span><span>));</span></div></div><div><div><div>1394</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosContent</span><span> </span></span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>content</span><span>;</span></div></div><div><div><div>1395</div></div><div><span>      </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>1396</div></div><div><span>      </span><span>let</span><span><span> </span><span>hasContent</span><span> </span></span><span>=</span><span><span> </span><span>memosContent</span><span>.</span></span><span>length</span><span> </span><span>!==</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>1397</div></div><div><span>      </span><span>if</span><span> (</span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>hasContent</span><span>) {</span></span></div></div><div><div><div>1398</div></div><div><span>        </span><span>this</span><span>.</span><span>submitMemoBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"noclick"</span><span>)</span></div></div><div><div><div>1399</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>memosPath</span><span>}</span><span>api/v1/memo`</span><span>;</span></div></div><div><div><div>1400</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoBody</span><span> </span></span><span>=</span><span> {</span><span>content</span><span>:</span><span><span>memosContent</span><span>,</span></span><span>visibility</span><span>:</span><span>"PRIVATE"</span><span>}</span></div></div><div><div><div>1401</div></div><div><span>        </span><span>fetch</span><span><span>(</span><span>memoUrl</span><span>, {</span></span></div></div><div><div><div>1402</div></div><div><span>          </span><span>method</span><span>:</span><span> </span><span>'POST'</span><span>,</span></div></div><div><div><div>1403</div></div><div><span>          </span><span>body</span><span>:</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memoBody</span><span>),</span></span></div></div><div><div><div>1404</div></div><div><span>          </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1405</div></div><div><span>            </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>1406</div></div><div><span>            </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span></div></div><div><div><div>1407</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1408</div></div><div><span><span>        </span></span><span>}).</span><span>then</span><span><span>((</span><span>res</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1409</div></div><div><span><span>            </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>'收藏成功'</span><span>)</span></div></div><div><div><div>1410</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>1411</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span> </span><span>if</span><span>(</span><span>!</span><span><span>hasContent</span><span>){</span></span></div></div><div><div><div>1412</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>info</span><span>(</span><span>'内容不能为空'</span><span>);</span></div></div><div><div><div>1413</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1414</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1415</div></div><div>
</div></div><div><div><div>1416</div></div><div><span>  </span><span>//编辑修改</span></div></div><div><div><div>1417</div></div><div><span>  </span><span>_editMemo</span><span><span>(</span><span>memo</span><span>) {</span></span></div></div><div><div><div>1418</div></div><div><span>    </span><span>this</span><span>.</span><span>memosOldSelect</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span>;</span></div></div><div><div><div>1419</div></div><div><span>    </span><span>this</span><span>.</span><span>getEditor</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-editor-display"</span><span>);</span></div></div><div><div><div>1420</div></div><div><span>    </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>1421</div></div><div><span>    </span><span>if</span><span>(</span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>getEditor</span><span> </span><span>==</span><span> </span><span>"show"</span><span>){</span></div></div><div><div><div>1422</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>querySelector</span><span>(</span><span>".memos-image-list"</span><span>).</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1423</div></div><div><span>      </span><span>let</span><span><span> </span><span>e</span><span> </span></span><span>=</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>memo</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-form"</span><span>));</span></div></div><div><div><div>1424</div></div><div><span>      </span><span>let</span><span><span> </span><span>memoResList</span><span> </span></span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>resourceList</span><span><span>,</span><span>memosResource</span><span> </span></span><span>=</span><span><span> [],</span><span>imageList</span><span> </span></span><span>=</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>1425</div></div><div><span>      </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span> </span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>visibility</span><span>;</span></div></div><div><div><div>1426</div></div><div><span><span>      </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-editor-dataform"</span><span>,</span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>e</span><span>));</span></span></div></div><div><div><div>1427</div></div><div><span><span>      </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-visibility-select"</span><span>,</span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span>);</span></div></div><div><div><div>1428</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>content</span><span>;</span></div></div><div><div><div>1429</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>style</span><span>.</span><span>height</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>scrollHeight</span><span> </span><span>+</span><span> </span><span>'px'</span><span>;</span></div></div><div><div><div>1430</div></div><div><span>      </span><span>this</span><span>.</span><span>submitMemoBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1431</div></div><div><span>      </span><span>this</span><span>.</span><span>editMemoDom</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1432</div></div><div><span>      </span><span>if</span><span><span>(</span><span>memoResList</span><span>.</span></span><span>length</span><span> </span><span>&gt;</span><span> </span><span>0</span><span>){</span></div></div><div><div><div>1433</div></div><div><span>        </span><span>for</span><span> (</span><span>let</span><span><span> </span><span>i</span><span> </span></span><span>=</span><span> </span><span>0</span><span><span>; </span><span>i</span><span> </span></span><span>&lt;</span><span><span> </span><span>memoResList</span><span>.</span></span><span>length</span><span><span>; </span><span>i</span></span><span>++</span><span>) {</span></div></div><div><div><div>1434</div></div><div><span>          </span><span>let</span><span><span> </span><span>imgLink</span><span> </span></span><span>=</span><span> </span><span>''</span><span><span>, </span><span>fileId</span><span> </span></span><span>=</span><span> </span><span>''</span><span><span>,</span><span>resexlink</span><span> </span></span><span>=</span><span><span> </span><span>memoResList</span><span>[</span><span>i</span><span>].</span></span><span>externalLink</span><span>;</span></div></div><div><div><div>1435</div></div><div><span>          </span><span>if</span><span><span> (</span><span>resexlink</span><span>) {</span></span></div></div><div><div><div>1436</div></div><div><span><span>              </span></span><span>imgLink</span><span> </span><span>=</span><span><span> </span><span>resexlink</span></span></div></div><div><div><div>1437</div></div><div><span><span>          </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>1438</div></div><div><span><span>              </span></span><span>fileId</span><span> </span><span>=</span><span><span> </span><span>memoResList</span><span>[</span><span>i</span><span>].</span></span><span>publicId</span><span> </span><span>||</span><span><span> </span><span>memoResList</span><span>[</span><span>i</span><span>].</span></span><span>filename</span></div></div><div><div><div>1439</div></div><div><span><span>              </span></span><span>imgLink</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>memosPath</span><span>}</span><span>/o/r/</span><span>${</span><span><span>memoResList</span><span>[</span><span>i</span><span>]</span></span><span>.</span><span>id</span><span>}</span><span>`</span><span>;</span><span>///${fileId}</span></div></div><div><div><div>1440</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1441</div></div><div><span><span>          </span></span><span>memosResource</span><span>.</span><span>push</span><span><span>(</span><span>memoResList</span><span>[</span><span>i</span><span>].</span></span><span>id</span><span>);</span></div></div><div><div><div>1442</div></div><div><span><span>          </span></span><span>imageList</span><span> </span><span>+=</span><span> </span><span>`&lt;div data-id="</span><span>${</span><span><span>memoResList</span><span>[</span><span>i</span><span>]</span></span><span>.</span><span>id</span><span>}</span><span>" class="imagelist-item d-flex text-xs mt-2 mr-2" onclick="window.memosbbs._deleteImage(this)"&gt;&lt;div class="d-flex image-background" style="background-image:url(</span><span>${</span><span>imgLink</span><span>}</span><span>)"&gt;&lt;span class="d-none"&gt;</span><span>${</span><span>fileId</span><span>}</span><span>&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>1443</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1444</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-resource-list"</span><span>,  </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memosResource</span><span>));</span></span></div></div><div><div><div>1445</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>querySelector</span><span>(</span><span>".memos-image-list"</span><span>).</span><span>insertAdjacentHTML</span><span>(</span><span>'afterbegin'</span><span><span>, </span><span>imageList</span><span>);</span></span></div></div><div><div><div>1446</div></div><div><span>        </span><span>//this._imageListDrag()</span></div></div><div><div><div>1447</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1448</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>body</span><span>.</span><span>scrollIntoView</span><span>({</span><span>behavior</span><span>:</span><span> </span><span>'smooth'</span><span>});</span></div></div><div><div><div>1449</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1450</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1451</div></div><div>
</div></div><div><div><div>1452</div></div><div><span>  </span><span>_setMemoTag</span><span><span>(</span><span>e</span><span>){</span></span></div></div><div><div><div>1453</div></div><div><span>    </span><span>let</span><span><span> </span><span>memoTag</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1454</div></div><div><span>    </span><span>const</span><span> </span><span>inputValue</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>;</span></div></div><div><div><div>1455</div></div><div><span>    </span><span>const</span><span> </span><span>lastWord</span><span> </span><span>=</span><span><span> </span><span>inputValue</span><span>.</span></span><span>charAt</span><span><span>(</span><span>inputValue</span><span>.</span></span><span>length</span><span> </span><span>-</span><span> </span><span>1</span><span>);</span></div></div><div><div><div>1456</div></div><div><span>    </span><span>if</span><span><span> (</span><span>lastWord</span><span> </span></span><span>==</span><span> </span><span>'#'</span><span>) {</span></div></div><div><div><div>1457</div></div><div><span><span>      </span></span><span>memoTag</span><span> </span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>textContent</span><span>.</span><span>replace</span><span>(</span><span>"#"</span><span>,</span><span>""</span><span>) </span><span>+</span><span> </span><span>" "</span><span>;</span></div></div><div><div><div>1458</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1459</div></div><div><span><span>      </span></span><span>memoTag</span><span> </span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>textContent</span><span> </span><span>+</span><span> </span><span>" "</span><span>;</span></div></div><div><div><div>1460</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1461</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>+=</span><span><span> </span><span>memoTag</span><span>;</span></span></div></div><div><div><div>1462</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>focus</span><span>()</span></div></div><div><div><div>1463</div></div><div><span><span>    </span></span><span>document</span><span>.</span><span>querySelector</span><span>(</span><span>".memos-tag-list"</span><span>).</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1464</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1465</div></div><div><span>  </span><span>//归档</span></div></div><div><div><div>1466</div></div><div><span>  </span><span>_archiveMemo</span><span><span>(</span><span>memoId</span><span>) {</span></span></div></div><div><div><div>1467</div></div><div><span>    </span><span>let</span><span><span> </span><span>isOk</span><span> </span></span><span>=</span><span> </span><span>confirm</span><span>(</span><span>"确认归档？"</span><span>);</span></div></div><div><div><div>1468</div></div><div><span>    </span><span>if</span><span><span>(</span><span>isOk</span><span>){</span></span></div></div><div><div><div>1469</div></div><div><span>      </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>1470</div></div><div><span>      </span><span>if</span><span>(</span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>memoId</span><span>){</span></span></div></div><div><div><div>1471</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>memosPath</span><span>}</span><span>api/v1/memo/</span><span>${</span><span>memoId</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>1472</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoBody</span><span> </span></span><span>=</span><span> {</span><span>id</span><span>:</span><span><span>memoId</span><span>,</span></span><span>rowStatus</span><span>:</span><span>"ARCHIVED"</span><span>};</span></div></div><div><div><div>1473</div></div><div><span>        </span><span>fetch</span><span><span>(</span><span>memoUrl</span><span>, {</span></span></div></div><div><div><div>1474</div></div><div><span>          </span><span>method</span><span>:</span><span> </span><span>'PATCH'</span><span>,</span></div></div><div><div><div>1475</div></div><div><span>          </span><span>body</span><span>:</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memoBody</span><span>),</span></span></div></div><div><div><div>1476</div></div><div><span>          </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1477</div></div><div><span>            </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>1478</div></div><div><span>            </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span></div></div><div><div><div>1479</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1480</div></div><div><span><span>        </span></span><span>}).</span><span>then</span><span><span>((</span><span>res</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1481</div></div><div><span>          </span><span>if</span><span><span> (</span><span>res</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>1482</div></div><div><span><span>            </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span></div></div><div><div><div>1483</div></div><div><span>            </span><span>'归档成功'</span><span>,</span></div></div><div><div><div>1484</div></div><div><span><span>            </span></span><span>()</span><span>=&gt;</span><span>{</span></div></div><div><div><div>1485</div></div><div><span>              </span><span>this</span><span>.</span><span>memosMode</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-mode"</span><span>);</span></div></div><div><div><div>1486</div></div><div><span>              </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>,</span><span>""</span><span>,</span><span>""</span><span>,</span><span>this</span><span>.</span><span>memosMode</span><span>)</span></div></div><div><div><div>1487</div></div><div><span><span>            </span></span><span>})</span></div></div><div><div><div>1488</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1489</div></div><div><span><span>        </span></span><span>})</span></div></div><div><div><div>1490</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1491</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1492</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1493</div></div><div>
</div></div><div><div><div>1494</div></div><div><span>  </span><span>//删除</span></div></div><div><div><div>1495</div></div><div><span>  </span><span>_deleteMemo</span><span><span>(</span><span>memoId</span><span>) {</span></span></div></div><div><div><div>1496</div></div><div><span>    </span><span>let</span><span><span> </span><span>isOk</span><span> </span></span><span>=</span><span> </span><span>confirm</span><span>(</span><span>"确认删除？"</span><span>);</span></div></div><div><div><div>1497</div></div><div><span>    </span><span>if</span><span><span>(</span><span>isOk</span><span>){</span></span></div></div><div><div><div>1498</div></div><div><span>      </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>1499</div></div><div><span>      </span><span>if</span><span>(</span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>memoId</span><span>){</span></span></div></div><div><div><div>1500</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>memosPath</span><span>}</span><span>api/v1/memo/</span><span>${</span><span>memoId</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>1501</div></div><div><span>        </span><span>fetch</span><span><span>(</span><span>memoUrl</span><span>, {</span></span></div></div><div><div><div>1502</div></div><div><span>          </span><span>method</span><span>:</span><span> </span><span>'DELETE'</span><span>,</span></div></div><div><div><div>1503</div></div><div><span>          </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1504</div></div><div><span>            </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>1505</div></div><div><span>            </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span></div></div><div><div><div>1506</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1507</div></div><div><span><span>        </span></span><span>}).</span><span>then</span><span><span>((</span><span>res</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1508</div></div><div><span>          </span><span>if</span><span><span> (</span><span>res</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>1509</div></div><div><span><span>            </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span></div></div><div><div><div>1510</div></div><div><span>            </span><span>'删除成功'</span><span>,</span></div></div><div><div><div>1511</div></div><div><span><span>            </span></span><span>()</span><span>=&gt;</span><span>{</span></div></div><div><div><div>1512</div></div><div><span>              </span><span>this</span><span>.</span><span>memosMode</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-mode"</span><span>);</span></div></div><div><div><div>1513</div></div><div><span>              </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>,</span><span>""</span><span>,</span><span>""</span><span>,</span><span>this</span><span>.</span><span>memosMode</span><span>)</span></div></div><div><div><div>1514</div></div><div><span><span>            </span></span><span>})</span></div></div><div><div><div>1515</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1516</div></div><div><span><span>        </span></span><span>}).</span><span>catch</span><span><span>(</span><span>err</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1517</div></div><div><span><span>          </span></span><span>cocoMessage</span><span>.</span><span>error</span><span>(</span><span>'出错了，再检查一下吧'</span><span>)</span></div></div><div><div><div>1518</div></div><div><span><span>        </span></span><span>})</span></div></div><div><div><div>1519</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1520</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1521</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1522</div></div><div>
</div></div><div><div><div>1523</div></div><div><span>  </span><span>_viaNow</span><span><span>(</span><span>e</span><span>){</span></span></div></div><div><div><div>1524</div></div><div><span>    </span><span>let</span><span><span> </span><span>dataForm</span><span> </span></span><span>=</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>e</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-form"</span><span>));</span></div></div><div><div><div>1525</div></div><div><span>    </span><span>let</span><span><span> </span><span>memoName</span><span> </span></span><span>=</span><span><span> </span><span>dataForm</span><span>.</span></span><span>creatorName</span></div></div><div><div><div>1526</div></div><div><span>    </span><span>let</span><span><span> </span><span>memoLink</span><span> </span></span><span>=</span><span><span> </span><span>dataForm</span><span>.</span></span><span>link</span><span>+</span><span> </span><span>"/m/"</span><span> </span><span>+</span><span><span> (</span><span>dataForm</span><span>.</span></span><span>name</span><span> </span><span>||</span><span><span> </span><span>dataForm</span><span>.</span></span><span>id</span><span>);</span></div></div><div><div><div>1527</div></div><div><span>    </span><span>let</span><span><span> </span><span>memoContent</span><span> </span></span><span>=</span><span><span> </span><span>dataForm</span><span>.</span></span><span>content</span></div></div><div><div><div>1528</div></div><div><span>    </span><span>if</span><span><span>(</span><span>memoContent</span><span>.</span></span><span>length</span><span> </span><span>&gt;</span><span> </span><span>120</span><span>){</span></div></div><div><div><div>1529</div></div><div><span><span>      </span></span><span>memoContent</span><span> </span><span>=</span><span><span> </span><span>memoContent</span><span>.</span></span><span>substring</span><span>(</span><span>0</span><span>, </span><span>119</span><span>) </span><span>+</span><span> </span><span>'...'</span><span>;</span></div></div><div><div><div>1530</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1531</div></div><div><span>    </span><span>let</span><span><span> </span><span>viaCopy</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>memoContent</span><span>}</span><span>（via [@</span><span>${</span><span>memoName</span><span>}</span><span>](</span><span>${</span><span>memoLink</span><span>}</span><span>)）`</span></div></div><div><div><div>1532</div></div><div><span><span>    </span></span><span>navigator</span><span>.</span><span>clipboard</span><span>.</span><span>writeText</span><span><span>(</span><span>viaCopy</span><span>).</span></span><span>then</span><span>(() </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1533</div></div><div><span><span>      </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>"引用内容已复制"</span><span>)</span></div></div><div><div><div>1534</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1535</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1536</div></div><div>
</div></div><div><div><div>1537</div></div><div><span>  </span><span>_getEditIcon</span><span>() {</span></div></div><div><div><div>1538</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosContent</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1539</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosVisibility</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1540</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosResource</span><span> </span></span><span>=</span><span> [];</span></div></div><div><div><div>1541</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosRelation</span><span> </span></span><span>=</span><span> [];</span></div></div><div><div><div>1542</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosCount</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-response-count"</span><span>);</span></div></div><div><div><div>1543</div></div><div><span>    </span><span>this</span><span>.</span><span>memosPath</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-path"</span><span>);</span></div></div><div><div><div>1544</div></div><div><span>    </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>1545</div></div><div><span>    </span><span>this</span><span>.</span><span>getEditor</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-editor-display"</span><span>);</span></div></div><div><div><div>1546</div></div><div><span>    </span><span>let</span><span><span> </span><span>isHide</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>getEditor</span><span> </span><span>===</span><span> </span><span>"hide"</span><span>;</span></div></div><div><div><div>1547</div></div><div><span>    </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>getSelectedValue</span><span>;</span></div></div><div><div><div>1548</div></div><div><span><span>    </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-resource-list"</span><span>,  </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memosResource</span><span>));</span></span></div></div><div><div><div>1549</div></div><div><span><span>    </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-relation-list"</span><span>,  </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memosRelation</span><span>));</span></span></div></div><div><div><div>1550</div></div><div>
</div></div><div><div><div>1551</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosTagList</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tag-list"</span><span>)</span></div></div><div><div><div>1552</div></div><div><span>    </span><span>let</span><span><span> </span><span>selectedTagIndex</span><span> </span></span><span>=</span><span> </span><span>-</span><span>1</span><span>;</span></div></div><div><div><div>1553</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>addEventListener</span><span>(</span><span>'input'</span><span><span>, (</span><span>e</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1554</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>style</span><span>.</span><span>height</span><span> </span><span>=</span><span> </span><span>'inherit'</span><span>;</span></div></div><div><div><div>1555</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>style</span><span>.</span><span>height</span><span> </span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>target</span><span>.</span><span>scrollHeight</span><span> </span><span>+</span><span> </span><span>'px'</span><span>;</span></div></div><div><div><div>1556</div></div><div><span>      </span><span>const</span><span> </span><span>inputValue</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>;</span></div></div><div><div><div>1557</div></div><div><span>      </span><span>const</span><span> </span><span>lastWord</span><span> </span><span>=</span><span><span> </span><span>inputValue</span><span>.</span></span><span>slice</span><span>(</span><span>-</span><span>2</span><span>);</span></div></div><div><div><div>1558</div></div><div><span>      </span><span>if</span><span><span> (</span><span>lastWord</span><span> </span></span><span>==</span><span> </span><span>' #'</span><span>) {</span></div></div><div><div><div>1559</div></div><div><span><span>        </span></span><span>memosTagList</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>1560</div></div><div><span><span>      </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>1561</div></div><div><span><span>        </span></span><span>memosTagList</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>1562</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1563</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1564</div></div><div>
</div></div><div><div><div>1565</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>addEventListener</span><span>(</span><span>'keydown'</span><span><span>, </span><span>event</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1566</div></div><div><span>      </span><span>const</span><span> </span><span>keyCode</span><span> </span><span>=</span><span><span> </span><span>event</span><span>.</span></span><span>keyCode</span><span>;</span></div></div><div><div><div>1567</div></div><div><span>      </span><span>if</span><span><span> (</span><span>memosTagList</span><span>.</span></span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>"d-none"</span><span>) </span><span>===</span><span> </span><span>false</span><span>) {</span></div></div><div><div><div>1568</div></div><div><span>        </span><span>const</span><span> </span><span>matchingTags</span><span> </span><span>=</span><span><span> </span><span>Array</span><span>.</span></span><span>from</span><span><span>(</span><span>memosTagList</span><span>.</span></span><span>querySelectorAll</span><span>(</span><span>'.memos-tag'</span><span>)).</span><span>map</span><span><span>(</span><span>tag</span><span> </span></span><span>=&gt;</span><span><span> </span><span>tag</span><span>.</span></span><span>textContent</span><span>);</span></div></div><div><div><div>1569</div></div><div><span>        </span><span>if</span><span><span> (</span><span>keyCode</span><span> </span></span><span>===</span><span> </span><span>38</span><span> </span><span>||</span><span><span> </span><span>keyCode</span><span> </span></span><span>===</span><span> </span><span>40</span><span> </span><span>||</span><span><span> </span><span>keyCode</span><span> </span></span><span>===</span><span> </span><span>37</span><span> </span><span>||</span><span><span> </span><span>keyCode</span><span> </span></span><span>===</span><span> </span><span>39</span><span>) { </span><span>// 添加左右方向键的处理</span></div></div><div><div><div>1570</div></div><div><span><span>          </span></span><span>event</span><span>.</span><span>preventDefault</span><span>();</span></div></div><div><div><div>1571</div></div><div><span>          </span><span>if</span><span><span> (</span><span>keyCode</span><span> </span></span><span>===</span><span> </span><span>37</span><span> </span><span>||</span><span><span> </span><span>keyCode</span><span> </span></span><span>===</span><span> </span><span>39</span><span>) { </span><span>// 处理左右方向键</span></div></div><div><div><div>1572</div></div><div><span>            </span><span>const</span><span> </span><span>direction</span><span> </span><span>=</span><span><span> </span><span>keyCode</span><span> </span></span><span>===</span><span> </span><span>37</span><span> </span><span>?</span><span> </span><span>-</span><span>1</span><span> </span><span>:</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>1573</div></div><div><span><span>            </span></span><span>selectedTagIndex</span><span> </span><span>=</span><span><span> (</span><span>selectedTagIndex</span><span> </span></span><span>+</span><span><span> </span><span>direction</span><span> </span></span><span>+</span><span><span> </span><span>matchingTags</span><span>.</span></span><span>length</span><span>) </span><span>%</span><span><span> </span><span>matchingTags</span><span>.</span></span><span>length</span><span>;</span></div></div><div><div><div>1574</div></div><div><span><span>          </span></span><span>} </span><span>else</span><span> { </span><span>// 处理上下方向键</span></div></div><div><div><div>1575</div></div><div><span><span>            </span></span><span>selectedTagIndex</span><span> </span><span>=</span><span><span> (</span><span>selectedTagIndex</span><span> </span></span><span>+</span><span><span> (</span><span>keyCode</span><span> </span></span><span>===</span><span> </span><span>38</span><span> </span><span>?</span><span> </span><span>-</span><span>1</span><span> </span><span>:</span><span> </span><span>1</span><span>) </span><span>+</span><span><span> </span><span>matchingTags</span><span>.</span></span><span>length</span><span>) </span><span>%</span><span><span> </span><span>matchingTags</span><span>.</span></span><span>length</span><span>;</span></div></div><div><div><div>1576</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1577</div></div><div><span><span>          </span></span><span>Array</span><span>.</span><span>from</span><span><span>(</span><span>memosTagList</span><span>.</span></span><span>querySelectorAll</span><span>(</span><span>'.memos-tag'</span><span>)).</span><span>forEach</span><span><span>((</span><span>option</span><span>, </span><span>index</span><span>) </span></span><span>=&gt;</span><span><span> </span><span>option</span><span>.</span></span><span>classList</span><span>.</span><span>toggle</span><span>(</span><span>'selected'</span><span><span>, </span><span>index</span><span>  </span></span><span>===</span><span><span> </span><span>selectedTagIndex</span><span>));</span></span></div></div><div><div><div>1578</div></div><div><span><span>        </span></span><span>} </span><span>else</span><span> </span><span>if</span><span><span> (</span><span>keyCode</span><span> </span></span><span>===</span><span> </span><span>13</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>selectedTagIndex</span><span> </span></span><span>!==</span><span> </span><span>-</span><span>1</span><span>) {</span></div></div><div><div><div>1579</div></div><div><span><span>          </span></span><span>event</span><span>.</span><span>preventDefault</span><span>();</span></div></div><div><div><div>1580</div></div><div><span>          </span><span>let</span><span><span> </span><span>tagName</span><span> </span></span><span>=</span><span><span> </span><span>matchingTags</span><span>[</span><span>selectedTagIndex</span><span>].</span></span><span>replace</span><span>(</span><span>/</span><span>[#]</span><span>/</span><span>,</span><span>''</span><span>) </span><span>+</span><span> </span><span>" "</span></div></div><div><div><div>1581</div></div><div><span>          </span><span>this</span><span>.</span><span>_insertValue</span><span><span>(</span><span>tagName</span><span>,</span></span><span>""</span><span>,</span><span>0</span><span>)</span></div></div><div><div><div>1582</div></div><div><span><span>          </span></span><span>memosTagList</span><span>.</span><span>querySelector</span><span>(</span><span>'.memos-tag'</span><span>).</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'selected'</span><span>);</span></div></div><div><div><div>1583</div></div><div><span><span>          </span></span><span>memosTagList</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'d-none'</span><span>);</span></div></div><div><div><div>1584</div></div><div><span><span>          </span></span><span>selectedTagIndex</span><span> </span><span>=</span><span> </span><span>-</span><span>1</span><span>;</span></div></div><div><div><div>1585</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1586</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1587</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1588</div></div><div>
</div></div><div><div><div>1589</div></div><div><span>    </span><span>if</span><span> (</span><span>this</span><span>.</span><span>getEditor</span><span> </span><span>!==</span><span> </span><span>null</span><span>) {</span></div></div><div><div><div>1590</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>querySelector</span><span>(</span><span>".memos-editor"</span><span>).</span><span>classList</span><span>.</span><span>toggle</span><span>(</span><span>"d-none"</span><span><span>,</span><span>isHide</span><span>);</span></span></div></div><div><div><div>1591</div></div><div><span>      </span><span>this</span><span>.</span><span>getEditor</span><span> </span><span>==</span><span> </span><span>"show"</span><span> </span><span>?</span><span> </span><span>this</span><span>.</span><span>_hasMemosOpenId</span><span>() </span><span>:</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1592</div></div><div><span><span>    </span></span><span>};</span></div></div><div><div><div>1593</div></div><div>
</div></div><div><div><div>1594</div></div><div><span>    </span><span>this</span><span>.</span><span>loadEditorBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1595</div></div><div><span>      </span><span>this</span><span>.</span><span>getEditor</span><span> </span><span>!=</span><span> </span><span>"show"</span><span> </span><span>?</span><span> </span><span>this</span><span>.</span><span>_hasMemosOpenId</span><span>() </span><span>:</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1596</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>querySelector</span><span>(</span><span>".memos-editor"</span><span>).</span><span>classList</span><span>.</span><span>toggle</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1597</div></div><div><span><span>      </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-editor-display"</span><span><span>, </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-editor"</span><span>).</span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>"d-none"</span><span>) </span><span>?</span><span> </span><span>"hide"</span><span> </span><span>:</span><span> </span><span>"show"</span><span>);</span></div></div><div><div><div>1598</div></div><div><span>      </span><span>this</span><span>.</span><span>getEditor</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-editor-display"</span><span>);</span></div></div><div><div><div>1599</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1600</div></div><div>
</div></div><div><div><div>1601</div></div><div><span>    </span><span>this</span><span>.</span><span>taglistBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1602</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>querySelector</span><span>(</span><span>".memos-tag-list"</span><span>).</span><span>classList</span><span>.</span><span>toggle</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1603</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1604</div></div><div>
</div></div><div><div><div>1605</div></div><div><span>    </span><span>//todoBtn.addEventListener("click", () =&gt; {</span></div></div><div><div><div>1606</div></div><div><span>    </span><span>//  let memoTodo = '- [] \n';</span></div></div><div><div><div>1607</div></div><div><span>    </span><span>//  this._insertValue(memoTodo);</span></div></div><div><div><div>1608</div></div><div><span>    </span><span>//  let bracketIndex = this.memosTextarea.value.indexOf("[]");</span></div></div><div><div><div>1609</div></div><div><span>    </span><span>//  if (bracketIndex !== -1) {</span></div></div><div><div><div>1610</div></div><div><span>    </span><span>//    this.memosTextarea.selectionStart = bracketIndex + 1;</span></div></div><div><div><div>1611</div></div><div><span>    </span><span>//    this.memosTextarea.selectionEnd = bracketIndex + 1;</span></div></div><div><div><div>1612</div></div><div><span>    </span><span>//  }</span></div></div><div><div><div>1613</div></div><div><span>    </span><span>//});</span></div></div><div><div><div>1614</div></div><div>
</div></div><div><div><div>1615</div></div><div><span>    </span><span>this</span><span>.</span><span>codeoneBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1616</div></div><div><span>      </span><span>this</span><span>.</span><span>_insertValue</span><span>(</span><span>" `` "</span><span>,</span><span>"`"</span><span>,</span><span>2</span><span>)</span></div></div><div><div><div>1617</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1618</div></div><div>
</div></div><div><div><div>1619</div></div><div><span>    </span><span>this</span><span>.</span><span>codeBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1620</div></div><div><span>      </span><span>let</span><span><span> </span><span>memoCode</span><span> </span></span><span>=</span><span> </span><span>"```</span><span>\n\n</span><span>```</span><span>\n</span><span>"</span><span>;</span></div></div><div><div><div>1621</div></div><div><span>      </span><span>this</span><span>.</span><span>_insertValue</span><span><span>(</span><span>memoCode</span><span>,</span></span><span>""</span><span>,</span><span>5</span><span>);</span></div></div><div><div><div>1622</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>style</span><span>.</span><span>height</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>scrollHeight</span><span> </span><span>+</span><span> </span><span>'px'</span><span>;</span></div></div><div><div><div>1623</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1624</div></div><div>
</div></div><div><div><div>1625</div></div><div><span>    </span><span>this</span><span>.</span><span>linkBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1626</div></div><div><span>      </span><span>this</span><span>.</span><span>_insertValue</span><span>(</span><span>" []() "</span><span>,</span><span>"["</span><span>,</span><span>2</span><span>)</span></div></div><div><div><div>1627</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1628</div></div><div>
</div></div><div><div><div>1629</div></div><div><span>    </span><span>this</span><span>.</span><span>linkPicBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1630</div></div><div><span>      </span><span>this</span><span>.</span><span>_insertValue</span><span>(</span><span>" ![]() "</span><span>,</span><span>"!"</span><span>,</span><span>2</span><span>)</span></div></div><div><div><div>1631</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1632</div></div><div>
</div></div><div><div><div>1633</div></div><div><span>    </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>addEventListener</span><span>(</span><span>'change'</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1634</div></div><div><span>      </span><span>let</span><span><span> </span><span>memoNowSelct</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-visibility-select"</span><span>);</span></div></div><div><div><div>1635</div></div><div><span>      </span><span>var</span><span><span> </span><span>selectedValue</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span>;</span></div></div><div><div><div>1636</div></div><div><span><span>      </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-visibility-select"</span><span><span>,</span><span>selectedValue</span><span>);</span></span></div></div><div><div><div>1637</div></div><div><span>      </span><span>if</span><span><span>(</span><span>memoNowSelct</span><span> </span></span><span>==</span><span> </span><span>"PRIVATE"</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>selectedValue</span><span> </span></span><span>==</span><span> </span><span>"PUBLIC"</span><span>){</span></div></div><div><div><div>1638</div></div><div><span>        </span><span>this</span><span>.</span><span>memoChangeDate</span><span> </span><span>=</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>1639</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1640</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1641</div></div><div>
</div></div><div><div><div>1642</div></div><div><span>    </span><span>this</span><span>.</span><span>privateBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, </span><span>async</span><span> () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1643</div></div><div><span>      </span><span>if</span><span> (</span><span>!</span><span>this</span><span>.</span><span>privateBtn</span><span>.</span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>"private"</span><span>)) {</span></div></div><div><div><div>1644</div></div><div><span>        </span><span>this</span><span>.</span><span>privateBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"private"</span><span>)</span></div></div><div><div><div>1645</div></div><div><span>        </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>"PRIVATE"</span></div></div><div><div><div>1646</div></div><div><span>        </span><span>this</span><span>.</span><span>usernowBtnDom</span><span>.</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span><span> {</span><span>item</span><span>.</span></span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'current'</span><span>);})</span></div></div><div><div><div>1647</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-mode"</span><span>,  </span><span>"NOPUBLIC"</span><span>);</span></div></div><div><div><div>1648</div></div><div><span>        </span><span>this</span><span>.</span><span>memosMode</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-mode"</span><span>);</span></div></div><div><div><div>1649</div></div><div><span>        </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>,</span><span>""</span><span>,</span><span>""</span><span>,</span><span>"NOPUBLIC"</span><span>)</span></div></div><div><div><div>1650</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>"进入「私有浏览」模式"</span><span>)</span></div></div><div><div><div>1651</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1652</div></div><div><span>        </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>"PUBLIC"</span></div></div><div><div><div>1653</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-mode"</span><span>,  </span><span>""</span><span>);</span></div></div><div><div><div>1654</div></div><div><span>        </span><span>this</span><span>.</span><span>privateBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"private"</span><span>)</span></div></div><div><div><div>1655</div></div><div><span>        </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>,</span><span>""</span><span>,</span><span>""</span><span>,</span><span>""</span><span>)</span></div></div><div><div><div>1656</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>"已退出「私有浏览」模式"</span><span>)</span></div></div><div><div><div>1657</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1658</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1659</div></div><div>
</div></div><div><div><div>1660</div></div><div><span>    </span><span>this</span><span>.</span><span>randomBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, </span><span>async</span><span> () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1661</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosAllCount</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-response-count"</span><span>);</span></div></div><div><div><div>1662</div></div><div><span>      </span><span>let</span><span><span> </span><span>nowTag</span><span>,</span><span>userMemoUrl</span><span>,</span><span>nowTagText</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow-name"</span><span>) </span><span>||</span><span> </span><span>''</span></div></div><div><div><div>1663</div></div><div><span>      </span><span>if</span><span><span>(</span><span>nowTagText</span><span>){</span></span></div></div><div><div><div>1664</div></div><div><span><span>        </span></span><span>nowTag</span><span> </span><span>=</span><span><span> </span><span>nowTagText</span><span>.</span></span><span>textContent</span><span>;</span></div></div><div><div><div>1665</div></div><div><span><span>        </span></span><span>userMemoUrl</span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>nowLink</span><span>}</span><span>api/v1/memo?tag=</span><span>${</span><span>nowTag</span><span>}</span><span>`</span></div></div><div><div><div>1666</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1667</div></div><div><span><span>        </span></span><span>userMemoUrl</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>nowLink</span><span>}</span><span>api/v1/memo/stats?creatorId=</span><span>${</span><span>this</span><span>.</span><span>nowId</span><span>}</span><span>`</span></div></div><div><div><div>1668</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1669</div></div><div><span>      </span><span>if</span><span>(</span><span>!</span><span><span>memosAllCount</span><span> </span></span><span>||</span><span><span> </span><span>nowTagText</span><span>){</span></span></div></div><div><div><div>1670</div></div><div><span>        </span><span>try</span><span> {</span></div></div><div><div><div>1671</div></div><div><span>          </span><span>let</span><span><span> </span><span>response</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>userMemoUrl</span><span>,{</span></span></div></div><div><div><div>1672</div></div><div><span>              </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1673</div></div><div><span>                </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>1674</div></div><div><span>                </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span><span>,</span></div></div><div><div><div>1675</div></div><div><span>                </span><span>'Cache-Control'</span><span>:</span><span> </span><span>'no-cache'</span><span>,</span></div></div><div><div><div>1676</div></div><div><span><span>              </span></span><span>},</span></div></div><div><div><div>1677</div></div><div><span>              </span><span>cache</span><span>:</span><span> </span><span>'no-store'</span><span>,</span></div></div><div><div><div>1678</div></div><div><span><span>          </span></span><span>});</span></div></div><div><div><div>1679</div></div><div><span>          </span><span>if</span><span> (</span><span>!</span><span><span>response</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>1680</div></div><div><span>            </span><span>throw</span><span> </span><span>new</span><span> </span><span>Error</span><span><span>(</span><span>response</span><span>.</span></span><span>statusText</span><span>);</span></div></div><div><div><div>1681</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1682</div></div><div><span>          </span><span>let</span><span><span> </span><span>data</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>1683</div></div><div><span><span>          </span></span><span>memosAllCount</span><span> </span><span>=</span><span><span> </span><span>data</span><span>.</span></span><span>length</span><span> </span><span>-</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>1684</div></div><div><span>          </span><span>if</span><span>(</span><span>!</span><span><span>nowTag</span><span>){</span></span></div></div><div><div><div>1685</div></div><div><span><span>            </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-response-count"</span><span><span>,</span><span>memosAllCount</span><span>);</span></span></div></div><div><div><div>1686</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1687</div></div><div><span>          </span><span>let</span><span><span> </span><span>randomNum</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>_random</span><span>(</span><span>0</span><span><span>,</span><span>memosAllCount</span><span>);</span></span></div></div><div><div><div>1688</div></div><div><span>          </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span><span>,</span><span>nowTag</span><span>,</span></span><span>""</span><span>,</span><span>""</span><span><span>,</span><span>randomNum</span><span>)</span></span></div></div><div><div><div>1689</div></div><div><span><span>        </span></span><span>} </span><span>catch</span><span><span> (</span><span>error</span><span>) {</span></span></div></div><div><div><div>1690</div></div><div><span><span>          </span></span><span>console</span><span>.</span><span>error</span><span><span>(</span><span>error</span><span>);</span></span></div></div><div><div><div>1691</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1692</div></div><div><span>        </span><span>if</span><span><span>(</span><span>nowTagText</span><span>){</span></span></div></div><div><div><div>1693</div></div><div><span>          </span><span>this</span><span>.</span><span>oneDayBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>1694</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1695</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1696</div></div><div><span>          </span><span>let</span><span><span> </span><span>randomNum</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>_random</span><span>(</span><span>0</span><span><span>,</span><span>memosAllCount</span><span>);</span></span></div></div><div><div><div>1697</div></div><div><span>          </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span><span>,</span><span>nowTag</span><span>,</span></span><span>""</span><span>,</span><span>""</span><span><span>,</span><span>randomNum</span><span>)</span></span></div></div><div><div><div>1698</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1699</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1700</div></div><div>
</div></div><div><div><div>1701</div></div><div><span>    </span><span>//开启回忆一条</span></div></div><div><div><div>1702</div></div><div><span>    </span><span>this</span><span>.</span><span>oneDayBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, </span><span>async</span><span> () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1703</div></div><div><span>      </span><span>let</span><span><span> </span><span>oneDayNow</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-oneday-tag"</span><span>);</span></div></div><div><div><div>1704</div></div><div><span>      </span><span>if</span><span><span> (</span><span>oneDayNow</span><span> </span></span><span>==</span><span> </span><span>null</span><span> ) {</span></div></div><div><div><div>1705</div></div><div><span>        </span><span>let</span><span><span> </span><span>nowTag</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-tagnow-name"</span><span>).</span><span>textContent</span></div></div><div><div><div>1706</div></div><div><span>        </span><span>let</span><span><span> </span><span>nowTagCount</span><span>;</span></span></div></div><div><div><div>1707</div></div><div><span>        </span><span>let</span><span><span> </span><span>nowTagUrl</span></span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>nowLink</span><span>}</span><span>api/v1/memo?tag=</span><span>${</span><span>nowTag</span><span>}</span><span>`</span></div></div><div><div><div>1708</div></div><div><span>        </span><span>try</span><span> {</span></div></div><div><div><div>1709</div></div><div><span>          </span><span>let</span><span><span> </span><span>response</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>nowTagUrl</span><span>,{</span></span></div></div><div><div><div>1710</div></div><div><span>              </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1711</div></div><div><span>                </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>1712</div></div><div><span>                </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span><span>,</span></div></div><div><div><div>1713</div></div><div><span>                </span><span>'Cache-Control'</span><span>:</span><span> </span><span>'no-cache'</span><span>,</span></div></div><div><div><div>1714</div></div><div><span><span>              </span></span><span>},</span></div></div><div><div><div>1715</div></div><div><span>              </span><span>cache</span><span>:</span><span> </span><span>'no-store'</span><span>,</span></div></div><div><div><div>1716</div></div><div><span><span>          </span></span><span>});</span></div></div><div><div><div>1717</div></div><div><span>          </span><span>if</span><span> (</span><span>!</span><span><span>response</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>1718</div></div><div><span>            </span><span>throw</span><span> </span><span>new</span><span> </span><span>Error</span><span><span>(</span><span>response</span><span>.</span></span><span>statusText</span><span>);</span></div></div><div><div><div>1719</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1720</div></div><div><span>          </span><span>let</span><span><span> </span><span>data</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>1721</div></div><div><span><span>          </span></span><span>nowTagCount</span><span> </span><span>=</span><span><span> </span><span>data</span><span>.</span></span><span>length</span><span> </span><span>-</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>1722</div></div><div><span><span>          </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-oneday-tag"</span><span><span>,</span><span>nowTag</span><span>);</span></span></div></div><div><div><div>1723</div></div><div><span><span>          </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-oneday-count"</span><span><span>,</span><span>nowTagCount</span><span>);</span></span></div></div><div><div><div>1724</div></div><div><span><span>        </span></span><span>} </span><span>catch</span><span><span> (</span><span>error</span><span>) {</span></span></div></div><div><div><div>1725</div></div><div><span><span>          </span></span><span>console</span><span>.</span><span>error</span><span><span>(</span><span>error</span><span>);</span></span></div></div><div><div><div>1726</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1727</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>"开启「OneDay」"</span><span>)</span></div></div><div><div><div>1728</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1729</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>removeItem</span><span>(</span><span>"memos-oneday-tag"</span><span>);</span></div></div><div><div><div>1730</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>removeItem</span><span>(</span><span>"memos-oneday-count"</span><span>);</span></div></div><div><div><div>1731</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>"已退出「OneDay」"</span><span>)</span></div></div><div><div><div>1732</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1733</div></div><div><span>      </span><span>this</span><span>.</span><span>oneDayBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>1734</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1735</div></div><div>
</div></div><div><div><div>1736</div></div><div><span>    </span><span>this</span><span>.</span><span>uploadWebpImageInput</span><span>.</span><span>addEventListener</span><span>(</span><span>'change'</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1737</div></div><div><span>      </span><span>let</span><span><span> </span><span>filesData</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>uploadWebpImageInput</span><span>.</span><span>files</span><span>;</span></div></div><div><div><div>1738</div></div><div><span>      </span><span>if</span><span><span> (</span><span>filesData</span><span>.</span></span><span>length</span><span> </span><span>!==</span><span> </span><span>0</span><span>) {</span></div></div><div><div><div>1739</div></div><div><span>          </span><span>for</span><span> (</span><span>let</span><span><span> </span><span>i</span><span> </span></span><span>=</span><span> </span><span>0</span><span><span>; </span><span>i</span><span> </span></span><span>&lt;</span><span><span> </span><span>filesData</span><span>.</span></span><span>length</span><span><span>; </span><span>i</span></span><span>++</span><span>) {</span></div></div><div><div><div>1740</div></div><div><span>              </span><span>this</span><span>.</span><span>_uploadWebpImage</span><span><span>(</span><span>filesData</span><span>[</span><span>i</span><span>]);</span></span></div></div><div><div><div>1741</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1742</div></div><div><span><span>          </span></span><span>cocoMessage</span><span>.</span><span>info</span><span>(</span><span>'压缩并上传中……'</span><span>);</span></div></div><div><div><div>1743</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1744</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1745</div></div><div>
</div></div><div><div><div>1746</div></div><div><span>    </span><span>this</span><span>.</span><span>uploadImageInput</span><span>.</span><span>addEventListener</span><span>(</span><span>'change'</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1747</div></div><div><span>      </span><span>let</span><span><span> </span><span>filesData</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>uploadImageInput</span><span>.</span><span>files</span><span>[</span><span>0</span><span>];</span></div></div><div><div><div>1748</div></div><div><span>      </span><span>if</span><span> (</span><span>this</span><span>.</span><span>uploadImageInput</span><span>.</span><span>files</span><span>.</span><span>length</span><span> </span><span>!==</span><span> </span><span>0</span><span>){</span></div></div><div><div><div>1749</div></div><div><span>        </span><span>this</span><span>.</span><span>_uploadImage</span><span><span>(</span><span>filesData</span><span>);</span></span></div></div><div><div><div>1750</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>info</span><span>(</span><span>'图片上传中……'</span><span>);</span></div></div><div><div><div>1751</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1752</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1753</div></div><div>
</div></div><div><div><div>1754</div></div><div><span>    </span><span>this</span><span>.</span><span>switchUserBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1755</div></div><div><span>      </span><span>this</span><span>.</span><span>memosEditorOption</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1756</div></div><div><span>      </span><span>this</span><span>.</span><span>memosEditorInner</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1757</div></div><div><span>      </span><span>this</span><span>.</span><span>memosRadomCont</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1758</div></div><div><span>      </span><span>//this.tokenInput.value = '';</span></div></div><div><div><div>1759</div></div><div><span>      </span><span>//this.pathInput.value = '';</span></div></div><div><div><div>1760</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1761</div></div><div><span>    </span><span>this</span><span>.</span><span>backToEditerBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1762</div></div><div><span>      </span><span>this</span><span>.</span><span>memosEditorOption</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1763</div></div><div><span>      </span><span>this</span><span>.</span><span>memosEditorInner</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1764</div></div><div><span>      </span><span>this</span><span>.</span><span>memosRadomCont</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1765</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1766</div></div><div>
</div></div><div><div><div>1767</div></div><div><span>    </span><span>this</span><span>.</span><span>submitApiBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1768</div></div><div><span>      </span><span>if</span><span>(</span><span>this</span><span>.</span><span>tokenInput</span><span>.</span><span>value</span><span> </span><span>==</span><span> </span><span>null</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>tokenInput</span><span>.</span><span>value</span><span> </span><span>==</span><span> </span><span>''</span><span>){</span></div></div><div><div><div>1769</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>info</span><span>(</span><span>'请输入Token'</span><span>);</span></div></div><div><div><div>1770</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span> </span><span>if</span><span>(</span><span>this</span><span>.</span><span>pathInput</span><span>.</span><span>value</span><span> </span><span>==</span><span> </span><span>null</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>pathInput</span><span>.</span><span>value</span><span> </span><span>==</span><span> </span><span>''</span><span>){</span></div></div><div><div><div>1771</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>info</span><span>(</span><span>'请输入Path'</span><span>);</span></div></div><div><div><div>1772</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1773</div></div><div><span>        </span><span>let</span><span><span> </span><span>pathInputValue</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>pathInput</span><span>.</span><span>value</span><span>;</span></div></div><div><div><div>1774</div></div><div><span>        </span><span>if</span><span><span> (</span><span>pathInputValue</span><span>.</span></span><span>substr</span><span>(</span><span>-</span><span>1</span><span>) </span><span>===</span><span> </span><span>'/'</span><span>) {</span></div></div><div><div><div>1775</div></div><div><span><span>          </span></span><span>pathInputValue</span><span> </span><span>=</span><span><span> </span><span>pathInputValue</span><span>.</span></span><span>substr</span><span>(</span><span>0</span><span><span>, </span><span>pathInputValue</span><span>.</span></span><span>length</span><span> </span><span>-</span><span> </span><span>1</span><span>);</span></div></div><div><div><div>1776</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1777</div></div><div><span>        </span><span>this</span><span>.</span><span>_getMemosData</span><span><span>(</span><span>pathInputValue</span><span>,</span></span><span>this</span><span>.</span><span>tokenInput</span><span>.</span><span>value</span><span>);</span></div></div><div><div><div>1778</div></div><div><span>        </span><span>if</span><span>(</span><span>this</span><span>.</span><span>artalkInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>null</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>artalkInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>''</span><span><span>) </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-artalk-input"</span><span>, </span><span>this</span><span>.</span><span>artalkInput</span><span>.</span><span>value</span><span>);</span></div></div><div><div><div>1779</div></div><div><span>        </span><span>if</span><span>(</span><span>this</span><span>.</span><span>artalkSiteInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>null</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>artalkSiteInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>''</span><span><span>) </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-artalksite-input"</span><span>, </span><span>this</span><span>.</span><span>artalkSiteInput</span><span>.</span><span>value</span><span>);</span></div></div><div><div><div>1780</div></div><div><span>        </span><span>if</span><span>(</span><span>this</span><span>.</span><span>twikooInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>null</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>twikooInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>''</span><span><span>) </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-twikoo-input"</span><span>, </span><span>this</span><span>.</span><span>twikooInput</span><span>.</span><span>value</span><span>);</span></div></div><div><div><div>1781</div></div><div><span>        </span><span>if</span><span>(</span><span>this</span><span>.</span><span>cfwkAiUrlInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>null</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>cfwkAiUrlInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>''</span><span><span>) </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-cfwkai-url"</span><span>, </span><span>this</span><span>.</span><span>cfwkAiUrlInput</span><span>.</span><span>value</span><span>);</span></div></div><div><div><div>1782</div></div><div><span>        </span><span>if</span><span>(</span><span>this</span><span>.</span><span>geminiKeyInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>null</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>geminiKeyInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>''</span><span><span>) </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-gemini-key"</span><span>, </span><span>this</span><span>.</span><span>geminiKeyInput</span><span>.</span><span>value</span><span>);</span></div></div><div><div><div>1783</div></div><div><span>        </span><span>if</span><span>(</span><span>this</span><span>.</span><span>filterNameInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>null</span><span> </span><span>||</span><span> </span><span>this</span><span>.</span><span>filterNameInput</span><span>.</span><span>value</span><span> </span><span>!==</span><span> </span><span>''</span><span><span>) </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-filter-name"</span><span>, </span><span>this</span><span>.</span><span>filterNameInput</span><span>.</span><span>value</span><span>);</span></div></div><div><div><div>1784</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1785</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1786</div></div><div>
</div></div><div><div><div>1787</div></div><div><span>    </span><span>this</span><span>.</span><span>submitMemoBtn</span><span>.</span><span>addEventListener</span><span>(</span><span>"click"</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1788</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosContent</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>;</span></div></div><div><div><div>1789</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosVisibility</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memosVisibilitySelect</span><span>.</span><span>value</span><span>;</span></div></div><div><div><div>1790</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosResource</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-resource-list"</span><span>));</span></div></div><div><div><div>1791</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosOpenId</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>1792</div></div><div><span>      </span><span>let</span><span> </span><span>TAG_REG</span><span> </span><span>=</span><span> </span><span>/(?&lt;=#)(</span><span>[</span><span>^</span><span><span>#</span><span>\s</span><span>!</span><span>.</span><span>,;:?"'()]</span></span><span><span>+</span><span>)(?= )/</span></span><span>g</span><span>;</span></div></div><div><div><div>1793</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosTag</span><span> </span></span><span>=</span><span><span> </span><span>memosContent</span><span>.</span></span><span>match</span><span>(</span><span>TAG_REG</span><span>);</span></div></div><div><div><div>1794</div></div><div><span>      </span><span>let</span><span><span> </span><span>hasContent</span><span> </span></span><span>=</span><span><span> </span><span>memosContent</span><span>.</span></span><span>length</span><span> </span><span>!==</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>1795</div></div><div><span>      </span><span>if</span><span><span> (</span><span>memosOpenId</span><span> </span></span><span>&amp;&amp;</span><span><span> </span><span>hasContent</span><span>) {</span></span></div></div><div><div><div>1796</div></div><div><span>        </span><span>this</span><span>.</span><span>submitMemoBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"noclick"</span><span>)</span></div></div><div><div><div>1797</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>memosPath</span><span>}</span><span>api/v1/</span><span>${</span><span>this</span><span>.</span><span>nowV1</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>1798</div></div><div><span>        </span><span>let</span><span><span> </span><span>memoBody</span><span> </span></span><span>=</span><span> {</span><span>content</span><span>:</span><span><span>memosContent</span><span>,</span></span><span>relationList</span><span>:</span><span><span>memosRelation</span><span>,</span></span><span>resourceIdList</span><span>:</span><span><span>memosResource</span><span>,</span></span><span>visibility</span><span>:</span><span><span>memosVisibility</span><span>}</span></span></div></div><div><div><div>1799</div></div><div><span>        </span><span>fetch</span><span><span>(</span><span>memoUrl</span><span>, {</span></span></div></div><div><div><div>1800</div></div><div><span>          </span><span>method</span><span>:</span><span> </span><span>'POST'</span><span>,</span></div></div><div><div><div>1801</div></div><div><span>          </span><span>body</span><span>:</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memoBody</span><span>),</span></span></div></div><div><div><div>1802</div></div><div><span>          </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1803</div></div><div><span>            </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>1804</div></div><div><span>            </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span></div></div><div><div><div>1805</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1806</div></div><div><span><span>        </span></span><span>}).</span><span>then</span><span><span>((</span><span>res</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1807</div></div><div><span>          </span><span>if</span><span><span> (</span><span>res</span><span>.</span></span><span>status</span><span> </span><span>==</span><span> </span><span>200</span><span>) {</span></div></div><div><div><div>1808</div></div><div><span>            </span><span>if</span><span><span> (</span><span>memosTag</span><span> </span></span><span>!==</span><span> </span><span>null</span><span> </span><span>&amp;&amp;</span><span> </span><span>this</span><span>.</span><span>nowV1</span><span> </span><span>!==</span><span> </span><span>'memos'</span><span>) {</span></div></div><div><div><div>1809</div></div><div><span>              </span><span>let</span><span><span> </span><span>memoTagUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>memosPath</span><span>}</span><span>api/v1/tag`</span><span>;</span></div></div><div><div><div>1810</div></div><div><span><span>              </span></span><span>(</span><span>async</span><span> () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1811</div></div><div><span>                </span><span>for</span><span> </span><span>await</span><span> (</span><span>const</span><span> </span><span>i</span><span> </span><span>of</span><span><span> </span><span>memosTag</span><span>) {</span></span></div></div><div><div><div>1812</div></div><div><span>                  </span><span>const</span><span> </span><span>response</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>memoTagUrl</span><span>, {</span></span></div></div><div><div><div>1813</div></div><div><span>                    </span><span>method</span><span>:</span><span> </span><span>'POST'</span><span>,</span></div></div><div><div><div>1814</div></div><div><span>                    </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1815</div></div><div><span>                      </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>1816</div></div><div><span>                      </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span></div></div><div><div><div>1817</div></div><div><span><span>                    </span></span><span>},</span></div></div><div><div><div>1818</div></div><div><span>                    </span><span>body</span><span>:</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span>({</span></div></div><div><div><div>1819</div></div><div><span>                      </span><span>name</span><span>:</span><span><span> </span><span>i</span></span></div></div><div><div><div>1820</div></div><div><span><span>                    </span></span><span>})</span></div></div><div><div><div>1821</div></div><div><span><span>                  </span></span><span>});</span></div></div><div><div><div>1822</div></div><div><span><span>                </span></span><span>}</span></div></div><div><div><div>1823</div></div><div><span><span>              </span></span><span>})();</span></div></div><div><div><div>1824</div></div><div><span><span>            </span></span><span>}</span></div></div><div><div><div>1825</div></div><div><span><span>            </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span></div></div><div><div><div>1826</div></div><div><span>              </span><span>'发送成功'</span><span>,</span></div></div><div><div><div>1827</div></div><div><span><span>              </span></span><span>() </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1828</div></div><div><span>                </span><span>this</span><span>.</span><span>_clearTextarea</span><span>()</span></div></div><div><div><div>1829</div></div><div><span><span>              </span></span><span>})</span></div></div><div><div><div>1830</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1831</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>1832</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span> </span><span>if</span><span>(</span><span>!</span><span><span>hasContent</span><span>){</span></span></div></div><div><div><div>1833</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>info</span><span>(</span><span>'内容不能为空'</span><span>);</span></div></div><div><div><div>1834</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1835</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>info</span><span>(</span></div></div><div><div><div>1836</div></div><div><span>          </span><span>'请设置 Access Tokens'</span><span>,</span></div></div><div><div><div>1837</div></div><div><span><span>          </span></span><span>() </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1838</div></div><div><span>            </span><span>this</span><span>.</span><span>memosEditorInner</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1839</div></div><div><span>            </span><span>this</span><span>.</span><span>memosEditorOption</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1840</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>1841</div></div><div><span><span>        </span></span><span>);</span></div></div><div><div><div>1842</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1843</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1844</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1845</div></div><div>
</div></div><div><div><div>1846</div></div><div><span>  </span><span>async</span><span> </span><span>_uploadWebpImage</span><span><span>(</span><span>data</span><span>) {</span></span></div></div><div><div><div>1847</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosPath</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-path"</span><span>);</span></div></div><div><div><div>1848</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosOpenId</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>1849</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosResourceListNow</span><span> </span></span><span>=</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-resource-list"</span><span>)) </span><span>||</span><span> [];</span></div></div><div><div><div>1850</div></div><div><span>    </span><span>let</span><span><span> </span><span>imageData</span><span> </span></span><span>=</span><span> </span><span>new</span><span> </span><span>FormData</span><span>();</span></div></div><div><div><div>1851</div></div><div><span>    </span><span>let</span><span><span> </span><span>blobUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>memosPath</span><span>}</span><span>api/v1/resource/blob`</span><span>;</span></div></div><div><div><div>1852</div></div><div><span>    </span><span>const</span><span> </span><span>webpData</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>this</span><span>.</span><span>_convertToWebP</span><span><span>(</span><span>data</span><span>);</span></span></div></div><div><div><div>1853</div></div><div><span>    </span><span>const</span><span> </span><span>timestamp</span><span> </span><span>=</span><span> </span><span>new</span><span> </span><span>Date</span><span>().</span><span>getTime</span><span>();</span></div></div><div><div><div>1854</div></div><div><span>    </span><span>const</span><span> </span><span>fileName</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>timestamp</span><span>}</span><span>_</span><span>${</span><span>Math</span><span>.</span><span>random</span><span>()</span><span>}</span><span>.webp`</span><span>;</span></div></div><div><div><div>1855</div></div><div><span><span>    </span></span><span>imageData</span><span>.</span><span>append</span><span>(</span><span>'file'</span><span><span>, </span><span>webpData</span><span>, </span><span>fileName</span><span>);</span></span></div></div><div><div><div>1856</div></div><div><span>    </span><span>let</span><span><span> </span><span>resp</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>blobUrl</span><span>, {</span></span></div></div><div><div><div>1857</div></div><div><span>        </span><span>method</span><span>:</span><span> </span><span>"POST"</span><span>,</span></div></div><div><div><div>1858</div></div><div><span>        </span><span>body</span><span>:</span><span><span> </span><span>imageData</span><span>,</span></span></div></div><div><div><div>1859</div></div><div><span>        </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1860</div></div><div><span>            </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>memosOpenId</span><span>}</span><span>`</span></div></div><div><div><div>1861</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1862</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1863</div></div><div><span>    </span><span>let</span><span><span> </span><span>res</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>resp</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>1864</div></div><div><span>    </span><span>if</span><span><span> (</span><span>res</span><span>.</span></span><span>id</span><span>) {</span></div></div><div><div><div>1865</div></div><div><span>        </span><span>let</span><span><span> </span><span>resexlink</span><span> </span></span><span>=</span><span><span> </span><span>res</span><span>.</span></span><span>externalLink</span><span>;</span></div></div><div><div><div>1866</div></div><div><span>        </span><span>let</span><span><span> </span><span>imgLink</span><span> </span></span><span>=</span><span> </span><span>''</span><span><span>, </span><span>fileId</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1867</div></div><div><span>        </span><span>if</span><span><span> (</span><span>resexlink</span><span>) {</span></span></div></div><div><div><div>1868</div></div><div><span><span>            </span></span><span>imgLink</span><span> </span><span>=</span><span><span> </span><span>resexlink</span><span>;</span></span></div></div><div><div><div>1869</div></div><div><span><span>        </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>1870</div></div><div><span><span>            </span></span><span>fileId</span><span> </span><span>=</span><span><span> </span><span>res</span><span>.</span></span><span>publicId</span><span> </span><span>||</span><span><span> </span><span>res</span><span>.</span></span><span>filename</span><span>;</span></div></div><div><div><div>1871</div></div><div><span><span>            </span></span><span>imgLink</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>memosPath</span><span>}</span><span>/o/r/</span><span>${</span><span>res</span><span>.</span><span>id</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>1872</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1873</div></div><div><span>        </span><span>let</span><span><span> </span><span>imageList</span><span> </span></span><span>=</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>1874</div></div><div><span><span>        </span></span><span>imageList</span><span> </span><span>+=</span><span> </span><span>`&lt;div data-id="</span><span>${</span><span>res</span><span>.</span><span>id</span><span>}</span><span>" class="imagelist-item d-flex text-xs mt-2 mr-2" onclick="window.memosbbs._deleteImage(this)"&gt;</span></div></div><div><div><div>1875</div></div><div><span><span>                        </span></span><span>&lt;div class="d-flex image-background" style="background-image:url(</span><span>${</span><span>imgLink</span><span>}</span><span>)"&gt;</span></div></div><div><div><div>1876</div></div><div><span><span>                            </span></span><span>&lt;span class="d-none"&gt;</span><span>${</span><span>fileId</span><span>}</span><span>&lt;/span&gt;</span></div></div><div><div><div>1877</div></div><div><span><span>                        </span></span><span>&lt;/div&gt;</span></div></div><div><div><div>1878</div></div><div><span><span>                     </span></span><span>&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>1879</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>querySelector</span><span>(</span><span>".memos-image-list"</span><span>).</span><span>insertAdjacentHTML</span><span>(</span><span>'afterbegin'</span><span><span>, </span><span>imageList</span><span>);</span></span></div></div><div><div><div>1880</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>'上传成功'</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1881</div></div><div><span><span>            </span></span><span>memosResourceListNow</span><span>.</span><span>push</span><span><span>(</span><span>res</span><span>.</span></span><span>id</span><span>);</span></div></div><div><div><div>1882</div></div><div><span><span>            </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-resource-list"</span><span>, </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memosResourceListNow</span><span>));</span></span></div></div><div><div><div>1883</div></div><div><span>            </span><span>this</span><span>.</span><span>_imageListDrag</span><span>();</span></div></div><div><div><div>1884</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>1885</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1886</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1887</div></div><div>
</div></div><div><div><div>1888</div></div><div><span>  </span><span>_convertToWebP</span><span><span>(</span><span>imageData</span><span>) {</span></span></div></div><div><div><div>1889</div></div><div><span>    </span><span>return</span><span> </span><span>new</span><span> </span><span>Promise</span><span><span>((</span><span>resolve</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1890</div></div><div><span>      </span><span>const</span><span> </span><span>img</span><span> </span><span>=</span><span> </span><span>new</span><span> </span><span>Image</span><span>();</span></div></div><div><div><div>1891</div></div><div><span><span>      </span></span><span>img</span><span>.</span><span>onload</span><span> </span><span>=</span><span> () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>1892</div></div><div><span>          </span><span>const</span><span> </span><span>canvas</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>createElement</span><span>(</span><span>'canvas'</span><span>);</span></div></div><div><div><div>1893</div></div><div><span><span>          </span></span><span>canvas</span><span>.</span><span>width</span><span> </span><span>=</span><span><span> </span><span>img</span><span>.</span></span><span>width</span><span>;</span></div></div><div><div><div>1894</div></div><div><span><span>          </span></span><span>canvas</span><span>.</span><span>height</span><span> </span><span>=</span><span><span> </span><span>img</span><span>.</span></span><span>height</span><span>;</span></div></div><div><div><div>1895</div></div><div><span>          </span><span>const</span><span> </span><span>ctx</span><span> </span><span>=</span><span><span> </span><span>canvas</span><span>.</span></span><span>getContext</span><span>(</span><span>'2d'</span><span>);</span></div></div><div><div><div>1896</div></div><div><span><span>          </span></span><span>ctx</span><span>.</span><span>drawImage</span><span><span>(</span><span>img</span><span>, </span></span><span>0</span><span>, </span><span>0</span><span><span>, </span><span>img</span><span>.</span></span><span>width</span><span><span>, </span><span>img</span><span>.</span></span><span>height</span><span>);</span></div></div><div><div><div>1897</div></div><div><span><span>          </span></span><span>canvas</span><span>.</span><span>toBlob</span><span><span>((</span><span>blob</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1898</div></div><div><span>              </span><span>resolve</span><span><span>(</span><span>blob</span><span>);</span></span></div></div><div><div><div>1899</div></div><div><span><span>          </span></span><span>}, </span><span>'image/webp'</span><span>, </span><span>0.7</span><span>); </span><span>// 设置压缩质量为70%</span></div></div><div><div><div>1900</div></div><div><span><span>      </span></span><span>};</span></div></div><div><div><div>1901</div></div><div><span><span>      </span></span><span>img</span><span>.</span><span>src</span><span> </span><span>=</span><span> </span><span>URL</span><span>.</span><span>createObjectURL</span><span><span>(</span><span>imageData</span><span>);</span></span></div></div><div><div><div>1902</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>1903</div></div><div><span><span>  </span></span><span>};</span></div></div><div><div><div>1904</div></div><div>
</div></div><div><div><div>1905</div></div><div><span>  </span><span>async</span><span> </span><span>_uploadImage</span><span><span>(</span><span>data</span><span>) {</span></span></div></div><div><div><div>1906</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosPath</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-path"</span><span>);</span></div></div><div><div><div>1907</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosOpenId</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>1908</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosResourceListNow</span><span> </span></span><span>=</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-resource-list"</span><span>)) </span><span>||</span><span> [];</span></div></div><div><div><div>1909</div></div><div><span>    </span><span>let</span><span><span> </span><span>imageData</span><span> </span></span><span>=</span><span> </span><span>new</span><span> </span><span>FormData</span><span>();</span></div></div><div><div><div>1910</div></div><div><span>    </span><span>let</span><span><span> </span><span>blobUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>memosPath</span><span>}</span><span>api/v1/resource/blob`</span><span>;</span></div></div><div><div><div>1911</div></div><div><span><span>    </span></span><span>imageData</span><span>.</span><span>append</span><span>(</span><span>'file'</span><span><span>, </span><span>data</span><span>, </span><span>data</span><span>.</span></span><span>name</span><span>)</span></div></div><div><div><div>1912</div></div><div><span>    </span><span>let</span><span><span> </span><span>resp</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>blobUrl</span><span>, {</span></span></div></div><div><div><div>1913</div></div><div><span>      </span><span>method</span><span>:</span><span> </span><span>"POST"</span><span>,</span></div></div><div><div><div>1914</div></div><div><span>      </span><span>body</span><span>:</span><span><span> </span><span>imageData</span><span>,</span></span></div></div><div><div><div>1915</div></div><div><span>      </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1916</div></div><div><span>        </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>memosOpenId</span><span>}</span><span>`</span></div></div><div><div><div>1917</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1918</div></div><div><span><span>    </span></span><span>})</span></div></div><div><div><div>1919</div></div><div><span>    </span><span>let</span><span><span> </span><span>res</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>resp</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>1920</div></div><div><span>    </span><span>if</span><span><span>(</span><span>res</span><span>.</span></span><span>id</span><span>){</span></div></div><div><div><div>1921</div></div><div><span>      </span><span>let</span><span><span> </span><span>resexlink</span><span> </span></span><span>=</span><span><span> </span><span>res</span><span>.</span></span><span>externalLink</span><span>;</span></div></div><div><div><div>1922</div></div><div><span>      </span><span>let</span><span><span> </span><span>imgLink</span><span> </span></span><span>=</span><span> </span><span>''</span><span><span>, </span><span>fileId</span><span> </span></span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1923</div></div><div><span>      </span><span>if</span><span><span> (</span><span>resexlink</span><span>) {</span></span></div></div><div><div><div>1924</div></div><div><span><span>          </span></span><span>imgLink</span><span> </span><span>=</span><span><span> </span><span>resexlink</span></span></div></div><div><div><div>1925</div></div><div><span><span>      </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>1926</div></div><div><span><span>          </span></span><span>fileId</span><span> </span><span>=</span><span><span> </span><span>res</span><span>.</span></span><span>publicId</span><span> </span><span>||</span><span><span> </span><span>res</span><span>.</span></span><span>filename</span></div></div><div><div><div>1927</div></div><div><span><span>          </span></span><span>imgLink</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>memosPath</span><span>}</span><span>/o/r/</span><span>${</span><span>res</span><span>.</span><span>id</span><span>}</span><span>`</span><span>;</span><span>///${fileId}</span></div></div><div><div><div>1928</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1929</div></div><div><span>      </span><span>let</span><span><span> </span><span>imageList</span><span> </span></span><span>=</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>1930</div></div><div><span><span>      </span></span><span>imageList</span><span> </span><span>+=</span><span> </span><span>`&lt;div data-id="</span><span>${</span><span>res</span><span>.</span><span>id</span><span>}</span><span>" class="imagelist-item d-flex text-xs mt-2 mr-2" onclick="window.memosbbs._deleteImage(this)"&gt;&lt;div class="d-flex image-background" style="background-image:url(</span><span>${</span><span>imgLink</span><span>}</span><span>)"&gt;&lt;span class="d-none"&gt;</span><span>${</span><span>fileId</span><span>}</span><span>&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>1931</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>querySelector</span><span>(</span><span>".memos-image-list"</span><span>).</span><span>insertAdjacentHTML</span><span>(</span><span>'afterbegin'</span><span><span>, </span><span>imageList</span><span>);</span></span></div></div><div><div><div>1932</div></div><div><span><span>      </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span></div></div><div><div><div>1933</div></div><div><span>      </span><span>'上传成功'</span><span>,</span></div></div><div><div><div>1934</div></div><div><span><span>      </span></span><span>()</span><span>=&gt;</span><span>{</span></div></div><div><div><div>1935</div></div><div><span><span>        </span></span><span>memosResourceListNow</span><span>.</span><span>push</span><span><span>(</span><span>res</span><span>.</span></span><span>id</span><span>);</span></div></div><div><div><div>1936</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-resource-list"</span><span>,  </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memosResourceListNow</span><span>));</span></span></div></div><div><div><div>1937</div></div><div><span>        </span><span>this</span><span>.</span><span>_imageListDrag</span><span>()</span></div></div><div><div><div>1938</div></div><div><span><span>      </span></span><span>})</span></div></div><div><div><div>1939</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1940</div></div><div><span><span>  </span></span><span>};</span></div></div><div><div><div>1941</div></div><div>
</div></div><div><div><div>1942</div></div><div><span>  </span><span>_hasMemosOpenId</span><span>() {</span></div></div><div><div><div>1943</div></div><div><span>    </span><span>if</span><span> (</span><span>!</span><span>this</span><span>.</span><span>memosOpenId</span><span>) {</span></div></div><div><div><div>1944</div></div><div><span>      </span><span>this</span><span>.</span><span>memosEditorOption</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1945</div></div><div><span><span>      </span></span><span>cocoMessage</span><span>.</span><span>info</span><span>(</span><span>'请设置 Access Tokens'</span><span>);</span></div></div><div><div><div>1946</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1947</div></div><div><span>      </span><span>if</span><span> (</span><span>!</span><span>this</span><span>.</span><span>memosPath</span><span>.</span><span>endsWith</span><span>(</span><span>'/'</span><span>)) {</span></div></div><div><div><div>1948</div></div><div><span>        </span><span>this</span><span>.</span><span>memosPath</span><span> </span><span>+=</span><span> </span><span>'/'</span><span>;</span></div></div><div><div><div>1949</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1950</div></div><div><span>      </span><span>let</span><span><span> </span><span>tagUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>memosPath</span><span>}</span><span>api/v1/tag`</span><span>;</span></div></div><div><div><div>1951</div></div><div><span>      </span><span>if</span><span>(</span><span>this</span><span>.</span><span>nowV1</span><span> </span><span>==</span><span> </span><span>'memos'</span><span>){</span></div></div><div><div><div>1952</div></div><div><span>        </span><span>var</span><span><span> </span><span>filter</span><span> </span></span><span>=</span><span> </span><span>"?filter="</span><span> </span><span>+</span><span> </span><span>encodeURIComponent</span><span>(</span><span>`creator == 'users/</span><span>${</span><span>this</span><span>.</span><span>memosMeID</span><span>}</span><span>'`</span><span>);</span></div></div><div><div><div>1953</div></div><div><span><span>        </span></span><span>tagUrl</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosPath</span><span>+</span><span>'api/v1/memos/-/tags'</span><span> </span><span>+</span><span><span> </span><span>filter</span><span>;</span></span></div></div><div><div><div>1954</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>1955</div></div><div><span>      </span><span>const</span><span> </span><span>response</span><span> </span><span>=</span><span> </span><span>fetch</span><span><span>(</span><span>tagUrl</span><span>,{</span></span></div></div><div><div><div>1956</div></div><div><span>        </span><span>method</span><span>:</span><span> </span><span>'GET'</span><span>,</span></div></div><div><div><div>1957</div></div><div><span>        </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>1958</div></div><div><span>          </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>1959</div></div><div><span>          </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span></div></div><div><div><div>1960</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1961</div></div><div><span><span>      </span></span><span>}).</span><span>then</span><span><span>(</span><span>resdata</span><span> </span></span><span>=&gt;</span><span><span> </span><span>resdata</span><span>.</span></span><span>json</span><span>()).</span><span>then</span><span><span>(</span><span>response</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1962</div></div><div><span>        </span><span>let</span><span><span> </span><span>taglist</span><span> </span></span><span>=</span><span> </span><span>""</span><span>;</span></div></div><div><div><div>1963</div></div><div><span>        </span><span>if</span><span>(</span><span>this</span><span>.</span><span>nowV1</span><span> </span><span>==</span><span> </span><span>'memos'</span><span>){</span></div></div><div><div><div>1964</div></div><div><span><span>          </span></span><span>Object</span><span>.</span><span>keys</span><span><span>(</span><span>response</span><span>.</span></span><span>tagAmounts</span><span>).</span><span>map</span><span><span>((</span><span>t</span><span>)</span></span><span>=&gt;</span><span>{</span></div></div><div><div><div>1965</div></div><div><span>            </span><span>this</span><span>.</span><span>nowTagList</span><span> </span><span>+=</span><span> </span><span>`</span><span>${</span><span>t</span><span>}</span><span>,`</span><span>;</span></div></div><div><div><div>1966</div></div><div><span><span>            </span></span><span>taglist</span><span> </span><span>+=</span><span> </span><span>`&lt;div class="memos-tag d-flex text-xs mt-2 mr-2 px-2" onclick="window.memosbbs._setMemoTag(this)"&gt;#</span><span>${</span><span>t</span><span>}</span><span>&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>1967</div></div><div><span><span>          </span></span><span>})</span></div></div><div><div><div>1968</div></div><div><span><span>        </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>1969</div></div><div><span><span>          </span></span><span>response</span><span>.</span><span>map</span><span><span>((</span><span>t</span><span>)</span></span><span>=&gt;</span><span>{</span></div></div><div><div><div>1970</div></div><div><span>            </span><span>this</span><span>.</span><span>nowTagList</span><span> </span><span>+=</span><span> </span><span>`</span><span>${</span><span>t</span><span>}</span><span>,`</span><span>;</span></div></div><div><div><div>1971</div></div><div><span><span>            </span></span><span>taglist</span><span> </span><span>+=</span><span> </span><span>`&lt;div class="memos-tag d-flex text-xs mt-2 mr-2 px-2" onclick="window.memosbbs._setMemoTag(this)"&gt;#</span><span>${</span><span>t</span><span>}</span><span>&lt;/div&gt;`</span><span>;</span></div></div><div><div><div>1972</div></div><div><span><span>          </span></span><span>})</span></div></div><div><div><div>1973</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>1974</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>querySelector</span><span>(</span><span>".memos-tag-list"</span><span>).</span><span>innerHTML</span><span> </span><span>=</span><span><span> </span><span>taglist</span><span>;</span></span></div></div><div><div><div>1975</div></div><div><span>        </span><span>//cocoMessage.success('准备就绪');</span></div></div><div><div><div>1976</div></div><div><span>        </span><span>this</span><span>.</span><span>memosEditorInner</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1977</div></div><div><span>        </span><span>this</span><span>.</span><span>memosEditorOption</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1978</div></div><div><span>        </span><span>this</span><span>.</span><span>memosRadomCont</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>1979</div></div><div><span>        </span><span>this</span><span>.</span><span>memosRadomCont</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1980</div></div><div><span><span>      </span></span><span>}).</span><span>catch</span><span><span>(</span><span>err</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>1981</div></div><div><span>        </span><span>this</span><span>.</span><span>memosEditorOption</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>1982</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>error</span><span>(</span><span>'Access Tokens 有误，请重新输入!'</span><span>);</span></div></div><div><div><div>1983</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>1984</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1985</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1986</div></div><div>
</div></div><div><div><div>1987</div></div><div><span>  </span><span>_random</span><span><span>(</span><span>a</span><span>,</span><span>b</span><span>) {</span></span></div></div><div><div><div>1988</div></div><div><span>    </span><span>let</span><span><span> </span><span>choices</span><span> </span></span><span>=</span><span><span> </span><span>b</span><span> </span></span><span>-</span><span><span> </span><span>a</span><span> </span></span><span>+</span><span> </span><span>1</span><span>;</span></div></div><div><div><div>1989</div></div><div><span>    </span><span>return</span><span><span> </span><span>Math</span><span>.</span></span><span>floor</span><span><span>(</span><span>Math</span><span>.</span></span><span>random</span><span>() </span><span>*</span><span><span> </span><span>choices</span><span> </span></span><span>+</span><span><span> </span><span>a</span><span>);</span></span></div></div><div><div><div>1990</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>1991</div></div><div>
</div></div><div><div><div>1992</div></div><div><span>  </span><span>async</span><span> </span><span>_getMemosData</span><span><span>(</span><span>p</span><span>,</span><span>t</span><span>) {</span></span></div></div><div><div><div>1993</div></div><div><span>    </span><span>if</span><span><span> (</span><span>p</span><span>.</span></span><span>length</span><span> </span><span>&gt;</span><span> </span><span>0</span><span> </span><span>&amp;&amp;</span><span> </span><span>!</span><span><span>p</span><span>.</span></span><span>endsWith</span><span>(</span><span>'/'</span><span>)) {</span></div></div><div><div><div>1994</div></div><div><span><span>      </span></span><span>p</span><span> </span><span>+=</span><span> </span><span>'/'</span><span>;</span></div></div><div><div><div>1995</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>1996</div></div><div><span>    </span><span>try</span><span> {</span></div></div><div><div><div>1997</div></div><div><span>      </span><span>let</span><span><span> </span><span>response</span><span>;</span></span></div></div><div><div><div>1998</div></div><div><span>      </span><span>if</span><span>(</span><span>this</span><span>.</span><span>nowV1</span><span> </span><span>==</span><span> </span><span>'memos'</span><span>){</span></div></div><div><div><div>1999</div></div><div><span><span>        </span></span><span>response</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span>(</span><span>`</span><span>${</span><span>p</span><span>}</span><span>api/v1/auth/status`</span><span>,{</span></div></div><div><div><div>2000</div></div><div><span>          </span><span>async</span><span>:</span><span> </span><span>true</span><span>,</span></div></div><div><div><div>2001</div></div><div><span>          </span><span>crossDomain</span><span>:</span><span> </span><span>true</span><span>,</span></div></div><div><div><div>2002</div></div><div><span>          </span><span>method</span><span>:</span><span> </span><span>'POST'</span><span>,</span></div></div><div><div><div>2003</div></div><div><span>          </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>2004</div></div><div><span>            </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>t</span><span>}</span><span>`</span></div></div><div><div><div>2005</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>2006</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>2007</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>2008</div></div><div><span><span>        </span></span><span>response</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span>(</span><span>`</span><span>${</span><span>p</span><span>}</span><span>api/v1/user/me`</span><span>,{</span></div></div><div><div><div>2009</div></div><div><span>          </span><span>method</span><span>:</span><span> </span><span>'GET'</span><span>,</span></div></div><div><div><div>2010</div></div><div><span>          </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>2011</div></div><div><span>            </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>t</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>2012</div></div><div><span>            </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span></div></div><div><div><div>2013</div></div><div><span><span>          </span></span><span>}</span></div></div><div><div><div>2014</div></div><div><span><span>        </span></span><span>});</span></div></div><div><div><div>2015</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>2016</div></div><div><span>      </span><span>if</span><span><span> (</span><span>response</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>2017</div></div><div><span>        </span><span>let</span><span><span> </span><span>resdata</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>();</span></div></div><div><div><div>2018</div></div><div><span>        </span><span>if</span><span><span> (</span><span>resdata</span><span>) {</span></span></div></div><div><div><div>2019</div></div><div><span>          </span><span>this</span><span>.</span><span>memosMeID</span><span> </span><span>=</span><span><span> </span><span>resdata</span><span>.</span></span><span>id</span><span>;</span></div></div><div><div><div>2020</div></div><div><span>          </span><span>this</span><span>.</span><span>memosMeNickname</span><span> </span><span>=</span><span><span> </span><span>resdata</span><span>.</span></span><span>nickname</span><span> </span><span>||</span><span><span> </span><span>resdata</span><span>.</span></span><span>username</span><span> ;</span></div></div><div><div><div>2021</div></div><div><span>          </span><span>this</span><span>.</span><span>memosMeAvatarUrl</span><span> </span><span>=</span><span><span> </span><span>resdata</span><span>.</span></span><span>avatarUrl</span><span> </span><span>||</span><span> </span><span>"https://memobbs.app/pwa/48.png"</span><span>;</span></div></div><div><div><div>2022</div></div><div><span><span>          </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-access-path"</span><span><span>, </span><span>p</span><span>);</span></span></div></div><div><div><div>2023</div></div><div><span><span>          </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-access-token"</span><span><span>, </span><span>t</span><span>);</span></span></div></div><div><div><div>2024</div></div><div><span><span>          </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-visibility-select"</span><span>,</span><span>"PUBLIC"</span><span>);</span></div></div><div><div><div>2025</div></div><div><span><span>          </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-me-id"</span><span>, </span><span>this</span><span>.</span><span>memosMeID</span><span>);</span></div></div><div><div><div>2026</div></div><div><span><span>          </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-me-nickname"</span><span>, </span><span>this</span><span>.</span><span>memosMeNickname</span><span>);</span></div></div><div><div><div>2027</div></div><div><span><span>          </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-me-avatarurl"</span><span>, </span><span>this</span><span>.</span><span>memosMeAvatarUrl</span><span>);</span></div></div><div><div><div>2028</div></div><div><span><span>          </span></span><span>cocoMessage</span><span>.</span><span>success</span><span>(</span><span>'保存成功'</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>2029</div></div><div><span>            </span><span>this</span><span>.</span><span>memosPath</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-path"</span><span>);</span></div></div><div><div><div>2030</div></div><div><span>            </span><span>this</span><span>.</span><span>memosOpenId</span><span> </span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-access-token"</span><span>);</span></div></div><div><div><div>2031</div></div><div><span><span>            </span></span><span>window</span><span>.</span><span>location</span><span>.</span><span>reload</span><span>();</span></div></div><div><div><div>2032</div></div><div><span>            </span><span>//this._getUserMemos(this.memosPath,this.memosMeID,this.memosMeNickname,this.memosMeNickname,"")</span></div></div><div><div><div>2033</div></div><div><span>            </span><span>this</span><span>.</span><span>_hasMemosOpenId</span><span>();</span></div></div><div><div><div>2034</div></div><div><span><span>          </span></span><span>});</span></div></div><div><div><div>2035</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>2036</div></div><div><span><span>      </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>2037</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>error</span><span>(</span><span>'出错了，再检查一下吧!'</span><span>);</span></div></div><div><div><div>2038</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>2039</div></div><div><span><span>    </span></span><span>} </span><span>catch</span><span><span> (</span><span>error</span><span>) {</span></span></div></div><div><div><div>2040</div></div><div><span><span>      </span></span><span>cocoMessage</span><span>.</span><span>error</span><span>(</span><span>'出错了，再检查一下吧!'</span><span>);</span></div></div><div><div><div>2041</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2042</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2043</div></div><div>
</div></div><div><div><div>2044</div></div><div><span>  </span><span>_insertValue</span><span><span>(</span><span>text</span><span>,</span><span>wrap</span><span>,</span><span>back</span><span>) {</span></span></div></div><div><div><div>2045</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>focus</span><span>();</span></div></div><div><div><div>2046</div></div><div><span>    </span><span>const</span><span> </span><span>start</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>selectionStart</span><span>;</span></div></div><div><div><div>2047</div></div><div><span>    </span><span>const</span><span> </span><span>end</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>selectionEnd</span><span>;</span></div></div><div><div><div>2048</div></div><div><span>    </span><span>const</span><span> </span><span>selectedText</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>.</span><span>substring</span><span><span>(</span><span>start</span><span>, </span><span>end</span><span>);</span></span></div></div><div><div><div>2049</div></div><div><span>    </span><span>if</span><span><span>(</span><span>selectedText</span><span> </span></span><span>==</span><span> </span><span>""</span><span>){</span></div></div><div><div><div>2050</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>.</span><span>substring</span><span>(</span><span>0</span><span><span>, </span><span>start</span><span>) </span></span><span>+</span><span><span> </span><span>text</span><span> </span></span><span>+</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>.</span><span>substring</span><span><span>(</span><span>end</span><span>);</span></span></div></div><div><div><div>2051</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>selectionStart</span><span> </span><span>=</span><span><span> </span><span>start</span><span> </span></span><span>+</span><span><span> </span><span>text</span><span>.</span></span><span>length</span><span> </span><span>-</span><span><span> </span><span>back</span><span>;</span></span></div></div><div><div><div>2052</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>selectionEnd</span><span> </span><span>=</span><span><span> </span><span>start</span><span> </span></span><span>+</span><span><span> </span><span>text</span><span>.</span></span><span>length</span><span> </span><span>-</span><span><span> </span><span>back</span><span>;</span></span></div></div><div><div><div>2053</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>2054</div></div><div><span>      </span><span>let</span><span><span> </span><span>wrapSelText</span><span>;</span></span></div></div><div><div><div>2055</div></div><div><span>      </span><span>if</span><span><span>( </span><span>wrap</span><span> </span></span><span>==</span><span> </span><span>"`"</span><span> ){</span></div></div><div><div><div>2056</div></div><div><span><span>        </span></span><span>wrapSelText</span><span> </span><span>=</span><span> </span><span>" `"</span><span> </span><span>+</span><span><span> </span><span>selectedText</span><span> </span></span><span>+</span><span> </span><span>"` "</span><span>;</span></div></div><div><div><div>2057</div></div><div><span><span>        </span></span><span>back</span><span> </span><span>=</span><span> </span><span>0</span><span>;</span></div></div><div><div><div>2058</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>2059</div></div><div><span>      </span><span>if</span><span><span>( </span><span>wrap</span><span> </span></span><span>==</span><span> </span><span>"["</span><span> ){</span></div></div><div><div><div>2060</div></div><div><span><span>        </span></span><span>wrapSelText</span><span> </span><span>=</span><span> </span><span>" ["</span><span> </span><span>+</span><span><span> </span><span>selectedText</span><span> </span></span><span>+</span><span> </span><span>"]() "</span><span>;</span></div></div><div><div><div>2061</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>2062</div></div><div><span>      </span><span>if</span><span><span>( </span><span>wrap</span><span> </span></span><span>==</span><span> </span><span>"!"</span><span> ){</span></div></div><div><div><div>2063</div></div><div><span><span>        </span></span><span>wrapSelText</span><span> </span><span>=</span><span> </span><span>" !["</span><span> </span><span>+</span><span><span> </span><span>selectedText</span><span> </span></span><span>+</span><span> </span><span>"]() "</span><span>;</span></div></div><div><div><div>2064</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>2065</div></div><div><span>      </span><span>const</span><span> </span><span>newText</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>.</span><span>substring</span><span>(</span><span>0</span><span><span>, </span><span>start</span><span>) </span></span><span>+</span><span><span> </span><span>wrapSelText</span><span> </span></span><span>+</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>.</span><span>substring</span><span><span>(</span><span>end</span><span>);</span></span></div></div><div><div><div>2066</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span><span> </span><span>newText</span><span>;</span></span></div></div><div><div><div>2067</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>selectionStart</span><span> </span><span>=</span><span><span> </span><span>start</span><span> </span></span><span>+</span><span><span> </span><span>wrapSelText</span><span>.</span></span><span>length</span><span> </span><span>-</span><span><span> </span><span>back</span><span>;</span></span></div></div><div><div><div>2068</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>selectionEnd</span><span> </span><span>=</span><span><span> </span><span>end</span><span> </span></span><span>+</span><span><span> </span><span>wrapSelText</span><span>.</span></span><span>length</span><span> </span><span>-</span><span><span> </span><span>back</span><span> </span></span><span>-</span><span><span> </span><span>selectedText</span><span>.</span></span><span>length</span><span>;</span></div></div><div><div><div>2069</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2070</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2071</div></div><div>
</div></div><div><div><div>2072</div></div><div><span>  </span><span>_deleteImage</span><span><span>(</span><span>e</span><span>){</span></span></div></div><div><div><div>2073</div></div><div><span>    </span><span>if</span><span><span>(</span><span>e</span><span>){</span></span></div></div><div><div><div>2074</div></div><div><span>      </span><span>let</span><span><span> </span><span>memoId</span><span> </span></span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>getAttribute</span><span>(</span><span>"data-id"</span><span>)</span></div></div><div><div><div>2075</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosResource</span><span> </span></span><span>=</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-resource-list"</span><span>));</span></div></div><div><div><div>2076</div></div><div><span>      </span><span>let</span><span><span> </span><span>memosResourceList</span><span> </span></span><span>=</span><span><span> </span><span>memosResource</span><span>.</span></span><span>filter</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span> { </span><span>return</span><span><span> </span><span>item</span><span> </span></span><span>!=</span><span><span> </span><span>memoId</span><span>});</span></span></div></div><div><div><div>2077</div></div><div><span><span>      </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-resource-list"</span><span>,  </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memosResourceList</span><span>));</span></span></div></div><div><div><div>2078</div></div><div><span><span>      </span></span><span>e</span><span>.</span><span>remove</span><span>()</span></div></div><div><div><div>2079</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2080</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2081</div></div><div>
</div></div><div><div><div>2082</div></div><div><span>  </span><span>_imageListDrag</span><span>(){</span><span>// 获取包含所有图像元素的父元素</span></div></div><div><div><div>2083</div></div><div><span>    </span><span>const</span><span> </span><span>imageList</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>'.memos-image-list'</span><span>);</span></div></div><div><div><div>2084</div></div><div><span>    </span><span>// 存储被拖动的元素</span></div></div><div><div><div>2085</div></div><div><span>    </span><span>let</span><span><span> </span><span>draggedItem</span><span> </span></span><span>=</span><span> </span><span>null</span><span>;</span></div></div><div><div><div>2086</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosResourceList</span><span>;</span></span></div></div><div><div><div>2087</div></div><div><span>    </span><span>// 为每个图像元素添加拖动事件监听器</span></div></div><div><div><div>2088</div></div><div><span><span>    </span></span><span>imageList</span><span>.</span><span>querySelectorAll</span><span>(</span><span>'.imagelist-item'</span><span>).</span><span>forEach</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>2089</div></div><div><span><span>      </span></span><span>item</span><span>.</span><span>draggable</span><span> </span><span>=</span><span> </span><span>true</span><span>;</span></div></div><div><div><div>2090</div></div><div><span>      </span><span>// 当拖动开始时</span></div></div><div><div><div>2091</div></div><div><span><span>      </span></span><span>item</span><span>.</span><span>addEventListener</span><span>(</span><span>'dragstart'</span><span><span>, (</span><span>e</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>2092</div></div><div><span>        </span><span>// 存储被拖动的元素</span></div></div><div><div><div>2093</div></div><div><span><span>        </span></span><span>draggedItem</span><span> </span><span>=</span><span> </span><span>this</span><span>;</span></div></div><div><div><div>2094</div></div><div><span><span>        </span></span><span>memosResourceList</span><span> </span><span>=</span><span> [];</span></div></div><div><div><div>2095</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>2096</div></div><div><span>      </span><span>// 当拖动元素进入目标区域时</span></div></div><div><div><div>2097</div></div><div><span><span>      </span></span><span>item</span><span>.</span><span>addEventListener</span><span>(</span><span>'dragover'</span><span><span>, (</span><span>e</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>2098</div></div><div><span><span>        </span></span><span>e</span><span>.</span><span>preventDefault</span><span>(); </span><span>// 阻止默认行为</span></div></div><div><div><div>2099</div></div><div><span>        </span><span>this</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'dragover'</span><span>); </span><span>// 添加拖动进入样式</span></div></div><div><div><div>2100</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>2101</div></div><div>
</div></div><div><div><div>2102</div></div><div><span>      </span><span>// 当拖动元素离开目标区域时</span></div></div><div><div><div>2103</div></div><div><span><span>      </span></span><span>item</span><span>.</span><span>addEventListener</span><span>(</span><span>'dragleave'</span><span>, () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>2104</div></div><div><span>        </span><span>this</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'dragover'</span><span>); </span><span>// 移除拖动进入样式</span></div></div><div><div><div>2105</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>2106</div></div><div>
</div></div><div><div><div>2107</div></div><div><span>      </span><span>// 当拖动元素放置到目标区域时</span></div></div><div><div><div>2108</div></div><div><span><span>      </span></span><span>item</span><span>.</span><span>addEventListener</span><span>(</span><span>'drop'</span><span><span>, (</span><span>e</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>2109</div></div><div><span><span>        </span></span><span>e</span><span>.</span><span>preventDefault</span><span>(); </span><span>// 阻止默认行为</span></div></div><div><div><div>2110</div></div><div><span>        </span><span>this</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>'dragover'</span><span>); </span><span>// 移除拖动进入样式</span></div></div><div><div><div>2111</div></div><div><span>        </span><span>// 计算拖动元素中心点</span></div></div><div><div><div>2112</div></div><div><span>        </span><span>const</span><span> </span><span>rect</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>getBoundingClientRect</span><span>();</span></div></div><div><div><div>2113</div></div><div><span>        </span><span>const</span><span> </span><span>centerX</span><span> </span><span>=</span><span><span> </span><span>rect</span><span>.</span></span><span>left</span><span> </span><span>+</span><span><span> </span><span>rect</span><span>.</span></span><span>width</span><span> </span><span>/</span><span> </span><span>2</span><span>;</span></div></div><div><div><div>2114</div></div><div><span>        </span><span>// 判断鼠标相对中心点的位置</span></div></div><div><div><div>2115</div></div><div><span>        </span><span>const</span><span> </span><span>isLeft</span><span> </span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>clientX</span><span> </span><span>&lt;</span><span><span> </span><span>centerX</span><span>;</span></span></div></div><div><div><div>2116</div></div><div><span>        </span><span>if</span><span><span> (</span><span>isLeft</span><span>) {</span></span></div></div><div><div><div>2117</div></div><div><span>          </span><span>// 插入到前一个元素前</span></div></div><div><div><div>2118</div></div><div><span>          </span><span>this</span><span>.</span><span>parentNode</span><span>.</span><span>insertBefore</span><span><span>(</span><span>draggedItem</span><span>, </span></span><span>this</span><span>.</span><span>previousElementSibling</span><span>);</span></div></div><div><div><div>2119</div></div><div><span><span>        </span></span><span>} </span><span>else</span><span> {</span></div></div><div><div><div>2120</div></div><div><span>          </span><span>// 插入到后一个元素后</span></div></div><div><div><div>2121</div></div><div><span>          </span><span>this</span><span>.</span><span>parentNode</span><span>.</span><span>insertBefore</span><span><span>(</span><span>draggedItem</span><span>, </span></span><span>this</span><span>.</span><span>nextElementSibling</span><span>);</span></div></div><div><div><div>2122</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>2123</div></div><div><span><span>        </span></span><span>document</span><span>.</span><span>querySelectorAll</span><span>(</span><span>'.memos-image-list .imagelist-item'</span><span>).</span><span>forEach</span><span><span>((</span><span>item</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>2124</div></div><div><span>          </span><span>let</span><span><span> </span><span>itemId</span><span> </span></span><span>=</span><span> </span><span>Number</span><span><span>(</span><span>item</span><span>.</span></span><span>dataset</span><span>.</span><span>id</span><span>)</span></div></div><div><div><div>2125</div></div><div><span><span>          </span></span><span>memosResourceList</span><span>.</span><span>push</span><span><span>(</span><span>itemId</span><span>);</span></span></div></div><div><div><div>2126</div></div><div><span><span>        </span></span><span>})</span></div></div><div><div><div>2127</div></div><div><span><span>        </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>setItem</span><span>(</span><span>"memos-resource-list"</span><span>,  </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>memosResourceList</span><span>));</span></span></div></div><div><div><div>2128</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>2129</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>2130</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2131</div></div><div>
</div></div><div><div><div>2132</div></div><div><span>  </span><span>_clearTextarea</span><span><span>(</span><span>mode</span><span>){</span></span></div></div><div><div><div>2133</div></div><div><span>    </span><span>if</span><span> (</span><span>!</span><span>this</span><span>.</span><span>editMemoDom</span><span>.</span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>"d-none"</span><span>)) {</span></div></div><div><div><div>2134</div></div><div><span><span>      </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>removeItem</span><span>(</span><span>"memos-editor-dataform"</span><span>);</span></div></div><div><div><div>2135</div></div><div><span>      </span><span>this</span><span>.</span><span>editMemoDom</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>2136</div></div><div><span>      </span><span>this</span><span>.</span><span>submitMemoBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>);</span></div></div><div><div><div>2137</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2138</div></div><div><span>    </span><span>this</span><span>.</span><span>submitMemoBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"noclick"</span><span>);</span></div></div><div><div><div>2139</div></div><div><span><span>    </span></span><span>document</span><span>.</span><span>querySelector</span><span>(</span><span>".memos-image-list"</span><span>).</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>2140</div></div><div><span><span>    </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>removeItem</span><span>(</span><span>"memos-resource-list"</span><span>);</span></div></div><div><div><div>2141</div></div><div><span><span>    </span></span><span>window</span><span>.</span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>removeItem</span><span>(</span><span>"memos-relation-list"</span><span>);</span></div></div><div><div><div>2142</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-editor-textarea"</span><span>)</span></div></div><div><div><div>2143</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>2144</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>style</span><span>.</span><span>height</span><span> </span><span>=</span><span> </span><span>'inherit'</span><span>;</span></div></div><div><div><div>2145</div></div><div><span>    </span><span>this</span><span>.</span><span>memosMode</span><span> </span><span>=</span><span><span> </span><span>mode</span><span> </span></span><span>||</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span> </span><span>&amp;&amp;</span><span><span> </span><span>window</span><span>.</span></span><span>localStorage</span><span>.</span><span>getItem</span><span>(</span><span>"memos-mode"</span><span>);</span></div></div><div><div><div>2146</div></div><div><span>    </span><span>if</span><span>(</span><span>this</span><span>.</span><span>memosMode</span><span> </span><span>!=</span><span> </span><span>"cancel"</span><span>){</span></div></div><div><div><div>2147</div></div><div><span>      </span><span>this</span><span>.</span><span>_getUserMemos</span><span>(</span><span>this</span><span>.</span><span>nowLink</span><span>,</span><span>this</span><span>.</span><span>nowId</span><span>,</span><span>this</span><span>.</span><span>nowName</span><span>,</span><span>this</span><span>.</span><span>nowAvatar</span><span>,</span><span>""</span><span>,</span><span>""</span><span>,</span><span>this</span><span>.</span><span>memosMode</span><span>)</span></div></div><div><div><div>2148</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2149</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2150</div></div><div>
</div></div><div><div><div>2151</div></div><div><span>  </span><span>// 显示表情选择器</span></div></div><div><div><div>2152</div></div><div><span>  </span><span>_displayEmojiSelector</span><span>() {</span></div></div><div><div><div>2153</div></div><div><span>    </span><span>if</span><span> (</span><span>!</span><span>this</span><span>.</span><span>emojiSelector</span><span>) {</span></div></div><div><div><div>2154</div></div><div><span>      </span><span>this</span><span>.</span><span>emojiSelector</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>createElement</span><span>(</span><span>'div'</span><span>);</span></div></div><div><div><div>2155</div></div><div><span>      </span><span>this</span><span>.</span><span>emojiSelector</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'emoji-selector'</span><span>);</span></div></div><div><div><div>2156</div></div><div><span>      </span><span>this</span><span>.</span><span>emojiSelector</span><span>.</span><span>addEventListener</span><span>(</span><span>'click'</span><span><span>, (</span><span>event</span><span>) </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>2157</div></div><div><span>        </span><span>const</span><span> </span><span>target</span><span> </span><span>=</span><span><span> </span><span>event</span><span>.</span></span><span>target</span><span>;</span></div></div><div><div><div>2158</div></div><div><span>        </span><span>if</span><span><span> (</span><span>target</span><span>.</span></span><span>classList</span><span>.</span><span>contains</span><span>(</span><span>'emoji-item'</span><span>)) {</span></div></div><div><div><div>2159</div></div><div><span>          </span><span>this</span><span>.</span><span>_insertEmoji</span><span><span>(</span><span>target</span><span>.</span></span><span>innerHTML</span><span>);</span></div></div><div><div><div>2160</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>2161</div></div><div><span><span>      </span></span><span>});</span></div></div><div><div><div>2162</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2163</div></div><div><span>    </span><span>this</span><span>.</span><span>emojiSelector</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span> </span><span>''</span><span>;</span></div></div><div><div><div>2164</div></div><div><span>    </span><span>this</span><span>.</span><span>emojis</span><span>.</span><span>forEach</span><span><span>(</span><span>emoji</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>2165</div></div><div><span>      </span><span>const</span><span> </span><span>emojiItem</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>createElement</span><span>(</span><span>'div'</span><span>);</span></div></div><div><div><div>2166</div></div><div><span><span>      </span></span><span>emojiItem</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>'emoji-item'</span><span>);</span></div></div><div><div><div>2167</div></div><div><span><span>      </span></span><span>emojiItem</span><span>.</span><span>innerHTML</span><span> </span><span>=</span><span><span> </span><span>emoji</span><span>.</span></span><span>icon</span><span>;</span></div></div><div><div><div>2168</div></div><div><span><span>      </span></span><span>emojiItem</span><span>.</span><span>title</span><span> </span><span>=</span><span><span> </span><span>emoji</span><span>.</span></span><span>text</span><span>;</span></div></div><div><div><div>2169</div></div><div><span>      </span><span>this</span><span>.</span><span>emojiSelector</span><span>.</span><span>appendChild</span><span><span>(</span><span>emojiItem</span><span>);</span></span></div></div><div><div><div>2170</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>2171</div></div><div><span>    </span><span>const</span><span> </span><span>memosEditorTools</span><span> </span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".memos-editor-tools"</span><span>);</span></div></div><div><div><div>2172</div></div><div><span>    </span><span>if</span><span><span> (</span><span>memosEditorTools</span><span>) {</span></span></div></div><div><div><div>2173</div></div><div><span><span>      </span></span><span>memosEditorTools</span><span>.</span><span>insertAdjacentElement</span><span>(</span><span>'afterend'</span><span>, </span><span>this</span><span>.</span><span>emojiSelector</span><span>);</span></div></div><div><div><div>2174</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2175</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2176</div></div><div><span>  </span><span>// 表情光标位置</span></div></div><div><div><div>2177</div></div><div><span>  </span><span>_insertEmoji</span><span><span>(</span><span>emojiText</span><span>) {</span></span></div></div><div><div><div>2178</div></div><div><span>    </span><span>const</span><span> </span><span>selectionStart</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>selectionStart</span><span>;</span></div></div><div><div><div>2179</div></div><div><span>    </span><span>const</span><span> </span><span>newValue</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>.</span><span>substring</span><span>(</span><span>0</span><span>,</span><span> </span><span><span>selectionStart</span><span>)</span></span><span>}${</span><span>emojiText</span><span>}${</span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>.</span><span>substring</span><span>(</span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>selectionEnd</span><span>)</span><span>}</span><span>`</span><span>;</span></div></div><div><div><div>2180</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span><span> </span><span>newValue</span><span>;</span></span></div></div><div><div><div>2181</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>dispatchEvent</span><span>(</span><span>new</span><span> </span><span>Event</span><span>(</span><span>'input'</span><span>));</span></div></div><div><div><div>2182</div></div><div><span>    </span><span>const</span><span> </span><span>newCursorPosition</span><span> </span><span>=</span><span><span> </span><span>selectionStart</span><span> </span></span><span>+</span><span><span> </span><span>emojiText</span><span>.</span></span><span>length</span><span>;</span></div></div><div><div><div>2183</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>setSelectionRange</span><span><span>(</span><span>newCursorPosition</span><span>, </span><span>newCursorPosition</span><span>);</span></span></div></div><div><div><div>2184</div></div><div><span>    </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>focus</span><span>();</span></div></div><div><div><div>2185</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2186</div></div><div>
</div></div><div><div><div>2187</div></div><div><span>  </span><span>// 回到顶部</span></div></div><div><div><div>2188</div></div><div><span>  </span><span>_backToTop</span><span>() {</span></div></div><div><div><div>2189</div></div><div><span>    </span><span>let</span><span><span> </span><span>BackTop</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>querySelector</span><span>(</span><span>".backtop"</span><span>)</span></div></div><div><div><div>2190</div></div><div><span><span>    </span></span><span>document</span><span>.</span><span>onscroll</span><span> </span><span>=</span><span> () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>2191</div></div><div><span>      </span><span>let</span><span><span> </span><span>iRollingLength</span><span> </span></span><span>=</span><span><span> </span><span>document</span><span>.</span></span><span>documentElement</span><span>.</span><span>scrollTop</span></div></div><div><div><div>2192</div></div><div><span>      </span><span>if</span><span><span>(</span><span>iRollingLength</span><span> </span></span><span>&gt;</span><span> </span><span>300</span><span>){</span></div></div><div><div><div>2193</div></div><div><span><span>        </span></span><span>BackTop</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-md-flex"</span><span>)</span></div></div><div><div><div>2194</div></div><div><span><span>      </span></span><span>}</span><span>else</span><span>{</span></div></div><div><div><div>2195</div></div><div><span><span>        </span></span><span>BackTop</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-md-flex"</span><span>)</span></div></div><div><div><div>2196</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>2197</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2198</div></div><div><span><span>    </span></span><span>BackTop</span><span>.</span><span>onclick</span><span> </span><span>=</span><span> () </span><span>=&gt;</span><span> {</span></div></div><div><div><div>2199</div></div><div><span><span>      </span></span><span>document</span><span>.</span><span>body</span><span>.</span><span>scrollIntoView</span><span>({</span><span>behavior</span><span>:</span><span> </span><span>'smooth'</span><span>})</span></div></div><div><div><div>2200</div></div><div><span><span>    </span></span><span>};</span></div></div><div><div><div>2201</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2202</div></div><div>
</div></div><div><div><div>2203</div></div><div><span>  </span><span>_geminiAI</span><span><span>(</span><span>e</span><span>){</span></span></div></div><div><div><div>2204</div></div><div><span>    </span><span>let</span><span><span> </span><span>AIMode</span><span> </span></span><span>=</span><span><span> </span><span>e</span><span>.</span></span><span>innerText</span><span>;</span></div></div><div><div><div>2205</div></div><div><span>    </span><span>let</span><span><span> </span><span>textOld</span><span> </span></span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span>;</span></div></div><div><div><div>2206</div></div><div><span>    </span><span>let</span><span><span> </span><span>memosContent</span><span>;</span></span></div></div><div><div><div>2207</div></div><div><span>    </span><span>if</span><span>(</span><span>!</span><span><span>textOld</span><span>){</span></span></div></div><div><div><div>2208</div></div><div><span><span>      </span></span><span>cocoMessage</span><span>.</span><span>info</span><span>(</span><span>'内容不能为空'</span><span>);</span></div></div><div><div><div>2209</div></div><div><span>      </span><span>return</span></div></div><div><div><div>2210</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2211</div></div><div><span>    </span><span>if</span><span><span>(</span><span>AIMode</span><span> </span></span><span>==</span><span> </span><span>"语音润色"</span><span>){</span></div></div><div><div><div>2212</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>textOld</span><span>}</span><span>\n</span><span>---</span><span>\n</span><span>`</span></div></div><div><div><div>2213</div></div><div><span><span>      </span></span><span>memosContent</span><span> </span><span>=</span><span> </span><span>`请用简洁明了的语言，编辑以下段落，以改善其逻辑流程，消除任何印刷错误。请务必保持文章的原意，禁止回答解释文字里的问题，只返回编辑后的文字，以简体中文回复。请从编辑以下文字开始：[</span><span>${</span><span>textOld</span><span>}</span><span>]`</span></div></div><div><div><div>2214</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>AIMode</span><span> </span></span><span>==</span><span> </span><span>"自动标签"</span><span>){</span></div></div><div><div><div>2215</div></div><div><span><span>      </span></span><span>memosContent</span><span> </span><span>=</span><span> </span><span>`分析这段文本内容：[</span><span>${</span><span>textOld</span><span>}</span><span>]，从这些标签列表中: ["</span><span>${</span><span>this</span><span>.</span><span>nowTagList</span><span>}</span><span>"] 尝试找出1个最适合的标签，并"#TAG "的形式反馈给我`</span></div></div><div><div><div>2216</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>AIMode</span><span> </span></span><span>==</span><span> </span><span>"智囊团队"</span><span>){</span></div></div><div><div><div>2217</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>textOld</span><span>}</span><span>\n</span><span>---</span><span>\n</span><span>`</span></div></div><div><div><div>2218</div></div><div><span><span>      </span></span><span>memosContent</span><span> </span><span>=</span><span> </span><span>`你是我的智囊团，团内有 6 个不同的董事作为教练，分别是乔布斯、伊隆马斯克、马云、柏拉图、维达利和慧能大师。他们都有自己的个性、世界观、价值观，对问题有不同的看法、建议和意见。我会在这里说出我的处境和我的决策。先分别以这 6 个身份，以他们的视角来审视我的决策，给出他们的批评和建议，我的第一个处境是 [</span><span>${</span><span>textOld</span><span>}</span><span>]`</span></div></div><div><div><div>2219</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>AIMode</span><span> </span></span><span>==</span><span> </span><span>"育儿帮手"</span><span>){</span></div></div><div><div><div>2220</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>textOld</span><span>}</span><span>\n</span><span>---</span><span>\n</span><span>`</span></div></div><div><div><div>2221</div></div><div><span><span>      </span></span><span>memosContent</span><span> </span><span>=</span><span> </span><span>`As an expert in child development, you are tasked with answering various imaginative questions from children between the ages of 5 and 10, as if you were a kindergarten teacher. Your responses should be lively, patient, and friendly in tone and manner, and as concrete and understandable as possible, avoiding complex or abstract vocabulary. Use metaphors and examples whenever possible, and extend your answers to cover more scenarios, not just explaining why, but also suggesting concrete actions to deepen understanding. Respond in Chinese.My first questions: [</span><span>${</span><span>textOld</span><span>}</span><span>]`</span></div></div><div><div><div>2222</div></div><div><span><span>    </span></span><span>}</span><span>else</span><span> </span><span>if</span><span><span>(</span><span>AIMode</span><span> </span></span><span>==</span><span> </span><span>"智能问答"</span><span>){</span></div></div><div><div><div>2223</div></div><div><span>      </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>textOld</span><span>}</span><span>\n</span><span>---</span><span>\n</span><span>`</span></div></div><div><div><div>2224</div></div><div><span><span>      </span></span><span>memosContent</span><span> </span><span>=</span><span> </span><span>`</span><span>${</span><span>textOld</span><span>}</span><span>`</span></div></div><div><div><div>2225</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2226</div></div><div><span>    </span><span>this</span><span>.</span><span>geminiAIBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>,</span><span>"noclick"</span><span>)</span></div></div><div><div><div>2227</div></div><div><span>    </span><span>this</span><span>.</span><span>geminiAILoadBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>2228</div></div><div><span>    </span><span>this</span><span>.</span><span>_sendToGemini</span><span><span>(</span><span>memosContent</span><span>)</span></span></div></div><div><div><div>2229</div></div><div><span><span>  </span></span><span>};</span></div></div><div><div><div>2230</div></div><div>
</div></div><div><div><div>2231</div></div><div><span>  </span><span>//"https://gemini-openai-proxy.deno.dev/v1/chat/completions"</span></div></div><div><div><div>2232</div></div><div><span>  </span><span>async</span><span> </span><span>_sendToGemini</span><span><span>(</span><span>memosContent</span><span>) {</span></span></div></div><div><div><div>2233</div></div><div><span>    </span><span>const</span><span> </span><span>res</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span>(</span><span>this</span><span>.</span><span>GeminiFetch</span><span>, {</span></div></div><div><div><div>2234</div></div><div><span>      </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>2235</div></div><div><span>        </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>geminiKey</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>2236</div></div><div><span>        </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span></div></div><div><div><div>2237</div></div><div><span><span>      </span></span><span>},</span></div></div><div><div><div>2238</div></div><div><span>      </span><span>method</span><span>:</span><span> </span><span>'POST'</span><span>,</span></div></div><div><div><div>2239</div></div><div><span>      </span><span>body</span><span>:</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span>({</span></div></div><div><div><div>2240</div></div><div><span>        </span><span>model</span><span>:</span><span> </span><span>'gemini-pro'</span><span>,</span></div></div><div><div><div>2241</div></div><div><span>        </span><span>messages</span><span>:</span><span> [{ </span><span>role</span><span>:</span><span> </span><span>'user'</span><span>, </span><span>content</span><span>:</span><span><span> </span><span>memosContent</span><span> }],</span></span></div></div><div><div><div>2242</div></div><div><span>        </span><span>temperature</span><span>:</span><span> </span><span>0.7</span><span>,</span></div></div><div><div><div>2243</div></div><div><span>        </span><span>stream</span><span>:</span><span> </span><span>true</span></div></div><div><div><div>2244</div></div><div><span><span>      </span></span><span>})</span></div></div><div><div><div>2245</div></div><div><span><span>    </span></span><span>})</span></div></div><div><div><div>2246</div></div><div><span>    </span><span>if</span><span>(</span><span>!</span><span><span>res</span><span>.</span></span><span>ok</span><span>){</span></div></div><div><div><div>2247</div></div><div><span>      </span><span>setTimeout</span><span>(() </span><span>=&gt;</span><span> {</span></div></div><div><div><div>2248</div></div><div><span>        </span><span>this</span><span>.</span><span>geminiAIBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>,</span><span>"noclick"</span><span>)</span></div></div><div><div><div>2249</div></div><div><span>        </span><span>this</span><span>.</span><span>geminiAILoadBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>2250</div></div><div><span><span>        </span></span><span>cocoMessage</span><span>.</span><span>error</span><span>(</span><span>"出错咯，稍后再试"</span><span>)</span></div></div><div><div><div>2251</div></div><div><span><span>      </span></span><span>}, </span><span>1000</span><span>);</span></div></div><div><div><div>2252</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2253</div></div><div><span>    </span><span>const</span><span> </span><span>reader</span><span> </span><span>=</span><span><span> </span><span>res</span><span>.</span></span><span>body</span><span>.</span><span>getReader</span><span>()</span></div></div><div><div><div>2254</div></div><div><span>    </span><span>while</span><span>(</span><span>true</span><span>) {</span></div></div><div><div><div>2255</div></div><div><span>      </span><span>const</span><span> {</span><span>value</span><span>, </span><span>done</span><span>} </span><span>=</span><span> </span><span>await</span><span><span> </span><span>reader</span><span>.</span></span><span>read</span><span>()</span></div></div><div><div><div>2256</div></div><div><span>      </span><span>if</span><span><span> (</span><span>done</span><span>) {</span></span></div></div><div><div><div>2257</div></div><div><span>        </span><span>this</span><span>.</span><span>geminiAIBtn</span><span>.</span><span>classList</span><span>.</span><span>remove</span><span>(</span><span>"d-none"</span><span>,</span><span>"noclick"</span><span>)</span></div></div><div><div><div>2258</div></div><div><span>        </span><span>this</span><span>.</span><span>geminiAILoadBtn</span><span>.</span><span>classList</span><span>.</span><span>add</span><span>(</span><span>"d-none"</span><span>)</span></div></div><div><div><div>2259</div></div><div><span>        </span><span>break</span></div></div><div><div><div>2260</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>2261</div></div><div><span>      </span><span>const</span><span> </span><span>text</span><span> </span><span>=</span><span> </span><span>new</span><span> </span><span>TextDecoder</span><span>().</span><span>decode</span><span><span>(</span><span>value</span><span>)</span></span></div></div><div><div><div>2262</div></div><div><span>      </span><span>const</span><span> </span><span>match</span><span> </span><span>=</span><span><span> </span><span>text</span><span>.</span></span><span>match</span><span>(</span><span>/DONE/</span><span>)</span></div></div><div><div><div>2263</div></div><div><span>      </span><span>if</span><span>(</span><span>!</span><span><span>match</span><span>){</span></span></div></div><div><div><div>2264</div></div><div><span>        </span><span>const</span><span> </span><span>textJson</span><span> </span><span>=</span><span> </span><span>JSON</span><span>.</span><span>parse</span><span><span>(</span><span>text</span><span>.</span></span><span>substring</span><span>(</span><span>5</span><span>))</span></div></div><div><div><div>2265</div></div><div><span>        </span><span>const</span><span> </span><span>resData</span><span> </span><span>=</span><span><span> </span><span>textJson</span><span>.</span></span><span>choices</span><span>[</span><span>0</span><span>].</span><span>delta</span><span>.</span><span>content</span></div></div><div><div><div>2266</div></div><div><span>        </span><span>if</span><span><span>(</span><span>resData</span><span>.</span></span><span>length</span><span> </span><span>&gt;</span><span> </span><span>0</span><span>){</span></div></div><div><div><div>2267</div></div><div><span>          </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>value</span><span> </span><span>+=</span><span><span> </span><span>resData</span></span></div></div><div><div><div>2268</div></div><div><span>          </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>style</span><span>.</span><span>height</span><span> </span><span>=</span><span> </span><span>this</span><span>.</span><span>memosTextarea</span><span>.</span><span>scrollHeight</span><span> </span><span>+</span><span> </span><span>'px'</span><span>;</span></div></div><div><div><div>2269</div></div><div><span><span>        </span></span><span>}</span></div></div><div><div><div>2270</div></div><div><span><span>      </span></span><span>}</span></div></div><div><div><div>2271</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2272</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2273</div></div><div>
</div></div><div><div><div>2274</div></div><div><span>  </span><span>async</span><span> </span><span>_getMemosForAI</span><span>() {</span></div></div><div><div><div>2275</div></div><div><span>    </span><span>let</span><span><span> </span><span>fetchUrl</span><span> </span></span><span>=</span><span> </span><span>`</span><span>${</span><span>this</span><span>.</span><span>nowLink</span><span>}</span><span>api/v1/memo?creatorId=</span><span>${</span><span>this</span><span>.</span><span>nowId</span><span>}</span><span>&amp;limit=100`</span></div></div><div><div><div>2276</div></div><div><span>    </span><span>let</span><span><span> </span><span>response</span><span> </span></span><span>=</span><span> </span><span>await</span><span> </span><span>fetch</span><span><span>(</span><span>fetchUrl</span><span>,{</span></span></div></div><div><div><div>2277</div></div><div><span>      </span><span>headers</span><span>:</span><span> {</span></div></div><div><div><div>2278</div></div><div><span>        </span><span>'Authorization'</span><span>:</span><span> </span><span>`Bearer </span><span>${</span><span>this</span><span>.</span><span>memosOpenId</span><span>}</span><span>`</span><span>,</span></div></div><div><div><div>2279</div></div><div><span>        </span><span>'Content-Type'</span><span>:</span><span> </span><span>'application/json'</span><span>,</span></div></div><div><div><div>2280</div></div><div><span>        </span><span>'Cache-Control'</span><span>:</span><span> </span><span>'no-cache'</span><span>,</span></div></div><div><div><div>2281</div></div><div><span><span>      </span></span><span>},</span></div></div><div><div><div>2282</div></div><div><span>      </span><span>cache</span><span>:</span><span> </span><span>'no-store'</span><span>,</span></div></div><div><div><div>2283</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>2284</div></div><div><span>    </span><span>if</span><span> (</span><span>!</span><span><span>response</span><span>.</span></span><span>ok</span><span>) {</span></div></div><div><div><div>2285</div></div><div><span>      </span><span>throw</span><span> </span><span>new</span><span> </span><span>Error</span><span>(</span><span>`Request failed oneDay`</span><span>);</span></div></div><div><div><div>2286</div></div><div><span><span>    </span></span><span>}</span></div></div><div><div><div>2287</div></div><div><span>    </span><span>let</span><span><span> </span><span>originalArray</span><span> </span></span><span>=</span><span> </span><span>await</span><span><span> </span><span>response</span><span>.</span></span><span>json</span><span>()</span></div></div><div><div><div>2288</div></div><div>
</div></div><div><div><div>2289</div></div><div><span>    </span><span>const</span><span> </span><span>filteredArray</span><span> </span><span>=</span><span><span> </span><span>originalArray</span><span>.</span></span><span>map</span><span><span>(</span><span>item</span><span> </span></span><span>=&gt;</span><span> {</span></div></div><div><div><div>2290</div></div><div><span>      </span><span>return</span><span> { </span><span>id</span><span>:</span><span><span> </span><span>item</span><span>.</span></span><span>id</span><span>, </span><span>content</span><span>:</span><span><span> </span><span>item</span><span>.</span></span><span>content</span><span> };</span></div></div><div><div><div>2291</div></div><div><span><span>    </span></span><span>});</span></div></div><div><div><div>2292</div></div><div>
</div></div><div><div><div>2293</div></div><div><span>    </span><span>return</span><span> </span><span>JSON</span><span>.</span><span>stringify</span><span><span>(</span><span>filteredArray</span><span>).</span></span><span>substring</span><span>(</span><span>0</span><span>, </span><span>30000</span><span>);</span></div></div><div><div><div>2294</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2295</div></div><div><span>}</span></div></div><div><div><div>2296</div></div><div>
</div></div><div><div><div>2297</div></div><div><span>class</span><span> </span><span>MemosElement</span><span> </span><span>extends</span><span> </span><span>HTMLElement</span><span> {</span></div></div><div><div><div>2298</div></div><div><span>  </span><span>connectedCallback</span><span>() {</span></div></div><div><div><div>2299</div></div><div><span><span>    </span></span><span>window</span><span>.</span><span>memosbbs</span><span> </span><span>=</span><span> </span><span>new</span><span> </span><span>MemosBbs</span><span>();</span></div></div><div><div><div>2300</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2301</div></div><div><span>  </span><span>disconnectedCallback</span><span>() {</span></div></div><div><div><div>2302</div></div><div><span>    </span><span>delete</span><span><span> </span><span>window</span><span>.</span></span><span>memosbbs</span><span>;</span></div></div><div><div><div>2303</div></div><div><span><span>  </span></span><span>}</span></div></div><div><div><div>2304</div></div><div><span>}</span></div></div><div><div><div>2305</div></div><div>
</div></div><div><div><div>2306</div></div><div><span>if</span><span><span> (</span><span>window</span><span>.</span></span><span>customElements</span><span> </span><span>&amp;&amp;</span><span> </span><span>!</span><span><span>window</span><span>.</span></span><span>customElements</span><span>.</span><span>get</span><span>(</span><span>'memos-bbs'</span><span>)) {</span></div></div><div><div><div>2307</div></div><div><span><span>  </span></span><span>window</span><span>.</span><span>MemosElement</span><span> </span><span>=</span><span><span> </span><span>MemosElement</span></span></div></div><div><div><div>2308</div></div><div><span><span>  </span></span><span>window</span><span>.</span><span>customElements</span><span>.</span><span>define</span><span>(</span><span>'memos-bbs'</span><span><span>, </span><span>MemosElement</span><span>)</span></span></div></div><div><div><div>2309</div></div><div><span>}</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div></section><section><h2>（二）在模板中注册JS文件<a href="#二在模板中注册js文件"><span>#</span></a></h2><p>打开<code>Solitude主题文件夹\scripts\event\cdn.js</code>，在里面找到<code>const internalSrc</code>部分，并在里面添加以下内容：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span><span>        </span></span><span>memos_js:{</span></div></div><div><div><div>2</div></div><div><span>            </span><span>name</span><span>: </span><span>'hexo-theme-solitude'</span><span>,</span></div></div><div><div><div>3</div></div><div><span>            </span><span>file</span><span>: </span><span>'js/memos.js'</span><span>,</span></div></div><div><div><div>4</div></div><div><span>            </span><span>version</span></div></div><div><div><div>5</div></div><div><span><span>        </span></span><span>},</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section></section>
<section><h1>三、增加模板<a href="#三增加模板"><span>#</span></a></h1><section><h2>（一）添加说说页面模板<a href="#一添加说说页面模板"><span>#</span></a></h2><p>在<code>Solitude主题文件夹\layout\includes\page</code>中添加<code>bb.pug</code>，在<code>bb.pug</code>中添加以下内容：</p><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>include ../widgets/page/banner</span></div></div><div><div><div>2</div></div><div><span>if theme.bb.enable</span></div></div><div><div><div>3</div></div><div><span><span>  </span></span><span>memos-bbs</span></div></div><div><div><div>4</div></div><div><span><span>    </span></span><span>link(rel="stylesheet" href="https://cdn.staticfile.org/animate.css/4.1.1/animate.min.css")</span></div></div><div><div><div>5</div></div><div><span><span>    </span></span><span>link(rel="stylesheet" href="https://memobbs.app/grid.css")</span></div></div><div><div><div>6</div></div><div><span><span>    </span></span><span>link(rel="stylesheet" href="https://memobbs.app/memos.css")</span></div></div><div><div><div>7</div></div><div><span><span>    </span></span><span>.user-now.card-item.flex-fill.mb-3.row</span></div></div><div><div><div>8</div></div><div><span><span>      </span></span><span>.call-memos-editor.item-avatar.p-3</span></div></div><div><div><div>9</div></div><div><span><span>        </span></span><span>img.user-now-avatar(src='data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' style='pointer-events: none;')</span></div></div><div><div><div>10</div></div><div><span><span>      </span></span><span>span.user-now-name</span></div></div><div><div><div>11</div></div><div><span><span>      </span></span><span>.row-fill</span></div></div><div><div><div>12</div></div><div><span><span>        </span></span><span>input.search-memos-input.border-b.input-text.py-2.animate__animated.animate__fadeIn.animate__fadeInRight.d-none(type='text' placeholder='想搜点啥？' id='')</span></div></div><div><div><div>13</div></div><div><span><span>        </span></span><span>span.search-memos-btn.button.d-md-flex.p-2.mr-2</span></div></div><div><div><div>14</div></div><div><span><span>          </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>15</div></div><div><span><span>            </span></span><span>g(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2')</span></div></div><div><div><div>16</div></div><div><span><span>              </span></span><span>circle(cx='11' cy='11' r='8')</span></div></div><div><div><div>17</div></div><div><span><span>              </span></span><span>path(d='m21 21l-4.3-4.3')</span></div></div><div><div><div>18</div></div><div><span><span>        </span></span><span>.user-button-span.row-fill</span></div></div><div><div><div>19</div></div><div><span><span>          </span></span><span>// span.memos-theme-toggle.button.d-md-flex.p-2.mr-2</span></div></div><div><div><div>20</div></div><div><span><span>            </span></span><span>// svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>21</div></div><div><span><span>              </span></span><span>// path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 8a2.83 2.83 0 0 0 4 4a4 4 0 1 1-4-4m0-6v2m0 16v2M4.9 4.9l1.4 1.4m11.4 11.4l1.4 1.4M2 12h2m16 0h2M6.3 17.7l-1.4 1.4M19.1 4.9l-1.4 1.4')</span></div></div><div><div><div>22</div></div><div><span><span>          </span></span><span>span.my-blog-feeds.button.d-md-flex.p-2.mr-2</span></div></div><div><div><div>23</div></div><div><span><span>            </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>24</div></div><div><span><span>              </span></span><span>g(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2')</span></div></div><div><div><div>25</div></div><div><span><span>                </span></span><span>path(d='M10 10v.2A3 3 0 0 1 8.9 16v0H5v0h0a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0m-3 6v6m6-3v3')</span></div></div><div><div><div>26</div></div><div><span><span>                </span></span><span>path(d='M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5')</span></div></div><div><div><div>27</div></div><div><span><span>          </span></span><span>span.userlist-memos.button.d-md-flex.p-2.mr-2</span></div></div><div><div><div>28</div></div><div><span><span>            </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>29</div></div><div><span><span>              </span></span><span>g(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2')</span></div></div><div><div><div>30</div></div><div><span><span>                </span></span><span>path(d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2')</span></div></div><div><div><div>31</div></div><div><span><span>                </span></span><span>circle(cx='9' cy='7' r='4')</span></div></div><div><div><div>32</div></div><div><span><span>                </span></span><span>path(d='M22 21v-2a4 4 0 0 0-3-3.87m-3-12a4 4 0 0 1 0 7.75')</span></div></div><div><div><div>33</div></div><div><span><span>          </span></span><span>span.randomuser-memos.button.d-md-flex.p-2.mr-2</span></div></div><div><div><div>34</div></div><div><span><span>            </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>35</div></div><div><span><span>              </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0m16 4v-2.38c0-2.12 1.03-3.12 1-5.62c-.03-2.72-1.49-6-4.5-6C14.63 6 14 7.8 14 9.5c0 3.11 2 5.66 2 8.68V20a2 2 0 1 0 4 0m-4-3h4M4 13h4')</span></div></div><div><div><div>36</div></div><div><span><span>          </span></span><span>span.gobbs-memos.button.d-md-flex.p-2.mr-2</span></div></div><div><div><div>37</div></div><div><span><span>            </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>38</div></div><div><span><span>              </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8.8 20v-4.1l1.9.2a2.3 2.3 0 0 0 2.164-2.1V8.3A5.37 5.37 0 0 0 2 8.25c0 2.8.656 3.054 1 4.55a5.77 5.77 0 0 1 .029 2.758L2 20m17.8-2.2a7.5 7.5 0 0 0 .003-10.603M17 15a3.5 3.5 0 0 0-.025-4.975')</span></div></div><div><div><div>39</div></div><div><span><span>          </span></span><span>span.gohome-memos.button.d-md-flex.p-2.mr-3</span></div></div><div><div><div>40</div></div><div><span><span>            </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>41</div></div><div><span><span>              </span></span><span>g(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2')</span></div></div><div><div><div>42</div></div><div><span><span>                </span></span><span>path(d='m3 9l9-7l9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z')</span></div></div><div><div><div>43</div></div><div><span><span>                </span></span><span>path(d='M9 22V12h6v10')</span></div></div><div><div><div>44</div></div><div>
</div></div><div><div><div>45</div></div><div><span><span>    </span></span><span>#memos</span></div></div><div><div><div>46</div></div><div><span><span>      </span></span><span>.memos-editor.animate__animated.animate__fadeIn.col-12.d-none</span></div></div><div><div><div>47</div></div><div><span><span>        </span></span><span>.memos-editor-body.mb-3.p-3</span></div></div><div><div><div>48</div></div><div><span><span>          </span></span><span>.memos-editor-inner.animate__animated.animate__fadeIn.d-none</span></div></div><div><div><div>49</div></div><div><span><span>            </span></span><span>.memos-editor-content</span></div></div><div><div><div>50</div></div><div><span><span>              </span></span><span>textarea.memos-editor-textarea.text-sm(rows='1' placeholder=' 任何想法...' style='padding: 1rem;')</span></div></div><div><div><div>51</div></div><div><span><span>            </span></span><span>.memos-image-list.d-flex.flex-fill.line-xl.flex-wrap</span></div></div><div><div><div>52</div></div><div><span><span>            </span></span><span>.memos-editor-tools.pt-1</span></div></div><div><div><div>53</div></div><div><span><span>              </span></span><span>.d-flex.flex-wrap</span></div></div><div><div><div>54</div></div><div><span><span>                </span></span><span>.button.outline.action-btn.biao-qing-btn.mr-2</span></div></div><div><div><div>55</div></div><div><span><span>                  </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.35rem' height='1.35rem' viewbox='0 0 24 24')</span></div></div><div><div><div>56</div></div><div><span><span>                    </span></span><span>g(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2')</span></div></div><div><div><div>57</div></div><div><span><span>                      </span></span><span>circle(cx='12' cy='12' r='10')</span></div></div><div><div><div>58</div></div><div><span><span>                      </span></span><span>path(d='M8 14s1.5 2 4 2s4-2 4-2M9 9h.01M15 9h.01')</span></div></div><div><div><div>59</div></div><div><span><span>                </span></span><span>.button.outline.action-btn.tag-btn.mr-2</span></div></div><div><div><div>60</div></div><div><span><span>                  </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.35rem' height='1.35rem' viewbox='0 0 24 24')</span></div></div><div><div><div>61</div></div><div><span><span>                    </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18')</span></div></div><div><div><div>62</div></div><div><span><span>                </span></span><span>.button.outline.action-btn.codeone-btn.mr-2</span></div></div><div><div><div>63</div></div><div><span><span>                  </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.35rem' height='1.35rem' viewbox='0 0 24 24')</span></div></div><div><div><div>64</div></div><div><span><span>                    </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m8 7l-5 5l5 5m8 0l5-5l-5-5')</span></div></div><div><div><div>65</div></div><div><span><span>                </span></span><span>.button.outline.action-btn.code-btn.mr-2</span></div></div><div><div><div>66</div></div><div><span><span>                  </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.35rem' height='1.35rem' viewbox='0 0 24 24')</span></div></div><div><div><div>67</div></div><div><span><span>                    </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m7 8l-4 4l4 4m10-8l4 4l-4 4M14 4l-4 16')</span></div></div><div><div><div>68</div></div><div><span><span>                </span></span><span>.button.outline.action-btn.mr-2.link-btn</span></div></div><div><div><div>69</div></div><div><span><span>                  </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.35rem' height='1.35rem' viewbox='0 0 24 24')</span></div></div><div><div><div>70</div></div><div><span><span>                    </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 17H7A5 5 0 0 1 7 7h2m6 0h2a5 5 0 1 1 0 10h-2m-7-5h8')</span></div></div><div><div><div>71</div></div><div><span><span>                </span></span><span>.button.outline.action-btn.mr-2.dropdown.aitop</span></div></div><div><div><div>72</div></div><div><span><span>                  </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.35rem' height='1.35rem' viewbox='0 0 24 24')</span></div></div><div><div><div>73</div></div><div><span><span>                    </span></span><span>g(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2')</span></div></div><div><div><div>74</div></div><div><span><span>                      </span></span><span>path(d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7m4 2h6m-3-3v6')</span></div></div><div><div><div>75</div></div><div><span><span>                      </span></span><span>circle(cx='9' cy='9' r='2')</span></div></div><div><div><div>76</div></div><div><span><span>                      </span></span><span>path(d='m21 15l-3.086-3.086a2 2 0 0 0-2.828 0L6 21')</span></div></div><div><div><div>77</div></div><div><span><span>                  </span></span><span>.dropdown-wrapper.d-none</span></div></div><div><div><div>78</div></div><div><span><span>                    </span></span><span>span.btn.linkpic-btn &amp;#x5916;&amp;#x94FE;</span></div></div><div><div><div>79</div></div><div><span><span>                    </span></span><span>span.btn.image-btn(onclick='this.nextElementSibling.click()') WebP+</span></div></div><div><div><div>80</div></div><div><span><span>                    </span></span><span>input.memos-upload-Webp-image-input.d-none(type='file' accept='image/*')</span></div></div><div><div><div>81</div></div><div><span><span>                    </span></span><span>span.btn.image-btn(onclick='this.nextElementSibling.click()') &amp;#x539F;&amp;#x56FE;+</span></div></div><div><div><div>82</div></div><div><span><span>                    </span></span><span>input.memos-upload-image-input.d-none(type='file' accept='image/*')</span></div></div><div><div><div>83</div></div><div><span><span>                </span></span><span>if theme.bb.geminiKey</span></div></div><div><div><div>84</div></div><div><span><span>                  </span></span><span>.button.outline.geminiai-btn.action-btn.mr-2.dropdown.aitop</span></div></div><div><div><div>85</div></div><div><span><span>                    </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>86</div></div><div><span><span>                      </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.64 3.64l-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72M14 7l3 3M5 6v4m14 4v4M10 2v2M7 8H3m18 8h-4M11 3H9')</span></div></div><div><div><div>87</div></div><div><span><span>                    </span></span><span>.dropdown-wrapper.d-none</span></div></div><div><div><div>88</div></div><div><span><span>                      </span></span><span>span.btn(onclick='geminiAI(this)') &amp;#x8BED;&amp;#x97F3;&amp;#x6DA6;&amp;#x8272;</span></div></div><div><div><div>89</div></div><div><span><span>                      </span></span><span>span.btn(onclick='geminiAI(this)') &amp;#x81EA;&amp;#x52A8;&amp;#x6807;&amp;#x7B7E;</span></div></div><div><div><div>90</div></div><div><span><span>                      </span></span><span>span.btn(onclick='geminiAI(this)') &amp;#x80B2;&amp;#x513F;&amp;#x5E2E;&amp;#x624B;</span></div></div><div><div><div>91</div></div><div><span><span>                      </span></span><span>span.btn(onclick='geminiAI(this)') &amp;#x667A;&amp;#x56CA;&amp;#x56E2;&amp;#x961F;</span></div></div><div><div><div>92</div></div><div><span><span>                      </span></span><span>span.btn(onclick='geminiAI(this)') &amp;#x667A;&amp;#x80FD;&amp;#x95EE;&amp;#x7B54;</span></div></div><div><div><div>93</div></div><div><span><span>                  </span></span><span>.button.outline.geminiai-load-btn.d-none.noclick.action-btn.mr-2</span></div></div><div><div><div>94</div></div><div><span><span>                    </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>95</div></div><div><span><span>                      </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12a9 9 0 1 1-6.219-8.56')</span></div></div><div><div><div>96</div></div><div>
</div></div><div><div><div>97</div></div><div><span><span>                </span></span><span>if theme.bb.cfwkAiUrl</span></div></div><div><div><div>98</div></div><div><span><span>                  </span></span><span>.button.outline.action-btn.mr-2.cfworkerai-btn</span></div></div><div><div><div>99</div></div><div><span><span>                    </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>100</div></div><div><span><span>                      </span></span><span>g(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2')</span></div></div><div><div><div>101</div></div><div><span><span>                        </span></span><span>path(d='M12 8V4H8')</span></div></div><div><div><div>102</div></div><div><span><span>                        </span></span><span>rect(width='16' height='12' x='4' y='8' rx='2')</span></div></div><div><div><div>103</div></div><div><span><span>                        </span></span><span>path(d='M2 14h2m16 0h2m-7-1v2m-6-2v2')</span></div></div><div><div><div>104</div></div><div><span><span>                  </span></span><span>.button.outline.action-btn.mr-2.cfworkerai-load-btn.d-none.noclick</span></div></div><div><div><div>105</div></div><div><span><span>                    </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.15rem' height='1.15rem' viewbox='0 0 24 24')</span></div></div><div><div><div>106</div></div><div><span><span>                      </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12a9 9 0 1 1-6.219-8.56')</span></div></div><div><div><div>107</div></div><div>
</div></div><div><div><div>108</div></div><div><span><span>              </span></span><span>.d-flex.flex-fill</span></div></div><div><div><div>109</div></div><div><span><span>                </span></span><span>.memos-tag-list.d-none.mt-2.animate__animated.animate__fadeIn</span></div></div><div><div><div>110</div></div><div><span><span>            </span></span><span>.memos-editor-footer.border-t.mt-2.pt-2.flex-wrap</span></div></div><div><div><div>111</div></div><div><span><span>              </span></span><span>.d-flex</span></div></div><div><div><div>112</div></div><div><span><span>                </span></span><span>.button.outline.switchUser-btn.mr-2.p-2</span></div></div><div><div><div>113</div></div><div><span><span>                  </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='.9rem' height='.9rem' viewbox='0 0 24 24')</span></div></div><div><div><div>114</div></div><div><span><span>                    </span></span><span>g(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2')</span></div></div><div><div><div>115</div></div><div><span><span>                      </span></span><span>path(d='M20 7h-9m3 10H5')</span></div></div><div><div><div>116</div></div><div><span><span>                      </span></span><span>circle(cx='17' cy='17' r='3')</span></div></div><div><div><div>117</div></div><div><span><span>                      </span></span><span>circle(cx='7' cy='7' r='3')</span></div></div><div><div><div>118</div></div><div><span><span>                </span></span><span>.button.outline.private-btn.mr-2.p-2</span></div></div><div><div><div>119</div></div><div><span><span>                  </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='.9rem' height='.9rem' viewbox='0 0 24 24')</span></div></div><div><div><div>120</div></div><div><span><span>                    </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 10h.01M15 10h.01M12 2a8 8 0 0 0-8 8v12l3-3l2.5 2.5L12 19l2.5 2.5L17 19l3 3V10a8 8 0 0 0-8-8')</span></div></div><div><div><div>121</div></div><div><span><span>                </span></span><span>.button.outline.random-btn.mr-2.p-2</span></div></div><div><div><div>122</div></div><div><span><span>                  </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='.9rem' height='.9rem' viewbox='0 0 24 24')</span></div></div><div><div><div>123</div></div><div><span><span>                    </span></span><span>g(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2')</span></div></div><div><div><div>124</div></div><div><span><span>                      </span></span><span>path(d='M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22')</span></div></div><div><div><div>125</div></div><div><span><span>                      </span></span><span>path(d='m18 2l4 4l-4 4M2 6h1.9c1.5 0 2.9.9 3.6 2.2M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8')</span></div></div><div><div><div>126</div></div><div><span><span>                      </span></span><span>path(d='m18 14l4 4l-4 4')</span></div></div><div><div><div>127</div></div><div><span><span>                </span></span><span>.button.outline.oneday-btn.d-none.p-2</span></div></div><div><div><div>128</div></div><div><span><span>                  </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='.9rem' height='.9rem' viewbox='0 0 24 24')</span></div></div><div><div><div>129</div></div><div><span><span>                    </span></span><span>g(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2')</span></div></div><div><div><div>130</div></div><div><span><span>                      </span></span><span>rect(width='18' height='18' x='3' y='4' rx='2' ry='2')</span></div></div><div><div><div>131</div></div><div><span><span>                      </span></span><span>path(d='M16 2v4M8 2v4m-5 4h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01M16 18h.01')</span></div></div><div><div><div>132</div></div><div><span><span>              </span></span><span>.editor-submit.d-flex.flex-fill.justify-content-end</span></div></div><div><div><div>133</div></div><div><span><span>                </span></span><span>.editor-selector.select.outline.mr-5</span></div></div><div><div><div>134</div></div><div><span><span>                  </span></span><span>select.select-memos-value.pl-2.pr-4.py-2</span></div></div><div><div><div>135</div></div><div><span><span>                    </span></span><span>option(value='PUBLIC') &amp;#x516C;&amp;#x5F00;</span></div></div><div><div><div>136</div></div><div><span><span>                    </span></span><span>option(value='PRIVATE') &amp;#x79C1;&amp;#x6709;</span></div></div><div><div><div>137</div></div><div><span><span>                </span></span><span>.edit-memos.d-none</span></div></div><div><div><div>138</div></div><div><span><span>                  </span></span><span>button.outline.cancel-edit-btn.mr-2.px-2.py-2(title='取消') &amp;#x53D6;&amp;#x6D88;</span></div></div><div><div><div>139</div></div><div><span><span>                  </span></span><span>button.primary.edit-memos-btn.px-5.py-2(title='保存') &amp;#x4FDD;&amp;#x5B58;</span></div></div><div><div><div>140</div></div><div><span><span>                </span></span><span>button.primary.submit-memos-btn.px-5.py-2(title='发布') &amp;#x53D1;&amp;#x5E03;</span></div></div><div><div><div>141</div></div><div><span><span>          </span></span><span>.memos-editor-option.animate__animated.animate__fadeIn.d-none</span></div></div><div><div><div>142</div></div><div><span><span>            </span></span><span>.reg-editor.row.flex-fill.mr-3.p-2</span></div></div><div><div><div>143</div></div><div><span><span>              </span></span><span>input.memos-path-input.border-b.input-text.col-6.py-2(name='memos-path-url' type='text' value='' placeholder='Memo 网址')</span></div></div><div><div><div>144</div></div><div><span><span>              </span></span><span>input.memos-token-input.border-b.input-text.col-6.py-2(name='memos-token-url' type='text' value='' placeholder='Access Tokens')</span></div></div><div><div><div>145</div></div><div><span><span>              </span></span><span>input.memos-artalk-input.border-b.input-text.col-6.py-2(name='artalk-url' type='text' value='' placeholder='[可选] Artalk 评论网址')</span></div></div><div><div><div>146</div></div><div><span><span>              </span></span><span>input.memos-artalksite-input.border-b.input-text.col-6.py-2(name='artalk-site-name' type='text' value='' placeholder='[可选] Artalk 站点名称')</span></div></div><div><div><div>147</div></div><div><span><span>              </span></span><span>input.memos-twikoo-input.border-b.input-text.col-6.py-2(name='twikoo-path-url' type='text' value='' placeholder='[可选] Twikoo 评论网址')</span></div></div><div><div><div>148</div></div><div><span><span>              </span></span><span>input.cfwkai-url-input.border-b.input-text.col-6.py-2(name='cfwkai-url' type='text' value='' placeholder='[可选] Cloudflare AI 网址')</span></div></div><div><div><div>149</div></div><div><span><span>              </span></span><span>input.gemini-key-input.border-b.input-text.col-6.py-2(name='gemini-key' type='text' value='' placeholder='[可选] Gemini Pro Key')</span></div></div><div><div><div>150</div></div><div><span><span>              </span></span><span>input.filter-name-input.border-b.input-text.col-6.py-2(name='filter-name' type='text' value='' placeholder='[可选] 广场过滤名单（ , 分隔多个）')</span></div></div><div><div><div>151</div></div><div><span><span>            </span></span><span>.editor-btn-wrap.row.flex-fill</span></div></div><div><div><div>152</div></div><div><span><span>              </span></span><span>button.primary.backto-editer-btn.px-5.py-2 &amp;#x8FD4;&amp;#x56DE;</span></div></div><div><div><div>153</div></div><div><span><span>              </span></span><span>button.primary.submit-openapi-btn.px-5.py-2 &amp;#x4FDD;&amp;#x5B58;</span></div></div><div><div><div>154</div></div><div><span><span>        </span></span><span>.memos-random.d-none</span></div></div><div><div><div>155</div></div><div><span><span>    </span></span><span>.backtop.d-none</span></div></div><div><div><div>156</div></div><div><span><span>      </span></span><span>svg(xmlns='http://www.w3.org/2000/svg' width='1.25rem' height='1.25rem' viewbox='0 0 24 24')</span></div></div><div><div><div>157</div></div><div><span><span>        </span></span><span>path(fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m18 15l-6-6l-6 6')</span></div></div><div><div><div>158</div></div><div>
</div></div><div><div><div>159</div></div><div><span><span>    </span></span><span>#memo-list</span></div></div><div><div><div>160</div></div><div>
</div></div><div><div><div>161</div></div><div><span><span>    </span></span><span>button.col-12.load-btn.button-load.d-none.flex-fill.mb-3.p-3.animate__animated.animate__fadeIn &amp;#x52A0;&amp;#x8F7D;&amp;#x66F4;&amp;#x591A;</span></div></div><div><div><div>162</div></div><div>
</div></div><div><div><div>163</div></div><div><span><span>    </span></span><span>script(src="https://cdn.staticfile.net/marked/14.1.0/marked.min.js")</span></div></div><div><div><div>164</div></div><div><span><span>    </span></span><span>script(src="https://cdn.staticfile.org/lozad.js/1.16.0/lozad.min.js")</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div></section><section><h2>（二）修改主题相关模板<a href="#二修改主题相关模板"><span>#</span></a></h2><p>打开<code>Solitude主题文件夹\layout\includes\inject\body.pug</code>，在里面找到<code>script(src=url_for(theme.cdn.pjax))</code>部分，并在里面添加以下内容：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span><span>  </span></span><span>if theme.bb.enable</span></div></div><div><div><div>2</div></div><div><span><span>    </span></span><span>script(src=url_for(theme.cdn.memos_js))</span></div></div></code></pre><div><div></div><div></div></div></figure></div></section><section><h2>（三）添加样式<a href="#三添加样式"><span>#</span></a></h2><p>打开<code>Solitude主题文件夹\source\css\_layout</code>，新建<code>bb.styl</code>，并在里面添加以下内容：</p><div><div><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>if hexo-config('bb.enable')</span></div></div><div><div><div>2</div></div><div><span><span>  </span></span><span>html[data-theme=dark]</span></div></div><div><div><div>3</div></div><div><span><span>    </span></span><span>.el-skeleton</span></div></div><div><div><div>4</div></div><div><span><span>      </span></span><span>animation: skeleton-loading-dark 1.5s linear infinite;</span></div></div><div><div><div>5</div></div><div><span><span>      </span></span><span>background-image: unset !important;</span></div></div><div><div><div>6</div></div><div>
</div></div><div><div><div>7</div></div><div><span><span>  </span></span><span>html[data-theme=light]</span></div></div><div><div><div>8</div></div><div><span><span>    </span></span><span>.el-skeleton</span></div></div><div><div><div>9</div></div><div><span><span>      </span></span><span>animation: skeleton-loading-light 1.5s linear infinite;</span></div></div><div><div><div>10</div></div><div><span><span>      </span></span><span>background-image: unset !important;</span></div></div><div><div><div>11</div></div><div>
</div></div><div><div><div>12</div></div><div><span><span>  </span></span><span>memos-bbs</span></div></div><div><div><div>13</div></div><div><span><span>    </span></span><span>display block</span></div></div><div><div><div>14</div></div><div><span><span>    </span></span><span>margin: 1rem auto;</span></div></div><div><div><div>15</div></div><div><span><span>    </span></span><span>.backtop</span></div></div><div><div><div>16</div></div><div><span><span>      </span></span><span>z-index 9 !important</span></div></div><div><div><div>17</div></div><div><span><span>      </span></span><span>&amp;:hover</span></div></div><div><div><div>18</div></div><div><span><span>        </span></span><span>background-color: var(--efu-lighttext) !important</span></div></div><div><div><div>19</div></div><div><span><span>    </span></span><span>.user-now, .memos-editor-body, .card-item, .editor-selector</span></div></div><div><div><div>20</div></div><div><span><span>      </span></span><span>background-color: var(--efu-card-bg) !important</span></div></div><div><div><div>21</div></div><div><span><span>      </span></span><span>border: var(--style-border-always) !important;</span></div></div><div><div><div>22</div></div><div><span><span>      </span></span><span>transition: all 0.3s ease 0s !important;</span></div></div><div><div><div>23</div></div><div><span><span>      </span></span><span>&amp;:hover</span></div></div><div><div><div>24</div></div><div><span><span>        </span></span><span>border: var(--style-border-hover) !important;</span></div></div><div><div><div>25</div></div><div><span><span>    </span></span><span>.user-now</span></div></div><div><div><div>26</div></div><div><span><span>      </span></span><span>.user-info</span></div></div><div><div><div>27</div></div><div><span><span>        </span></span><span>display: flex;</span></div></div><div><div><div>28</div></div><div><span><span>    </span></span><span>.user-now.row</span></div></div><div><div><div>29</div></div><div><span><span>      </span></span><span>justify-content: space-between;</span></div></div><div><div><div>30</div></div><div><span><span>      </span></span><span>.row-fill</span></div></div><div><div><div>31</div></div><div><span><span>        </span></span><span>margin-left: 0 !important;</span></div></div><div><div><div>32</div></div><div><span><span>        </span></span><span>margin-right: 1rem !important</span></div></div><div><div><div>33</div></div><div><span><span>        </span></span><span>.user-button-span</span></div></div><div><div><div>34</div></div><div><span><span>          </span></span><span>margin-right: 0 !important</span></div></div><div><div><div>35</div></div><div><span><span>          </span></span><span>.button</span></div></div><div><div><div>36</div></div><div><span><span>            </span></span><span>margin-right 0 !important</span></div></div><div><div><div>37</div></div><div><span><span>            </span></span><span>@media (max-width: 768px)</span></div></div><div><div><div>38</div></div><div><span><span>              </span></span><span>padding: .3rem !important</span></div></div><div><div><div>39</div></div><div><span><span>        </span></span><span>.gohome-memos</span></div></div><div><div><div>40</div></div><div><span><span>          </span></span><span>@media (max-width: 768px)</span></div></div><div><div><div>41</div></div><div><span><span>            </span></span><span>margin-right: 0 !important</span></div></div><div><div><div>42</div></div><div><span><span>    </span></span><span>.userlist</span></div></div><div><div><div>43</div></div><div><span><span>      </span></span><span>align-items: center</span></div></div><div><div><div>44</div></div><div><span><span>      </span></span><span>.item-avatar</span></div></div><div><div><div>45</div></div><div><span><span>        </span></span><span>border: var(--style-border);</span></div></div><div><div><div>46</div></div><div><span><span>    </span></span><span>.button</span></div></div><div><div><div>47</div></div><div><span><span>      </span></span><span>border: var(--style-border-always) !important;</span></div></div><div><div><div>48</div></div><div><span><span>      </span></span><span>&amp;:hover</span></div></div><div><div><div>49</div></div><div><span><span>        </span></span><span>background: var(--efu-lighttext) !important</span></div></div><div><div><div>50</div></div><div><span><span>        </span></span><span>color var(--efu-card-bg) !important</span></div></div><div><div><div>51</div></div><div><span><span>    </span></span><span>.search-memos-btn, .memos-theme-toggle, .my-blog-feeds, .userlist-memos, .randomuser-memos, .gobbs-memos, .gohome-memos</span></div></div><div><div><div>52</div></div><div><span><span>      </span></span><span>border unset !important;</span></div></div><div><div><div>53</div></div><div><span><span>      </span></span><span>&amp;:hover</span></div></div><div><div><div>54</div></div><div><span><span>        </span></span><span>background-color: transparent !important;</span></div></div><div><div><div>55</div></div><div><span><span>        </span></span><span>color: var(--efu-lighttext) !important;</span></div></div><div><div><div>56</div></div><div><span><span>      </span></span><span>&amp;.current</span></div></div><div><div><div>57</div></div><div><span><span>        </span></span><span>color: var(--efu-lighttext) !important;</span></div></div><div><div><div>58</div></div><div><span><span>    </span></span><span>.border-t</span></div></div><div><div><div>59</div></div><div><span><span>      </span></span><span>border-top var(--style-border-always) !important</span></div></div><div><div><div>60</div></div><div><span><span>    </span></span><span>.item-mate</span></div></div><div><div><div>61</div></div><div><span><span>      </span></span><span>color: #999999 !important;</span></div></div><div><div><div>62</div></div><div><span><span>    </span></span><span>.item-tag</span></div></div><div><div><div>63</div></div><div><span><span>      </span></span><span>background-color: var(--efu-secondbg) !important;</span></div></div><div><div><div>64</div></div><div><span><span>    </span></span><span>button.primary</span></div></div><div><div><div>65</div></div><div><span><span>      </span></span><span>background-color: var(--efu-lighttext) !important;</span></div></div><div><div><div>66</div></div><div><span><span>      </span></span><span>color: var(--efu-card-bg) !important;</span></div></div><div><div><div>67</div></div><div><span><span>      </span></span><span>&amp;:hover</span></div></div><div><div><div>68</div></div><div><span><span>        </span></span><span>box-shadow: 0px 5px 20px -3px var(--efu-lighttext) !important;</span></div></div><div><div><div>69</div></div><div><span><span>    </span></span><span>button.outline</span></div></div><div><div><div>70</div></div><div><span><span>      </span></span><span>border: var(--style-border-always) !important;</span></div></div><div><div><div>71</div></div><div><span><span>      </span></span><span>&amp;:hover</span></div></div><div><div><div>72</div></div><div><span><span>        </span></span><span>background-color: var(--efu-secondbg) !important;</span></div></div><div><div><div>73</div></div><div><span><span>    </span></span><span>textarea</span></div></div><div><div><div>74</div></div><div><span><span>      </span></span><span>background-color var(--efu-secondbg) !important;</span></div></div><div><div><div>75</div></div><div><span><span>      </span></span><span>border-radius: 6.6px</span></div></div><div><div><div>76</div></div><div><span><span>    </span></span><span>.item-comment</span></div></div><div><div><div>77</div></div><div><span><span>      </span></span><span>background-color var(--efu-secondbg) !important;</span></div></div><div><div><div>78</div></div><div><span><span>    </span></span><span>.dropdown-wrapper, select&gt;option</span></div></div><div><div><div>79</div></div><div><span><span>      </span></span><span>background-color var(--efu-secondbg) !important;</span></div></div><div><div><div>80</div></div><div><span><span>    </span></span><span>.select::after</span></div></div><div><div><div>81</div></div><div><span><span>      </span></span><span>border-color var(--efu-fontcolor) transparent transparent transparent !important;</span></div></div><div><div><div>82</div></div><div><span><span>    </span></span><span>.dropdown-wrapper&gt;.btn</span></div></div><div><div><div>83</div></div><div><span><span>      </span></span><span>color: var(--efu-fontcolor);</span></div></div><div><div><div>84</div></div><div><span><span>    </span></span><span>.editor-submit</span></div></div><div><div><div>85</div></div><div><span><span>      </span></span><span>@media (max-width: 768px)</span></div></div><div><div><div>86</div></div><div><span><span>        </span></span><span>justify-content: flex-start !important;</span></div></div><div><div><div>87</div></div><div><span><span>        </span></span><span>margin-top: .5rem;</span></div></div><div><div><div>88</div></div><div><span><span>    </span></span><span>code</span></div></div><div><div><div>89</div></div><div><span><span>      </span></span><span>background-color: transparent !important;</span></div></div><div><div><div>90</div></div><div><span><span>    </span></span><span>.db-card</span></div></div><div><div><div>91</div></div><div><span><span>      </span></span><span>margin: 0;</span></div></div><div><div><div>92</div></div><div><span><span>      </span></span><span>height: 7rem;</span></div></div><div><div><div>93</div></div><div><span><span>      </span></span><span>.db-card-subject</span></div></div><div><div><div>94</div></div><div><span><span>        </span></span><span>border var(--style-border)</span></div></div><div><div><div>95</div></div><div><span><span>        </span></span><span>border-radius: 6.6px</span></div></div><div><div><div>96</div></div><div><span><span>        </span></span><span>height: 100%;</span></div></div><div><div><div>97</div></div><div><span><span>        </span></span><span>.db-card-post</span></div></div><div><div><div>98</div></div><div><span><span>          </span></span><span>height: 100%;</span></div></div><div><div><div>99</div></div><div><span><span>          </span></span><span>width unset !important</span></div></div><div><div><div>100</div></div><div><span><span>          </span></span><span>img</span></div></div><div><div><div>101</div></div><div><span><span>            </span></span><span>width: unset !important</span></div></div><div><div><div>102</div></div><div><span><span>            </span></span><span>height 100% !important</span></div></div><div><div><div>103</div></div><div><span><span>            </span></span><span>object-fit: contain !important</span></div></div><div><div><div>104</div></div><div><span><span>      </span></span><span>.db-card-cate</span></div></div><div><div><div>105</div></div><div><span><span>        </span></span><span>border-top-right-radius: 6.6px</span></div></div><div><div><div>106</div></div><div><span><span>    </span></span><span>#memo-list a.primary</span></div></div><div><div><div>107</div></div><div><span><span>      </span></span><span>color: var(--efu-lighttext) !important;</span></div></div><div><div><div>108</div></div><div><span><span>    </span></span><span>.video-wrapper</span></div></div><div><div><div>109</div></div><div><span><span>      </span></span><span>width 0</span></div></div><div><div><div>110</div></div><div><span><span>      </span></span><span>position: relative;</span></div></div><div><div><div>111</div></div><div><span><span>      </span></span><span>padding: 14.0625% 25%;</span></div></div><div><div><div>112</div></div><div><span><span>      </span></span><span>margin: 0.5rem 0px;</span></div></div><div><div><div>113</div></div><div><span><span>      </span></span><span>+maxWidth768()</span></div></div><div><div><div>114</div></div><div><span><span>        </span></span><span>padding 30% 50%</span></div></div><div><div><div>115</div></div><div><span><span>      </span></span><span>iframe</span></div></div><div><div><div>116</div></div><div><span><span>        </span></span><span>position: absolute;</span></div></div><div><div><div>117</div></div><div><span><span>        </span></span><span>width: 100%;</span></div></div><div><div><div>118</div></div><div><span><span>        </span></span><span>height: 100%;</span></div></div><div><div><div>119</div></div><div><span><span>        </span></span><span>left: 0px;</span></div></div><div><div><div>120</div></div><div><span><span>        </span></span><span>top: 0px;</span></div></div><div><div><div>121</div></div><div><span><span>        </span></span><span>margin: 0px;</span></div></div><div><div><div>122</div></div><div><span><span>        </span></span><span>border-radius: 8px;</span></div></div><div><div><div>123</div></div><div><span><span>        </span></span><span>border: var(--style-border);</span></div></div><div><div><div>124</div></div><div><span><span>    </span></span><span>.myfeeds-xml.current, .myfeeds-xml:hover</span></div></div><div><div><div>125</div></div><div><span><span>      </span></span><span>color var(--efu-lighttext) !important</span></div></div><div><div><div>126</div></div><div><span><span>    </span></span><span>.myfeeds-floor</span></div></div><div><div><div>127</div></div><div><span><span>      </span></span><span>color var(--efu-secondbg)</span></div></div><div><div><div>128</div></div><div><span><span>      </span></span><span>top: 12px !important;</span></div></div><div><div><div>129</div></div><div><span><span>    </span></span><span>.item-creator</span></div></div><div><div><div>130</div></div><div><span><span>      </span></span><span>z-index 5</span></div></div><div><div><div>131</div></div><div><span><span>    </span></span><span>.memos-editor-option&gt;.editor-btn-wrap</span></div></div><div><div><div>132</div></div><div><span><span>      </span></span><span>@media (max-width: 768px)</span></div></div><div><div><div>133</div></div><div><span><span>        </span></span><span>flex-direction: row</span></div></div><div><div><div>134</div></div><div><span><span>        </span></span><span>justify-content: space-around;</span></div></div><div><div><div>135</div></div><div><span><span>      </span></span><span>button</span></div></div><div><div><div>136</div></div><div><span><span>        </span></span><span>margin: 5px 0 !important;</span></div></div><div><div><div>137</div></div><div>
</div></div><div><div><div>138</div></div><div><span><span>    </span></span><span>@media (max-width: 768px)</span></div></div><div><div><div>139</div></div><div><span><span>      </span></span><span>.user-now</span></div></div><div><div><div>140</div></div><div><span><span>        </span></span><span>flex-wrap: nowrap</span></div></div><div><div><div>141</div></div><div><span><span>      </span></span><span>.memos-editor-option</span></div></div><div><div><div>142</div></div><div><span><span>        </span></span><span>flex-direction: column</span></div></div><div><div><div>143</div></div><div><span><span>        </span></span><span>.reg-editor</span></div></div><div><div><div>144</div></div><div><span><span>          </span></span><span>flex-direction: column;</span></div></div><div><div><div>145</div></div><div><span><span>          </span></span><span>flex-wrap: nowrap;</span></div></div><div><div><div>146</div></div><div><span><span>          </span></span><span>margin 0 !important</span></div></div><div><div><div>147</div></div><div><span><span>          </span></span><span>input</span></div></div><div><div><div>148</div></div><div><span><span>            </span></span><span>height: 1rem</span></div></div><div><div><div>149</div></div><div><span><span>            </span></span><span>flex: 0 0 content;</span></div></div><div><div><div>150</div></div><div><span><span>            </span></span><span>max-width: unset;</span></div></div><div><div><div>151</div></div><div><span><span>            </span></span><span>width 100%</span></div></div><div><div><div>152</div></div><div><span><span>      </span></span><span>.myfeeds-option</span></div></div><div><div><div>153</div></div><div><span><span>        </span></span><span>flex-wrap: nowrap</span></div></div><div><div><div>154</div></div><div><span><span>        </span></span><span>justify-content: space-between;</span></div></div><div><div><div>155</div></div><div><span><span>        </span></span><span>.myfeeds-xml</span></div></div><div><div><div>156</div></div><div><span><span>          </span></span><span>margin 0 !important</span></div></div><div><div><div>157</div></div><div>
</div></div><div><div><div>158</div></div><div><span><span>    </span></span><span>.bber-music</span></div></div><div><div><div>159</div></div><div><span><span>      </span></span><span>display flex</span></div></div><div><div><div>160</div></div><div><span><span>      </span></span><span>justify-content space-between</span></div></div><div><div><div>161</div></div><div><span><span>      </span></span><span>align-items center</span></div></div><div><div><div>162</div></div><div><span><span>      </span></span><span>width 100%</span></div></div><div><div><div>163</div></div><div><span><span>      </span></span><span>height 90px</span></div></div><div><div><div>164</div></div><div><span><span>      </span></span><span>margin .5rem 0</span></div></div><div><div><div>165</div></div><div><span><span>      </span></span><span>border-radius 8px</span></div></div><div><div><div>166</div></div><div><span><span>      </span></span><span>overflow hidden</span></div></div><div><div><div>167</div></div><div><span><span>      </span></span><span>border var(--style-border-always)</span></div></div><div><div><div>168</div></div><div><span><span>      </span></span><span>background var(--efu-secondbg)</span></div></div><div><div><div>169</div></div><div><span><span>      </span></span><span>cursor pointer</span></div></div><div><div><div>170</div></div><div><span><span>      </span></span><span>user-select none</span></div></div><div><div><div>171</div></div><div><span><span>      </span></span><span>&amp;&gt;svg</span></div></div><div><div><div>172</div></div><div><span><span>        </span></span><span>width 30px</span></div></div><div><div><div>173</div></div><div><span><span>        </span></span><span>height 30px</span></div></div><div><div><div>174</div></div><div><span><span>        </span></span><span>fill var(--efu-fontcolor)</span></div></div><div><div><div>175</div></div><div><span><span>        </span></span><span>opacity 0.3</span></div></div><div><div><div>176</div></div><div><span><span>        </span></span><span>margin-right 10px</span></div></div><div><div><div>177</div></div><div><span><span>        </span></span><span>flex-shrink 0</span></div></div><div><div><div>178</div></div><div><span><span>      </span></span><span>.bber-music-wrap</span></div></div><div><div><div>179</div></div><div><span><span>        </span></span><span>display flex</span></div></div><div><div><div>180</div></div><div><span><span>        </span></span><span>align-items center</span></div></div><div><div><div>181</div></div><div><span><span>        </span></span><span>.bber-music-pic</span></div></div><div><div><div>182</div></div><div><span><span>          </span></span><span>height: 80px;</span></div></div><div><div><div>183</div></div><div><span><span>          </span></span><span>width: 80px;</span></div></div><div><div><div>184</div></div><div><span><span>          </span></span><span>background-size: contain !important;</span></div></div><div><div><div>185</div></div><div><span><span>          </span></span><span>border: var(--style-border-always);</span></div></div><div><div><div>186</div></div><div><span><span>          </span></span><span>border-radius: 8px;</span></div></div><div><div><div>187</div></div><div><span><span>          </span></span><span>margin-left: 10px;</span></div></div><div><div><div>188</div></div><div><span><span>          </span></span><span>flex-shrink: 0;</span></div></div><div><div><div>189</div></div><div>
</div></div><div><div><div>190</div></div><div><span><span>        </span></span><span>.bber-music-info</span></div></div><div><div><div>191</div></div><div><span><span>          </span></span><span>display flex</span></div></div><div><div><div>192</div></div><div><span><span>          </span></span><span>flex-direction: column;</span></div></div><div><div><div>193</div></div><div><span><span>          </span></span><span>margin-left: 10px;</span></div></div><div><div><div>194</div></div><div><span><span>          </span></span><span>align-items: center;</span></div></div><div><div><div>195</div></div><div>
</div></div><div><div><div>196</div></div><div><span><span>          </span></span><span>.bber-music-title,.bber-music-artist</span></div></div><div><div><div>197</div></div><div><span><span>            </span></span><span>text-align: left;</span></div></div><div><div><div>198</div></div><div><span><span>            </span></span><span>width: 100%;</span></div></div><div><div><div>199</div></div><div><span><span>          </span></span><span>.bber-music-title</span></div></div><div><div><div>200</div></div><div><span><span>            </span></span><span>font-size: 0.8rem;</span></div></div><div><div><div>201</div></div><div><span><span>            </span></span><span>line-height: 1.6rem;</span></div></div><div><div><div>202</div></div><div><span><span>          </span></span><span>.bber-music-artist</span></div></div><div><div><div>203</div></div><div><span><span>            </span></span><span>font-size: 0.6rem;</span></div></div><div><div><div>204</div></div><div><span><span>            </span></span><span>line-height: 0.8rem;</span></div></div><div><div><div>205</div></div><div>
</div></div><div><div><div>206</div></div><div><span>@keyframes skeleton-loading-dark</span></div></div><div><div><div>207</div></div><div><span><span>  </span></span><span>0%</span></div></div><div><div><div>208</div></div><div><span><span>    </span></span><span>background-color #30343f</span></div></div><div><div><div>209</div></div><div><span><span>  </span></span><span>50%</span></div></div><div><div><div>210</div></div><div><span><span>    </span></span><span>background-color #30343f80</span></div></div><div><div><div>211</div></div><div><span><span>  </span></span><span>100%</span></div></div><div><div><div>212</div></div><div><span><span>    </span></span><span>background-color #30343f</span></div></div><div><div><div>213</div></div><div>
</div></div><div><div><div>214</div></div><div><span>@keyframes skeleton-loading-light</span></div></div><div><div><div>215</div></div><div><span><span>  </span></span><span>0%</span></div></div><div><div><div>216</div></div><div><span><span>    </span></span><span>background-color #e3e3e6</span></div></div><div><div><div>217</div></div><div><span><span>  </span></span><span>50%</span></div></div><div><div><div>218</div></div><div><span><span>    </span></span><span>background-color #e3e3e680</span></div></div><div><div><div>219</div></div><div><span><span>  </span></span><span>100%</span></div></div><div><div><div>220</div></div><div><span><span>    </span></span><span>background-color #e3e3e6</span></div></div></code></pre><div><div></div><div></div></div></figure><div></div></div><span>展开</span><span>收起</span></div></div></section></section>
<section><h1>四、添加相关页面<a href="#四添加相关页面"><span>#</span></a></h1><p>在博客主文件夹中打开终端，输入<code>hexo new page bb</code>，然后在<code>博客主文件夹\source\bb</code>中打开index.md，输入以下内容：</p><div><figure><figcaption></figcaption><pre><code><div><div><div>1</div></div><div><span>---</span></div></div><div><div><div>2</div></div><div><span>title</span><span>: </span><span>说说</span></div></div><div><div><div>3</div></div><div><span>date</span><span>: </span><span>2024-08-24 16:18:46</span></div></div><div><div><div>4</div></div><div><span>cover</span><span>: </span><span>'https://cn.bing.com/th?id=OHR.BridgeNorway_ZH-CN9063814637_1920x1080.jpg'</span></div></div><div><div><div>5</div></div><div><span>desc</span><span>: </span><span>基于 Memos 与哔哔广场</span></div></div><div><div><div>6</div></div><div><span>type</span><span>: </span><span>bb</span></div></div><div><div><div>7</div></div><div><span>leftend</span><span>: </span><span>'支离破碎的'</span></div></div><div><div><div>8</div></div><div><span>rightend</span><span>: </span><span>'思考·发言'</span></div></div><div><div><div>9</div></div><div><span>comment</span><span>: </span><span>false</span></div></div><div><div><div>10</div></div><div><span>---</span></div></div></code></pre><div><div></div><div></div></div></figure></div><p>然后访问<code>博客网址/bb</code>，大功告成😊</p></section>]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/d-bood-com%E5%B0%86%E5%BA%9F%E5%BC%83/</id>
      <title type="text">ℹ️重要：blog.d-bood.com将被废弃</title>
      <published>2023-09-27T07:22:19.000Z</published>
      <updated>2023-09-27T07:22:19.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/d-bood-com%E5%B0%86%E5%BA%9F%E5%BC%83/"/>
      <summary type="text">ℹ️重要：blog.d-bood.com将被废弃</summary>
      <content type="html"><![CDATA[<div><div><div></div><div>重要：blog.d-bood.com将被废弃</div></div><div><p>由于d-bood.com域名将于2023年10月28日到期，届时d-bood.com与*.d-bood.com将无法被访问。后期相关域名下的内容将转移到d-bood.top与*.d-bood.top，因此blog.d-bood.com的内容将逐渐转移到blog.d-bood.top，敬请留意。
如有不便之处，请多谅解。</p></div></div>]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2023-09-23/</id>
      <title type="text">2023-09-23</title>
      <published>2023-09-23T21:42:30.000Z</published>
      <updated>2023-09-23T21:42:30.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2023-09-23/"/>
      <summary type="text">2023-09-23</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2022-11-12/</id>
      <title type="text">2022-11-12</title>
      <published>2022-11-12T19:39:00.000Z</published>
      <updated>2022-11-12T19:39:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2022-11-12/"/>
      <summary type="text">2022-11-12</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2022-11-06/</id>
      <title type="text">2022-11-06</title>
      <published>2022-11-06T08:11:00.000Z</published>
      <updated>2022-11-06T08:11:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2022-11-06/"/>
      <summary type="text">2022-11-06</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2022-09-20/</id>
      <title type="text">2022-09-20</title>
      <published>2022-09-20T19:57:00.000Z</published>
      <updated>2022-09-20T19:57:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2022-09-20/"/>
      <summary type="text">2022-09-20</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2022-06-25/</id>
      <title type="text">2022-06-25</title>
      <published>2022-06-25T11:43:00.000Z</published>
      <updated>2022-06-25T11:43:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2022-06-25/"/>
      <summary type="text">2022-06-25</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2022-01-09/</id>
      <title type="text">2022-01-09</title>
      <published>2022-01-09T01:27:00.000Z</published>
      <updated>2022-01-09T01:27:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2022-01-09/"/>
      <summary type="text">2022-01-09</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2021-12-10/</id>
      <title type="text">2021-12-10</title>
      <published>2021-12-10T21:51:27.000Z</published>
      <updated>2021-12-10T21:51:27.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2021-12-10/"/>
      <summary type="text">2021-12-10</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2021-10-26/</id>
      <title type="text">2021-10-26</title>
      <published>2021-10-26T11:07:00.000Z</published>
      <updated>2021-10-26T11:07:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2021-10-26/"/>
      <summary type="text">2021-10-26</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2021-09-20/</id>
      <title type="text">2021-09-20</title>
      <published>2021-09-20T22:11:00.000Z</published>
      <updated>2021-09-20T22:11:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2021-09-20/"/>
      <summary type="text">2021-09-20</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2021-05-23/</id>
      <title type="text">2021-05-23</title>
      <published>2021-05-23T13:39:00.000Z</published>
      <updated>2021-05-23T13:39:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2021-05-23/"/>
      <summary type="text">2021-05-23</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2021-05-04/</id>
      <title type="text">2021-05-04</title>
      <published>2021-05-04T12:09:29.000Z</published>
      <updated>2021-05-04T12:09:29.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2021-05-04/"/>
      <summary type="text">2021-05-04</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2021-02-22/</id>
      <title type="text">2021-02-22</title>
      <published>2021-02-22T22:30:19.000Z</published>
      <updated>2021-02-22T22:30:19.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2021-02-22/"/>
      <summary type="text">2021-02-22</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2020-09-22/</id>
      <title type="text">2020-09-22</title>
      <published>2020-09-22T12:18:00.000Z</published>
      <updated>2020-09-22T12:18:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2020-09-22/"/>
      <summary type="text">2020-09-22</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2020-05-11/</id>
      <title type="text">2020-05-11</title>
      <published>2020-05-11T09:32:19.000Z</published>
      <updated>2020-05-11T09:32:19.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2020-05-11/"/>
      <summary type="text">2020-05-11</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2020-03-20/</id>
      <title type="text">2020-03-20</title>
      <published>2020-03-20T16:21:00.000Z</published>
      <updated>2020-03-20T16:21:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2020-03-20/"/>
      <summary type="text">2020-03-20</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2020-02-29/</id>
      <title type="text">2020-02-29</title>
      <published>2020-02-29T08:08:00.000Z</published>
      <updated>2020-02-29T08:08:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2020-02-29/"/>
      <summary type="text">2020-02-29</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2020-02-14/</id>
      <title type="text">2020-02-14</title>
      <published>2020-02-14T16:58:00.000Z</published>
      <updated>2020-02-14T16:58:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2020-02-14/"/>
      <summary type="text">2020-02-14</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2020-01-16/</id>
      <title type="text">2020-01-16</title>
      <published>2020-01-16T17:13:00.000Z</published>
      <updated>2020-01-16T17:13:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2020-01-16/"/>
      <summary type="text">2020-01-16</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2018-02-23/</id>
      <title type="text">2018-02-23</title>
      <published>2018-02-23T16:12:00.000Z</published>
      <updated>2018-02-23T16:12:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2018-02-23/"/>
      <summary type="text">2018-02-23</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2018-01-17/</id>
      <title type="text">2018-01-17</title>
      <published>2018-01-17T18:25:00.000Z</published>
      <updated>2018-01-17T18:25:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2018-01-17/"/>
      <summary type="text">2018-01-17</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/%E6%9C%AA%E5%91%BD%E5%90%8D%E6%96%87%E6%A1%A3/</id>
      <title type="text">未命名文档</title>
      <published>2017-11-24T16:36:36.000Z</published>
      <updated>2017-11-24T16:36:36.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/%E6%9C%AA%E5%91%BD%E5%90%8D%E6%96%87%E6%A1%A3/"/>
      <summary type="text">未命名文档</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2017-11-10/</id>
      <title type="text">2017-11-10</title>
      <published>2017-11-10T22:57:00.000Z</published>
      <updated>2017-11-10T22:57:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2017-11-10/"/>
      <summary type="text">2017-11-10</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2017-10-19/</id>
      <title type="text">2017-10-19</title>
      <published>2017-10-19T07:29:00.000Z</published>
      <updated>2017-10-19T07:29:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2017-10-19/"/>
      <summary type="text">2017-10-19</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2017-08-27/</id>
      <title type="text">2017-08-27</title>
      <published>2017-08-27T17:26:00.000Z</published>
      <updated>2017-08-27T17:26:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2017-08-27/"/>
      <summary type="text">2017-08-27</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/recaptcha-v2-for-typecho-%E8%AF%84%E8%AE%BA%E6%8F%92%E4%BB%B6/</id>
      <title type="text">reCAPTCHA v2 for Typecho 评论插件</title>
      <published>2017-07-12T20:55:00.000Z</published>
      <updated>2017-07-12T20:55:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/recaptcha-v2-for-typecho-%E8%AF%84%E8%AE%BA%E6%8F%92%E4%BB%B6/"/>
      <summary type="text">reCAPTCHA v2 for Typecho 评论插件</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2017-06-30/</id>
      <title type="text">2017-06-30</title>
      <published>2017-06-30T09:18:00.000Z</published>
      <updated>2017-06-30T09:18:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2017-06-30/"/>
      <summary type="text">2017-06-30</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2017-01-01/</id>
      <title type="text">2017-01-01</title>
      <published>2017-01-01T19:05:00.000Z</published>
      <updated>2017-01-01T19:05:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2017-01-01/"/>
      <summary type="text">2017-01-01</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2016-12-19/</id>
      <title type="text">2016-12-19</title>
      <published>2016-12-19T19:27:00.000Z</published>
      <updated>2016-12-19T19:27:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2016-12-19/"/>
      <summary type="text">2016-12-19</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2016-11-23/</id>
      <title type="text">2016-11-23</title>
      <published>2016-11-23T09:04:00.000Z</published>
      <updated>2016-11-23T09:04:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2016-11-23/"/>
      <summary type="text">2016-11-23</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2016-11-20/</id>
      <title type="text">2016-11-20</title>
      <published>2016-11-20T16:03:00.000Z</published>
      <updated>2016-11-20T16:03:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2016-11-20/"/>
      <summary type="text">2016-11-20</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2016-10-31/</id>
      <title type="text">2016-10-17</title>
      <published>2016-10-17T23:15:40.000Z</published>
      <updated>2016-10-17T23:15:40.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2016-10-31/"/>
      <summary type="text">2016-10-17</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2016-10-21/</id>
      <title type="text">2016-10-17</title>
      <published>2016-10-17T19:26:13.000Z</published>
      <updated>2016-10-17T19:26:13.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2016-10-21/"/>
      <summary type="text">2016-10-17</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2016-10-17/</id>
      <title type="text">2016-10-17</title>
      <published>2016-10-17T08:46:15.000Z</published>
      <updated>2016-10-17T08:46:15.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2016-10-17/"/>
      <summary type="text">2016-10-17</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/%E5%A4%87%E5%BF%98/</id>
      <title type="text">备忘</title>
      <published>2016-08-27T17:51:00.000Z</published>
      <updated>2016-08-27T17:51:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/%E5%A4%87%E5%BF%98/"/>
      <summary type="text">备忘</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2016-05-19/</id>
      <title type="text">2016-05-19</title>
      <published>2016-05-19T15:10:00.000Z</published>
      <updated>2016-05-19T15:10:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2016-05-19/"/>
      <summary type="text">2016-05-19</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2016-05-15/</id>
      <title type="text">2016-05-15</title>
      <published>2016-05-15T20:00:28.000Z</published>
      <updated>2016-05-15T20:00:28.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2016-05-15/"/>
      <summary type="text">2016-05-15</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2016-03-22/</id>
      <title type="text">2016-03-22</title>
      <published>2016-03-22T11:37:58.000Z</published>
      <updated>2016-03-22T11:37:58.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2016-03-22/"/>
      <summary type="text">2016-03-22</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2016-03-05/</id>
      <title type="text">2016-03-05</title>
      <published>2016-03-05T23:13:06.000Z</published>
      <updated>2016-03-05T23:13:06.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2016-03-05/"/>
      <summary type="text">2016-03-05</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2015-12-29/</id>
      <title type="text">2015-12-29</title>
      <published>2015-12-29T12:00:08.000Z</published>
      <updated>2015-12-29T12:00:08.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2015-12-29/"/>
      <summary type="text">2015-12-29</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2015-09-12/</id>
      <title type="text">2015-09-12</title>
      <published>2015-09-12T15:42:02.000Z</published>
      <updated>2015-09-12T15:42:02.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2015-09-12/"/>
      <summary type="text">2015-09-12</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2015-07-26/</id>
      <title type="text">2015-07-26</title>
      <published>2015-07-26T23:38:00.000Z</published>
      <updated>2015-07-26T23:38:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2015-07-26/"/>
      <summary type="text">2015-07-26</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2015-06-22/</id>
      <title type="text">2015-06-22</title>
      <published>2015-06-22T21:55:54.000Z</published>
      <updated>2015-06-22T21:55:54.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2015-06-22/"/>
      <summary type="text">2015-06-22</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2015-05-16/</id>
      <title type="text">2015-05-16</title>
      <published>2015-05-16T16:05:07.000Z</published>
      <updated>2015-05-16T16:05:07.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2015-05-16/"/>
      <summary type="text">2015-05-16</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2015-04-18/</id>
      <title type="text">2015-04-18</title>
      <published>2015-04-18T12:27:00.000Z</published>
      <updated>2015-04-18T12:27:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2015-04-18/"/>
      <summary type="text">2015-04-18</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2015-03-01/</id>
      <title type="text">2015-03-01</title>
      <published>2015-03-01T18:20:00.000Z</published>
      <updated>2015-03-01T18:20:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2015-03-01/"/>
      <summary type="text">2015-03-01</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/%E6%9C%89%E7%82%B9%E6%83%B3%E8%AF%B4%E7%9A%84%E8%AF%9D/</id>
      <title type="text">有点想说的话</title>
      <published>2014-12-20T21:13:00.000Z</published>
      <updated>2014-12-20T21:13:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/%E6%9C%89%E7%82%B9%E6%83%B3%E8%AF%B4%E7%9A%84%E8%AF%9D/"/>
      <summary type="text">有点想说的话</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-11-06/</id>
      <title type="text">2014-11-06</title>
      <published>2014-11-06T20:42:00.000Z</published>
      <updated>2014-11-06T20:42:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-11-06/"/>
      <summary type="text">2014-11-06</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-09-19/</id>
      <title type="text">2014-09-19</title>
      <published>2014-09-19T20:41:00.000Z</published>
      <updated>2014-09-19T20:41:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-09-19/"/>
      <summary type="text">2014-09-19</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-09-10/</id>
      <title type="text">2014-09-10</title>
      <published>2014-09-10T20:40:00.000Z</published>
      <updated>2014-09-10T20:40:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-09-10/"/>
      <summary type="text">2014-09-10</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-08-26/</id>
      <title type="text">2014-08-26</title>
      <published>2014-08-26T20:40:00.000Z</published>
      <updated>2014-08-26T20:40:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-08-26/"/>
      <summary type="text">2014-08-26</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-08-10/</id>
      <title type="text">2014-08-10</title>
      <published>2014-08-10T20:39:00.000Z</published>
      <updated>2014-08-10T20:39:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-08-10/"/>
      <summary type="text">2014-08-10</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-07-28/</id>
      <title type="text">2014-07-28</title>
      <published>2014-07-28T20:38:00.000Z</published>
      <updated>2014-07-28T20:38:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-07-28/"/>
      <summary type="text">2014-07-28</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-07-19/</id>
      <title type="text">2014-07-19</title>
      <published>2014-07-19T20:38:00.000Z</published>
      <updated>2014-07-19T20:38:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-07-19/"/>
      <summary type="text">2014-07-19</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-07-08/</id>
      <title type="text">2014-07-08</title>
      <published>2014-07-08T20:37:00.000Z</published>
      <updated>2014-07-08T20:37:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-07-08/"/>
      <summary type="text">2014-07-08</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-06-19/</id>
      <title type="text">2014-06-19</title>
      <published>2014-06-19T20:36:00.000Z</published>
      <updated>2014-06-19T20:36:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-06-19/"/>
      <summary type="text">2014-06-19</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-06-13/</id>
      <title type="text">2014-06-13</title>
      <published>2014-06-13T21:49:00.000Z</published>
      <updated>2014-06-13T21:49:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-06-13/"/>
      <summary type="text">2014-06-13</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-06-12/</id>
      <title type="text">2014-06-12</title>
      <published>2014-06-12T21:48:00.000Z</published>
      <updated>2014-06-12T21:48:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-06-12/"/>
      <summary type="text">2014-06-12</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-06-10/</id>
      <title type="text">2014-06-10</title>
      <published>2014-06-10T21:47:00.000Z</published>
      <updated>2014-06-10T21:47:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-06-10/"/>
      <summary type="text">2014-06-10</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-06-09/</id>
      <title type="text">2014-06-09</title>
      <published>2014-06-09T21:45:00.000Z</published>
      <updated>2014-06-09T21:45:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-06-09/"/>
      <summary type="text">2014-06-09</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-04-18/</id>
      <title type="text">2014-04-18</title>
      <published>2014-04-18T21:45:00.000Z</published>
      <updated>2014-04-18T21:45:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-04-18/"/>
      <summary type="text">2014-04-18</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-04-06/</id>
      <title type="text">2014-04-06</title>
      <published>2014-04-06T21:44:00.000Z</published>
      <updated>2014-04-06T21:44:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-04-06/"/>
      <summary type="text">2014-04-06</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/%E8%B7%9D%E9%9B%A2%E7%B5%82%E7%82%B9%E7%99%BE%E5%A4%A9%E4%B9%8B%E7%B7%8F%E7%B5%90/</id>
      <title type="text">距離終点百天之総結</title>
      <published>2014-03-01T21:42:00.000Z</published>
      <updated>2014-03-01T21:42:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/%E8%B7%9D%E9%9B%A2%E7%B5%82%E7%82%B9%E7%99%BE%E5%A4%A9%E4%B9%8B%E7%B7%8F%E7%B5%90/"/>
      <summary type="text">距離終点百天之総結</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-02-01/</id>
      <title type="text">2014-02-01</title>
      <published>2014-02-01T21:40:00.000Z</published>
      <updated>2014-02-01T21:40:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-02-01/"/>
      <summary type="text">2014-02-01</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-01-27/</id>
      <title type="text">2014-01-27</title>
      <published>2014-01-27T21:39:00.000Z</published>
      <updated>2014-01-27T21:39:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-01-27/"/>
      <summary type="text">2014-01-27</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-01-24/</id>
      <title type="text">2014-01-24</title>
      <published>2014-01-24T21:38:00.000Z</published>
      <updated>2014-01-24T21:38:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-01-24/"/>
      <summary type="text">2014-01-24</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2014-01-01/</id>
      <title type="text">2014-01-01</title>
      <published>2014-01-01T23:40:00.000Z</published>
      <updated>2014-01-01T23:40:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2014-01-01/"/>
      <summary type="text">2014-01-01</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2013-12-31/</id>
      <title type="text">2013-12-31</title>
      <published>2013-12-31T23:40:00.000Z</published>
      <updated>2013-12-31T23:40:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2013-12-31/"/>
      <summary type="text">2013-12-31</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2013-11-30/</id>
      <title type="text">2013-11-30</title>
      <published>2013-11-30T23:37:00.000Z</published>
      <updated>2013-11-30T23:37:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2013-11-30/"/>
      <summary type="text">2013-11-30</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/%E6%9C%80%E8%BF%91%E7%9A%84%E7%85%A7%E7%89%87/</id>
      <title type="text">最近的照片</title>
      <published>2013-11-30T23:34:00.000Z</published>
      <updated>2013-11-30T23:34:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/%E6%9C%80%E8%BF%91%E7%9A%84%E7%85%A7%E7%89%87/"/>
      <summary type="text">最近的照片</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2013-11-16/</id>
      <title type="text">2013-11-16</title>
      <published>2013-11-16T23:33:00.000Z</published>
      <updated>2013-11-16T23:33:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2013-11-16/"/>
      <summary type="text">2013-11-16</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2013-10-01/</id>
      <title type="text">2013-10-01</title>
      <published>2013-10-01T23:31:00.000Z</published>
      <updated>2013-10-01T23:31:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2013-10-01/"/>
      <summary type="text">2013-10-01</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2013-09-19/</id>
      <title type="text">2013-09-19</title>
      <published>2013-09-19T23:22:00.000Z</published>
      <updated>2013-09-19T23:22:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2013-09-19/"/>
      <summary type="text">2013-09-19</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2013-08-21/</id>
      <title type="text">2013-08-21</title>
      <published>2013-08-21T23:22:00.000Z</published>
      <updated>2013-08-21T23:22:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2013-08-21/"/>
      <summary type="text">2013-08-21</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2013-08-17/</id>
      <title type="text">2013-08-17</title>
      <published>2013-08-17T00:00:00.000Z</published>
      <updated>2013-08-17T00:00:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2013-08-17/"/>
      <summary type="text">2013-08-17</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2013-08-10/</id>
      <title type="text">2013-08-10</title>
      <published>2013-08-10T00:00:00.000Z</published>
      <updated>2013-08-10T00:00:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2013-08-10/"/>
      <summary type="text">2013-08-10</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
    <entry>
      <id>https://blog.d-bood.top/posts/2013-08-01/</id>
      <title type="text">2013-08-01</title>
      <published>2013-08-01T00:00:00.000Z</published>
      <updated>2013-08-01T00:00:00.000Z</updated>
      <author><name>D-Bood</name></author>
      <link rel="alternate" href="https://blog.d-bood.top/posts/2013-08-01/"/>
      <summary type="text">2013-08-01</summary>
      <content type="html"><![CDATA[本文已加密保护，请访问网站查看。]]></content>
    </entry>
</feed>
