From c66e9eaa87989cd0b312fa1d8777a4bf799db0da Mon Sep 17 00:00:00 2001
From: litian <2804272236@qq.com>
Date: 星期四, 25 四月 2024 14:40:34 +0800
Subject: [PATCH] 问题修改

---
 tsconfig.app.json                 |    2 
 src/assets/main.css               |   11 
 src/assets/base.css               |   22 +
 package.json                      |    3 
 src/child.ts                      |    5 
 src/views/home.vue                |  606 ++++++++++++++++++++++++++++---
 src/views/components/front006.vue |  458 ++++++++++++++++++++++++
 7 files changed, 1,036 insertions(+), 71 deletions(-)

diff --git a/package.json b/package.json
index b6129cd..eed6169 100644
--- a/package.json
+++ b/package.json
@@ -27,7 +27,7 @@
     "element-plus": "^2.4.3",
     "less": "^4.2.0",
     "less-loader": "^11.1.3",
-    "moment": "^2.29.4",
+    "moment": "^2.30.1",
     "node-xlsx": "^0.23.0",
     "pinia": "^2.1.7",
     "qiankun": "^2.10.16",
@@ -35,6 +35,7 @@
     "vite-plugin-electron": "^0.15.5",
     "vue": "^3.3.10",
     "vue-cli-plugin-style-resources-loader": "^0.1.5",
+    "vue-clipboard3": "^2.0.0",
     "vue-router": "^4.2.5"
   },
   "devDependencies": {
diff --git a/src/assets/base.css b/src/assets/base.css
index 8f5972d..e158a07 100644
--- a/src/assets/base.css
+++ b/src/assets/base.css
@@ -90,3 +90,25 @@
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
 }
+
+::-webkit-scrollbar {
+  width: 10px;
+  height: 10px;
+}
+
+::-webkit-scrollbar-track-piece {
+  background-color: rgba(0, 0, 0, 0.2);
+  -webkit-border-radius: 6px;
+}
+
+::-webkit-scrollbar-thumb:vertical {
+  height: 5px;
+  background-color: rgba(125, 125, 125, 0.7);
+  -webkit-border-radius: 6px;
+}
+
+::-webkit-scrollbar-thumb:horizontal {
+  width: 5px;
+  background-color: rgba(125, 125, 125, 0.7);
+  -webkit-border-radius: 6px;
+}
diff --git a/src/assets/main.css b/src/assets/main.css
index fcfa5fb..ff65f44 100644
--- a/src/assets/main.css
+++ b/src/assets/main.css
@@ -29,6 +29,10 @@
   list-style: none;
   padding:0;
 }
+a {
+  text-decoration: none;
+  cursor: pointer;
+}
 .hover{
   cursor: pointer;
 }
@@ -140,3 +144,10 @@
   flex:1;
   text-align: center;
 }
+
+.el-input__inner{
+  border:none !important;
+}
+.el-button{
+  padding: 8px 15px !important;
+}
diff --git a/src/child.ts b/src/child.ts
index 97984c9..dd90977 100644
--- a/src/child.ts
+++ b/src/child.ts
@@ -1,4 +1,4 @@
-import { registerMicroApps, setDefaultMountApp, start } from 'qiankun'
+import { registerMicroApps, setDefaultMountApp, start ,initGlobalState } from 'qiankun'
 const microApps = [
   {
     // - 蹇呴�夛紝寰簲鐢ㄧ殑鍚嶇О锛屽井搴旂敤涔嬮棿蹇呴』纭繚鍞竴
@@ -11,13 +11,14 @@
     // - 蹇呴�夛紝寰簲鐢ㄧ殑婵�娲昏鍒�
     //鏀寔鐩存帴閰嶇疆瀛楃涓叉垨瀛楃涓叉暟缁勶紝濡� activeRule: '/app1' 鎴� activeRule: ['/app1', '/app2']锛屽綋閰嶇疆涓哄瓧绗︿覆鏃朵細鐩存帴璺� url 涓殑璺緞閮ㄥ垎鍋氬墠缂�鍖归厤锛屽尮閰嶆垚鍔熻〃鏄庡綋鍓嶅簲鐢ㄤ細琚縺娲汇��
     //鏀寔閰嶇疆涓�涓� active function 鍑芥暟鎴栦竴缁� active function銆傚嚱鏁颁細浼犲叆褰撳墠 location 浣滀负鍙傛暟锛屽嚱鏁拌繑鍥� true 鏃惰〃鏄庡綋鍓嶅井搴旂敤浼氳婵�娲汇�傚 location => location.pathname.startsWith('/app1')銆�
-    activeRule: '/home' //鍖归厤鎵�鏈変互/subPath寮�澶寸殑涓哄瓙搴旂敤
+    activeRule: '/home',//鍖归厤鎵�鏈変互/subPath寮�澶寸殑涓哄瓙搴旂敤
     //loader - (loading: boolean) => void - 鍙�夛紝loading 鐘舵�佸彂鐢熷彉鍖栨椂浼氳皟鐢ㄧ殑鏂规硶銆�
     //鍙�夛紝涓诲簲鐢ㄩ渶瑕佷紶閫掔粰寰簲鐢ㄧ殑鏁版嵁銆�
     // props: {
     //   _parent_base: '/app-content/',
     //   msg:'杩欐槸涓诲簲鐢ㄤ紶缁欏瓙搴旂敤鐨勬秷鎭�'
     // },
+    sandbox:{strictStyleIsolation: true}
   }
 ]
 // 涔惧潳鎻愪緵鐨勫瓙搴旂敤鐢熷懡鍛ㄦ湡閽╁瓙  鍙敤浜庡姞杞絣oading
