Browse Source

魔法字典加语言过滤

visuddhinanda 2 years ago
parent
commit
88201f97e1
1 changed files with 13 additions and 1 deletions
  1. 13 1
      dashboard/src/components/template/WbwSent.tsx

+ 13 - 1
dashboard/src/components/template/WbwSent.tsx

@@ -17,6 +17,8 @@ import { IDictRequest, IDictResponse, IUserDictCreate } from "../api/Dict";
 import { useIntl } from "react-intl";
 import { useIntl } from "react-intl";
 import { add } from "../../reducers/sent-word";
 import { add } from "../../reducers/sent-word";
 import store from "../../store";
 import store from "../../store";
+import { settingInfo } from "../../reducers/setting";
+import { GetUserSetting } from "../auth/setting/default";
 
 
 interface IMagicDictRequest {
 interface IMagicDictRequest {
   book: number;
   book: number;
@@ -25,6 +27,7 @@ interface IMagicDictRequest {
   word_end: number;
   word_end: number;
   data: IWbw[];
   data: IWbw[];
   channel_id: string;
   channel_id: string;
+  lang?: string[];
 }
 }
 interface IMagicDictResponse {
 interface IMagicDictResponse {
   ok: boolean;
   ok: boolean;
@@ -106,6 +109,8 @@ export const WbwSentCtl = ({
   const [displayMode, setDisplayMode] = useState<ArticleMode>();
   const [displayMode, setDisplayMode] = useState<ArticleMode>();
   const [magic, setMagic] = useState<string>();
   const [magic, setMagic] = useState<string>();
   const [loading, setLoading] = useState(false);
   const [loading, setLoading] = useState(false);
+  const settings = useAppSelector(settingInfo);
+
   useEffect(() => {
   useEffect(() => {
     setMagic(magicDict);
     setMagic(magicDict);
   }, [magicDict]);
   }, [magicDict]);
@@ -128,7 +133,10 @@ export const WbwSentCtl = ({
     let words = new Map<string, number>();
     let words = new Map<string, number>();
     wordData
     wordData
       .filter(
       .filter(
-        (value) => value.type?.value !== ".ctl." && value.real.value.length > 0
+        (value) =>
+          value.type?.value !== null &&
+          value.type?.value !== ".ctl." &&
+          value.real.value.length > 0
       )
       )
       .forEach((value) => {
       .forEach((value) => {
         words.set(value.real.value, 1);
         words.set(value.real.value, 1);
@@ -182,8 +190,11 @@ export const WbwSentCtl = ({
     if (typeof magic === "undefined") {
     if (typeof magic === "undefined") {
       return;
       return;
     }
     }
+    let _lang = GetUserSetting("setting.dict.lang", settings);
     const url = `/v2/wbwlookup`;
     const url = `/v2/wbwlookup`;
     console.log("magic dict url", url);
     console.log("magic dict url", url);
+    if (typeof _lang === "object") {
+    }
     post<IMagicDictRequest, IMagicDictResponse>(url, {
     post<IMagicDictRequest, IMagicDictResponse>(url, {
       book: book,
       book: book,
       para: para,
       para: para,
@@ -191,6 +202,7 @@ export const WbwSentCtl = ({
       word_end: wordEnd,
       word_end: wordEnd,
       data: wordData,
       data: wordData,
       channel_id: channelId,
       channel_id: channelId,
+      lang: _lang?.toString().split(","),
     })
     })
       .then((json) => {
       .then((json) => {
         if (json.ok) {
         if (json.ok) {