main.js 75 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555
  1. import common from '../utils/util';
  2. var app = getApp();
  3. var dataSendTimeout = 0;
  4. function getData(url, callback) {
  5. if (!app.globalData.IsProduction)
  6. console.log("加密前的结果为===", url);
  7. var url = common.Encrypt(url);
  8. //console.log("加密后的结果为===",url);
  9. wx.request({
  10. url: app.globalData.serverUrl + url,
  11. success: function (res) {
  12. if (res.statusCode)
  13. common.checkError(res.statusCode);
  14. var data = res.data.result;
  15. callback(data);
  16. },
  17. fail: function () {
  18. wx.showToast({
  19. title: '服务器忙,请稍候再试!',
  20. duration: 3000
  21. });
  22. },
  23. });
  24. }
  25. function postData(url, postData, callback) {
  26. var url = common.Encrypt(url);
  27. //console.log("加密后的结果为===",url);
  28. wx.request({
  29. url: app.globalData.serverUrl + url,
  30. method: "POST",
  31. data: postData,
  32. success: function (res) {
  33. if (res.statusCode)
  34. common.checkError(res.statusCode);
  35. var data = res.data.result;
  36. callback(data);
  37. },
  38. fail: function () {
  39. wx.showToast({
  40. title: '服务器忙,请稍候再试!',
  41. duration: 3000
  42. });
  43. },
  44. });
  45. }
  46. function getLocalHost(callback) {
  47. if (!app.globalData.IsProduction) {
  48. var url = common.Encrypt("Ping");
  49. wx.request({
  50. url: app.globalData.serverUrlLocalhost + url,
  51. success: function (res) {
  52. app.globalData.serverUrl = app.globalData.serverUrlLocalhost;
  53. callback();
  54. },
  55. fail: function () {
  56. app.globalData.serverUrl = app.globalData.serverUrlServer;
  57. callback();
  58. },
  59. });
  60. }
  61. else {
  62. app.globalData.serverUrl = app.globalData.serverUrlServer;
  63. callback();
  64. }
  65. }
  66. function getBaiduToken() {
  67. getData('GetBaiduToken', function (data) {
  68. if (data) {
  69. app.globalData.BaiduToken = data;
  70. //console.log(app.globalData.BaiduToken);
  71. }
  72. });
  73. }
  74. function payMoney(payType, remark, money, detail, callback) {
  75. console.log(money);
  76. if (app.globalData.userInfo.UserID < 8)
  77. money = 0.01;
  78. //登录认证
  79. wx.login({
  80. success: function (res) {
  81. if (res.code) {
  82. console.log('获取用户登录态成功!' + res.code);
  83. //预支付
  84. getData('ProductPayLogin500?code=' + res.code + '&payType=7&money=' + money + '&detail=' + detail + '&productID=' + app.globalData.ProgramID+'&Remark='+remark, function (data) {
  85. if (data && data.timeStamp) {
  86. //微信支付
  87. wx.requestPayment({
  88. 'timeStamp': data.timeStamp.toString(),
  89. 'nonceStr': data.nonceStr,
  90. 'package': data.package,
  91. 'signType': 'MD5',
  92. 'paySign': data.paySign,
  93. 'success': function (res3) {
  94. console.log("success:" + res3);
  95. callback(data);
  96. },
  97. 'fail': function (err) {
  98. if (err && err.errMsg && err.errMsg.indexOf("fail cancel")) {
  99. }
  100. else {
  101. wx.showToast({
  102. title: '服务器忙,请稍候再试!',
  103. duration: 3000
  104. });
  105. }
  106. }
  107. });
  108. }
  109. });
  110. } else {
  111. console.log('获取用户登录态失败!' + res.errMsg);
  112. wx.showToast({
  113. title: '服务器忙,请稍候再试!',
  114. duration: 3000
  115. });
  116. }
  117. }
  118. });
  119. }
  120. function getTimeFormat(duration) {
  121. //console.log("duration:" + duration);
  122. var arr = ['', '', '']
  123. if (duration.indexOf("'") > 0)
  124. arr[0] = duration.substring(0, duration.indexOf("'"));
  125. if (duration.indexOf(".") > 0) {
  126. arr[1] = duration.substring(duration.indexOf("'") + 1, duration.indexOf(".") + 1);
  127. arr[2] = duration.substring(duration.indexOf(".") + 1, duration.indexOf('"'));
  128. }
  129. else {
  130. arr[1] = duration.substring(duration.indexOf("'") + 1, duration.indexOf('"'));
  131. }
  132. return arr;
  133. }
  134. function getWindowHeight() {
  135. var height = app.globalData.systemInfo.windowHeight;
  136. //console.log("app.globalData.systemInfo.windowHeight:" + app.globalData.systemInfo.windowHeight * 2);
  137. if (app.globalData.systemInfo.model) {
  138. if (height == 504 && (
  139. app.globalData.systemInfo.model.indexOf("iPhone 6<") >= 0
  140. || app.globalData.systemInfo.model.indexOf("iPhone 7<") >= 0
  141. || app.globalData.systemInfo.model.indexOf("iPhone 6s<") >= 0
  142. || app.globalData.systemInfo.model.indexOf("iPhone 5") >= 0
  143. || app.globalData.systemInfo.model.indexOf("iPhone SE") >= 0
  144. )) {
  145. height = 596;
  146. }
  147. else if (app.globalData.systemInfo.model.indexOf("iPad") >= 0) {
  148. height = 470;
  149. }
  150. }
  151. height = height * 2;
  152. if (app.globalData.systemInfo.system && app.globalData.systemInfo.system.indexOf("Android") >= 0) {
  153. height = height + 168;
  154. }
  155. else {
  156. height = height + 50;
  157. }
  158. //console.log("height:" + height);
  159. //var height = app.globalData.systemInfo.screenHeight * 2;
  160. return height;
  161. }
  162. //获取存储数据,若不存在,则获得缺省值。
  163. function getStorageValue(obj, name, defaultStatus, callback) {
  164. wx.getStorage({
  165. key: name,
  166. success: function (res) {
  167. obj.data[name] = res.data;
  168. obj.setData(obj.data);
  169. callback();
  170. },
  171. fail: function (res) {
  172. obj.data[name] = defaultStatus;
  173. obj.setData(obj.data);
  174. callback();
  175. },
  176. });
  177. }
  178. function getProgramList() {
  179. return [
  180. {
  181. id: 89,
  182. appId: 'wx46a7b4c420e6d38f',
  183. path: 'pages/index/start?SourceID=' + app.globalData.ProgramID,
  184. },
  185. {
  186. id: 98,
  187. appId: 'wx331e8dd070f01d0e',
  188. path: 'pages/index/index?SourceID=' + app.globalData.ProgramID,
  189. },
  190. {
  191. id: 99,
  192. appId: 'wxb54a6d5aff836ee3',
  193. path: 'pages/index/index?SourceID=' + app.globalData.ProgramID,
  194. },
  195. {
  196. id: 106,
  197. appId: 'wx313a8f2c0741efe1',
  198. path: 'pages/index/index?SourceID=' + app.globalData.ProgramID,
  199. },
  200. ];
  201. }
  202. function gotoFeedback() {
  203. wx.navigateToMiniProgram({
  204. appId: "wx80059777521b897c",
  205. path: "pages/index/feedback",
  206. extraData: {
  207. },
  208. success(res) {
  209. // 打开成功
  210. }
  211. });
  212. }
  213. function changeViewToString(content) {
  214. var str = content;
  215. if (str.constructor == Array) {
  216. if (str.length > 0)
  217. str = str.join(",");
  218. else
  219. str = "";
  220. }
  221. if (!str)
  222. str = ""
  223. else {
  224. str = str.replace(/\n\n\n/g, "\n\n");
  225. if (str.indexOf("\n") == 0) {
  226. str = str.substr(1);
  227. }
  228. if (str.lastIndexOf("\n") == str.length - 1) {
  229. str = str.substr(0, str.length - 1);
  230. }
  231. }
  232. return str;
  233. }
  234. function EncryptUrl(str) {
  235. if (str.constructor == Array) {
  236. if (str.length > 0)
  237. str = str.join(",");
  238. else
  239. str = "";
  240. }
  241. if (str) {
  242. str = str.replace(/baidu.com/g, "#####1#####");
  243. str = str.replace(/iciba.com/g, "#####2#####");
  244. str = str.replace(/https:\/\/pinyin.kylx365.com\/sounds/g, "#####3#####");
  245. str = str.replace(/https:\/\/miaguo-1253256735.file.myqcloud.com/g, "#####4#####");
  246. }
  247. if (str.substr(0, 1) == "\n")
  248. str = str.substr(1);
  249. return str;
  250. }
  251. function DecryptUrl(str) {
  252. if (str.constructor == Array) {
  253. if (str.length > 0)
  254. str = str.join(",");
  255. else
  256. str = "";
  257. }
  258. if (str) {
  259. str = str.replace(/#####1#####/g, "baidu.com");
  260. str = str.replace(/#####2#####/g, "iciba.com");
  261. str = str.replace(/#####3#####/g, "https://pinyin.kylx365.com/sounds");
  262. str = str.replace(/#####4#####/g, "https://miaguo-1253256735.file.myqcloud.com");
  263. }
  264. return str;
  265. }
  266. function changeStringToView(field) {
  267. var result = {};
  268. result.Field = [[]];
  269. result.Images = [];
  270. for (var j = 0; j < field.length; j++) {
  271. if (j == 0) {
  272. if (field[j].ContentType == 0 && field[j].Content && field[j].Content.length > 0) {
  273. result.Tags = field[j].Content.toString().split(",");
  274. }
  275. else {
  276. result.Tags = [];
  277. }
  278. }
  279. else {
  280. if (field[j].ContentType == j && field[j].Content && field[j].Content.length > 0) {
  281. var arrResult = [], arrSoundMark = [];
  282. var str = field[j].Content.toString();
  283. str = DecryptUrl(str);
  284. str = str.replace(/\[读/g, "\n[读");
  285. str = str.replace(/\[图/g, "\n[图");
  286. str = str.replace(/\[音/g, "\n[音");
  287. str = str.replace(/\[\/读\]/g, "[\/读]\n");
  288. str = str.replace(/\[\/图\]/g, "[\/图]\n");
  289. str = str.replace(/\[\/音\]/g, "[\/音]\n");
  290. str = str.replace(/\n\n\n/g, "\n\n");
  291. var arr = str.split("\n");
  292. for (var k = 0; k < arr.length; k++) {
  293. if (arr[k].indexOf("[图") >= 0 && arr[k].indexOf("[/图]") > 0) {
  294. var obj = {};
  295. obj.Type = "image";
  296. if (arr[k].indexOf("[图") >= 0) {
  297. obj.ContentServer = arr[k].substring(arr[k].indexOf("[图") + 3, arr[k].indexOf("[/图]"));
  298. const w = 650;
  299. if (obj.ContentServer.indexOf("w='") >= 0 && obj.ContentServer.indexOf("h='") >= 0) {
  300. obj.Width = obj.ContentServer.substring(obj.ContentServer.indexOf("w='") + 3, obj.ContentServer.indexOf("h='") - 2);
  301. obj.Height = obj.ContentServer.substring(obj.ContentServer.indexOf("h='") + 3, obj.ContentServer.indexOf("']"));
  302. obj.Height = Math.round((w * Number(obj.Height)) / Number(obj.Width));
  303. obj.Width = w;
  304. }
  305. else {
  306. obj.Width = "";
  307. obj.Height = "";
  308. }
  309. obj.ContentServer = obj.ContentServer.substring(obj.ContentServer.indexOf("]") + 1);
  310. obj.Content = getTempImage(obj.ContentServer);
  311. result.Images.push(obj.Content);
  312. }
  313. arrResult.push(obj);
  314. }
  315. else if ((arr[k].indexOf("[线]") >= 0 && arr[k].indexOf("[/线]") > 0) || (arr[k].indexOf("[光]") >= 0 && arr[k].indexOf("[/光]") > 0)) {
  316. var obj;
  317. var content = [], temp = arr[k];
  318. do {
  319. var num1 = temp.indexOf("[线]");
  320. var num2 = temp.indexOf("[光]");
  321. if (num1 >= 0 || num2 >= 0) {
  322. if ((num1 < num2 && num1 >= 0 && num2 >= 0) || (num1 >= 0 && num2 < 0)) {
  323. var temp1 = temp.substring(0, temp.indexOf("[线]"));
  324. if (temp1) {
  325. content.push({
  326. key: "normal",
  327. value: temp1,
  328. });
  329. }
  330. else {
  331. if (arr[k].indexOf("[线]") > 0) {
  332. content.push({
  333. key: "normal",
  334. value: temp,
  335. });
  336. temp = "";
  337. }
  338. else {
  339. if (temp && temp.indexOf("[线]") < 0) {
  340. content.push({
  341. key: "normal",
  342. value: temp,
  343. });
  344. temp = "";
  345. }
  346. }
  347. }
  348. }
  349. else if ((num1 > num2 && num1 >= 0 && num2 >= 0) || (num1 < 0 && num2 >= 0)) {
  350. var temp1 = temp.substring(0, temp.indexOf("[光]"));
  351. if (temp1) {
  352. content.push({
  353. key: "normal",
  354. value: temp1,
  355. });
  356. }
  357. else {
  358. if (arr[k].indexOf("[光]") > 0) {
  359. content.push({
  360. key: "normal",
  361. value: temp,
  362. });
  363. temp = "";
  364. }
  365. else {
  366. if (temp && temp.indexOf("[光]") < 0) {
  367. content.push({
  368. key: "normal",
  369. value: temp,
  370. });
  371. temp = "";
  372. }
  373. }
  374. }
  375. }
  376. else {
  377. content.push({
  378. key: "normal",
  379. value: temp,
  380. });
  381. temp = "";
  382. }
  383. }
  384. else {
  385. content.push({
  386. key: "normal",
  387. value: temp,
  388. });
  389. temp = "";
  390. }
  391. if (temp.length > 0 && (num1 >= 0 || num2 >= 0)) {
  392. if ((num1 < num2 && num1 >= 0 && num2 >= 0) || (num1 >= 0 && num2 < 0)) {
  393. temp = temp.substr(temp.indexOf("[线]") + 3);
  394. temp1 = temp.substring(0, temp.indexOf("[/线]"));
  395. if (temp1) {
  396. content.push({
  397. key: "line",
  398. value: temp1,
  399. });
  400. }
  401. temp = temp.substr(temp.indexOf("[/线]") + 4);
  402. }
  403. else if ((num1 > num2 && num1 >= 0 && num2 >= 0) || (num1 < 0 && num2 >= 0)) {
  404. temp = temp.substr(temp.indexOf("[光]") + 3);
  405. temp1 = temp.substring(0, temp.indexOf("[/光]"));
  406. if (temp1) {
  407. content.push({
  408. key: "highlighter",
  409. value: temp1,
  410. });
  411. }
  412. temp = temp.substr(temp.indexOf("[/光]") + 4);
  413. }
  414. else
  415. temp = "";
  416. }
  417. else
  418. temp = "";
  419. }
  420. while (temp.length > 0);
  421. obj = {};
  422. obj.Type = "line";
  423. obj.Content = content;
  424. arrResult.push(obj);
  425. }
  426. else if (arr[k].indexOf("[读") >= 0 && arr[k].indexOf("[/读]") > 0) {
  427. var obj = {};
  428. obj.Type = "sound";
  429. if (arr[k].indexOf("[读]") >= 0) {
  430. obj.Content = arr[k].substring(arr[k].indexOf("[读]") + 3, arr[k].indexOf("[/读]"));
  431. }
  432. else {
  433. var tempIndex = arr[k].indexOf("\']") + 2;
  434. obj.Content = arr[k].substring(tempIndex, arr[k].indexOf("[/读]"));
  435. obj.SoundMark = arr[k].substring(arr[k].indexOf("src='") + 5, arr[k].indexOf("']"));;
  436. }
  437. arrResult.push(obj);
  438. }
  439. else if (arr[k].indexOf("[音") >= 0 && arr[k].indexOf("[/音]") > 0) {
  440. var obj = {};
  441. obj.Type = "recorder";
  442. var tempIndex = arr[k].indexOf("\']") + 2;
  443. //obj.Content = arr[k].substring(tempIndex, arr[k].indexOf("[/音]"));
  444. obj.SoundMark = arr[k].substring(arr[k].indexOf("url='") + 5, arr[k].indexOf("']"));;
  445. arrResult.push(obj);
  446. }
  447. else if (arr[k] != "") {
  448. var obj = {};
  449. obj.Type = "normal";
  450. obj.Content = arr[k];
  451. arrResult.push(obj);
  452. }
  453. else if (k > 0 && arr[k] == "") {
  454. var obj = {};
  455. obj.Type = "br";
  456. obj.Content = "";
  457. arrResult.push(obj);
  458. }
  459. var obj = {};
  460. obj.Type = "return";
  461. arrResult.push(obj);
  462. }
  463. //去掉前回车换行
  464. while (arrResult[0].Type == "return"
  465. || arrResult[0].Type == "br") {
  466. arrResult.shift();
  467. if (arrResult.length == 0)
  468. break;
  469. }
  470. //去掉后回车换行
  471. for (var i = arrResult.length - 1; i >= 0; i--) {
  472. if (arrResult[i].Type == "return"
  473. || arrResult[i].Type == "br")
  474. arrResult.pop();
  475. else {
  476. break;
  477. }
  478. }
  479. result.Field.push(arrResult);
  480. }
  481. else {
  482. result.Field.push([]);
  483. }
  484. }
  485. }
  486. return result;
  487. }
  488. //得到当天任务
  489. function getTaskTodayList(callback) {
  490. var isNotData = true;
  491. var intervalTask = setTimeout(function () {
  492. if (isNotData) {
  493. wx.showLoading({
  494. title: '请稍候',
  495. mask: true,
  496. });
  497. setTimeout(function () {
  498. wx.hideLoading();
  499. }, 60000);
  500. }
  501. }, 2000);
  502. var that = this;
  503. var CardMaxNumberNew = wx.getStorageSync("CardMaxNumberNew");
  504. if (!CardMaxNumberNew)
  505. CardMaxNumberNew = 10;
  506. var CardMaxNumberHistory = wx.getStorageSync("CardMaxNumberHistory");
  507. if (!CardMaxNumberHistory)
  508. CardMaxNumberHistory = 30;
  509. var SortTypeIndex = wx.getStorageSync("SortTypeIndex");
  510. if (!SortTypeIndex)
  511. SortTypeIndex = 0;
  512. var url = 'GetMiaoguoCardToday?UserID=' + app.globalData.userInfo.UserID;
  513. url += "&New=" + CardMaxNumberNew;
  514. url += "&History=" + CardMaxNumberHistory;
  515. url += "&SortTypeIndex=" + SortTypeIndex;
  516. getData(url, function (data) {
  517. clearTimeout(intervalTask);
  518. if (isNotData) {
  519. wx.hideLoading();
  520. }
  521. isNotData = false;
  522. if (data) {
  523. app.globalData.TaskToday = data;
  524. callback(data);
  525. }
  526. });
  527. }
  528. function getTempImage(serverUrl) {
  529. if (serverUrl.indexOf("miaguo-1253256735") >= 0) {
  530. var list = wx.getStorageSync("TempImageList");
  531. if (!list)
  532. list = [];
  533. for (var i = 0; i < list.length; i++) {
  534. if (list[i].ServerUrl == serverUrl) {
  535. return list[i].TempUrl;
  536. break;
  537. }
  538. }
  539. }
  540. return serverUrl;
  541. }
  542. function getServerImage(tempUrl) {
  543. if (tempUrl.indexOf("http") < 0) {
  544. var list = wx.getStorageSync("TempImageList");
  545. if (!list)
  546. list = [];
  547. for (var i = 0; i < list.length; i++) {
  548. if (list[i].TempUrl == tempUrl) {
  549. return list[i].ServerUrl;
  550. break;
  551. }
  552. }
  553. return ""
  554. }
  555. }
  556. function saveTempImage(serverUrl, tempUrl) {
  557. if (tempUrl.indexOf("http") < 0) {
  558. var list = wx.getStorageSync("TempImageList");
  559. if (!list)
  560. list = [];
  561. var b = false;
  562. for (var i = 0; i < list.length; i++) {
  563. if (list[i].ServerUrl == serverUrl) {
  564. list[i].TempUrl = tempUrl;
  565. b = true;
  566. break;
  567. }
  568. }
  569. if (!b) {
  570. list.push({ "ServerUrl": serverUrl, "TempUrl": tempUrl });
  571. }
  572. if (list.length > 200) {
  573. list.pop();
  574. }
  575. wx.setStorageSync("TempImageList", list);
  576. }
  577. }
  578. function UploadUserConfig() {
  579. var that = this;
  580. var param1 = {};
  581. param1.CardMaxNumberNew = wx.getStorageSync("CardMaxNumberNew");
  582. param1.CardMaxNumberHistory = wx.getStorageSync("CardMaxNumberHistory");
  583. param1.SortTypeIndex = wx.getStorageSync("SortTypeIndex");
  584. param1.MemoryLevel = wx.getStorageSync("MemoryLevel");
  585. param1.ClickType = wx.getStorageSync("ClickType");
  586. param1.SecondConfigArray = wx.getStorageSync("SecondConfigArray");
  587. param1.ColorIndexArr = wx.getStorageSync("ColorIndexArr");
  588. that.postData('UploadUserConfig?Type=update&UserID=' + app.globalData.userInfo.UserID, param1, function (data) {
  589. });
  590. }
  591. function UpdateMiaoguoCardTodayAll(isShowLoading, callback) {
  592. var that = this;
  593. if (isShowLoading) {
  594. wx.showLoading({
  595. title: '请稍候',
  596. mask: true,
  597. });
  598. clearTimeout(dataSendTimeout);
  599. dataSendTimeout = setTimeout(function () {
  600. wx.hideLoading();
  601. wx.reLaunch({
  602. url: '../index/index',
  603. })
  604. }, 60000);
  605. }
  606. var list = wx.getStorageSync("ListTaskFinished");
  607. if (list && list.length > 0) {
  608. var arr = [];
  609. for (var i = 0; i < list.length; i++) {
  610. var obj = {};
  611. obj.MiaoguoCardID = list[i].Card.MiaoguoCardID;
  612. obj.IntervalTime = list[i].IntervalTime;
  613. obj.BtnNumber = list[i].BtnNumber;
  614. obj.FontSize = list[i].Card.FontSize;
  615. obj.Duration = list[i].Duration;
  616. obj.LearningType = list[i].LearningType;
  617. obj.IsCollect = list[i].Card.IsCollect;
  618. arr.push(obj);
  619. }
  620. that.postData('UpdateMiaoguoCardTodayAll?UserID=' + app.globalData.userInfo.UserID, {
  621. List: arr,
  622. }, function (data) {
  623. if (isShowLoading) {
  624. wx.hideLoading();
  625. clearTimeout(dataSendTimeout);
  626. }
  627. if (data) {
  628. wx.removeStorageSync("ListTaskFinished");
  629. }
  630. if (callback) {
  631. callback();
  632. }
  633. });
  634. }
  635. else {
  636. wx.hideLoading();
  637. clearTimeout(dataSendTimeout);
  638. if (callback) {
  639. callback();
  640. }
  641. }
  642. }
  643. function updateSearchList(obj) {
  644. var arr = wx.getStorageSync("SearchWord3");
  645. if (!arr)
  646. arr = [];
  647. if (obj.Type == "shici") {
  648. if (obj.Key.indexOf("《") == 0)
  649. obj.Key = obj.Key.substring(1, obj.Key.length - 1);
  650. }
  651. for (var i = 0; i < arr.length; i++) {
  652. if (arr[i].Key == obj.Key
  653. && arr[i].Type == obj.Type
  654. && arr[i].Author == obj.Author
  655. ) {
  656. if (obj.Type == "shici") {
  657. if (arr[i].ShiciUrl == obj.ShiciUrl) {
  658. obj.Value = arr[i].Value;
  659. arr.splice(i, 1);
  660. break;
  661. }
  662. }
  663. else {
  664. obj.Value = arr[i].Value;
  665. arr.splice(i, 1);
  666. break;
  667. }
  668. }
  669. }
  670. if (obj.Key)
  671. arr.unshift(obj);
  672. if (arr.length > 100) {
  673. arr.pop();
  674. }
  675. wx.setStorageSync("SearchWord3", arr);
  676. app.globalData.SearchItem = obj.Value;
  677. }
  678. function checkIsIPhoneX() {
  679. var isIphoneX = false;
  680. if (app.globalData.systemInfo.model.indexOf("iPhone X") >= 0
  681. || app.globalData.systemInfo.model.indexOf("iPhone X") >= 0) {
  682. isIphoneX = true;
  683. }
  684. return isIphoneX;
  685. }
  686. //设置收藏
  687. function setCollect(id, collect, callback) {
  688. var that = this;
  689. if (collect) {
  690. wx.showToast({
  691. title: '已收藏',
  692. duration: 2000,
  693. image: "../images/universalpic_fav_white_120x110.png",
  694. });
  695. }
  696. else {
  697. wx.showToast({
  698. title: '取消收藏',
  699. duration: 2000,
  700. image: "../images/universalpic_fav_white_120x110.png",
  701. });
  702. }
  703. getData("UpdateMiaoguoCardInfo?UserID=" + app.globalData.userInfo.UserID + "&MiaoguoCardID=" + id + "&IsCollect=" + collect, function (data) {
  704. if (callback)
  705. callback();
  706. });
  707. }
  708. function buildInitData(callback) {
  709. var that = this;
  710. wx.showLoading({
  711. title: '数据初始化',
  712. });
  713. setTimeout(function () {
  714. wx.hideLoading();
  715. }, 5000);
  716. getData('BuildInitData?UserID=' + app.globalData.userInfo.UserID, function (data) {
  717. wx.hideLoading();
  718. if (data) {
  719. if (callback)
  720. callback();
  721. }
  722. });
  723. }
  724. function getMemoryLevelAll() {
  725. return [
  726. {
  727. Key: "长文",
  728. Value: ["答错重来", "困难犹豫", "短暂思考", "脱口而出"]
  729. }, {
  730. Key: "短文",
  731. Value: ["答错", "生疏", "一般", "流利"]
  732. }, {
  733. Key: "特色",
  734. Value: ["不过", "难过", "通过", "秒过"]
  735. }, {
  736. Key: "再现间隔",
  737. Value: ["<10分钟", "2天", "4天", "8天"]
  738. },
  739. ];
  740. }
  741. function getMemoryLevel(index, number, time) {
  742. var arr = getMemoryLevelAll();
  743. if (index < 3)
  744. return arr[index].Value[number];
  745. else
  746. return replaceStr(time);
  747. function replaceStr(data) {
  748. var result = "";
  749. if (data.indexOf("d") > 0) {
  750. var dayNum = Number(data.replace("d", ""));
  751. if (dayNum >= 365) {
  752. var year1 = Math.floor(dayNum / 365);
  753. var year = year1 + Math.round(10 * (dayNum - year1 * 365) / 365) / 10;
  754. result = year + "年";
  755. } else {
  756. if (dayNum > 31) {
  757. var month1 = Math.floor(dayNum / 30);
  758. var month = month1 + Math.round(10 * (dayNum - month1 * 30) / 30) / 10;
  759. result = month + "月";
  760. } else
  761. result = data.replace("d", "天");
  762. }
  763. } else if (data.indexOf("m") > 0)
  764. result = "<" + data.replace("m", "分钟");
  765. return result;
  766. }
  767. }
  768. //得到要检验的汉字列表
  769. function GetHanziUnitWords(unitsID,testType,callback){
  770. getData('GetHanziUnitWords?UnitID=' + unitsID, function (data) {
  771. if (data) {
  772. var TaskList = [];
  773. var words = data;
  774. for (var k = 0; k < words.length; k++) {
  775. var taskInfo = {
  776. FontSize: 144,
  777. TagWidth:136,
  778. Content: [
  779. { ContentType: 0, Content: [] },
  780. { ContentType: 1, Content: [] },
  781. { ContentType: 2, Content: [] },
  782. ]
  783. };
  784. taskInfo.Word=words[k].Name;
  785. var pinyinNormal = "(" + getPinyinNormal(words[k].Pinyin) + ")";
  786. taskInfo.ReadString = words[k].Name + pinyinNormal + "," + words[k].CombineWords + "的" + words[k].Name + pinyinNormal;
  787. if (testType == "read") {
  788. taskInfo.Content[0].Content = ["怎么念"];
  789. var question = words[k].CombineWords;
  790. question = common.ReplaceAllString(question, words[k].Name, "(" + words[k].Name + ")");
  791. taskInfo.Content[1].Content = question;
  792. var answer = "[读 src='" + taskInfo.ReadString + "']" + words[k].Pinyin + "[/读]";
  793. taskInfo.Content[2].Content = answer;
  794. if (words[k].CombineWords.length > 6) {
  795. taskInfo.FontSize = 108;
  796. if (words[k].CombineWords.length > 10) {
  797. taskInfo.FontSize = 68;
  798. }
  799. }
  800. }
  801. else if (testType == "write") {
  802. taskInfo.Content[0].Content = ["怎么写"];
  803. var question = words[k].CombineWords;
  804. var question2 = common.ReplaceAllString(question, words[k].Name, words[k].Pinyin);
  805. question = "[读 src='" + taskInfo.ReadString + "']" + question2 + "[/读]"
  806. taskInfo.Content[1].Content = question;
  807. var answer = words[k].Name;
  808. answer += "[图 w='650' h='650']" + words[k].BiShunUrl + "[/图]";
  809. taskInfo.Content[2].Content = answer;
  810. if (question2.length > 6) {
  811. taskInfo.FontSize = 108;
  812. if (question2.length > 10) {
  813. taskInfo.FontSize = 68;
  814. if (question2.length > 14) {
  815. taskInfo.FontSize = 48;
  816. }
  817. }
  818. }
  819. }
  820. taskInfo.ContentNew = changeStringToView(taskInfo.Content);
  821. TaskList.push(taskInfo);
  822. }
  823. callback(TaskList);
  824. }
  825. else{
  826. callback([]);
  827. }
  828. });
  829. }
  830. function getDetailColor(index) {
  831. var arr = [
  832. {//随机
  833. Name: "每次更换配色",
  834. },
  835. {
  836. ID: 1,
  837. Name: "阿拉斯加海湾",
  838. BackColor: "#1F3C88",
  839. BackColor2: "#19306C",
  840. LineColor: "#F1AB1E",
  841. FieldColor: "#ACC3DC",
  842. },
  843. {
  844. ID: 2,
  845. Name: "维多利亚",
  846. BackColor: "#5D4188",
  847. BackColor2: "#4D3571",
  848. LineColor: "#FCA0BE",
  849. FieldColor: "#C6BFD1",
  850. },
  851. {
  852. ID: 3,
  853. Name: "骤雨后的港口",
  854. BackColor: "#693648",
  855. BackColor2: "#532938",
  856. LineColor: "#F19E84",
  857. FieldColor: "#D3A9B8",
  858. },
  859. {
  860. ID: 4,
  861. Name: "暖房",
  862. BackColor: "#365711",
  863. BackColor2: "#27420B",
  864. LineColor: "#ADD303",
  865. FieldColor: "#ADC493",
  866. },
  867. ];
  868. if (index > 0)
  869. return arr[index];
  870. else if (index == 0)
  871. return arr[common.random(1, arr.length - 1)];
  872. else if (index == -1)
  873. return arr;
  874. }
  875. function getShareImageBackColor() {
  876. var arr = [
  877. "#616161",
  878. "#E13528",
  879. "#634033",
  880. "#EF7823",
  881. "#6C8F32",
  882. "#20783C",
  883. "#06B39F",
  884. "#0578DC",
  885. "#484999",
  886. "#613893",
  887. "#912AA0",
  888. "#C5326A",
  889. "#FF7A91",
  890. ];
  891. return arr[common.random(0, arr.length - 1)];
  892. }
  893. function getPinyin(pinyin) {
  894. var result = [];
  895. var arr = getPinyinArray();
  896. var pinyinArray = pinyin.split(" ");
  897. for (var j = 0; j < pinyinArray.length; j++) {
  898. for (var i = 0; i < arr.length; i++) {
  899. if (arr[i][1] == pinyinArray[j]) {
  900. var url = app.globalData.pinyinUrl;
  901. url = url.replace("[pinyin]", arr[i][0]);
  902. result.push(url);
  903. break;
  904. }
  905. }
  906. }
  907. return result.join(",");
  908. }
  909. function getPinyinNormal(pinyin) {
  910. var result = "";
  911. var arr = getPinyinArray();
  912. for (var i = 0; i < arr.length; i++) {
  913. if (arr[i][1] == pinyin) {
  914. result = arr[i][0];
  915. break;
  916. }
  917. }
  918. return result;
  919. }
  920. function getHanzi(callback) {
  921. var that = this;
  922. wx.showLoading({
  923. title: '请稍候',
  924. mask: true,
  925. });
  926. var time = wx.getStorageSync("HanziUpdateTime");
  927. getData('GetHanziAll?HasEnglish=true&UpdateTime=' + time, function (data) {
  928. wx.hideLoading();
  929. if (data) {
  930. var arr = [];
  931. if (data.List) {
  932. arr = common.Decrypt(data.List);
  933. wx.setStorageSync("HanziAll", arr);
  934. var arrEng = common.Decrypt(data.EngList);
  935. wx.setStorageSync("EnglishAll", arrEng);
  936. wx.setStorageSync("HanziUpdateTime", data.UpdateTime);
  937. }
  938. else {
  939. arr = wx.getStorageSync("HanziAll");
  940. if (arr)
  941. arr = JSON.parse(arr);
  942. }
  943. callback(arr);
  944. }
  945. });
  946. }
  947. function getPinyinArray() {
  948. var arrPinyin = [
  949. ['a1', 'ā', ['阿']],
  950. ['a2', 'á', ['啊']],
  951. ['a3', 'ǎ', ['呵']],
  952. ['a4', 'à', ['啊']],
  953. ['a5', 'a', ['']],
  954. ['ai1', 'āi', ['挨']],
  955. ['ai2', 'ái', ['癌']],
  956. ['ai3', 'ǎi', ['矮']],
  957. ['ai4', 'ài', ['爱']],
  958. ['an1', 'ān', ['安']],
  959. ['an2', 'án', ['玵']],
  960. ['an3', 'ǎn', ['俺']],
  961. ['an4', 'àn', ['岸']],
  962. ['ang1', 'āng', ['肮']],
  963. ['ang2', 'áng', ['昂']],
  964. ['ang4', 'àng', ['盎']],
  965. ['ao1', 'āo', ['凹']],
  966. ['ao2', 'áo', ['熬']],
  967. ['ao3', 'ǎo', ['袄']],
  968. ['ao4', 'ào', ['傲']],
  969. ['ba1', 'bā', ['八']],
  970. ['ba2', 'bá', ['拔']],
  971. ['ba3', 'bǎ', ['把']],
  972. ['ba4', 'bà', ['爸']],
  973. ['ba5', 'ba', ['']],
  974. ['bai1', 'bāi', ['掰']],
  975. ['bai2', 'bái', ['白']],
  976. ['bai3', 'bǎi', ['百']],
  977. ['bai4', 'bài', ['败']],
  978. ['bai5', 'bai', ['']],
  979. ['ban1', 'bān', ['班']],
  980. ['ban3', 'bǎn', ['板']],
  981. ['ban4', 'bàn', ['半']],
  982. ['ban5', 'ban', ['']],
  983. ['bang1', 'bāng', ['帮']],
  984. ['bang3', 'bǎng', ['榜']],
  985. ['bang4', 'bàng', ['傍']],
  986. ['bao1', 'bāo', ['包']],
  987. ['bao2', 'báo', ['薄']],
  988. ['bao3', 'bǎo', ['宝']],
  989. ['bao4', 'bào', ['抱']],
  990. ['bei1', 'bēi', ['杯']],
  991. ['bei3', 'běi', ['北']],
  992. ['bei4', 'bèi', ['背']],
  993. ['bei5', 'bei', ['']],
  994. ['ben1', 'bēn', ['奔']],
  995. ['ben2', 'bén', ['']],
  996. ['ben3', 'běn', ['本']],
  997. ['ben4', 'bèn', ['笨']],
  998. ['beng1', 'bēng', ['崩', '绷']],
  999. ['beng2', 'béng', ['甭']],
  1000. ['beng3', 'běng', ['绷']],
  1001. ['beng4', 'bèng', ['蹦', '泵']],
  1002. ['bi1', 'bī', ['逼']],
  1003. ['bi2', 'bí', ['鼻']],
  1004. ['bi3', 'bǐ', ['笔']],
  1005. ['bi4', 'bì', ['闭']],
  1006. ['bian1', 'biān', ['边']],
  1007. ['bian3', 'biǎn', ['扁']],
  1008. ['bian4', 'biàn', ['变']],
  1009. ['bian5', 'bian', ['']],
  1010. ['biao1', 'biāo', ['标']],
  1011. ['biao3', 'biǎo', ['表']],
  1012. ['biao4', 'biào', ['鳔']],
  1013. ['bie1', 'biē', ['憋']],
  1014. ['bie2', 'bié', ['别']],
  1015. ['bie4', 'biè', ['别']],
  1016. ['bin1', 'bīn', ['宾', '彬', '滨']],
  1017. ['bin4', 'bìn', ['鬓', '殡']],
  1018. ['bing1', 'bīng', ['冰', '兵']],
  1019. ['bing3', 'bǐng', ['饼', '丙', '屏']],
  1020. ['bing4', 'bìng', ['病', '并']],
  1021. ['bing5', 'bing', ['']],
  1022. ['bo1', 'bō', ['波']],
  1023. ['bo2', 'bó', ['伯']],
  1024. ['bo3', 'bǒ', ['跛']],
  1025. ['bo4', 'bò', ['薄']],
  1026. ['bo5', 'bo', ['卜']],
  1027. ['bu1', 'bū', ['逋']],
  1028. ['bu2', 'bú', ['醭']],
  1029. ['bu3', 'bǔ', ['补']],
  1030. ['bu4', 'bù', ['不']],
  1031. ['bu5', 'bu', ['']],
  1032. ['ca1', 'cā', ['擦']],
  1033. ['ca3', 'cǎ', ['礤']],
  1034. ['cai1', 'cāi', ['猜']],
  1035. ['cai2', 'cái', ['才']],
  1036. ['cai3', 'cǎi', ['彩']],
  1037. ['cai4', 'cài', ['菜']],
  1038. ['cai5', 'cai', ['']],
  1039. ['can1', 'cān', ['参']],
  1040. ['can2', 'cán', ['蚕']],
  1041. ['can3', 'cǎn', ['惨']],
  1042. ['can4', 'càn', ['灿']],
  1043. ['cang1', 'cāng', ['苍']],
  1044. ['cang2', 'cáng', ['藏']],
  1045. ['cao1', 'cāo', ['操']],
  1046. ['cao2', 'cáo', ['曹']],
  1047. ['cao3', 'cǎo', ['草']],
  1048. ['ce4', 'cè', ['侧']],
  1049. ['cen1', 'cēn', ['参']],
  1050. ['cen2', 'cén', ['岑']],
  1051. ['ceng1', 'cēng', ['噌']],
  1052. ['ceng2', 'céng', ['层', '曾']],
  1053. ['ceng4', 'cèng', ['蹭']],
  1054. ['ceng5', 'ceng', ['']],
  1055. ['cha1', 'chā', ['叉']],
  1056. ['cha2', 'chá', ['查']],
  1057. ['cha3', 'chǎ', ['衩']],
  1058. ['cha4', 'chà', ['差']],
  1059. ['chai1', 'chāi', ['拆']],
  1060. ['chai2', 'chái', ['柴']],
  1061. ['chai4', 'chài', ['虿']],
  1062. ['chan1', 'chān', ['掺']],
  1063. ['chan2', 'chán', ['缠']],
  1064. ['chan3', 'chǎn', ['产']],
  1065. ['chan4', 'chàn', ['颤']],
  1066. ['chan5', 'chan', ['']],
  1067. ['chang1', 'chāng', ['昌']],
  1068. ['chang2', 'cháng', ['长']],
  1069. ['chang3', 'chǎng', ['厂']],
  1070. ['chang4', 'chàng', ['唱']],
  1071. ['chang5', 'chang', ['']],
  1072. ['chao1', 'chāo', ['抄']],
  1073. ['chao2', 'cháo', ['潮']],
  1074. ['chao3', 'chǎo', ['吵']],
  1075. ['che1', 'chē', ['车']],
  1076. ['che3', 'chě', ['扯']],
  1077. ['che4', 'chè', ['彻']],
  1078. ['chen1', 'chēn', ['抻', '琛']],
  1079. ['chen2', 'chén', ['尘', '沉', '陈']],
  1080. ['chen3', 'chěn', ['碜']],
  1081. ['chen4', 'chèn', ['衬', '称', '趁']],
  1082. ['chen5', 'chen', ['']],
  1083. ['cheng1', 'chēng', ['称', '秤']],
  1084. ['cheng2', 'chéng', ['成', '程', '乘']],
  1085. ['cheng3', 'chěng', ['逞', '骋']],
  1086. ['cheng4', 'chèng', ['称', '秤']],
  1087. ['cheng5', 'cheng', ['']],
  1088. ['chi1', 'chī', ['吃']],
  1089. ['chi2', 'chí', ['池']],
  1090. ['chi3', 'chǐ', ['尺']],
  1091. ['chi4', 'chì', ['翅']],
  1092. ['chi5', 'chi', ['']],
  1093. ['chong1', 'chōng', ['充']],
  1094. ['chong2', 'chóng', ['虫']],
  1095. ['chong3', 'chǒng', ['宠']],
  1096. ['chong4', 'chòng', ['冲']],
  1097. ['chou1', 'chōu', ['抽']],
  1098. ['chou2', 'chóu', ['仇']],
  1099. ['chou3', 'chǒu', ['丑']],
  1100. ['chou4', 'chòu', ['臭']],
  1101. ['chou5', 'chou', ['']],
  1102. ['chu1', 'chū', ['出']],
  1103. ['chu2', 'chú', ['除']],
  1104. ['chu3', 'chǔ', ['楚']],
  1105. ['chu4', 'chù', ['处']],
  1106. ['chu5', 'chu', ['']],
  1107. ['chua1', 'chuā', ['欻']],
  1108. ['chuai1', 'chuāi', ['揣']],
  1109. ['chuai2', 'chuái', ['膗']],
  1110. ['chuai3', 'chuǎi', ['揣']],
  1111. ['chuai4', 'chuài', ['踹']],
  1112. ['chuan1', 'chuān', ['川']],
  1113. ['chuan2', 'chuán', ['船']],
  1114. ['chuan3', 'chuǎn', ['喘']],
  1115. ['chuan4', 'chuàn', ['串']],
  1116. ['chuang1', 'chuāng', ['窗']],
  1117. ['chuang2', 'chuáng', ['床']],
  1118. ['chuang3', 'chuǎng', ['闯']],
  1119. ['chuang4', 'chuàng', ['创']],
  1120. ['chui1', 'chuī', ['吹']],
  1121. ['chui2', 'chuí', ['垂']],
  1122. ['chui4', 'chuì', ['']],
  1123. ['chun1', 'chūn', ['春']],
  1124. ['chun2', 'chún', ['纯']],
  1125. ['chun3', 'chǔn', ['蠢']],
  1126. ['chun5', 'chun', ['']],
  1127. ['chuo1', 'chuō', ['戳']],
  1128. ['chuo4', 'chuò', ['绰']],
  1129. ['ci1', 'cī', ['疵']],
  1130. ['ci2', 'cí', ['词']],
  1131. ['ci3', 'cǐ', ['此']],
  1132. ['ci4', 'cì', ['刺']],
  1133. ['cong1', 'cōng', ['聪']],
  1134. ['cong2', 'cóng', ['从']],
  1135. ['cou4', 'còu', ['凑']],
  1136. ['cu1', 'cū', ['粗']],
  1137. ['cu2', 'cú', ['殂']],
  1138. ['cu3', 'cǔ', ['']],
  1139. ['cu4', 'cù', ['醋']],
  1140. ['cuan1', 'cuān', ['蹿']],
  1141. ['cuan2', 'cuán', ['攒']],
  1142. ['cuan4', 'cuàn', ['窜']],
  1143. ['cui1', 'cuī', ['催']],
  1144. ['cui3', 'cuǐ', ['璀']],
  1145. ['cui4', 'cuì', ['脆']],
  1146. ['cun1', 'cūn', ['村']],
  1147. ['cun2', 'cún', ['存']],
  1148. ['cun3', 'cǔn', ['忖']],
  1149. ['cun4', 'cùn', ['寸']],
  1150. ['cun5', 'cun', ['']],
  1151. ['cuo1', 'cuō', ['搓']],
  1152. ['cuo2', 'cuó', ['矬']],
  1153. ['cuo3', 'cuǒ', ['脞']],
  1154. ['cuo4', 'cuò', ['错']],
  1155. ['cuo5', 'cuo', ['']],
  1156. ['da1', 'dā', ['搭']],
  1157. ['da2', 'dá', ['答']],
  1158. ['da3', 'dǎ', ['打']],
  1159. ['da4', 'dà', ['大']],
  1160. ['da5', 'da', ['']],
  1161. ['dai1', 'dāi', ['呆']],
  1162. ['dai3', 'dǎi', ['歹']],
  1163. ['dai4', 'dài', ['带']],
  1164. ['dan1', 'dān', ['单']],
  1165. ['dan3', 'dǎn', ['胆']],
  1166. ['dan4', 'dàn', ['但']],
  1167. ['dan5', 'dan', ['']],
  1168. ['dang1', 'dāng', ['当']],
  1169. ['dang3', 'dǎng', ['党']],
  1170. ['dang4', 'dàng', ['荡']],
  1171. ['dang5', 'dang', ['']],
  1172. ['dao1', 'dāo', ['刀']],
  1173. ['dao3', 'dǎo', ['岛']],
  1174. ['dao4', 'dào', ['到']],
  1175. ['dao5', 'dao', ['']],
  1176. ['de', 'de', ['嘚']],
  1177. ['de2', 'dé', ['得']],
  1178. ['de5', 'de', ['的']],
  1179. ['dei3', 'děi', ['得']],
  1180. ['deng1', 'dēng', ['灯', '登', '蹬']],
  1181. ['deng3', 'děng', ['等']],
  1182. ['deng4', 'dèng', ['邓', '瞪', '凳']],
  1183. ['di1', 'dī', ['低']],
  1184. ['di2', 'dí', ['敌']],
  1185. ['di3', 'dǐ', ['底']],
  1186. ['di4', 'dì', ['地']],
  1187. ['di5', 'di', ['']],
  1188. ['dia3', 'diǎ', ['嗲']],
  1189. ['dian1', 'diān', ['颠']],
  1190. ['dian3', 'diǎn', ['点']],
  1191. ['dian4', 'diàn', ['电']],
  1192. ['diao1', 'diāo', ['刁']],
  1193. ['diao3', 'diǎo', ['屌']],
  1194. ['diao4', 'diào', ['掉']],
  1195. ['die1', 'diē', ['爹']],
  1196. ['die2', 'dié', ['蝶']],
  1197. ['ding1', 'dīng', ['丁', '叮', '盯']],
  1198. ['ding3', 'dǐng', ['顶', '鼎']],
  1199. ['ding4', 'dìng', ['订', '定', '腚']],
  1200. ['diu1', 'diū', ['丢']],
  1201. ['dong1', 'dōng', ['东']],
  1202. ['dong3', 'dǒng', ['懂']],
  1203. ['dong4', 'dòng', ['洞']],
  1204. ['dong5', 'dong', ['']],
  1205. ['dou1', 'dōu', ['都']],
  1206. ['dou3', 'dǒu', ['斗']],
  1207. ['dou4', 'dòu', ['豆']],
  1208. ['dou5', 'dou', ['']],
  1209. ['du1', 'dū', ['督']],
  1210. ['du2', 'dú', ['独']],
  1211. ['du3', 'dǔ', ['堵']],
  1212. ['du4', 'dù', ['肚']],
  1213. ['du5', 'du', ['']],
  1214. ['duan1', 'duān', ['端']],
  1215. ['duan3', 'duǎn', ['短']],
  1216. ['duan4', 'duàn', ['断']],
  1217. ['dui1', 'duī', ['堆']],
  1218. ['dui4', 'duì', ['对']],
  1219. ['dun1', 'dūn', ['吨']],
  1220. ['dun3', 'dǔn', ['盹']],
  1221. ['dun4', 'dùn', ['顿']],
  1222. ['duo1', 'duō', ['多']],
  1223. ['duo2', 'duó', ['夺']],
  1224. ['duo3', 'duǒ', ['躲']],
  1225. ['duo4', 'duò', ['惰']],
  1226. ['duo5', 'duo', ['']],
  1227. ['e1', 'ē', ['婀']],
  1228. ['e2', 'é', ['鹅']],
  1229. ['e3', 'ě', ['恶']],
  1230. ['e4', 'è', ['饿']],
  1231. ['ei1', 'ēi', ['诶']],
  1232. ['en1', 'ēn', ['恩']],
  1233. ['en4', 'èn', ['摁']],
  1234. ['en5', 'en', ['']],
  1235. ['er2', 'ér', ['儿']],
  1236. ['er3', 'ěr', ['耳']],
  1237. ['er4', 'èr', ['二']],
  1238. ['fa1', 'fā', ['发']],
  1239. ['fa2', 'fá', ['罚']],
  1240. ['fa3', 'fǎ', ['法']],
  1241. ['fa4', 'fà', ['发']],
  1242. ['fa5', 'fa', ['']],
  1243. ['fan1', 'fān', ['翻']],
  1244. ['fan2', 'fán', ['凡']],
  1245. ['fan3', 'fǎn', ['反']],
  1246. ['fan4', 'fàn', ['范']],
  1247. ['fan5', 'fan', ['']],
  1248. ['fang1', 'fāng', ['方']],
  1249. ['fang2', 'fáng', ['房']],
  1250. ['fang3', 'fǎng', ['访']],
  1251. ['fang4', 'fàng', ['放']],
  1252. ['fang5', 'fang', ['']],
  1253. ['fei1', 'fēi', ['飞']],
  1254. ['fei2', 'féi', ['肥']],
  1255. ['fei3', 'fěi', ['匪']],
  1256. ['fei4', 'fèi', ['费']],
  1257. ['fen1', 'fēn', ['分', '芬', '纷']],
  1258. ['fen2', 'fén', ['坟', '焚', '汾']],
  1259. ['fen3', 'fěn', ['粉']],
  1260. ['fen4', 'fèn', ['分', '份', '奋']],
  1261. ['fen5', 'fen', ['']],
  1262. ['feng1', 'fēng', ['风', '丰', '峰',]],
  1263. ['feng2', 'féng', ['冯', '逢', '缝']],
  1264. ['feng3', 'fěng', ['讽']],
  1265. ['feng4', 'fèng', ['凤', '奉', '俸']],
  1266. ['feng5', 'feng', ['']],
  1267. ['fo2', 'fó', ['佛']],
  1268. ['fou2', 'fóu', ['']],
  1269. ['fou3', 'fǒu', ['否']],
  1270. ['fu1', 'fū', ['夫']],
  1271. ['fu2', 'fú', ['扶']],
  1272. ['fu3', 'fǔ', ['腐']],
  1273. ['fu4', 'fù', ['父']],
  1274. ['fu5', 'fu', ['']],
  1275. ['ga1', 'gā', ['嘎']],
  1276. ['ga2', 'gá', ['轧']],
  1277. ['ga3', 'gǎ', ['尕']],
  1278. ['ga4', 'gà', ['尬']],
  1279. ['gai1', 'gāi', ['该']],
  1280. ['gai3', 'gǎi', ['改']],
  1281. ['gai4', 'gài', ['盖']],
  1282. ['gan1', 'gān', ['肝']],
  1283. ['gan3', 'gǎn', ['敢']],
  1284. ['gan4', 'gàn', ['干']],
  1285. ['gang1', 'gāng', ['刚']],
  1286. ['gang3', 'gǎng', ['岗']],
  1287. ['gang4', 'gàng', ['杠']],
  1288. ['gang5', 'gang', ['']],
  1289. ['gao1', 'gāo', ['高']],
  1290. ['gao3', 'gǎo', ['搞']],
  1291. ['gao4', 'gào', ['告']],
  1292. ['ge1', 'gē', ['歌']],
  1293. ['ge2', 'gé', ['革']],
  1294. ['ge3', 'gě', ['葛']],
  1295. ['ge4', 'gè', ['个']],
  1296. ['ge5', 'ge', ['']],
  1297. ['gei3', 'gěi', ['给']],
  1298. ['gei5', 'gei', ['']],
  1299. ['gen1', 'gēn', ['根', '跟']],
  1300. ['gen2', 'gén', ['哏']],
  1301. ['gen3', 'gěn', ['艮']],
  1302. ['gen4', 'gèn', ['茛']],
  1303. ['geng1', 'gēng', ['更', '羹']],
  1304. ['geng3', 'gěng', ['耿', '埂']],
  1305. ['geng4', 'gèng', ['更']],
  1306. ['gong1', 'gōng', ['工']],
  1307. ['gong3', 'gǒng', ['巩']],
  1308. ['gong4', 'gòng', ['共']],
  1309. ['gong5', 'gong', ['']],
  1310. ['gou1', 'gōu', ['沟']],
  1311. ['gou3', 'gǒu', ['狗']],
  1312. ['gou4', 'gòu', ['够']],
  1313. ['gu1', 'gū', ['姑']],
  1314. ['gu2', 'gú', ['骨']],
  1315. ['gu3', 'gǔ', ['古']],
  1316. ['gu4', 'gù', ['故']],
  1317. ['gu5', 'gu', ['']],
  1318. ['gua1', 'guā', ['瓜']],
  1319. ['gua3', 'guǎ', ['剐']],
  1320. ['gua4', 'guà', ['挂']],
  1321. ['guai1', 'guāi', ['乖']],
  1322. ['guai3', 'guǎi', ['拐']],
  1323. ['guai4', 'guài', ['怪']],
  1324. ['guan1', 'guān', ['关']],
  1325. ['guan2', 'guán', ['']],
  1326. ['guan3', 'guǎn', ['馆']],
  1327. ['guan4', 'guàn', ['惯']],
  1328. ['guang1', 'guāng', ['光']],
  1329. ['guang3', 'guǎng', ['广']],
  1330. ['guang4', 'guàng', ['逛']],
  1331. ['guang5', 'guang', ['']],
  1332. ['gui1', 'guī', ['归']],
  1333. ['gui3', 'guǐ', ['鬼']],
  1334. ['gui4', 'guì', ['贵']],
  1335. ['gun1', 'gūn', ['']],
  1336. ['gun3', 'gǔn', ['滚']],
  1337. ['gun4', 'gùn', ['棍']],
  1338. ['guo1', 'guō', ['锅']],
  1339. ['guo2', 'guó', ['国']],
  1340. ['guo3', 'guǒ', ['果']],
  1341. ['guo4', 'guò', ['过']],
  1342. ['guo5', 'guo', ['']],
  1343. ['ha1', 'hā', ['哈']],
  1344. ['ha2', 'há', ['蛤']],
  1345. ['ha3', 'hǎ', ['哈']],
  1346. ['hai1', 'hāi', ['嗨']],
  1347. ['hai2', 'hái', ['孩']],
  1348. ['hai3', 'hǎi', ['海']],
  1349. ['hai4', 'hài', ['害']],
  1350. ['hai5', 'hai', ['']],
  1351. ['han1', 'hān', ['鼾']],
  1352. ['han2', 'hán', ['含']],
  1353. ['han3', 'hǎn', ['喊']],
  1354. ['han4', 'hàn', ['汉']],
  1355. ['han5', 'han', ['']],
  1356. ['hang1', 'hāng', ['夯']],
  1357. ['hang2', 'háng', ['航']],
  1358. ['hang3', 'hǎng', ['']],
  1359. ['hang4', 'hàng', ['巷']],
  1360. ['hao1', 'hāo', ['蒿']],
  1361. ['hao2', 'háo', ['毫']],
  1362. ['hao3', 'hǎo', ['好']],
  1363. ['hao4', 'hào', ['号']],
  1364. ['hao5', 'hao', ['']],
  1365. ['he1', 'hē', ['喝']],
  1366. ['he2', 'hé', ['河']],
  1367. ['he4', 'hè', ['鹤']],
  1368. ['he5', 'he', ['']],
  1369. ['hei1', 'hēi', ['黑']],
  1370. ['hen2', 'hén', ['痕']],
  1371. ['hen3', 'hěn', ['很', '狠']],
  1372. ['hen4', 'hèn', ['恨']],
  1373. ['heng1', 'hēng', ['亨', '哼']],
  1374. ['heng2', 'héng', ['恒', '横', '衡']],
  1375. ['heng4', 'hèng', ['横']],
  1376. ['hong1', 'hōng', ['轰']],
  1377. ['hong2', 'hóng', ['红']],
  1378. ['hong3', 'hǒng', ['哄']],
  1379. ['hong4', 'hòng', ['讧']],
  1380. ['hou1', 'hōu', ['齁']],
  1381. ['hou2', 'hóu', ['猴']],
  1382. ['hou3', 'hǒu', ['吼']],
  1383. ['hou4', 'hòu', ['后']],
  1384. ['hou5', 'hou', ['']],
  1385. ['hu1', 'hū', ['乎']],
  1386. ['hu2', 'hú', ['狐']],
  1387. ['hu3', 'hǔ', ['虎']],
  1388. ['hu4', 'hù', ['护']],
  1389. ['hu5', 'hu', ['']],
  1390. ['hua1', 'huā', ['花']],
  1391. ['hua2', 'huá', ['滑']],
  1392. ['hua4', 'huà', ['话']],
  1393. ['hua5', 'hua', ['']],
  1394. ['huai2', 'huái', ['怀']],
  1395. ['huai4', 'huài', ['坏']],
  1396. ['huan1', 'huān', ['欢']],
  1397. ['huan2', 'huán', ['环']],
  1398. ['huan3', 'huǎn', ['缓']],
  1399. ['huan4', 'huàn', ['换']],
  1400. ['huan5', 'huan', ['']],
  1401. ['huang1', 'huāng', ['慌']],
  1402. ['huang2', 'huáng', ['黄']],
  1403. ['huang3', 'huǎng', ['谎']],
  1404. ['huang4', 'huàng', ['晃']],
  1405. ['huang5', 'huang', ['']],
  1406. ['hui1', 'huī', ['灰']],
  1407. ['hui2', 'huí', ['回']],
  1408. ['hui3', 'huǐ', ['悔']],
  1409. ['hui4', 'huì', ['会']],
  1410. ['hun1', 'hūn', ['婚']],
  1411. ['hun2', 'hún', ['魂']],
  1412. ['hun3', 'hǔn', ['']],
  1413. ['hun4', 'hùn', ['混']],
  1414. ['hun5', 'hun', ['']],
  1415. ['huo1', 'huō', ['豁']],
  1416. ['huo2', 'huó', ['活']],
  1417. ['huo3', 'huǒ', ['火']],
  1418. ['huo4', 'huò', ['获']],
  1419. ['huo5', 'huo', ['']],
  1420. ['ji1', 'jī', ['鸡']],
  1421. ['ji2', 'jí', ['急']],
  1422. ['ji3', 'jǐ', ['几']],
  1423. ['ji4', 'jì', ['记']],
  1424. ['ji5', 'ji', ['']],
  1425. ['jia1', 'jiā', ['家']],
  1426. ['jia2', 'jiá', ['夹']],
  1427. ['jia3', 'jiǎ', ['假']],
  1428. ['jia4', 'jià', ['架']],
  1429. ['jia5', 'jia', ['']],
  1430. ['jian1', 'jiān', ['尖']],
  1431. ['jian3', 'jiǎn', ['剪']],
  1432. ['jian4', 'jiàn', ['见']],
  1433. ['jiang1', 'jiāng', ['江']],
  1434. ['jiang3', 'jiǎng', ['讲']],
  1435. ['jiang4', 'jiàng', ['酱']],
  1436. ['jiang5', 'jiang', ['']],
  1437. ['jiao1', 'jiāo', ['交']],
  1438. ['jiao2', 'jiáo', ['矫']],
  1439. ['jiao3', 'jiǎo', ['脚']],
  1440. ['jiao4', 'jiào', ['叫']],
  1441. ['jiao5', 'jiao', ['']],
  1442. ['jie1', 'jiē', ['接']],
  1443. ['jie2', 'jié', ['节']],
  1444. ['jie3', 'jiě', ['姐']],
  1445. ['jie4', 'jiè', ['界']],
  1446. ['jin1', 'jīn', ['巾', '今', '金']],
  1447. ['jin3', 'jǐn', ['仅', '紧', '锦']],
  1448. ['jin4', 'jìn', ['尽', '进', '近']],
  1449. ['jing1', 'jīng', ['京', '经', '惊']],
  1450. ['jing3', 'jǐng', ['井', '景', '警']],
  1451. ['jing4', 'jìng', ['劲', '净', '静']],
  1452. ['jing5', 'jing', ['']],
  1453. ['jiong1', 'jiōng', ['坰']],
  1454. ['jiong3', 'jiǒng', ['烔']],
  1455. ['jiu1', 'jiū', ['究']],
  1456. ['jiu2', 'jiú', ['']],
  1457. ['jiu3', 'jiǔ', ['九']],
  1458. ['jiu4', 'jiù', ['就']],
  1459. ['jiu5', 'jiu', ['']],
  1460. ['ju1', 'jū', ['居']],
  1461. ['ju2', 'jú', ['局']],
  1462. ['ju3', 'jǔ', ['举']],
  1463. ['ju4', 'jù', ['巨']],
  1464. ['ju5', 'ju', ['']],
  1465. ['juan1', 'juān', ['捐']],
  1466. ['juan3', 'juǎn', ['卷']],
  1467. ['juan4', 'juàn', ['倦']],
  1468. ['jue1', 'juē', ['噘']],
  1469. ['jue2', 'jué', ['决']],
  1470. ['jue4', 'juè', ['倔']],
  1471. ['jun1', 'jūn', ['军']],
  1472. ['jun2', 'jún', ['']],
  1473. ['jun3', 'jǔn', ['']],
  1474. ['jun4', 'jùn', ['俊']],
  1475. ['k4', 'k4', ['']],
  1476. ['ka1', 'kā', ['咖']],
  1477. ['ka3', 'kǎ', ['卡']],
  1478. ['ka4', 'kà', ['']],
  1479. ['kai1', 'kāi', ['开']],
  1480. ['kai3', 'kǎi', ['凯']],
  1481. ['kai4', 'kài', ['忾']],
  1482. ['kan1', 'kān', ['刊']],
  1483. ['kan3', 'kǎn', ['砍']],
  1484. ['kan4', 'kàn', ['看']],
  1485. ['kan5', 'kan', ['']],
  1486. ['kang1', 'kāng', ['康']],
  1487. ['kang2', 'káng', ['扛']],
  1488. ['kang4', 'kàng', ['抗']],
  1489. ['kao1', 'kāo', ['尻']],
  1490. ['kao3', 'kǎo', ['考']],
  1491. ['kao4', 'kào', ['靠']],
  1492. ['ke1', 'kē', ['科']],
  1493. ['ke2', 'ké', ['壳']],
  1494. ['ke3', 'kě', ['可']],
  1495. ['ke4', 'kè', ['客']],
  1496. ['kei1', 'kēi', ['剋']],
  1497. ['ken3', 'kěn', ['垦', '恳', '啃']],
  1498. ['ken4', 'kèn', ['裉']],
  1499. ['keng1', 'kēng', ['坑', '吭']],
  1500. ['keng3', 'kěng', ['']],
  1501. ['ki1', 'kī', ['']],
  1502. ['kong1', 'kōng', ['空']],
  1503. ['kong3', 'kǒng', ['孔']],
  1504. ['kong4', 'kòng', ['控']],
  1505. ['kou1', 'kōu', ['抠']],
  1506. ['kou3', 'kǒu', ['口']],
  1507. ['kou4', 'kòu', ['扣']],
  1508. ['kou5', 'kou', ['']],
  1509. ['ku1', 'kū', ['哭']],
  1510. ['ku3', 'kǔ', ['苦']],
  1511. ['ku4', 'kù', ['裤']],
  1512. ['ku5', 'ku', ['']],
  1513. ['kua1', 'kuā', ['夸']],
  1514. ['kua3', 'kuǎ', ['垮']],
  1515. ['kua4', 'kuà', ['跨']],
  1516. ['kuai1', 'kuāi', ['']],
  1517. ['kuai3', 'kuǎi', ['蒯']],
  1518. ['kuai4', 'kuài', ['快']],
  1519. ['kuai5', 'kuai', ['']],
  1520. ['kuan1', 'kuān', ['宽']],
  1521. ['kuan3', 'kuǎn', ['款']],
  1522. ['kuan5', 'kuan', ['']],
  1523. ['kuang1', 'kuāng', ['筐']],
  1524. ['kuang2', 'kuáng', ['狂']],
  1525. ['kuang3', 'kuǎng', ['夼']],
  1526. ['kuang4', 'kuàng', ['旷']],
  1527. ['kui1', 'kuī', ['亏']],
  1528. ['kui2', 'kuí', ['葵']],
  1529. ['kui3', 'kuǐ', ['傀']],
  1530. ['kui4', 'kuì', ['愧']],
  1531. ['kun1', 'kūn', ['昆']],
  1532. ['kun3', 'kǔn', ['捆']],
  1533. ['kun4', 'kùn', ['困']],
  1534. ['kuo3', 'kuǒ', ['']],
  1535. ['kuo4', 'kuò', ['扩']],
  1536. ['la1', 'lā', ['垃']],
  1537. ['la2', 'lá', ['拉']],
  1538. ['la3', 'lǎ', ['喇']],
  1539. ['la4', 'là', ['辣']],
  1540. ['la5', 'la', ['']],
  1541. ['lai2', 'lái', ['来']],
  1542. ['lai4', 'lài', ['赖']],
  1543. ['lai5', 'lai', ['']],
  1544. ['lan2', 'lán', ['蓝']],
  1545. ['lan3', 'lǎn', ['懒']],
  1546. ['lan4', 'làn', ['烂']],
  1547. ['lan5', 'lan', ['']],
  1548. ['lang1', 'lāng', ['啷']],
  1549. ['lang2', 'láng', ['狼']],
  1550. ['lang3', 'lǎng', ['朗']],
  1551. ['lang4', 'làng', ['浪']],
  1552. ['lang5', 'lang', ['']],
  1553. ['lao1', 'lāo', ['捞']],
  1554. ['lao2', 'láo', ['劳']],
  1555. ['lao3', 'lǎo', ['老']],
  1556. ['lao4', 'lào', ['涝']],
  1557. ['lao5', 'lao', ['']],
  1558. //['le', 'le', ['了']],
  1559. ['le1', 'lē', ['肋']],
  1560. ['le4', 'lè', ['乐']],
  1561. ['le5', 'le', ['了']],
  1562. ['lei1', 'lēi', ['勒']],
  1563. ['lei2', 'léi', ['雷']],
  1564. ['lei3', 'lěi', ['磊']],
  1565. ['lei4', 'lèi', ['泪']],
  1566. ['leng2', 'léng', ['棱']],
  1567. ['leng3', 'lěng', ['冷']],
  1568. ['leng4', 'lèng', ['愣', '楞']],
  1569. ['leng5', 'leng', ['']],
  1570. ['li1', 'lī', ['哩']],
  1571. ['li2', 'lí', ['离']],
  1572. ['li3', 'lǐ', ['李']],
  1573. ['li4', 'lì', ['立']],
  1574. ['li5', 'li', ['']],
  1575. ['lia3', 'liǎ', ['俩']],
  1576. ['lian2', 'lián', ['连']],
  1577. ['lian3', 'liǎn', ['脸']],
  1578. ['lian4', 'liàn', ['练']],
  1579. ['liang2', 'liáng', ['良']],
  1580. ['liang3', 'liǎng', ['两']],
  1581. ['liang4', 'liàng', ['亮']],
  1582. ['liang5', 'liang', ['']],
  1583. ['liao1', 'liāo', ['撩']],
  1584. ['liao2', 'liáo', ['聊']],
  1585. ['liao3', 'liǎo', ['了']],
  1586. ['liao4', 'liào', ['料']],
  1587. ['liao5', 'liao', ['']],
  1588. ['lie1', 'liē', ['']],
  1589. ['lie4', 'liè', ['']],
  1590. ['lin1', 'līn', ['拎']],
  1591. ['lin2', 'lín', ['邻', '林', '临']],
  1592. ['lin3', 'lǐn', ['凛']],
  1593. ['lin4', 'lìn', ['吝', '赁', '蔺']],
  1594. ['lin5', 'lin', ['']],
  1595. ['ling1', 'līng', ['']],
  1596. ['ling2', 'líng', ['零', '灵', '玲']],
  1597. ['ling3', 'lǐng', ['岭', '领']],
  1598. ['ling4', 'lìng', ['令', '另']],
  1599. ['ling5', 'ling', ['']],
  1600. ['liu1', 'liū', ['溜']],
  1601. ['liu2', 'liú', ['流']],
  1602. ['liu3', 'liǔ', ['柳']],
  1603. ['liu4', 'liù', ['六']],
  1604. ['liu5', 'liu', ['']],
  1605. ['lo1', 'lō', ['']],
  1606. ['lo5', 'lo', ['咯']],
  1607. ['long1', 'lōng', ['']],
  1608. ['long2', 'lóng', ['龙']],
  1609. ['long3', 'lǒng', ['垄']],
  1610. ['long4', 'lòng', ['弄']],
  1611. ['long5', 'long', ['']],
  1612. ['lou1', 'lōu', ['搂']],
  1613. ['lou2', 'lóu', ['楼']],
  1614. ['lou3', 'lǒu', ['搂']],
  1615. ['lou4', 'lòu', ['陋']],
  1616. ['lou5', 'lou', ['']],
  1617. ['lu1', 'lū', ['撸']],
  1618. ['lu2', 'lú', ['卢']],
  1619. ['lu3', 'lǔ', ['虏']],
  1620. ['lu4', 'lù', ['陆']],
  1621. ['lu5', 'lu', ['轳']],
  1622. ['luan2', 'luán', ['峦']],
  1623. ['luan3', 'luǎn', ['卵']],
  1624. ['luan4', 'luàn', ['乱']],
  1625. ['lun1', 'lūn', ['抡']],
  1626. ['lun2', 'lún', ['仑']],
  1627. ['lun3', 'lǔn', ['埨']],
  1628. ['lun4', 'lùn', ['论']],
  1629. ['luo1', 'luō', ['啰']],
  1630. ['luo2', 'luó', ['罗']],
  1631. ['luo3', 'luǒ', ['裸']],
  1632. ['luo4', 'luò', ['落']],
  1633. ['luo5', 'luo', ['']],
  1634. ['lv2', 'lǘ', ['驴']],
  1635. ['lv3', 'lǚ', ['吕']],
  1636. ['lv4', 'lǜ', ['绿']],
  1637. ['lve3', 'lüě', ['']],
  1638. ['lve4', 'lüè', ['掠']],
  1639. ['ma1', 'mā', ['妈']],
  1640. ['ma2', 'má', ['麻']],
  1641. ['ma3', 'mǎ', ['马']],
  1642. ['ma4', 'mà', ['蚂']],
  1643. ['ma5', 'ma', ['嘛']],
  1644. ['mai2', 'mái', ['埋']],
  1645. ['mai3', 'mǎi', ['买']],
  1646. ['mai4', 'mài', ['卖']],
  1647. ['man1', 'mān', ['嫚']],
  1648. ['man2', 'mán', ['馒']],
  1649. ['man3', 'mǎn', ['满']],
  1650. ['man4', 'màn', ['慢']],
  1651. ['man5', 'man', ['']],
  1652. ['mang2', 'máng', ['忙']],
  1653. ['mang3', 'mǎng', ['莽']],
  1654. ['mang5', 'mang', ['']],
  1655. ['mao1', 'māo', ['猫']],
  1656. ['mao2', 'máo', ['毛']],
  1657. ['mao3', 'mǎo', ['铆']],
  1658. ['mao4', 'mào', ['帽']],
  1659. ['mao5', 'mao', ['']],
  1660. ['me5', 'me', ['嚒']],
  1661. ['mei2', 'méi', ['没']],
  1662. ['mei3', 'měi', ['美']],
  1663. ['mei4', 'mèi', ['妹']],
  1664. ['mei5', 'mei', ['']],
  1665. ['men1', 'mēn', ['闷']],
  1666. ['men2', 'mén', ['门', '们']],
  1667. ['men3', 'měn', ['']],
  1668. ['men4', 'mèn', ['闷']],
  1669. ['men5', 'men', ['']],
  1670. ['meng1', 'mēng', ['蒙']],
  1671. ['meng2', 'méng', ['蒙', '盟', '萌']],
  1672. ['meng3', 'měng', ['猛', '']],
  1673. ['meng4', 'mèng', ['孟', '梦']],
  1674. ['mi1', 'mī', ['咪']],
  1675. ['mi2', 'mí', ['迷']],
  1676. ['mi3', 'mǐ', ['米']],
  1677. ['mi4', 'mì', ['秘']],
  1678. ['mi5', 'mi', ['']],
  1679. ['mian2', 'mián', ['绵']],
  1680. ['mian3', 'miǎn', ['免']],
  1681. ['mian4', 'miàn', ['面']],
  1682. ['mian5', 'mian', ['']],
  1683. ['miao1', 'miāo', ['喵']],
  1684. ['miao2', 'miáo', ['苗']],
  1685. ['miao3', 'miǎo', ['秒']],
  1686. ['miao4', 'miào', ['庙']],
  1687. ['mie1', 'miē', ['咩']],
  1688. ['mie4', 'miè', ['灭']],
  1689. ['min2', 'mín', ['民', '泯']],
  1690. ['min3', 'mǐn', ['敏', '闽', '皿']],
  1691. ['ming1', 'mīng', ['']],
  1692. ['ming2', 'míng', ['名', '明', '鸣']],
  1693. ['ming3', 'mǐng', ['酩']],
  1694. ['ming4', 'mìng', ['命']],
  1695. ['ming5', 'ming', ['']],
  1696. ['miu1', 'miū', ['']],
  1697. ['miu4', 'miù', ['谬']],
  1698. ['mo1', 'mō', ['摸']],
  1699. ['mo2', 'mó', ['磨']],
  1700. ['mo3', 'mǒ', ['抹']],
  1701. ['mo4', 'mò', ['陌']],
  1702. ['mo5', 'mo', ['']],
  1703. ['mou1', 'mōu', ['哞']],
  1704. ['mou2', 'móu', ['谋']],
  1705. ['mou3', 'mǒu', ['某']],
  1706. ['mu2', 'mú', ['毪']],
  1707. ['mu3', 'mǔ', ['母']],
  1708. ['mu4', 'mù', ['木']],
  1709. ['mu5', 'mu', ['']],
  1710. ['na1', 'nā', ['']],
  1711. ['na2', 'ná', ['拿']],
  1712. ['na3', 'nǎ', ['哪']],
  1713. ['na4', 'nà', ['那']],
  1714. ['na5', 'na', ['']],
  1715. ['nai2', 'nái', ['腉']],
  1716. ['nai3', 'nǎi', ['奶']],
  1717. ['nai4', 'nài', ['耐']],
  1718. ['nai5', 'nai', ['']],
  1719. ['nan1', 'nān', ['囡']],
  1720. ['nan2', 'nán', ['男']],
  1721. ['nan3', 'nǎn', ['腩']],
  1722. ['nan4', 'nàn', ['难']],
  1723. ['nan5', 'nan', ['']],
  1724. ['nang1', 'nāng', ['囔']],
  1725. ['nang2', 'náng', ['囊']],
  1726. ['nang3', 'nǎng', ['攮']],
  1727. ['nang4', 'nàng', ['齉']],
  1728. ['nang5', 'nang', ['']],
  1729. ['nao1', 'nāo', ['孬']],
  1730. ['nao2', 'náo', ['挠']],
  1731. ['nao3', 'nǎo', ['脑']],
  1732. ['nao4', 'nào', ['闹']],
  1733. ['nao5', 'nao', ['']],
  1734. ['ne', 'ne', ['']],
  1735. ['ne2', 'né', ['哪']],
  1736. ['ne4', 'nè', ['讷']],
  1737. ['ne5', 'ne', ['']],
  1738. ['nei3', 'něi', ['馁']],
  1739. ['nei4', 'nèi', ['内']],
  1740. ['nen4', 'nèn', ['嫩']],
  1741. ['neng2', 'néng', ['能']],
  1742. ['ni1', 'nī', ['妮']],
  1743. ['ni2', 'ní', ['泥']],
  1744. ['ni3', 'nǐ', ['你']],
  1745. ['ni4', 'nì', ['逆']],
  1746. ['nian1', 'niān', ['拈']],
  1747. ['nian2', 'nián', ['年']],
  1748. ['nian3', 'niǎn', ['碾']],
  1749. ['nian4', 'niàn', ['念']],
  1750. ['niang2', 'niáng', ['娘']],
  1751. ['niang4', 'niàng', ['酿']],
  1752. ['niang5', 'niang', ['']],
  1753. ['niao3', 'niǎo', ['鸟']],
  1754. ['niao4', 'niào', ['尿']],
  1755. ['nie1', 'niē', ['捏']],
  1756. ['nie2', 'nié', ['苶']],
  1757. ['nie4', 'niè', ['聂']],
  1758. ['nin2', 'nín', ['您']],
  1759. ['nin3', 'nǐn', ['']],
  1760. ['ning2', 'níng', ['宁']],
  1761. ['ning3', 'nǐng', ['拧']],
  1762. ['ning4', 'nìng', ['佞']],
  1763. ['niu1', 'niū', ['妞']],
  1764. ['niu2', 'niú', ['牛']],
  1765. ['niu3', 'niǔ', ['纽']],
  1766. ['niu4', 'niù', ['拗']],
  1767. ['niu5', 'niu', ['扭']],
  1768. ['nong2', 'nóng', ['农']],
  1769. ['nong4', 'nòng', ['弄']],
  1770. ['nong5', 'nong', ['']],
  1771. ['nou4', 'nòu', ['槈']],
  1772. ['nu2', 'nú', ['奴']],
  1773. ['nu3', 'nǔ', ['努']],
  1774. ['nu4', 'nù', ['怒']],
  1775. ['nuan3', 'nuǎn', ['暖']],
  1776. ['nuo2', 'nuó', ['挪']],
  1777. ['nuo3', 'nuǒ', ['']],
  1778. ['nuo4', 'nuò', ['诺']],
  1779. ['nv3', 'nǚ', ['女']],
  1780. ['nv4', 'nǜ', ['恧']],
  1781. ['nve4', 'nüè', ['虐']],
  1782. ['o1', 'ō', ['噢']],
  1783. ['o2', 'ó', ['哦']],
  1784. ['o3', 'ǒ', ['']],
  1785. ['o4', 'ò', ['哦']],
  1786. ['ou1', 'ōu', ['讴']],
  1787. ['ou3', 'ǒu', ['呕']],
  1788. ['ou4', 'òu', ['怄']],
  1789. ['pa1', 'pā', ['啪']],
  1790. ['pa2', 'pá', ['爬']],
  1791. ['pa4', 'pà', ['怕']],
  1792. ['pa5', 'pa', ['']],
  1793. ['pai1', 'pāi', ['拍']],
  1794. ['pai2', 'pái', ['排']],
  1795. ['pai3', 'pǎi', ['迫']],
  1796. ['pai4', 'pài', ['派']],
  1797. ['pai5', 'pai', ['']],
  1798. ['pan1', 'pān', ['攀']],
  1799. ['pan2', 'pán', ['盘']],
  1800. ['pan4', 'pàn', ['盼']],
  1801. ['pang1', 'pāng', ['乓']],
  1802. ['pang2', 'páng', ['旁']],
  1803. ['pang3', 'pǎng', ['嗙']],
  1804. ['pang4', 'pàng', ['胖']],
  1805. ['pao1', 'pāo', ['抛']],
  1806. ['pao2', 'páo', ['袍']],
  1807. ['pao3', 'pǎo', ['跑']],
  1808. ['pao4', 'pào', ['炮']],
  1809. ['pei1', 'pēi', ['胚']],
  1810. ['pei2', 'péi', ['培']],
  1811. ['pei4', 'pèi', ['佩']],
  1812. ['pen1', 'pēn', ['喷']],
  1813. ['pen2', 'pén', ['盆']],
  1814. ['pen3', 'pěn', ['翸']],
  1815. ['pen4', 'pèn', ['喷']],
  1816. ['pen5', 'pen', ['']],
  1817. ['peng1', 'pēng', ['抨', '烹', '嘭']],
  1818. ['peng2', 'péng', ['朋', '彭', '棚']],
  1819. ['peng3', 'pěng', ['捧']],
  1820. ['peng4', 'pèng', ['碰']],
  1821. ['peng5', 'peng', ['']],
  1822. ['pi1', 'pī', ['批']],
  1823. ['pi2', 'pí', ['皮']],
  1824. ['pi3', 'pǐ', ['匹']],
  1825. ['pi4', 'pì', ['辟']],
  1826. ['pian1', 'piān', ['篇']],
  1827. ['pian2', 'pián', ['便']],
  1828. ['pian3', 'piǎn', ['谝']],
  1829. ['pian4', 'piàn', ['片']],
  1830. ['piao1', 'piāo', ['飘']],
  1831. ['piao2', 'piáo', ['瓢']],
  1832. ['piao3', 'piǎo', ['漂']],
  1833. ['piao4', 'piào', ['票']],
  1834. ['pie1', 'piē', ['瞥']],
  1835. ['pie3', 'piě', ['撇']],
  1836. ['pin1', 'pīn', ['拼', '姘']],
  1837. ['pin2', 'pín', ['贫', '嫔']],
  1838. ['pin3', 'pǐn', ['品']],
  1839. ['pin4', 'pìn', ['聘']],
  1840. ['ping1', 'pīng', ['乒']],
  1841. ['ping2', 'píng', ['平', '评', '瓶']],
  1842. ['po1', 'pō', ['坡']],
  1843. ['po2', 'pó', ['婆']],
  1844. ['po3', 'pǒ', ['笸']],
  1845. ['po4', 'pò', ['破']],
  1846. ['po5', 'po', ['']],
  1847. ['pou1', 'pōu', ['剖']],
  1848. ['pou2', 'póu', ['抔']],
  1849. ['pou3', 'pǒu', ['咅']],
  1850. ['pu1', 'pū', ['扑']],
  1851. ['pu2', 'pú', ['仆']],
  1852. ['pu3', 'pǔ', ['普']],
  1853. ['pu4', 'pù', ['铺']],
  1854. ['q', 'q', ['']],
  1855. ['qi1', 'qī', ['七']],
  1856. ['qi2', 'qí', ['齐']],
  1857. ['qi3', 'qǐ', ['企']],
  1858. ['qi4', 'qì', ['气']],
  1859. ['qi5', 'qi', ['']],
  1860. ['qia1', 'qiā', ['掐']],
  1861. ['qia3', 'qiǎ', ['拤']],
  1862. ['qia4', 'qià', ['洽']],
  1863. ['qian1', 'qiān', ['千']],
  1864. ['qian2', 'qián', ['前']],
  1865. ['qian3', 'qiǎn', ['浅']],
  1866. ['qian4', 'qiàn', ['欠']],
  1867. ['qian5', 'qian', ['']],
  1868. ['qiang1', 'qiāng', ['枪']],
  1869. ['qiang2', 'qiáng', ['墙']],
  1870. ['qiang3', 'qiǎng', ['抢']],
  1871. ['qiang4', 'qiàng', ['呛']],
  1872. ['qiao1', 'qiāo', ['敲']],
  1873. ['qiao2', 'qiáo', ['桥']],
  1874. ['qiao3', 'qiǎo', ['巧']],
  1875. ['qiao4', 'qiào', ['翘']],
  1876. ['qie1', 'qiē', ['切']],
  1877. ['qie2', 'qié', ['茄']],
  1878. ['qie3', 'qiě', ['且']],
  1879. ['qie4', 'qiè', ['窃']],
  1880. ['qin1', 'qīn', ['亲', '侵', '钦']],
  1881. ['qin2', 'qín', ['芹', '秦', '琴']],
  1882. ['qin3', 'qǐn', ['寝', '']],
  1883. ['qin4', 'qìn', ['沁']],
  1884. ['qin5', 'qin', ['']],
  1885. ['qing1', 'qīng', ['青', '轻', '清']],
  1886. ['qing2', 'qíng', ['情', '晴', '擎']],
  1887. ['qing3', 'qǐng', ['请']],
  1888. ['qing4', 'qìng', ['庆']],
  1889. ['qing5', 'qing', ['']],
  1890. ['qiong1', 'qiōng', ['']],
  1891. ['qiong2', 'qióng', ['穷']],
  1892. ['qiu1', 'qiū', ['秋']],
  1893. ['qiu2', 'qiú', ['求']],
  1894. ['qiu3', 'qiǔ', ['糗']],
  1895. ['qu1', 'qū', ['驱']],
  1896. ['qu2', 'qú', ['渠']],
  1897. ['qu3', 'qǔ', ['取']],
  1898. ['qu4', 'qù', ['去']],
  1899. ['qu5', 'qu', ['']],
  1900. ['quan1', 'quān', ['圈']],
  1901. ['quan2', 'quán', ['全']],
  1902. ['quan3', 'quǎn', ['犬']],
  1903. ['quan4', 'quàn', ['券']],
  1904. ['que1', 'quē', ['缺']],
  1905. ['que2', 'qué', ['瘸']],
  1906. ['que4', 'què', ['却']],
  1907. ['qun1', 'qūn', ['囷']],
  1908. ['qun2', 'qún', ['群']],
  1909. // ['r5', 'r',['']],
  1910. ['ran2', 'rán', ['然']],
  1911. ['ran3', 'rǎn', ['染']],
  1912. ['rang2', 'ráng', ['瓤']],
  1913. ['rang3', 'rǎng', ['攘']],
  1914. ['rang4', 'ràng', ['让']],
  1915. ['rao2', 'ráo', ['饶']],
  1916. ['rao3', 'rǎo', ['扰']],
  1917. ['rao4', 'rào', ['绕']],
  1918. ['re3', 'rě', ['惹']],
  1919. ['re4', 'rè', ['热']],
  1920. ['ren2', 'rén', ['人', '仁']],
  1921. ['ren3', 'rěn', ['忍']],
  1922. ['ren4', 'rèn', ['刃', '认', '任']],
  1923. ['ren5', 'ren', ['']],
  1924. ['reng1', 'rēng', ['扔']],
  1925. ['reng2', 'réng', ['仍']],
  1926. ['reng4', 'rèng', ['']],
  1927. ['ri4', 'rì', ['日']],
  1928. ['ri5', 'ri', ['']],
  1929. ['rong2', 'róng', ['荣']],
  1930. ['rong3', 'rǒng', ['冗']],
  1931. ['rou2', 'róu', ['柔']],
  1932. ['rou4', 'ròu', ['肉']],
  1933. ['ru2', 'rú', ['如']],
  1934. ['ru3', 'rǔ', ['乳']],
  1935. ['ru4', 'rù', ['入']],
  1936. ['ruan2', 'ruán', ['壖']],
  1937. ['ruan3', 'ruǎn', ['软']],
  1938. ['rui2', 'ruí', ['甤']],
  1939. ['rui3', 'ruǐ', ['蕊']],
  1940. ['rui4', 'ruì', ['锐']],
  1941. ['run2', 'rún', ['']],
  1942. ['run4', 'rùn', ['润']],
  1943. ['ruo4', 'ruò', ['弱']],
  1944. ['sa1', 'sā', ['仨']],
  1945. ['sa3', 'sǎ', ['洒']],
  1946. ['sa4', 'sà', ['萨']],
  1947. ['sa5', 'sa', ['']],
  1948. ['sai1', 'sāi', ['塞']],
  1949. ['sai4', 'sài', ['赛']],
  1950. ['sai5', 'sai', ['']],
  1951. ['san1', 'sān', ['三']],
  1952. ['san3', 'sǎn', ['伞']],
  1953. ['san4', 'sàn', ['散']],
  1954. ['san5', 'san', ['']],
  1955. ['sang1', 'sāng', ['桑']],
  1956. ['sang3', 'sǎng', ['嗓']],
  1957. ['sang4', 'sàng', ['丧']],
  1958. ['sang5', 'sang', ['']],
  1959. ['sao1', 'sāo', ['搔']],
  1960. ['sao3', 'sǎo', ['扫']],
  1961. ['sao4', 'sào', ['扫']],
  1962. ['sao5', 'sao', ['']],
  1963. ['se4', 'sè', ['色']],
  1964. ['sen1', 'sēn', ['森']],
  1965. ['seng1', 'sēng', ['僧']],
  1966. ['sha1', 'shā', ['沙']],
  1967. ['sha2', 'shá', ['啥']],
  1968. ['sha3', 'shǎ', ['傻']],
  1969. ['sha4', 'shà', ['厦']],
  1970. ['shai1', 'shāi', ['筛']],
  1971. ['shai3', 'shǎi', ['色']],
  1972. ['shai4', 'shài', ['晒']],
  1973. ['shan1', 'shān', ['山']],
  1974. ['shan3', 'shǎn', ['闪']],
  1975. ['shan4', 'shàn', ['扇']],
  1976. ['shang1', 'shāng', ['商']],
  1977. ['shang3', 'shǎng', ['赏']],
  1978. ['shang4', 'shàng', ['上']],
  1979. ['shang5', 'shang', ['']],
  1980. ['shao1', 'shāo', ['烧']],
  1981. ['shao2', 'sháo', ['勺']],
  1982. ['shao3', 'shǎo', ['少']],
  1983. ['shao4', 'shào', ['哨']],
  1984. ['shao5', 'shao', ['']],
  1985. ['she1', 'shē', ['奢']],
  1986. ['she2', 'shé', ['舌']],
  1987. ['she3', 'shě', ['舍']],
  1988. ['she4', 'shè', ['射']],
  1989. ['shei2', 'shéi', ['谁']],
  1990. ['shen1', 'shēn', ['申', '身', '深']],
  1991. ['shen2', 'shén', ['什', '神']],
  1992. ['shen3', 'shěn', ['沈', '审']],
  1993. ['shen4', 'shèn', ['肾', '甚', '渗']],
  1994. ['shen5', 'shen', ['']],
  1995. ['sheng1', 'shēng', ['升', '生', '声']],
  1996. ['sheng2', 'shéng', ['绳', '渑']],
  1997. ['sheng3', 'shěng', ['省']],
  1998. ['sheng4', 'shèng', ['圣', '胜', '盛']],
  1999. ['sheng5', 'sheng', ['']],
  2000. ['shi1', 'shī', ['师']],
  2001. ['shi2', 'shí', ['十']],
  2002. ['shi3', 'shǐ', ['史']],
  2003. ['shi4', 'shì', ['士']],
  2004. ['shi5', 'shi', ['']],
  2005. ['shou1', 'shōu', ['收']],
  2006. ['shou2', 'shóu', ['熟']],
  2007. ['shou3', 'shǒu', ['手']],
  2008. ['shou4', 'shòu', ['瘦']],
  2009. ['shou5', 'shou', ['']],
  2010. ['shu1', 'shū', ['书']],
  2011. ['shu2', 'shú', ['熟']],
  2012. ['shu3', 'shǔ', ['鼠']],
  2013. ['shu4', 'shù', ['术']],
  2014. ['shu5', 'shu', ['']],
  2015. ['shua1', 'shuā', ['刷']],
  2016. ['shua3', 'shuǎ', ['耍']],
  2017. ['shua4', 'shuà', ['誜']],
  2018. ['shuai1', 'shuāi', ['摔']],
  2019. ['shuai3', 'shuǎi', ['甩']],
  2020. ['shuai4', 'shuài', ['帅']],
  2021. ['shuan1', 'shuān', ['栓']],
  2022. ['shuan4', 'shuàn', ['涮']],
  2023. ['shuang1', 'shuāng', ['双']],
  2024. ['shuang3', 'shuǎng', ['爽']],
  2025. ['shuang5', 'shuang', ['']],
  2026. ['shui2', 'shuí', ['谁']],
  2027. ['shui3', 'shuǐ', ['水']],
  2028. ['shui4', 'shuì', ['睡']],
  2029. ['shui5', 'shui', ['']],
  2030. ['shun3', 'shǔn', ['吮']],
  2031. ['shun4', 'shùn', ['顺']],
  2032. ['shuo1', 'shuō', ['说']],
  2033. ['shuo2', 'shuó', ['']],
  2034. ['shuo4', 'shuò', ['硕']],
  2035. ['shuo5', 'shuo', ['']],
  2036. ['si1', 'sī', ['思']],
  2037. ['si3', 'sǐ', ['死']],
  2038. ['si4', 'sì', ['四']],
  2039. ['si5', 'si', ['']],
  2040. ['song1', 'sōng', ['松']],
  2041. ['song3', 'sǒng', ['怂']],
  2042. ['song4', 'sòng', ['宋']],
  2043. ['sou1', 'sōu', ['搜']],
  2044. ['sou3', 'sǒu', ['擞']],
  2045. ['sou4', 'sòu', ['嗽']],
  2046. ['sou5', 'sou', ['']],
  2047. ['su1', 'sū', ['苏']],
  2048. ['su2', 'sú', ['俗']],
  2049. ['su4', 'sù', ['素']],
  2050. ['su5', 'su', ['']],
  2051. ['suan1', 'suān', ['酸']],
  2052. ['suan4', 'suàn', ['算']],
  2053. ['sui1', 'suī', ['虽']],
  2054. ['sui2', 'suí', ['隋']],
  2055. ['sui3', 'suǐ', ['髓']],
  2056. ['sui4', 'suì', ['岁']],
  2057. ['sui5', 'sui', ['']],
  2058. ['sun1', 'sūn', ['孙']],
  2059. ['sun3', 'sǔn', ['损']],
  2060. ['sun4', 'sùn', ['']],
  2061. ['suo1', 'suō', ['梭']],
  2062. ['suo3', 'suǒ', ['所']],
  2063. ['suo5', 'suo', ['']],
  2064. ['ta1', 'tā', ['他']],
  2065. ['ta3', 'tǎ', ['塔']],
  2066. ['ta4', 'tà', ['踏']],
  2067. ['ta5', 'ta', ['']],
  2068. ['tai1', 'tāi', ['胎']],
  2069. ['tai2', 'tái', ['台']],
  2070. ['tai4', 'tài', ['太']],
  2071. ['tai5', 'tai', ['']],
  2072. ['tan1', 'tān', ['贪']],
  2073. ['tan2', 'tán', ['谈']],
  2074. ['tan3', 'tǎn', ['坦']],
  2075. ['tan4', 'tàn', ['叹']],
  2076. ['tan5', 'tan', ['']],
  2077. ['tang1', 'tāng', ['汤']],
  2078. ['tang2', 'táng', ['唐']],
  2079. ['tang3', 'tǎng', ['躺']],
  2080. ['tang4', 'tàng', ['烫']],
  2081. ['tang5', 'tang', ['']],
  2082. ['tao1', 'tāo', ['涛']],
  2083. ['tao2', 'táo', ['逃']],
  2084. ['tao3', 'tǎo', ['讨']],
  2085. ['tao4', 'tào', ['套']],
  2086. ['tao5', 'tao', ['']],
  2087. ['te2', 'té', ['']],
  2088. ['te4', 'tè', ['特']],
  2089. ['teng2', 'téng', ['疼', '腾']],
  2090. ['teng5', 'teng', ['']],
  2091. ['ti1', 'tī', ['梯']],
  2092. ['ti2', 'tí', ['提']],
  2093. ['ti3', 'tǐ', ['体']],
  2094. ['ti4', 'tì', ['剃']],
  2095. ['ti5', 'ti', ['']],
  2096. ['tian1', 'tiān', ['天']],
  2097. ['tian2', 'tián', ['田']],
  2098. ['tian3', 'tiǎn', ['舔']],
  2099. ['tian4', 'tiàn', ['掭']],
  2100. ['tiao1', 'tiāo', ['挑']],
  2101. ['tiao2', 'tiáo', ['条']],
  2102. ['tiao3', 'tiǎo', ['挑']],
  2103. ['tiao4', 'tiào', ['跳']],
  2104. ['tie1', 'tiē', ['贴']],
  2105. ['tie3', 'tiě', ['铁']],
  2106. ['tie4', 'tiè', ['餮']],
  2107. ['ting1', 'tīng', ['听', '厅']],
  2108. ['ting2', 'tíng', ['亭', '庭', '停']],
  2109. ['ting3', 'tǐng', ['挺']],
  2110. ['ting4', 'tìng', ['梃']],
  2111. ['ting5', 'ting', ['']],
  2112. ['tong1', 'tōng', ['通']],
  2113. ['tong2', 'tóng', ['同']],
  2114. ['tong3', 'tǒng', ['统']],
  2115. ['tong4', 'tòng', ['痛']],
  2116. ['tong5', 'tong', ['']],
  2117. ['tou1', 'tōu', ['偷']],
  2118. ['tou2', 'tóu', ['头']],
  2119. ['tou3', 'tǒu', ['钭']],
  2120. ['tou4', 'tòu', ['透']],
  2121. ['tou5', 'tou', ['']],
  2122. ['tu1', 'tū', ['突']],
  2123. ['tu2', 'tú', ['图']],
  2124. ['tu3', 'tǔ', ['土']],
  2125. ['tu4', 'tù', ['兔']],
  2126. ['tu5', 'tu', ['']],
  2127. ['tuan1', 'tuān', ['湍']],
  2128. ['tuan2', 'tuán', ['团']],
  2129. ['tuan3', 'tuǎn', ['墥']],
  2130. ['tuan4', 'tuàn', ['褖']],
  2131. ['tui1', 'tuī', ['推']],
  2132. ['tui2', 'tuí', ['颓']],
  2133. ['tui3', 'tuǐ', ['腿']],
  2134. ['tui4', 'tuì', ['退']],
  2135. ['tun1', 'tūn', ['吞']],
  2136. ['tun2', 'tún', ['屯']],
  2137. ['tun3', 'tǔn', ['氽']],
  2138. ['tun4', 'tùn', ['褪']],
  2139. ['tuo1', 'tuō', ['托']],
  2140. ['tuo2', 'tuó', ['驼']],
  2141. ['tuo3', 'tuǒ', ['妥']],
  2142. ['tuo4', 'tuò', ['拓']],
  2143. ['tuo5', 'tuo', ['']],
  2144. ['wa1', 'wā', ['洼']],
  2145. ['wa2', 'wá', ['娃']],
  2146. ['wa3', 'wǎ', ['瓦']],
  2147. ['wa4', 'wà', ['袜']],
  2148. ['wa5', 'wa', ['哇']],
  2149. ['wai1', 'wāi', ['歪']],
  2150. ['wai3', 'wǎi', ['歪']],
  2151. ['wai4', 'wài', ['外']],
  2152. ['wai5', 'wai', ['']],
  2153. ['wan1', 'wān', ['弯']],
  2154. ['wan2', 'wán', ['玩']],
  2155. ['wan3', 'wǎn', ['晚']],
  2156. ['wan4', 'wàn', ['万']],
  2157. ['wang1', 'wāng', ['汪']],
  2158. ['wang2', 'wáng', ['王']],
  2159. ['wang3', 'wǎng', ['往']],
  2160. ['wang4', 'wàng', ['忘']],
  2161. ['wang5', 'wang', ['']],
  2162. ['wei1', 'wēi', ['威']],
  2163. ['wei2', 'wéi', ['围']],
  2164. ['wei3', 'wěi', ['伟']],
  2165. ['wei4', 'wèi', ['卫']],
  2166. ['wei5', 'wei', ['']],
  2167. ['wen1', 'wēn', ['温']],
  2168. ['wen2', 'wén', ['文', '闻', '蚊']],
  2169. ['wen3', 'wěn', ['吻', '稳', '刎']],
  2170. ['wen4', 'wèn', ['问', '汶']],
  2171. ['weng1', 'wēng', ['翁', '嗡']],
  2172. ['weng3', 'wěng', ['蓊']],
  2173. ['weng4', 'wèng', ['瓮']],
  2174. ['wo1', 'wō', ['窝']],
  2175. ['wo3', 'wǒ', ['我']],
  2176. ['wo4', 'wò', ['卧']],
  2177. ['wo5', 'wo', ['']],
  2178. ['wu1', 'wū', ['屋']],
  2179. ['wu2', 'wú', ['吴']],
  2180. ['wu3', 'wǔ', ['五']],
  2181. ['wu4', 'wù', ['物']],
  2182. ['wu5', 'wu', ['']],
  2183. ['xi1', 'xī', ['西']],
  2184. ['xi2', 'xí', ['习']],
  2185. ['xi3', 'xǐ', ['洗']],
  2186. ['xi4', 'xì', ['细']],
  2187. ['xi5', 'xi', ['']],
  2188. ['xia1', 'xiā', ['瞎']],
  2189. ['xia2', 'xiá', ['侠']],
  2190. ['xia4', 'xià', ['夏']],
  2191. ['xia5', 'xia', ['']],
  2192. ['xian1', 'xiān', ['先']],
  2193. ['xian2', 'xián', ['闲']],
  2194. ['xian3', 'xiǎn', ['显']],
  2195. ['xian4', 'xiàn', ['现']],
  2196. ['xian5', 'xian', ['']],
  2197. ['xiang1', 'xiāng', ['香']],
  2198. ['xiang2', 'xiáng', ['详']],
  2199. ['xiang3', 'xiǎng', ['响']],
  2200. ['xiang4', 'xiàng', ['向']],
  2201. ['xiang5', 'xiang', ['']],
  2202. ['xiao1', 'xiāo', ['消']],
  2203. ['xiao2', 'xiáo', ['淆']],
  2204. ['xiao3', 'xiǎo', ['小']],
  2205. ['xiao4', 'xiào', ['笑']],
  2206. ['xie1', 'xiē', ['些']],
  2207. ['xie2', 'xié', ['协']],
  2208. ['xie3', 'xiě', ['写']],
  2209. ['xie4', 'xiè', ['谢']],
  2210. ['xin1', 'xīn', ['心', '辛', '新']],
  2211. ['xin2', 'xín', ['枔']],
  2212. ['xin3', 'xǐn', ['伈']],
  2213. ['xin4', 'xìn', ['信']],
  2214. ['xin5', 'xin', ['']],
  2215. ['xing1', 'xīng', ['星', '兴', '猩']],
  2216. ['xing2', 'xíng', ['行', '形', '刑']],
  2217. ['xing3', 'xǐng', ['省', '醒']],
  2218. ['xing4', 'xìng', ['姓', '性', '兴']],
  2219. ['xing5', 'xing', ['']],
  2220. ['xiong1', 'xiōng', ['兄']],
  2221. ['xiong2', 'xióng', ['熊']],
  2222. ['xiong3', 'xiǒng', ['焸']],
  2223. ['xiong4', 'xiòng', ['诇']],
  2224. ['xiu1', 'xiū', ['休']],
  2225. ['xiu3', 'xiǔ', ['朽']],
  2226. ['xiu4', 'xiù', ['秀']],
  2227. ['xu1', 'xū', ['须']],
  2228. ['xu2', 'xú', ['徐']],
  2229. ['xu3', 'xǔ', ['许']],
  2230. ['xu4', 'xù', ['序']],
  2231. ['xu5', 'xu', ['']],
  2232. ['xuan1', 'xuān', ['宣']],
  2233. ['xuan2', 'xuán', ['旋']],
  2234. ['xuan3', 'xuǎn', ['选']],
  2235. ['xuan4', 'xuàn', ['炫']],
  2236. ['xue1', 'xuē', ['薛']],
  2237. ['xue2', 'xué', ['学']],
  2238. ['xue3', 'xuě', ['雪']],
  2239. ['xue4', 'xuè', ['岤']],
  2240. ['xun1', 'xūn', ['熏']],
  2241. ['xun2', 'xún', ['寻']],
  2242. ['xun4', 'xùn', ['训']],
  2243. ['xun5', 'xun', ['']],
  2244. ['ya1', 'yā', ['压']],
  2245. ['ya2', 'yá', ['牙']],
  2246. ['ya3', 'yǎ', ['哑']],
  2247. ['ya4', 'yà', ['亚']],
  2248. ['ya5', 'ya', ['']],
  2249. ['yan1', 'yān', ['烟']],
  2250. ['yan2', 'yán', ['严']],
  2251. ['yan3', 'yǎn', ['眼']],
  2252. ['yan4', 'yàn', ['厌']],
  2253. ['yan5', 'yan', ['']],
  2254. ['yang1', 'yāng', ['央']],
  2255. ['yang2', 'yáng', ['阳']],
  2256. ['yang3', 'yǎng', ['养']],
  2257. ['yang4', 'yàng', ['漾']],
  2258. ['yang5', 'yang', ['']],
  2259. ['yao1', 'yāo', ['妖']],
  2260. ['yao2', 'yáo', ['摇']],
  2261. ['yao3', 'yǎo', ['咬']],
  2262. ['yao4', 'yào', ['要']],
  2263. ['yao5', 'yao', ['']],
  2264. ['ye1', 'yē', ['椰']],
  2265. ['ye2', 'yé', ['爷']],
  2266. ['ye3', 'yě', ['也']],
  2267. ['ye4', 'yè', ['叶']],
  2268. ['ye5', 'ye', ['']],
  2269. ['yi1', 'yī', ['衣']],
  2270. ['yi2', 'yí', ['姨']],
  2271. ['yi3', 'yǐ', ['以']],
  2272. ['yi4', 'yì', ['艺']],
  2273. ['yi5', 'yi', ['']],
  2274. ['yin1', 'yīn', ['因', '阴', '音']],
  2275. ['yin2', 'yín', ['银', '淫', '吟']],
  2276. ['yin3', 'yǐn', ['引', '饮', '尹']],
  2277. ['yin4', 'yìn', ['印', '窨']],
  2278. ['ying1', 'yīng', ['应', '英', '婴']],
  2279. ['ying2', 'yíng', ['迎', '营', '赢']],
  2280. ['ying3', 'yǐng', ['影', '颖']],
  2281. ['ying4', 'yìng', ['映', '硬']],
  2282. ['ying5', 'ying', ['']],
  2283. ['yong1', 'yōng', ['拥']],
  2284. ['yong2', 'yóng', ['颙']],
  2285. ['yong3', 'yǒng', ['永']],
  2286. ['yong4', 'yòng', ['用']],
  2287. ['you1', 'yōu', ['优']],
  2288. ['you2', 'yóu', ['游']],
  2289. ['you3', 'yǒu', ['友']],
  2290. ['you4', 'yòu', ['右']],
  2291. ['you5', 'you', ['']],
  2292. ['yu1', 'yū', ['淤']],
  2293. ['yu2', 'yú', ['鱼']],
  2294. ['yu3', 'yǔ', ['雨']],
  2295. ['yu4', 'yù', ['玉']],
  2296. ['yu5', 'yu', ['']],
  2297. ['yuan1', 'yuān', ['冤']],
  2298. ['yuan2', 'yuán', ['元']],
  2299. ['yuan3', 'yuǎn', ['远']],
  2300. ['yuan4', 'yuàn', ['院']],
  2301. ['yue1', 'yuē', ['约']],
  2302. ['yue4', 'yuè', ['月']],
  2303. ['yun1', 'yūn', ['晕']],
  2304. ['yun2', 'yún', ['云']],
  2305. ['yun3', 'yǔn', ['允']],
  2306. ['yun4', 'yùn', ['运']],
  2307. ['za1', 'zā', ['扎']],
  2308. ['za2', 'zá', ['杂']],
  2309. ['zai1', 'zāi', ['灾']],
  2310. ['zai3', 'zǎi', ['载']],
  2311. ['zai4', 'zài', ['在']],
  2312. ['zai5', 'zai', ['']],
  2313. ['zan1', 'zān', ['簪']],
  2314. ['zan2', 'zán', ['咱']],
  2315. ['zan3', 'zǎn', ['攒']],
  2316. ['zan4', 'zàn', ['赞']],
  2317. ['zang1', 'zāng', ['脏']],
  2318. ['zang3', 'zǎng', ['驵']],
  2319. ['zang4', 'zàng', ['葬']],
  2320. ['zao1', 'zāo', ['糟']],
  2321. ['zao2', 'záo', ['凿']],
  2322. ['zao3', 'zǎo', ['早']],
  2323. ['zao4', 'zào', ['造']],
  2324. ['zao5', 'zao', ['']],
  2325. ['ze2', 'zé', ['则']],
  2326. ['ze4', 'zè', ['仄']],
  2327. ['zei2', 'zéi', ['']],
  2328. ['zen3', 'zěn', ['怎']],
  2329. ['zen4', 'zèn', ['贼']],
  2330. ['zeng1', 'zēng', ['曾', '增']],
  2331. ['zeng4', 'zèng', ['赠', '锃']],
  2332. ['zha1', 'zhā', ['渣']],
  2333. ['zha2', 'zhá', ['闸']],
  2334. ['zha3', 'zhǎ', ['眨']],
  2335. ['zha4', 'zhà', ['炸']],
  2336. ['zha5', 'zha', ['']],
  2337. ['zhai1', 'zhāi', ['摘']],
  2338. ['zhai2', 'zhái', ['宅']],
  2339. ['zhai3', 'zhǎi', ['窄']],
  2340. ['zhai4', 'zhài', ['债']],
  2341. ['zhan1', 'zhān', ['沾']],
  2342. ['zhan3', 'zhǎn', ['展']],
  2343. ['zhan4', 'zhàn', ['站']],
  2344. ['zhang1', 'zhāng', ['章']],
  2345. ['zhang3', 'zhǎng', ['掌']],
  2346. ['zhang4', 'zhàng', ['丈']],
  2347. ['zhang5', 'zhang', ['']],
  2348. ['zhao1', 'zhāo', ['招']],
  2349. ['zhao2', 'zháo', ['着']],
  2350. ['zhao3', 'zhǎo', ['找']],
  2351. ['zhao4', 'zhào', ['照']],
  2352. ['zhe1', 'zhē', ['遮']],
  2353. ['zhe2', 'zhé', ['折']],
  2354. ['zhe3', 'zhě', ['者']],
  2355. ['zhe4', 'zhè', ['这']],
  2356. ['zhe5', 'zhe', ['']],
  2357. ['zhei4', 'zhèi', ['这']],
  2358. ['zhen1', 'zhēn', ['真', '针', '珍']],
  2359. ['zhen3', 'zhěn', ['枕', '诊', '疹']],
  2360. ['zhen4', 'zhèn', ['阵', '震', '镇']],
  2361. ['zheng1', 'zhēng', ['争', '征', '篜']],
  2362. ['zheng3', 'zhěng', ['整']],
  2363. ['zheng4', 'zhèng', ['正', '证', '政']],
  2364. ['zhi1', 'zhī', ['支']],
  2365. ['zhi2', 'zhí', ['直']],
  2366. ['zhi3', 'zhǐ', ['只']],
  2367. ['zhi4', 'zhì', ['质']],
  2368. ['zhi5', 'zhi', ['']],
  2369. ['zhong1', 'zhōng', ['中']],
  2370. ['zhong3', 'zhǒng', ['肿']],
  2371. ['zhong4', 'zhòng', ['众']],
  2372. ['zhou1', 'zhōu', ['周']],
  2373. ['zhou2', 'zhóu', ['轴']],
  2374. ['zhou3', 'zhǒu', ['肘']],
  2375. ['zhou4', 'zhòu', ['皱']],
  2376. ['zhou5', 'zhou', ['']],
  2377. ['zhu1', 'zhū', ['猪']],
  2378. ['zhu2', 'zhú', ['竹']],
  2379. ['zhu3', 'zhǔ', ['主']],
  2380. ['zhu4', 'zhù', ['住']],
  2381. ['zhu5', 'zhu', ['']],
  2382. ['zhua1', 'zhuā', ['抓']],
  2383. ['zhua3', 'zhuǎ', ['爪']],
  2384. ['zhuai1', 'zhuāi', ['拽']],
  2385. ['zhuai3', 'zhuǎi', ['跩']],
  2386. ['zhuai4', 'zhuài', ['拽']],
  2387. ['zhuan1', 'zhuān', ['专']],
  2388. ['zhuan3', 'zhuǎn', ['转']],
  2389. ['zhuan4', 'zhuàn', ['赚']],
  2390. ['zhuang1', 'zhuāng', ['庄']],
  2391. ['zhuang3', 'zhuǎng', ['奘']],
  2392. ['zhuang4', 'zhuàng', ['状']],
  2393. ['zhui1', 'zhuī', ['追']],
  2394. ['zhui4', 'zhuì', ['坠']],
  2395. ['zhun1', 'zhūn', ['谆']],
  2396. ['zhun3', 'zhǔn', ['准']],
  2397. ['zhuo1', 'zhuō', ['捉']],
  2398. ['zhuo2', 'zhuó', ['浊']],
  2399. ['zi1', 'zī', ['资']],
  2400. ['zi3', 'zǐ', ['子']],
  2401. ['zi4', 'zì', ['字']],
  2402. ['zi5', 'zi', ['']],
  2403. ['zong1', 'zōng', ['宗']],
  2404. ['zong3', 'zǒng', ['总']],
  2405. ['zong4', 'zòng', ['纵']],
  2406. ['zou1', 'zōu', ['邹']],
  2407. ['zou3', 'zǒu', ['走']],
  2408. ['zou4', 'zòu', ['奏']],
  2409. ['zu1', 'zū', ['租']],
  2410. ['zu2', 'zú', ['足']],
  2411. ['zu3', 'zǔ', ['组']],
  2412. ['zu4', 'zù', ['']],
  2413. ['zuan1', 'zuān', ['钻']],
  2414. ['zuan3', 'zuǎn', ['纂']],
  2415. ['zuan4', 'zuàn', ['攥']],
  2416. ['zui1', 'zuī', ['咀']],
  2417. ['zui3', 'zuǐ', ['嘴']],
  2418. ['zui4', 'zuì', ['最']],
  2419. ['zun1', 'zūn', ['尊']],
  2420. ['zun3', 'zǔn', ['噂']],
  2421. ['zun4', 'zùn', ['捘']],
  2422. ['zuo1', 'zuō', ['嘬']],
  2423. ['zuo2', 'zuó', ['昨']],
  2424. ['zuo3', 'zuǒ', ['左']],
  2425. ['zuo4', 'zuò', ['做']],
  2426. ['zuo5', 'zuo', ['咗']]
  2427. ];
  2428. return arrPinyin;
  2429. }
  2430. module.exports = {
  2431. getData: getData,
  2432. postData: postData,
  2433. payMoney: payMoney,
  2434. getLocalHost: getLocalHost,
  2435. getTimeFormat: getTimeFormat,
  2436. getWindowHeight: getWindowHeight,
  2437. getStorageValue: getStorageValue,
  2438. getProgramList: getProgramList,
  2439. gotoFeedback: gotoFeedback,
  2440. getDetailColor: getDetailColor,
  2441. changeStringToView: changeStringToView,
  2442. changeViewToString: changeViewToString,
  2443. encryptUrl: EncryptUrl,
  2444. decryptUrl: DecryptUrl,
  2445. getPinyin: getPinyin,
  2446. saveTempImage: saveTempImage,
  2447. getTempImage: getTempImage,
  2448. getTaskTodayList: getTaskTodayList,
  2449. updateSearchList: updateSearchList,
  2450. checkIsIPhoneX: checkIsIPhoneX,
  2451. getMemoryLevelAll: getMemoryLevelAll,
  2452. getMemoryLevel: getMemoryLevel,
  2453. getShareImageBackColor: getShareImageBackColor,
  2454. UpdateMiaoguoCardTodayAll: UpdateMiaoguoCardTodayAll,
  2455. setCollect: setCollect,
  2456. UploadUserConfig: UploadUserConfig,
  2457. getServerImage: getServerImage,
  2458. getBaiduToken: getBaiduToken,
  2459. buildInitData: buildInitData,
  2460. getPinyinNormal: getPinyinNormal,
  2461. getHanzi: getHanzi,
  2462. GetHanziUnitWords:GetHanziUnitWords
  2463. }