diff --git a/src/views/components/front006.vue b/src/views/components/front006.vue
new file mode 100644
index 0000000..0091c0e
--- /dev/null
+++ b/src/views/components/front006.vue
@@ -0,0 +1,458 @@
+锘�<template>
+  <div>
+    <ul>
+      <li>
+        <a @click="goDetails('a007')">涓撻涓� 瀛﹀墠鍎跨鐢熺悊鍙戣偛鐗圭偣涓庝繚鍋�</a>
+        <ul class="h2">
+          <li>
+            <a @click="goDetails('b001')">瀛︿範涓婚涓� 杩愬姩绯荤粺</a>
+            <ul>
+              <li><a @click="goDetails('c001')">涓�銆佸鍓嶅効绔ヨ繍鍔ㄧ郴缁熺殑鐗圭偣</a></li>
+              <li><a @click="goDetails('c002')">浜屻�佸鍓嶅効绔ヨ繍鍔ㄧ郴缁熺殑淇濆仴</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b002')">瀛︿範涓婚浜� 鍛煎惛绯荤粺</a>
+            <ul>
+              <li><a @click="goDetails('c003')">涓�銆佸鍓嶅効绔ュ懠鍚哥郴缁熺殑鐗圭偣</a></li>
+              <li><a @click="goDetails('c004')">浜屻�佸鍓嶅効绔ュ懠鍚哥郴缁熺殑淇濆仴</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b003')">瀛︿範涓婚涓� 寰幆绯荤粺</a>
+            <ul>
+              <li><a @click="goDetails('c005')">涓�銆佸鍓嶅効绔ュ惊鐜郴缁熺殑鐗圭偣</a></li>
+              <li><a @click="goDetails('c006')">浜屻�佸鍓嶅効绔ュ惊鐜郴缁熺殑淇濆仴</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b004')">瀛︿範涓婚鍥� 娑堝寲绯荤粺</a>
+            <ul>
+              <li><a @click="goDetails('c007')">涓�銆佸鍓嶅効绔ユ秷鍖栫郴缁熺殑鐗圭偣</a></li>
+              <li><a @click="goDetails('c008')">浜屻�佸鍓嶅効绔ユ秷鍖栫郴缁熺殑淇濆仴</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b005')">瀛︿範涓婚浜� 娉屽翱绯荤粺</a>
+            <ul>
+              <li><a @click="goDetails('c009')">涓�銆佸鍓嶅効绔ユ硨灏跨郴缁熺殑鐗圭偣</a></li>
+              <li><a @click="goDetails('c010')">浜屻�佸鍓嶅効绔ユ硨灏跨郴缁熺殑淇濆仴</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b006')">瀛︿範涓婚鍏� 鐢熸畺绯荤粺</a>
+            <ul>
+              <li><a @click="goDetails('c011')">涓�銆佸鍓嶅効绔ョ敓娈栫郴缁熺殑鐗圭偣</a></li>
+              <li><a @click="goDetails('c012')">浜屻�佸鍓嶅効绔ョ敓娈栫郴缁熺殑淇濆仴</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b007')">瀛︿範涓婚涓� 鍐呭垎娉岀郴缁�</a>
+            <ul>
+              <li><a @click="goDetails('c013')">涓�銆佸鍓嶅効绔ュ唴鍒嗘硨绯荤粺鐨勭壒鐐�</a></li>
+              <li><a @click="goDetails('c014')">浜屻�佸鍓嶅効绔ュ唴鍒嗘硨绯荤粺鐨勪繚鍋�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b008')">瀛︿範涓婚鍏� 绁炵粡绯荤粺</a>
+            <ul>
+              <li><a @click="goDetails('c015')">涓�銆佺缁忕郴缁熺殑鏋勬垚</a></li>
+              <li><a @click="goDetails('c016')">浜屻�佸鍓嶅効绔ョ缁忕郴缁熺殑鐗圭偣</a></li>
+              <li><a @click="goDetails('c017')">涓夈�佸鍓嶅効绔ョ缁忕郴缁熺殑淇濆仴</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b009')">瀛︿範涓婚涔� 鎰熻鍣ㄥ畼</a>
+            <ul>
+              <li><a @click="goDetails('c018')">涓�銆佽瑙夊櫒瀹樷�斺�旂溂</a></li>
+              <li><a @click="goDetails('c019')">浜屻�佸惉瑙夊櫒瀹樷�斺�旇��</a></li>
+              <li><a @click="goDetails('c020')">涓夈�佹湰浣撴劅瑙夊櫒瀹樷�斺�旂毊鑲�</a></li>
+              <li><a @click="goDetails('c021')">鍥涖�佸叾浠栨劅瑙夊櫒瀹�</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a @click="goDetails('a008')">涓撻浜� 瀛﹀墠鍎跨鐨勭敓闀垮彂鑲�</a>
+        <ul>
+          <li>
+            <a @click="goDetails('b010')">瀛︿範涓婚涓� 璁よ瘑瀛﹀墠鍎跨鐢熼暱鍙戣偛</a>
+            <ul>
+              <li>
+                <a @click="goDetails('c022')">涓�銆佺敓闀裤�佸彂鑲蹭笌鎴愮啛</a>
+              </li>
+              <li>
+                <a @click="goDetails('c023')">浜屻�佸鍓嶅効绔ュ勾榫勯樁娈电殑鍒掑垎鍙婂悇闃舵鐢熼暱鍙戣偛鐨勭壒鐐�</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b011')">瀛︿範涓婚浜� 瀛﹀墠鍎跨鐢熼暱鍙戣偛鐨勮寰�</a>
+            <ul>
+              <li>
+                <a @click="goDetails('c024')">涓�銆佺敓闀垮彂鑲茬殑杩炵画鎬у拰闃舵鎬�</a>
+              </li>
+              <li>
+                <a @click="goDetails('c025')">浜屻�佺敓闀垮彂鑲茬殑绋嬪簭鎬�</a>
+              </li>
+              <li>
+                <a @click="goDetails('c026')">涓夈�佺敓闀垮彂鑲茬殑涓嶅潎琛℃��</a>
+              </li>
+              <li>
+                <a @click="goDetails('c027')">鍥涖�佺敓闀垮彂鑲茬殑鐩镐簰鍏宠仈鎬�</a>
+              </li>
+              <li>
+                <a @click="goDetails('c028')">浜斻�佺敓闀垮彂鑲茬殑涓綋宸紓鎬�</a>
+              </li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b012')">瀛︿範涓婚涓� 褰卞搷瀛﹀墠鍎跨鐢熼暱鍙戣偛鐨勫洜绱�</a>
+            <ul>
+              <li><a @click="goDetails('c029')">涓�銆侀仐浼犲洜绱�</a></li>
+              <li><a @click="goDetails('c030')">浜屻�佺幆澧冨洜绱�</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a @click="goDetails('a009')">涓撻涓� 瀛﹀墠鍎跨蹇冪悊鍙戝睍鐗圭偣涓庝繚鍋�</a>
+        <ul>
+          <li>
+            <a @click="goDetails('b013')">瀛︿範涓婚涓� 瀛﹀墠鍎跨蹇冪悊鐨勫彂灞�</a>
+            <ul>
+              <li><a @click="goDetails('c030')">涓�銆佸鍓嶅効绔ュ績鐞嗗彂灞曠殑鐗圭偣</a></li>
+              <li><a @click="goDetails('c032')">浜屻�佸奖鍝嶅鍓嶅効绔ュ績鐞嗗彂灞曠殑鍥犵礌</a></li>
+              <li><a @click="goDetails('c033')">涓夈�佸鍓嶅効绔ョ殑蹇冪悊鍋ュ悍</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b014')">瀛︿範涓婚浜� 瀛﹀墠鍎跨甯歌鐨勫績鐞嗚涓洪棶棰樺強鍏跺紩瀵�</a>
+            <ul>
+              <li><a @click="goDetails('c034')">涓�銆佸鍓嶅効绔ヤ骇鐢熷帇鍔涚殑鍘熷洜</a></li>
+              <li><a @click="goDetails('c035')">浜屻�佸効绔ュ父瑙佺殑蹇冪悊琛屼负闂鍙婂叾寮曞</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b015')">瀛︿範涓婚涓� 瀛﹀墠鍎跨甯歌鐨勫績鐞嗙柧鐥呭強鍏堕闃�</a>
+            <ul>
+              <li><a @click="goDetails('c036')">涓�銆佽█璇拰璇█闅滅</a></li>
+              <li><a @click="goDetails('c037')">浜屻�佺簿绁炲彂鑲茶繜婊�</a></li>
+              <li><a @click="goDetails('c038')">涓夈�佸鐙棁</a></li>
+              <li><a @click="goDetails('c039')">鍥涖�佸効绔ュ鍔ㄧ棁</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a @click="goDetails('a010')">涓撻鍥� 瀛﹀墠鍎跨鍋ュ悍璇勪环</a>
+        <ul>
+          <li>
+            <a @click="goDetails('b016')">瀛︿範涓婚涓� 瀛﹀墠鍎跨韬綋鍋ュ悍鐨勮瘎浠�</a>
+            <ul>
+              <li><a @click="goDetails('c040')">涓�銆佸鍓嶅効绔ョ敓闀垮彂鑲茬殑璇勪环</a></li>
+              <li><a @click="goDetails('c041')">浜屻�佸鍓嶅効绔ュ仴搴锋鏌�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b017')">瀛︿範涓婚浜� 瀛﹀墠鍎跨蹇冪悊鍋ュ悍鐨勮瘎浠�</a>
+            <ul>
+              <li><a @click="goDetails('c042')">涓�銆佸鍓嶅効绔ュ績鐞嗚瘎浼扮殑姒傚康鍜岀壒鐐�</a></li>
+              <li><a @click="goDetails('c043')">浜屻�佸鍓嶅効绔ュ績鐞嗘祴璇曠殑鏂规硶</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a @click="goDetails('a011')">涓撻浜� 瀛﹀墠鍎跨钀ュ吇鍗敓涓庝繚鍋�</a>
+        <ul>
+          <li>
+            <a @click="goDetails('b018')">瀛︿範涓婚涓� 钀ュ吇瀛﹀熀纭�鐭ヨ瘑</a>
+            <ul>
+              <li><a @click="goDetails('c044')">涓�銆佸鍓嶅効绔ュ鑳介噺鐨勯渶姹�</a></li>
+              <li><a @click="goDetails('c045')">浜屻�佷骇鑳借惀鍏荤礌</a></li>
+              <li><a @click="goDetails('c046')">涓夈�侀潪浜ц兘钀ュ吇绱�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b019')">瀛︿範涓婚浜� 濠村効鍠傚吇</a>
+            <ul>
+              <li><a @click="goDetails('c047')">涓�銆佹瘝涔冲杺鍏�</a></li>
+              <li><a @click="goDetails('c048')">浜屻�佷汉宸ュ杺鍏诲拰娣峰悎鍠傚吇</a></li>
+              <li><a @click="goDetails('c049')">涓夈�佽緟椋熺殑娣诲姞</a></li>
+              <li><a @click="goDetails('c050')">鍥涖�佹柇濂�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b020')">瀛︿範涓婚涓� 瀛﹀墠鍎跨鐨勮喅椋�</a>
+            <ul>
+              <li><a @click="goDetails('c051')">涓�銆佸鍓嶅効绔ヨ喅椋熺殑閰嶅埗鍘熷垯</a></li>
+              <li><a @click="goDetails('c052')">浜屻�佸鍓嶅効绔ラギ椋熷崼鐢�</a></li>
+              <li><a @click="goDetails('c053')">涓夈�佸鍓嶅効绔ョ殑楗琛屼负</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b021')">瀛︿範涓婚鍥� 鎵樺辜鏈烘瀯鐨勮喅椋熺鐞�</a>
+            <ul>
+              <li><a @click="goDetails('c054')">涓�銆佹墭骞兼満鏋勭殑鑶抽璁″垝</a></li>
+              <li><a @click="goDetails('c055')">浜屻�佽喅椋熻皟鏌�</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a @click="goDetails('a012')">涓撻鍏� 瀛﹀墠鍎跨鍚勫勾榫勬湡鐨勭壒鐐逛笌淇濆仴</a>
+        <ul>
+          <li>
+            <a @click="goDetails('b022')">瀛︿範涓婚涓� 鑳庡効鏈熺殑鐗圭偣涓庝繚鍋�</a>
+            <ul>
+              <li><a @click="goDetails('c056')">涓�銆佽儙鍎挎湡鐨勭壒鐐�</a></li>
+              <li><a @click="goDetails('c057')">浜屻�佸瓡濡囩殑鍗敓涓庝繚鍋�</a></li>
+              <li><a @click="goDetails('c058')">涓夈�佽儙鍎跨殑淇濆仴</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b023')">瀛︿範涓婚浜� 鏂扮敓鍎挎湡鐨勭壒鐐逛笌淇濆仴</a>
+            <ul>
+              <li><a @click="goDetails('c059')">涓�銆佹柊鐢熷効鏈熺殑鐗圭偣</a></li>
+              <li><a @click="goDetails('c060')">浜屻�佹柊鐢熷効鏈熺殑淇濆仴</a></li>
+              <li><a @click="goDetails('c061')">涓夈�佹湭鎴愮啛鍎夸笌杩囩啛鍎�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b024')">瀛︿範涓婚涓� 濠村効鏈熺殑鐗圭偣涓庝繚鍋�</a>
+            <ul>
+              <li><a @click="goDetails('c062')">涓�銆佸┐鍎挎湡鐨勭壒鐐�</a></li>
+              <li><a @click="goDetails('c063')">浜屻�佸┐鍎挎湡鐨勬姢鐞嗕笌淇濆仴</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b025')">瀛︿範涓婚鍥� 骞煎効鍓嶆湡鐨勭壒鐐逛笌淇濆仴</a>
+            <ul>
+              <li><a @click="goDetails('c064')">涓�銆佸辜鍎垮墠鏈熺殑鐗圭偣</a></li>
+              <li><a @click="goDetails('c065')">浜屻�佸辜鍎垮墠鏈熺殑鎶ょ悊涓庝繚鍋�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b026')">瀛︿範涓婚浜� 骞煎効鏈熺殑鐗圭偣涓庝繚鍋�</a>
+            <ul>
+              <li><a @click="goDetails('c066')">涓�銆佸辜鍎挎湡鐨勭壒鐐�</a></li>
+              <li><a @click="goDetails('c067')">浜屻�佸辜鍎挎湡鐨勬姢鐞嗕笌淇濆仴</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a @click="goDetails('a013')">涓撻涓� 瀛﹀墠鍎跨鐤剧梾鍙婂叾棰勯槻</a>
+        <ul>
+          <li>
+            <a @click="goDetails('b027')">瀛︿範涓婚涓� 鐤剧梾鍩虹</a>
+            <ul>
+              <li><a @click="goDetails('c068')">涓�銆佺柧鐥呯殑绉嶇被</a></li>
+              <li><a @click="goDetails('c069')">浜屻�佺柧鐥呮棭鍙戠幇</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b028')">瀛︿範涓婚浜� 閬椾紶鐥呭強鍏堕闃�</a>
+            <ul>
+              <li><a @click="goDetails('c070')">涓�銆佽璇嗛仐浼犵梾</a></li>
+              <li><a @click="goDetails('c071')">浜屻�佽繎浜茬粨濠氫笌闅愭�ч仐浼犵梾</a></li>
+              <li><a @click="goDetails('c072')">涓夈�侀仐浼犵梾鐨勯闃测�斺�斾紭鐢�</a></li>
+              <li><a @click="goDetails('c073')">鍥涖�佷紭鐢熸帾鏂�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b029')">瀛︿範涓婚涓� 鏂扮敓鍎垮父瑙佺柧鐥呭強鍏堕闃�</a>
+            <ul>
+              <li><a @click="goDetails('c074')">涓�銆佹柊鐢熷効纭偪鐥�</a></li>
+              <li><a @click="goDetails('c075')">浜屻�佹柊鐢熷効鑴愮値</a></li>
+              <li><a @click="goDetails('c076')">涓夈�佹柊鐢熷効鑲虹値</a></li>
+              <li><a @click="goDetails('c077')">鍥涖�侀箙鍙g柈</a></li>
+              <li><a @click="goDetails('c078')">浜斻�佹柊鐢熷効鐮翠激椋�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b030')">瀛︿範涓婚鍥� 濠村辜鍎垮父瑙佺梾鍙婂叾棰勯槻</a>
+            <ul>
+              <li><a @click="goDetails('c079')">涓�銆佽偉鑳栫棁</a></li>
+              <li><a @click="goDetails('c080')">浜屻�佺淮鐢熺礌D缂轰箯鎬т綕鍋荤梾</a></li>
+              <li><a @click="goDetails('c081')">涓夈�佺己閾佹�ц传琛�</a></li>
+              <li><a @click="goDetails('c082')">鍥涖�佷笂鍛煎惛閬撴劅鏌�</a></li>
+              <li><a @click="goDetails('c083')">浜斻�佹�ユ�ф墎妗冧綋鐐�</a></li>
+              <li><a @click="goDetails('c084')">鍏�佽偤鐐�</a></li>
+              <li><a @click="goDetails('c085')">涓冦�佽吂娉�</a></li>
+              <li><a @click="goDetails('c086')">鍏�侀緥榻�</a></li>
+              <li><a @click="goDetails('c087')">涔濄�佹�ユ�у寲鑴撴�т腑鑰崇値</a></li>
+              <li><a @click="goDetails('c088')">鍗併�佸急瑙�</a></li>
+              <li><a @click="goDetails('c089')">鍗佷竴銆佺棻瀛�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b031')">瀛︿範涓婚浜� 瀛﹀墠鍎跨甯歌浼犳煋鐥呭強鍏堕闃�</a>
+            <ul>
+              <li><a @click="goDetails('c090')">涓�銆佷紶鏌撶梾鐨勫熀纭�鐭ヨ瘑</a></li>
+              <li><a @click="goDetails('c091')">浜屻�佸鍓嶅効绔ュ父瑙佷紶鏌撶梾鍙婂叾棰勯槻</a></li>
+              <li><a @click="goDetails('c092')">涓夈�佸瘎鐢熻櫕鐥呴槻娌�</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a @click="goDetails('a014')">涓撻鍏� 瀛﹀墠鍎跨甯哥敤鎶ょ悊涓庢�ユ晳鎶�鏈�</a>
+        <ul>
+          <li>
+            <a @click="goDetails('b032')">瀛︿範涓婚涓� 甯哥敤鎶ょ悊鎶�鏈�</a>
+            <ul>
+              <li><a @click="goDetails('c093')">涓�銆佹祴閲忎綋娓�</a></li>
+              <li><a @click="goDetails('c094')">浜屻�佺墿鐞嗛檷娓�</a></li>
+              <li><a @click="goDetails('c095')">涓夈�佺儹鏁锋硶</a></li>
+              <li><a @click="goDetails('c096')">鍥涖�佹祴閲忚剦鎼�</a></li>
+              <li><a @click="goDetails('c097')">浜斻�佽瀵熷懠鍚�</a></li>
+              <li><a @click="goDetails('c098')">鍏�佸杺鑽�</a></li>
+              <li><a @click="goDetails('c099')">涓冦�佺炕杞溂鐨�</a></li>
+              <li><a @click="goDetails('c101')">鍏�佹淮鐪艰嵂姘淬�佹秱鐪艰嵂鑶�</a></li>
+              <li><a @click="goDetails('c101')">涔濄�佹淮榧昏嵂姘�</a></li>
+              <li><a @click="goDetails('c102')">鍗併�佹淮鑰宠嵂姘�</a></li>
+              <li><a @click="goDetails('c103')">鍗佷竴銆佹榧昏</a></li>
+              <li><a @click="goDetails('c104')">鍗佷簩銆佺畝鏄撻�氫究娉�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b033')">瀛︿範涓婚浜� 瀛﹀墠鍎跨甯歌鐨勬剰澶栦簨鏁呭強鎬ユ晳</a>
+            <ul>
+              <li><a @click="goDetails('c105')">涓�銆佸父瑙佹剰澶栦簨鏁呭強鍏跺鐞�</a></li>
+              <li><a @click="goDetails('c106')">浜屻�佸父鐢ㄦ�ユ晳鏈�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b034')">瀛︿範涓婚涓� 鎵樺辜鏈烘瀯鎰忓浜嬫晠鐨勫父瑙佸師鍥犱笌瀹夊叏绠$悊</a>
+            <ul>
+              <li><a @click="goDetails('c107')">涓�銆佹墭骞兼満鏋勬剰澶栦簨鏁呯殑甯歌鍘熷洜</a></li>
+              <li><a @click="goDetails('c108')">浜屻�佹墭骞兼満鏋勭殑瀹夊叏绠$悊</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a @click="goDetails('a015')">涓撻涔� 瀛﹀墠鍎跨鐢熸椿淇濆仴鍒跺害</a>
+        <ul>
+          <li>
+            <a @click="goDetails('b035')">瀛︿範涓婚涓� 瀛﹀墠鍎跨鐢熸椿鍒跺害</a>
+            <ul>
+              <li><a @click="goDetails('c109')">涓�銆佸埗瀹氬悎鐞嗙殑鐢熸椿鍒跺害鐨勬剰涔�</a></li>
+              <li><a @click="goDetails('c110')">浜屻�佸埗瀹氫竴鏃ョ敓娲诲埗搴︾殑渚濇嵁</a></li>
+              <li><a @click="goDetails('c111')">涓夈�佹墽琛屼竴鏃ョ敓娲诲埗搴︾殑娉ㄦ剰浜嬮」</a></li>
+              <li><a @click="goDetails('c112')">鍥涖�佸鍓嶅効绔ヤ竴鏃ョ敓娲诲悇鐜妭鐨勫崼鐢熻姹�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b036')">瀛︿範涓婚浜� 鎵樺辜鏈烘瀯鐨勫崼鐢熶繚鍋ュ埗搴�</a>
+            <ul>
+              <li><a @click="goDetails('c113')">涓�銆佷綋鏍兼鏌ュ埗搴�</a></li>
+              <li><a @click="goDetails('c114')">浜屻�侀闃叉帴绉嶅埗搴�</a></li>
+              <li><a @click="goDetails('c115')">涓夈�侀殧绂诲埗搴�</a></li>
+              <li><a @click="goDetails('c116')">鍥涖�佹秷姣掑埗搴�</a></li>
+              <li><a @click="goDetails('c117')">浜斻�佺幆澧冨崼鐢熷埗搴�</a></li>
+              <li><a @click="goDetails('c118')">鍏�佸崼鐢熶繚鍋ョ櫥璁板拰缁熻鍒跺害</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li>
+        <a @click="goDetails('a016')">涓撻鍗� 鎵樺辜鏈烘瀯鐨勭幆澧冨崼鐢�</a>
+        <ul>
+          <li>
+            <a @click="goDetails('b037')">瀛︿範涓婚涓� 鎵樺辜鏈烘瀯鐨勫缓绛戝崼鐢�</a>
+            <ul>
+              <li><a @click="goDetails('c119')">涓�銆佸辜鍎垮洯鍥潃鐨勯�夋嫨</a></li>
+              <li><a @click="goDetails('c120')">浜屻�佸洯鍐呭竷灞�鐨勫崼鐢熻姹�</a></li>
+              <li><a @click="goDetails('c121')">涓夈�佸辜鍎垮洯鍚勫閰嶇疆鐨勫崼鐢熻姹�</a></li>
+              <li><a @click="goDetails('c122')">鍥涖�佸鍐呯殑閲囧厜鍜岀収鏄�</a></li>
+              <li><a @click="goDetails('c123')">浜斻�佸鍐呯殑閫氶鍜岄噰鏆�</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul>
+          <li>
+            <a @click="goDetails('b038')">瀛︿範涓婚浜� 鎵樺辜鏈烘瀯鐨勮澶囧強鏁欏叿銆佺帺鍏峰崼鐢�</a>
+            <ul>
+              <li><a @click="goDetails('c124')">涓�銆佸鍏风殑鍗敓</a></li>
+              <li><a @click="goDetails('c125')">浜屻�佹枃鍏枫�佹暀鍏峰強鐜╁叿鐨勫崼鐢�</a></li>
+              <li><a @click="goDetails('c126')">涓夈�佷綋鑲茶澶囧崼鐢�</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li><a @click="goDetails('a017')">缁煎悎浜戞祴璇�</a></li>
+      <li><a @click="goDetails('a018')">鍙傝�冩枃鐚�</a></li>
+      <li><a @click="goDetails('a019')">闄勫綍 甯歌椋熺墿鍙堕吀鍚噺琛�</a></li>
+    </ul>
+  </div>
+</template>
+
+<script lang="ts" setup>
+const goDetails = (index) => {
+  console.log(index)
+  document.getElementById(index).scrollIntoView()
+}
+</script>
+
+<style lang="less" scoped>
+ul ul {
+  margin-left: 15px;
+}
+</style>
diff --git a/src/views/home.vue b/src/views/home.vue
index d50278e..7f172d6 100644
--- a/src/views/home.vue
+++ b/src/views/home.vue
@@ -17,6 +17,7 @@
           </div>
           <p>{{ item.name }}</p>
         </div>
