|
@@ -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实例)
|