guanchunjie 3 vuotta sitten
vanhempi
commit
ef61105244
3 muutettua tiedostoa jossa 107 lisäystä ja 22 poistoa
  1. 104 19
      src/components/Adult/preview/TextInputRecord.vue
  2. 1 1
      src/components/Header.vue
  3. 2 2
      vue.config.js

+ 104 - 19
src/components/Adult/preview/TextInputRecord.vue

@@ -39,7 +39,22 @@ export default {
   components: { Soundrecord, Audio },
   props: ["curQue", "themeColor"],
   data() {
-    return {};
+    return {
+      resArr: [],
+      tableData: [
+        ["ā", "á", "ǎ", "à", "a"],
+        ["ō", "ó", "ǒ", "ò", "o"],
+        ["ē", "é", "ě", "è", "e"],
+        ["ī", "í", "ǐ", "ì", "i"],
+        ["ū", "ú", "ǔ", "ù", "u"],
+        ["ǖ", "ǘ", "ǚ", "ǜ", "ü"],
+        ["Ā", "Á", "Â", "À", "A"],
+        ["Ō", "Ó", "Ô", "Ò", "O"],
+        ["Ē", "É", "Ê", "È", "E"],
+        ["Ī", "Í", "Î", "Ì", "I"],
+        ["Ū", "Ú", "Û", "Ù", "U"],
+      ],
+    };
   },
   computed: {},
   watch: {},
@@ -61,30 +76,100 @@ export default {
     },
     handleWav(data) {},
     handleReplaceTone(e) {
+      let _this = this;
       let value = e.target.value;
 
-      // if (value) {
-      //   let reg = /\s+/g;
-      //   let reg2 = /^[A-Za-z](.*?)\d$/g;
-      //   let valueArr = value.split(reg);
-      //   console.log(valueArr);
-      //   valueArr.forEach((item, index) => {
-      //     if (reg2.test(item)) {
-      //       debugger;
-      //       let obj = this.handleValue(item);
-      //     }
-      //   });
-      // }
+      if (value) {
+        let reg = /\s+/g;
+        let valueArr = value.split(reg);
+        valueArr.forEach((item, index) => {
+          this.handleValue(item);
+        });
+        setTimeout(() => {
+          let str = "";
+          _this.resArr.forEach((item) => {
+            item.forEach((sItem) => {
+              if (sItem.number && sItem.con) {
+                let number = Number(sItem.number);
+                let con = sItem.con;
+                let word = _this.addTone(number, con);
+                str += word + " ";
+              } else {
+                if (sItem.number) {
+                  str += sItem.number;
+                } else if (sItem.con) {
+                  str += " " + sItem.con + " ";
+                }
+              }
+            });
+          });
+          console.log(str);
+        }, 1000);
+      }
     },
     handleValue(valItem) {
-      let reg = /\d+/g;
+      let reg = /\d/;
+      let reg2 = /[A-Za-z]+\d/g;
       let numList = [];
-      if (reg.test(valItem)) {
-        numList = valItem.match(reg);
+      let valArr = valItem.split("");
+      if (reg2.test(valItem)) {
+        for (let i = 0; i < valArr.length; i++) {
+          let item = valItem[i];
+          if (reg.test(item)) {
+            let numIndex =
+              numList.length == 0 ? 0 : numList[numList.length - 1].index;
+            let con = valItem.substring(numIndex, i);
+            con = con.replace(/\d/g, "");
+            let obj = {
+              index: i,
+              number: item,
+              con: con,
+              isTran: true,
+            };
+            numList.push(obj);
+          }
+        }
+      } else {
+        numList = [];
+      }
+      if (numList.length == 0) {
+        this.resArr.push([{ con: valItem }]);
+      } else {
+        this.resArr.push(numList);
+      }
+      console.log(this.resArr);
+    },
+    addTone(number, con) {
+      let _this = this;
+      let zmList = ["a", "o", "e", "i", "u", "v", "A", "O", "E", "I", "U"];
+      for (let i = 0; i < zmList.length; i++) {
+        let zm = zmList[i];
+        if (con.indexOf(zm) > -1) {
+          let zm2 = _this.tableData[i][number - 1];
+          if (con.indexOf("iu") > -1) {
+            zm2 = _this.tableData[4][number - 1];
+            con = con.replace("u", zm2);
+          } else if (con.indexOf("ui") > -1) {
+            zm2 = _this.tableData[3][number - 1];
+            con = con.replace("i", zm2);
+          } else if (zm == "v") {
+            if (
+              con.indexOf("yv") > -1 ||
+              con.indexOf("jv") > -1 ||
+              con.indexOf("qv") > -1 ||
+              con.indexOf("xv") > -1
+            ) {
+              zm2 = _this.tableData[4][number - 1];
+              con = con.replace("v", zm2);
+            }
+          } else {
+            con = con.replace(zm, zm2);
+          }
+
+          break;
+        }
       }
-      console.log(numList);
-      let arr = valItem.split(reg);
-      console.log(arr);
+      return con;
     },
   },
   //生命周期 - 创建完成(可以访问当前this实例)

+ 1 - 1
src/components/Header.vue

@@ -250,7 +250,7 @@ export default {
     QuitLogin() {
       window.location.href = "/";
       removeSession("SysList");
-      // removeToken();
+      removeToken();
       this.userShow = false;
       this.userMessage = null;
     },

+ 2 - 2
vue.config.js

@@ -42,8 +42,8 @@ module.exports = {
       // change xxx-api/login => mock/login
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        //target: `http://gcls.utschool.cn/`,
-        target: `http://gcls.helxsoft.cn/`,
+        target: `http://gcls.utschool.cn/`,
+        //target: `http://gcls.helxsoft.cn/`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''