+        <div class="reload hover" @click="reload()">鍒锋柊</div>
         <!-- 璁剧疆 -->
         <el-popover placement="right" :width="200" trigger="click">
           <div class="settingBox">
@@ -41,9 +42,9 @@
       <div class="menuContent" v-if="menuState.open">
         <div class="searchBox">
           <div class="inputBox" v-if="activeMenu !== 2">
-            <el-input class="custom-input" placeholder="璇疯緭鍏ュ唴瀹�">
+            <el-input class="custom-input" placeholder="璇疯緭鍏ュ唴瀹�" v-model="searchText">
               <template #prefix>
-                <el-icon><Search /></el-icon>
+                <el-icon @click="searchBook"><Search /></el-icon>
               </template>
             </el-input>
           </div>
@@ -52,7 +53,7 @@
               <p>榛樿璧勬簮</p>
               <div :class="resourceType == 'default' ? 'text' : 'line'"></div>
             </div>
-            <hr class="hr"/>
+            <hr class="hr" />
             <div class="tabItem hover" @click="selectResourceType('teacher')">
               <p>鏁欏笀璧勬簮</p>
               <div :class="resourceType == 'teacher' ? 'text' : 'line'"></div>
@@ -60,7 +61,9 @@
           </div>
         </div>
         <!-- 鐩綍 -->
