Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

kunfei 3 лет назад
Родитель
Сommit
71741e7fb6
2 измененных файлов с 50 добавлено и 50 удалено
  1. 1 1
      modules/web/src/store/sourceStore.js
  2. 49 49
      modules/web/src/utils/souce.ts

+ 1 - 1
modules/web/src/store/sourceStore.js

@@ -72,7 +72,7 @@ export const useSourceStore = defineStore("source", {
     saveCurrentSource() {
       let source = this.currentSource,
         map = this.sourcesMap;
-      map.set(getSourceUniqueKey(source), Object.create(source));
+      map.set(getSourceUniqueKey(source), JSON.parse(JSON.stringify(source)));
       this.saveSources(Array.from(map.values()));
     },
     // 更改当前编辑的源qq

+ 49 - 49
modules/web/src/utils/souce.ts

@@ -1,49 +1,49 @@
-import { Source } from '../source'
-
-
-const isNullOrBlank = (string: string | null | undefined | number) => string == null || (string as string).length === 0 || /^\s+$/.test(string as string)
-const isBookSource = (source: Source) => "bookSourceName" in source
-
-export const isInvaildSource: (source: Source) => boolean = (source) => {
-    if (isBookSource(source)) {
-        return !isNullOrBlank(source.bookSourceName) &&
-            !isNullOrBlank(source.bookSourceUrl) &&
-            !isNullOrBlank(source.bookSourceType)
-    }
-    return !isNullOrBlank(source.sourceName) &&
-        !isNullOrBlank(source.sourceName)
-}
-
-export const getSourceUniqueKey = (source: Source) => isBookSource(source) ? source.bookSourceUrl : source.sourceUrl;
-
-export const isSourceMatches: (source: Source, searchKey: string) => boolean = (source, searchKey) => {
-    // TODO: 正则和普通字符串识别 识别 * . \ [ ] <= <! != = ?: () \d\w\s\...
-    if (isBookSource(source)) {
-        return (source.bookSourceName?.includes(searchKey) ||
-            source.bookSourceUrl?.includes(searchKey) ||
-            source.bookSourceGroup?.includes(searchKey) ||
-            source.bookSourceComment?.includes(searchKey)) ?? false
-    }
-    return (source.sourceName?.includes(searchKey) ||
-        source.sourceUrl?.includes(searchKey) ||
-        source.sourceGroup?.includes(searchKey) ||
-        source.sourceComment?.includes(searchKey)) ?? false
-}
-
-export const convertSourcesToMap = (sources: Source[]): Map<string, Source> => {
-    const map = new Map();
-    sources.forEach((source) =>
-        map.set(getSourceUniqueKey(source), source)
-    );
-    return map;
-}
-
-export const emptyBookSource = {
-    ruleSearch: {},
-    ruleBookInfo: {},
-    ruleToc: {},
-    ruleContent: {},
-    ruleReview: {},
-    ruleExplore: {}
-}
-export const emptyRssSource = {}
+import { Source } from '../source'
+
+
+const isNullOrBlank = (string: string | null | undefined | number) => string == null || (string as string).length === 0 || /^\s+$/.test(string as string)
+const isBookSource = (source: Source) => "bookSourceName" in source
+
+export const isInvaildSource: (source: Source) => boolean = (source) => {
+    if (isBookSource(source)) {
+        return !isNullOrBlank(source.bookSourceName) &&
+            !isNullOrBlank(source.bookSourceUrl) &&
+            !isNullOrBlank(source.bookSourceType)
+    }
+    return !isNullOrBlank(source.sourceName) &&
+        !isNullOrBlank(source.sourceName)
+}
+
+export const getSourceUniqueKey = (source: Source) => isBookSource(source) ? source.bookSourceUrl : source.sourceUrl;
+
+export const isSourceMatches: (source: Source, searchKey: string) => boolean = (source, searchKey) => {
+    // TODO: 正则和普通字符串识别 识别 * . \ [ ] <= <! != = ?: () \d\w\s\...
+    if (isBookSource(source)) {
+        return (source.bookSourceName?.includes(searchKey) ||
+            source.bookSourceUrl?.includes(searchKey) ||
+            source.bookSourceGroup?.includes(searchKey) ||
+            source.bookSourceComment?.includes(searchKey)) ?? false
+    }
+    return (source.sourceName?.includes(searchKey) ||
+        source.sourceUrl?.includes(searchKey) ||
+        source.sourceGroup?.includes(searchKey) ||
+        source.sourceComment?.includes(searchKey)) ?? false
+}
+
+export const convertSourcesToMap = (sources: Source[]): Map<string, Source> => {
+    const map = new Map();
+    sources.forEach((source) =>
+        map.set(getSourceUniqueKey(source), source)
+    );
+    return map;
+}
+
+export const emptyBookSource = {
+    ruleSearch: {},
+    ruleBookInfo: {},
+    ruleToc: {},
+    ruleContent: {},
+    ruleReview: {},
+    ruleExplore: {}
+}
+export const emptyRssSource = {}