-        <div class="" v-if="activeMenu == 0"></div>
+        <div class="menuList" v-if="activeMenu == 0">
+          <front006 />
+        </div>
         <!-- 绗旇 -->
         <div class="notesBox" v-if="activeMenu == 1">
           <div class="screenBox">
@@ -80,25 +83,87 @@
               ></div>
             </div>
           </div>
+          <div class="list-box">
+            <div v-if="scribeData.noteList.length > 0 && !scribeData.loading">
+              <div
+                v-for="(item, index) in scribeData.noteList"
+                :key="item.key"
+                class="listItem hover"
+                @mouseenter="showDeleteBox(item, 'note')"
+                @mouseleave="handleDeleteBox(item, 'note')"
+              >
+                <div class="itemBox noteStyle">
+                  <!-- <div class="flex ai-c jc-sb">
+                      <span class="createDate">{{ item.createDate }}</span>
+                    </div> -->
+                  <div class="textBox">
+                    <div class="chapter">
+                      <span>{{ item.name }}</span
+                      ><span class="chapterName">{{ item.chapter }}</span>
+                    </div>
+                    <!-- <div class="textConNote flex">
+                      <div class="border"></div>
+                      <div class="text">{{ item.selectText }}</div>
+                    </div> -->
+                    <div class="noteText flex">
+                      <!-- <div class="label">绗旇:</div> -->
+                      <div class="con">{{ item.note }}</div>
+                    </div>
+                  </div>
+                </div>
+                <div class="deleteBox" v-show="item.deleteBox" @click="deleteBtn(item, 'note')">
+                  <span
+                    ><el-icon> <Delete /> </el-icon><span>鍒犻櫎</span></span
+                  >
+                </div>
+              </div>
+            </div>
+            <div v-if="scribeData.noteList.length == 0 && !scribeData.loading">
+              <el-empty :image-size="60" description="鏆傛棤鏁版嵁" />
+            </div>
+          </div>
         </div>
         <!-- 璧勬簮 -->
         <div class="" v-if="activeMenu == 2">
           <div class="resourceBox">
             <div class="inputBox">
-              <el-input class="custom-input" placeholder="璇疯緭鍏ュ唴瀹�">
+              <el-input class="custom-input" placeholder="璇疯緭鍏ュ唴瀹�" v-model="searchText">
                 <template #prefix>
-                  <el-icon><Search /></el-icon>
+                  <el-icon @click="searchBook"><Search /></el-icon>
                 </template>
               </el-input>
             </div>
           </div>
+          <div class="list-box">
+            <div>
+              <el-empty :image-size="60" description="鏆傛棤鏁版嵁" />
+            </div>
+          </div>
         </div>
         <!-- 鐭ヨ瘑鍥捐氨 -->
-        <div class="" v-if="activeMenu == 3"></div>
+        <div class="" v-if="activeMenu == 3">
+          <div class="list-box">
+            <div>
+              <el-empty :image-size="60" description="鏆傛棤鏁版嵁" />
+            </div>
+          </div>
+        </div>
         <!-- 鎴浘 -->
-        <div class="" v-if="activeMenu == 4"></div>
+        <div class="" v-if="activeMenu == 4">
+          <div class="list-box">
+            <div>
+              <el-empty :image-size="60" description="鏆傛棤鏁版嵁" />
+            </div>
+          </div>
+        </div>
         <!-- 鏍囩 -->
-        <div class="" v-if="activeMenu == 5"></div>
+        <div class="" v-if="activeMenu == 5">
+          <div class="list-box">
+            <div>
+              <el-empty :image-size="60" description="鏆傛棤鏁版嵁" />
+            </div>
+          </div>
+        </div>
       </div>
       <!-- 鑿滃崟鍐呭鏀惰捣 -->
       <div class="menuStateBox" v-if="menuState.open">
@@ -120,14 +185,13 @@
               <div><img :src="zoomOut" @click="changePageSize('reduce')" /></div>
             </div>
             <div class="brushImgBox">
-              <div @click="loadChild"><img :src="huabi2" class="brushImg" />鐢荤瑪</div>
-              <!-- <el-switch v-model="headerData.brushToolShow"  @change="brushToolShow"/> -->
+              <div><img :src="huabi2" class="brushImg" />鐢荤瑪</div>
             </div>
           </div>
         </div>
         <!-- 寰簲鐢ㄧ洅瀛� -->
         <div class="pageBox-content">
-          <div id="container"></div>
+          <div id="container" @mouseup="handleMouseUp"></div>
           <!-- 鐢荤瑪鐢诲竷 -->
           <div class="canvas-box">
             <canvas
@@ -396,7 +460,13 @@
       </div>
     </div>
   </div>
-  <el-dialog title="娣诲姞绗旇" v-model="addNoteVisble" width="400">
+  <el-dialog
+    title="娣诲姞绗旇"
+    align-center
+    v-model="addNoteVisble"
+    :before-close="handleClose"
+    class="myNoteDialogs"
+  >
     <div class="formBox">
       <el-form ref="form" :model="formData" label-width="80px">
         <el-form-item label="绗旇鏍囬">
@@ -409,32 +479,38 @@
     </div>
     <template #footer>
       <span class="dialog-footer">
-        <el-button @click="addNoteVisble = false">鍙� 娑�</el-button>
+        <el-button @click="handleClose">鍙� 娑�</el-button>
         <el-button type="primary" @click="addNote">纭� 瀹�</el-button>
       </span>
     </template>
   </el-dialog>
-  <el-dialog title="AI鏅鸿兘闂瓟" v-model="wendaVisible" width="26%">
+  <el-dialog title="AI鏅鸿兘闂瓟" align-center v-model="wendaVisible" width="26%" class="myDialogs">
     <div class="wendabox">
       <iframe src="https://yiyan.baidu.com/" frameborder="0"></iframe>
     </div>
   </el-dialog>
-  <el-dialog title="璇嶅吀" v-model="cidianVisible" width="60%">
+  <el-dialog title="璇嶅吀" align-center v-model="cidianVisible" width="60%" class="myDialogs">
     <div class="wendabox">
       <iframe src="https://www.vocabulary.com/" frameborder="0"></iframe>
     </div>
   </el-dialog>
-  <el-dialog title="GGB鍑芥暟宸ュ叿" v-model="functionVisible" width="60%">
+  <el-dialog
+    title="GGB鍑芥暟宸ュ叿"
+    align-center
+    v-model="functionVisible"
+    width="60%"
+    class="myDialogs"
+  >
     <div class="wendabox">
       <iframe src="https://www.geogebra.org/calculator" frameborder="0"></iframe>
     </div>
   </el-dialog>
-  <el-dialog title="鎬濈淮瀵煎浘" v-model="siweiVisble" width="80%">
+  <el-dialog title="鎬濈淮瀵煎浘" align-center v-model="siweiVisble" width="80%" class="myDialogs">
     <div class="wendabox">
       <iframe src="https://www.iodraw.com/mind" frameborder="0"></iframe>
     </div>
   </el-dialog>
-  <el-dialog title="妯″瀷宸ュ叿" v-model="modelToolVisble" width="80%">
+  <el-dialog title="妯″瀷宸ュ叿" align-center v-model="modelToolVisble" width="80%" class="myDialogs">
     <div class="wendabox">
       <iframe src="https://adjam93.github.io/threejs-model-viewer/#" frameborder="0"></iframe>
     </div>
@@ -442,14 +518,16 @@
 </template>
 
 <script setup lang="ts">
-import { ref, reactive, watch, onMounted } from 'vue'
+import { ref, reactive, watch, onMounted, inject } from 'vue'
 import { useRouter, useRoute } from 'vue-router'
-
+import useClipboard from 'vue-clipboard3'
+const { toClipboard } = useClipboard()
+const request = inject('request')
 //鑾峰彇璺敱鍣�
 let $router = useRouter()
 //鑾峰彇褰撳墠璺敱鐨勪俊鎭�
 let $route = useRoute()
-
+import moment from 'moment'
 import { ElMessage } from 'element-plus'
 import mulu from '@/assets/images/menu/mulu.png'
 import biji from '@/assets/images/menu/biji.png'
@@ -520,8 +598,14 @@
 import zoomIn from '../assets/images/operation/zoomIn.png'
 import zoomOut from '../assets/images/operation/zoomOut.png'
 import huabi2 from '../assets/images/operation/huabi.svg'
-import { loadMicroApp } from 'qiankun'
+import front006 from '@/views/components/front006.vue'
+import { start } from 'qiankun'
 
+onMounted(() => {
+  getNotesList() // 鑾峰彇楂樹寒
+  getlineHeightList() //鑾峰彇楂樹寒
+  getScribeList() //鑾峰彇鍒掔嚎
+})
 // 鑿滃崟
 const menuData = reactive([
   {
@@ -553,21 +637,26 @@
 const activeMenu = ref(0)
 //璧勬簮绫诲瀷
 
-const resourceType = ref("default")
+const resourceType = ref('default')
 // 鑿滃崟鐐瑰嚮
 const menuItemClick = (index) => {
   activeMenu.value = index
   menuState.open = true
 }
+//鍒锋柊褰撳墠椤甸潰
+const reload = () => {
+  location.reload()
+}
 
 const selectResourceType = (type) => {
   resourceType.value = type
 }
-
+const searchText = ref<string>('') //绛涢��
 const menuState = reactive({
   open: true,
-  notesColor: ''
+  notesColor: 'all' //绗旇棰滆壊
 })
+
 const settingForm = reactive({
   acoustics: false,
   animation: false
@@ -578,6 +667,11 @@
     menuState.notesColor = item.key
   } else {
     menuState.notesColor = 'all'
+  }
+}
+const searchBook = async () => {
+  if (activeMenu.value == 1) {
+    getNotesList()
   }
 }
 
@@ -874,11 +968,37 @@
 
 //閫変腑鏂囧瓧宸ュ叿鏍�
 const selectText = ref('') //閫変腑鏂囧瓧
+const selectNode = ref(null)
 const showToolBox = ref(false)
 const dialogToolData = reactive({
   left: 500,
-  top: 300
+  top: 300,
+  chapter: '', //閫変腑鏂囧瓧鎵�鍦ㄧ珷鑺�
+  lineHeight: [], //楂樹寒
+  scribeList: [], //鍒掔嚎
+  notesList: [] //绗旇
 })
+
+//璋冪敤瀛愬簲鐢ㄦ枃瀛楅�変腑浜嬩欢
+// const subApp = start()
+// subApp.handleMouseUp()
+
+//閫変腑鏂囧瓧
+const handleMouseUp = (e) => {
+  const txt = window.getSelection()?.toString()
+  selectText.value = txt
+  const node = window.getSelection()
+  console.log(node, 'temp_node')
+  let html = node.baseNode.parentNode.parentNode
+  dialogToolData.chapter = html.firstChild.innerHTML
+  console.log(dialogToolData.chapter)
+  selectNode.value = node
+  if (txt) {
+    showToolBox.value = true
+    dialogToolData.top = e.y
+    dialogToolData.left = e.x
+  }
+}
 const toolActive = ref('楂樹寒')
 const colorActive = ref('')
 const dialogToolList = reactive([
@@ -916,9 +1036,22 @@
 
 //绗旇寮圭獥
 const addNoteVisble = ref(false)
-const formData = ref({
+const formData = reactive({
   name: '',
   desc: ''
+})
+//绗旇寮圭獥鍏抽棴
+const handleClose = () => {
+  addNoteVisble.value = false
+  showToolBox.value = false
+  colorActive.value = ''
+}
+
+//绗旇锛岄珮浜紝鍒掔嚎
+const scribeData = reactive({
+  scribeDataList: [], //鍒掔嚎鑿滃崟鍒楄〃
+  lineHeightList: [], //楂樹寒鑿滃崟鍒楄〃
+  noteList: [] //绗旇鑿滃崟鍒楄〃
 })
 //璇嶅吀
 
@@ -982,7 +1115,7 @@
       break
   }
 }
-const dialogToolHandle = (item) => {
+const dialogToolHandle = async (item) => {
   toolActive.value = item.name
   colorActive.value = ''
   switch (item.name) {
@@ -996,23 +1129,25 @@
     case '楂樹寒':
       break
     case '绗旇':
-      formData.value.name = ''
-      formData.value.desc = ''
+      formData.name = ''
+      formData.desc = ''
       break
     case '鏍囨敞':
       break
     case '澶嶅埗':
       try {
-        var successful = document.execCommand('copy') //鎵ц澶嶅埗鍛戒护
-        var msg = successful ? '鎴愬姛' : '澶辫触'
-        ElMessage.success({
-          message: '宸插鍒舵枃鏈�',
+        //澶嶅埗
+        await toClipboard(selectText.value)
+        //涓嬮潰鍙互璁剧疆澶嶅埗鎴愬姛鐨勬彁绀烘绛夋搷浣�
+        ElMessage({
+          message: '澶嶅埗鎴愬姛',
           type: 'success'
         })
       } catch (err) {
         ElMessage.error('鏃犳硶澶嶅埗鏂囨湰锛�' + err)
       }
       showToolBox.value = false
+      toolActive.value = '楂樹寒'
       break
     case '璇嶅吀':
       cidianVisible.value = true
@@ -1025,6 +1160,253 @@
   if (toolActive.value == '绗旇') {
     addNoteVisble.value = true
   }
+  if (toolActive.value == '楂樹寒') {
+    let heightLightElement = document.createElement("i");
+        heightLightElement.style.backgroundColor = colorActive.value;
+        heightLightElement.innerText = selectText.value;
+        let rReg = new RegExp(`${selectText.value}`, "ig");
+        console.log(selectNode.value)
+        let textDom = selectNode.value.anchorNode.parentNode;
+        console.log(textDom)
+        let text = textDom.innerHTML;
+        let rHtml = "";
+        rHtml = text.replace(
+          rReg,
+          `<span style="background: ${colorActive.value};">${selectText.value}</span>`
+        );
+        textDom.innerHTML = rHtml;
+    dialogToolData.lineHeight.push({
+      selectNode: selectNode.value,
+      selectText: selectText.value,
+      color: colorActive.value,
+      chapter: dialogToolData.chapter,
+      color: item.key,
+      createDate: new Date()
+    })
+    request({
+      url: '/identity/api/ApiAppUserSetKey',
+      method: 'post',
+      data: {
+        setKeyRequests: [
+          {
+            domain: 'highLight',
+            key: '1',
+            value: JSON.stringify(dialogToolData.lineHeight)
+          }
+        ]
+      }
+    }).then((res) => {
+      showToolBox.value = false
+      colorActive.value = ''
+      toolActive.value = '楂樹寒'
+      getlineHeightList()
+      setTimeout(() => {
+        lock.value = false
+      }, 1000)
+    })
+  }
+  if (toolActive.value == '鍒掔嚎') {
+    dialogToolData.scribeList.push({
+      selectNode: selectNode.value,
+      selectText: selectText.value,
+      color: colorActive.value,
+      chapter: dialogToolData.chapter,
+      color: item.key,
+      createDate: new Date()
+    })
+    request({
+      url: '/identity/api/ApiAppUserSetKey',
+      method: 'post',
+      data: {
+        setKeyRequests: [
+          {
+            domain: 'underline',
+            key: '1',
+            value: JSON.stringify(dialogToolData.scribeList)
+          }
+        ]
+      }
+    }).then((res) => {
+      colorActive.value = ''
+      showToolBox.value = false
+      toolActive.value = '楂樹寒'
+      getScribeList()
+      setTimeout(() => {
+        lock.value = false
+      }, 1000)
+    })
+  }
+}
+
+const lock = ref(false)
+const addNote = () => {
+  const obj = {
+    name: formData.name,
+    desc: formData.desc
+  }
+  if (!lock.value) {
+    lock.value = true
+    if (formData.desc.replace(/^\s*|\s*$/g, '')) {
+      if (formData.name.replace(/^\s*|\s*$/g, '')) {
+        dialogToolData.notesList.push({
+          selectNode: selectNode.value,
+          selectText: selectText.value,
+          color: colorActive.value,
+          chapter: dialogToolData.chapter,
+          createDate: new Date(),
+          name: formData.name.replace(/^\s*|\s*$/g, ''),
+          note: formData.desc.replace(/^\s*|\s*$/g, '')
+        })
+        request({
+          url: '/identity/api/ApiAppUserSetKey',
+          method: 'post',
+          data: {
+            setKeyRequests: [
+              {
+                domain: 'notes',
+                key: '1',
+                value: JSON.stringify(dialogToolData.notesList)
+              }
+            ]
+          }
+        }).then((res) => {
+          showToolBox.value = false
+          addNoteVisble.value = false
+          colorActive.value = ''
+          toolActive.value = '楂樹寒'
+          getNotesList()
+          setTimeout(() => {
+            lock.value = false
+          }, 1000)
+        })
+      } else {
+        ElMessage.error('绗旇鏍囬涓嶈兘涓虹┖!')
+        lock.value = false
+      }
+    } else {
+      ElMessage.error('绗旇鍐呭涓嶈兘涓虹┖!')
+      lock.value = false
+    }
+  }
+}
+//绗旇
+const getNotesList = () => {
+  scribeData.noteList = []
+  request({
+    url: '/identity/api/ApiGetAppUserKey',
+    method: 'post',
+    data: {
+      domain: 'notes',
+      keys: ['1']
+    }
+  }).then((res) => {
+    if (res && res.length > 0 && res[0].value) {
+      dialogToolData.notesList = JSON.parse(res[0].value)
+      let list = JSON.parse(res[0].value)
+      list.forEach((item) => {
+        item.createDate = moment(item.createDate).format('YYYY-MM-DD')
+        if (searchText.value) {
+          searchText.value = searchText.value.replace(/^\s*|\s*$/g, '')
+          let text = searchText.value.replace(/^\s*|\s*$/g, '')
+          if (item.text.indexOf(text) > -1) {
+            if (menuState.notesColor == 'all') {
+              scribeData.noteList.push(item)
+            } else if (menuState.notesColor == item.color) {
+              scribeData.noteList.push(item)
+            }
+          }
+        } else {
+          if (menuState.notesColor == 'all') {
+            scribeData.noteList.push(item)
+          } else if (menuState.notesColor == item.color) {
+            scribeData.noteList.push(item)
+          }
+        }
+      })
+
+      console.log(scribeData.noteList)
+    }
+  })
+}
+//鍒掔嚎
+const getScribeList = () => {
+  scribeData.scribeDataList = []
+  request({
+    url: '/identity/api/ApiGetAppUserKey',
+    method: 'post',
+    data: {
+      domain: 'underline',
+      keys: ['1']
+    }
+  }).then((res) => {
+    if (res && res.length > 0 && res[0].value) {
+      dialogToolData.scribeList = JSON.parse(res[0].value)
+      scribeData.scribeDataList = JSON.parse(res[0].value)
+    }
+  })
+}
+//楂樹寒
+const getlineHeightList = () => {
+  scribeData.lineHeightList = []
+  request({
+    url: '/identity/api/ApiGetAppUserKey',
+    method: 'post',
+    data: {
+      domain: 'highLight',
+      keys: ['1']
+    }
+  }).then((res) => {
+    if (res && res.length > 0 && res[0].value) {
+      dialogToolData.lineHeight = JSON.parse(res[0].value)
+      scribeData.lineHeightList = JSON.parse(res[0].value)
+    }
+  })
+}
+
+//鍒犻櫎楂樹寒/鍒掔嚎
+//榧犳爣绉诲叆鏄剧ず鍒犻櫎鎸夐挳
+const showDeleteBox = (item, type) => {
+  if (type == 'note') {
+    if (item.deleteBox == false) {
+      scribeData.noteList.forEach((i) => {
+        i.deleteBox = false
+      })
+      item.deleteBox = true
+    }
+  }
+}
+//榧犳爣绉诲嚭
+const handleDeleteBox = (item) => {
+  item.deleteBox = false
+}
+//鍒犻櫎
+const deleteBtn = (item, type) => {
+  if (type == 'note') {
+    // 绉婚櫎
+    let index = scribeData.noteList.findIndex((itemData) => itemData.text == item.text)
+    if (index > -1) {
+      scribeData.noteList.splice(index, 1)
+      request({
+        url: '/identity/api/ApiAppUserSetKey',
+        method: 'post',
+        data: {
+          setKeyRequests: [
+            {
+              domain: 'notes',
+              key: '1',
+              value: JSON.stringify(scribeData.noteList)
+            }
+          ]
+        }
+      }).then((res) => {
+        ElMessage({
+          message: '鍒犻櫎绗旇鎴愬姛!',
+          type: 'success'
+        })
+        getNotesList()
+      })
+    }
+  }
 }
 
 //鍐呭鍖哄煙椤堕儴鏄剧ず
@@ -1035,8 +1417,7 @@
   minutes: 0,
   hours: 0,
   process: '42%',
-  pageSize: 100,
-  brushToolShow: true
+  pageSize: 100
 })
 //涓婅鏃堕暱璁℃椂鍣�
 const timer = ref(null)
@@ -1072,22 +1453,6 @@
   } else {
     headerData.pageSize = Number(headerData.pageSize) - 5
   }
-}
-
-const brushToolShow = () => {
-  console.log(headerData.brushToolShow, 123)
-  if (headerData.brushToolShow) {
-    ctx = canvas.value.getContext('2d') as CanvasRenderingContext2D
-  }
-}
-
-const loadChild = () => {
-  // loadMicroApp({
-  //   name: 'book',
-  //   entry: '//192.168.3.196:8080/',
-  //   container: document.querySelector('#container')
-  // })
-  // $router.push({path: "/aa"})
 }
 </script>
 
@@ -1141,6 +1506,12 @@
           margin-bottom: 4px;
         }
       }
+      .reload {
+        width: 80px;
+        position: absolute;
+        bottom: 100px;
+        text-align: center;
+      }
       .setting {
         width: 80px;
         position: absolute;
@@ -1161,31 +1532,31 @@
         justify-content: center;
         align-items: center;
       }
-      .resourceBox{
+      .resourceBox {
         width: 100%;
         height: 60px;
         display: flex;
         justify-content: center;
         align-items: center;
       }
-      .resourceTab{
-        width:100%;
+      .resourceTab {
+        width: 100%;
         height: 60px;
         display: flex;
         justify-content: center;
         align-items: center;
-        font-size:16px;
-        .hr{
-          height:25px;
-          background:#DBDBDB !important;
+        font-size: 16px;
+        .hr {
+          height: 25px;
+          color: #dbdbdb !important;
         }
-        .tabItem:first-child(1){
-          border-right:1px solid #707070;
+        .tabItem:first-child(1) {
+          border-right: 1px solid #707070;
         }
-        .tabItem{
-          flex:1;
+        .tabItem {
+          flex: 1;
           text-align: center;
-          line-height:57px;
+          line-height: 57px;
         }
         .text {
           width: 43px;
@@ -1194,7 +1565,7 @@
           background: #0093ff;
           border-radius: 3px 3px 0px 0px;
         }
-        .line{
+        .line {
           height: 3px;
         }
       }
@@ -1207,6 +1578,10 @@
         .is-focus,
         .el-input__wrapper {
           box-shadow: none !important;
+          .el-input__inner {
+            border: none !important;
+            height: 34px !important;
+          }
         }
       }
       .screenBox {
@@ -1262,10 +1637,68 @@
           border: 1px solid #0093ff;
         }
       }
+      .menuList {
+        height: calc(100% - 60px);
+        overflow-y: auto;
+        padding: 10px;
+      }
+      .list-box {
+        .listItem {
+          border-bottom: 1px solid rgba(212, 212, 212, 0.16);
+          position: relative;
+          padding: 10px;
+          line-height: 20px;
+          .textBox {
+            padding: 15px 10px;
+            .chapter {
+              color: #0093ff;
+            }
+            .chapterName{
+              float: right;
+            }
+          }
+          .noteText {
+            text-indent: 2ch;
+            margin-top: 5px;
+            .label {
+              width: 40px;
+              flex-shrink: 0;
+            }
+
+            .con {
+              max-height: 65px;
+              display: -webkit-box;
+              -webkit-box-orient: vertical;
+              -webkit-line-clamp: 3;
+              overflow: hidden;
+            }
+          }
+          .deleteBox {
+            position: absolute;
+            right: 0;
+            top: 0;
+            height: 100%;
+            width: 70px;
+            background-color: #0093ff;
+            color: #fff;
+            display: flex;
+            align-items: center;
+
+            span {
+              margin: 0 auto;
+            }
+
+            .el-icon {
+              margin-right: 5px;
+            }
+          }
+        }
+      }
     }
     .menuStateBox {
       width: 25px;
       height: 25px;
+      background: #fff;
       border-radius: 3px 0px 0px 3px;
       border: 1px solid #bce3ff;
       position: fixed;
@@ -1336,6 +1769,7 @@
       .pageBox-content {
         height: calc(100% - 57px);
         position: relative;
+        overflow-y: auto;
         #container {
           background: #fbf9f4;
           height: 100%;
@@ -1416,6 +1850,7 @@
         .el-tabs__item {
           flex: 1 !important;
           padding: 0 !important;
+          text-align: center;
         }
         .el-tabs__active-bar {
           width: 43px !important;
@@ -1469,7 +1904,8 @@
       width: 85px;
       background-image: linear-gradient(to bottom, #0093ff, #005dff);
       position: fixed;
-      height: 430px;
+      // height: 430px;
+      height: 130px;
       top: 300px;
       left: 400px;
       z-index: 999;
@@ -1490,6 +1926,9 @@
           margin-right: 5px;
         }
       }
+    }
+    .draggableBox:hover {
+      height: 430px;
     }
     .floatToolItem:hover {
       background-color: #fff;
@@ -1568,4 +2007,37 @@
     height: 100%;
   }
 }
+.myNoteDialogs {
+  width: 400px !important;
+}
+.myDialogs {
+  width: 628px;
+
+  .el-dialog__header {
+    padding: 15px;
+    margin-right: 0;
+    border-bottom: 1px solid #f4f4f4;
+  }
+
+  .el-dialog__title {
+    font-weight: bold;
+    font-size: 16px;
+  }
+
+  .el-dialog__headerbtn {
+    top: 6px;
+    right: 6px;
+  }
+
+  .el-dialog__footer {
+    padding: 15px;
+    border-top: 1px solid #f4f4f4;
+  }
+
+  .myDialogs-footer {
+    .el-button {
+      padding: 0 20px;
+    }
+  }
+}
 </style>
diff --git a/tsconfig.app.json b/tsconfig.app.json
index 491e093..08829ca 100644
--- a/tsconfig.app.json
+++ b/tsconfig.app.json
@@ -1,6 +1,6 @@
 {
   "extends": "@vue/tsconfig/tsconfig.dom.json",
-  "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
+  "include": ["env.d.ts", "src/**/*", "src/**/*.vue","src/**/*.ts"],
   "exclude": ["src/**/__tests__/*"],
   "compilerOptions": {
     "composite": true,

--
Gitblit v1.9.1