addInfomationDetail.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507
  1. import common from '../../utils/util';
  2. import main from '../../utils/main';
  3. const app = getApp();
  4. var hasStart = {};
  5. Page({
  6. data: {
  7. ImagePath: app.globalData.uploadImageUrl,
  8. IsPoemRead: 0,
  9. ShowKaiti: 0,
  10. ShowSoundMark: 1,
  11. CSS: {},
  12. IsHelp: false,
  13. IsShowHelp: false,
  14. HelpArr: ["help_board_tips_zhidingduanluo", "help_board_tips_tiaozhuanchaxun"],
  15. },
  16. onLoad: function (options) {
  17. var that = this;
  18. that.setData({
  19. Containnerheight: main.getWindowHeight(),
  20. });
  21. this.getList();
  22. hasStart = {};
  23. },
  24. onShow: function () {
  25. var that = this;
  26. if (wx.getStorageSync("IsHelpAddInfomation") == 1) {
  27. that.setData({
  28. IsShowHelp: true,
  29. });
  30. main.ShowHelp(that, "#helpTianKong0", "down", "选择拼音作为问题,点一下", "Left");
  31. } else {
  32. that.setData({
  33. IsShowHelp: false,
  34. });
  35. }
  36. },
  37. getList: function () {
  38. if (app.globalData.SearchItem) {
  39. this.getListFinished(app.globalData.SearchItem);
  40. }
  41. },
  42. getListFinished: function (data) {
  43. var that = this;
  44. if (data.CHN) {
  45. if (data.CHN.PeomContent)
  46. data.TypeName = "S";
  47. else if (data.CHN.HanZi.length == 1)
  48. data.TypeName = "Z";
  49. else
  50. data.TypeName = "C";
  51. } else if (data.ENG) {
  52. data.TypeName = "D";
  53. } else if (data.LATEX){
  54. data.TypeName = "G";
  55. var str=data.LATEX.LatexContent;
  56. str = str.replace(/##xg##/g, "\\");
  57. var str2 = "$$"+str+"$$";
  58. data.LATEX.LatexContent1=str;
  59. data.LATEX.LatexContent2=str2;
  60. }
  61. //生成书的链接
  62. if (data.CHN && data.CHN.Book){
  63. let arr=[];
  64. for(let i=0;i<data.CHN.Book.length;i++){
  65. let item=data.CHN.Book[i];
  66. let LibraryName1=item.substring(9,12);
  67. let LibraryName2=item.substring(12,13);
  68. let str="../../pages_test/knowledge/package?Category=语文&LibraryName1="+LibraryName1+"&LibraryName2="+LibraryName2+"学期";
  69. let obj={};
  70. obj.Name=item;
  71. obj.Url=str;
  72. arr.push(obj);
  73. }
  74. data.CHN.Book=arr;
  75. }
  76. //生成书的链接
  77. if (data.ENG && data.ENG.Book){
  78. let arr=[];
  79. for(let i=0;i<data.ENG.Book.length;i++){
  80. let item=data.ENG.Book[i];
  81. let LibraryName1=item.substring(9,12);
  82. let LibraryName2=item.substring(12,15);
  83. let str="../../pages_test/knowledge/package?Category=English&LibraryName1="+LibraryName1+"&LibraryName2="+LibraryName2;
  84. let obj={};
  85. obj.Name=item;
  86. obj.Url=str;
  87. arr.push(obj);
  88. }
  89. data.ENG.Book=arr;
  90. }
  91. if (data.CHN && data.CHN.KaitiArr) {
  92. if (data.CHN.KaitiArr.length == 1) {
  93. data.CHN.KaitiWidth = "";
  94. } else {
  95. data.CHN.KaitiWidth = "panelItemSmall";
  96. }
  97. if (data.CHN.BiShunArr2.length == 1) {
  98. data.CHN.BiShunWidth = "";
  99. } else {
  100. data.CHN.BiShunWidth = "panelItemSmall";
  101. }
  102. }
  103. if (data.ENG && data.ENG.Paraphrase && Array.isArray(data.ENG.Paraphrase)) {
  104. for (var i = 0; i < data.ENG.Paraphrase.length; i++) {
  105. var item = data.ENG.Paraphrase[i];
  106. item.PartOfSpeech = common.ReplaceAllString(item.PartOfSpeech, "释义", "");
  107. }
  108. }
  109. if (data.ENG && data.ENG.ExamplesSentences) {
  110. for (var i = 0; i < data.ENG.ExamplesSentences.length; i++) {
  111. var item = data.ENG.ExamplesSentences[i];
  112. var obj = [{
  113. ContentType: 0,
  114. Content: ""
  115. }, {
  116. ContentType: 1,
  117. Content: item[0]
  118. }, {
  119. ContentType: 2,
  120. Content: ""
  121. }, {
  122. ContentType: 3,
  123. Content: ""
  124. }];
  125. var obj2 = main.changeStringToView(obj);
  126. var str = obj2.Field[1][0].Content;
  127. if (str && common.checkIsArray(str))
  128. item.push(str);
  129. else {
  130. let obj3 = {};
  131. obj3.ChildID=0;
  132. obj3.key = "normal";
  133. obj3.value = str;
  134. item.push([obj3]);
  135. }
  136. item[1] = common.ReplaceAllString(item[1], "<b>", "");
  137. item[1] = common.ReplaceAllString(item[1], "</b>", "");
  138. }
  139. }
  140. that.setData({
  141. Result: data,
  142. })
  143. },
  144. getInputData: function (e) {
  145. var that = this;
  146. //console.log("time1:"+new Date().getTime());
  147. var type = e.currentTarget.dataset.type;
  148. var css = e.currentTarget.dataset.css;
  149. var tag = e.currentTarget.dataset.tag;
  150. var content = e.currentTarget.dataset.content;
  151. var soundmark = e.currentTarget.dataset.soundmark;
  152. //console.log(content);
  153. //console.log("time2:" + new Date().getTime());
  154. if (!this.data.CSS[css] || this.data.CSS[css].Number == "") {
  155. if (!this.data.CSS[css])
  156. this.data.CSS[css] = {};
  157. this.data.CSS[css].Css1 = "Select1";
  158. this.data.CSS[css].Css2 = "Select2";
  159. this.data.CSS[css].Content = content;
  160. this.data.CSS[css].Type = type;
  161. this.data.CSS[css].Tag = tag;
  162. if (e.currentTarget.dataset.latexname)
  163. this.data.CSS[css].LatexName=e.currentTarget.dataset.latexname;
  164. if (e.currentTarget.dataset.fontsize)
  165. this.data.CSS[css].FontSize=e.currentTarget.dataset.fontsize;
  166. if (tag == "发音")
  167. this.data.CSS[css].SoundMark = soundmark;
  168. if (tag == "默写" || tag == "拼音") {
  169. var soundmark = e.currentTarget.dataset.soundmark;
  170. if (soundmark)
  171. this.data.CSS[css].SoundMark = e.currentTarget.dataset.soundmark;
  172. }
  173. this.data.CSS[css].Number = "1";
  174. if (app.globalData.TempFieldNumber > 0 && !hasStart[css]) {
  175. this.data.CSS[css].Number = app.globalData.TempFieldNumber;
  176. hasStart[css] = true;
  177. }
  178. } else if (this.data.CSS[css].Number == "3") {
  179. this.data.CSS[css].Css1 = "";
  180. this.data.CSS[css].Css2 = "";
  181. this.data.CSS[css].Number = "";
  182. this.data.CSS[css].Content = "";
  183. this.data.CSS[css].Type = "";
  184. this.data.CSS[css].Tag = "";
  185. } else {
  186. this.data.CSS[css].Number = Number(this.data.CSS[css].Number) + 1;
  187. }
  188. //console.log("time3:" + new Date().getTime());
  189. this.setData({
  190. CSS: this.data.CSS,
  191. });
  192. //console.log("time4:" + new Date().getTime());
  193. if (wx.getStorageSync("IsHelpAddInfomation") == 1) {
  194. that.setData({
  195. IsShowHelp: true,
  196. });
  197. if (this.data.CSS[css].Number == 0)
  198. main.ShowHelp(that, "#HelpHanZi", "down", "选择文字作为答案,\n点两下,注意是点两下", "Left");
  199. else if (this.data.CSS[css].Number == 1)
  200. main.ShowHelp(that, "#HelpHanZi", "down", "选择文字作为答案,\n点两下,注意是点两下\n让左侧数字成为2", "Left");
  201. else if (this.data.CSS[css].Number == 2)
  202. main.ShowHelp(that, "#btnAdd", "down", "请点“添加”按钮", "Left");
  203. }
  204. },
  205. addData: function () {
  206. if (JSON.stringify(this.data.CSS) != "{}") {
  207. for (var item in this.data.CSS) {
  208. if (this.data.CSS[item].Number == "") {
  209. delete this.data.CSS[item];
  210. }
  211. }
  212. app.globalData.TempFieldNumber = 0;
  213. var id = app.globalData.TempMiaoguoCardID;
  214. var list = app.globalData.CardList;
  215. for (var i = 0; i < list.length; i++) {
  216. if (id == list[i].MiaoguoCardID) {
  217. for (var key in this.data.CSS) {
  218. var item = this.data.CSS[key];
  219. if (item.Tag) {
  220. var strArrTag = list[i].Content[0].Content + ",";
  221. if (list[i].Content[0].Content.constructor == Array)
  222. strArrTag = list[i].Content[0].Content.join(",") + ",";
  223. else
  224. list[i].Content[0].Content = list[i].Content[0].Content.split(",");
  225. var tags = item.Tag.split(",");
  226. for (var j = 0; j < tags.length; j++) {
  227. if (tags[j]) {
  228. if (strArrTag.indexOf(tags[j] + ",") < 0)
  229. list[i].Content[0].Content.push(tags[j]);
  230. }
  231. }
  232. }
  233. var str = "";
  234. if (item.Type == "image") {
  235. item.Content = main.encryptUrl(item.Content);
  236. str = "[图]" + item.Content + "[/图]";
  237. } else if (key=="ENG_Word") {
  238. str = "[特]" + item.Content + "[/特]";
  239. } else if (key=="LATEX_LatexName") {
  240. str = "[特 FS=\"64\"]" + item.Content + "[/特]";
  241. } else if (key=="LATEX_LatexContent") {
  242. str = item.Content;
  243. str = str.replace(/##xg##/g, "\\");
  244. str = str.replace(/\r/g, "");
  245. str = "[公式 N=\""+item.LatexName+"\" FS=\""+item.FontSize+"\"]"+ str + "[/公式]";
  246. //debugger;
  247. } else if (item.Type == "sound") {
  248. str = "[读]" + item.Content + "[/读]";
  249. if (item.Tag == "发音") {
  250. item.SoundMark = main.GetSoundError(item.SoundMark);
  251. var strTemp = item.Content.substr(0, 1);
  252. if (this.data.ShowSoundMark == "1")
  253. str = "[读 src='" + item.SoundMark + "']" + item.Content + "[/读]";
  254. else
  255. str = "[读 src='" + item.SoundMark + "']" + strTemp + "式[/读]";
  256. } else if (item.Tag == "拼音" || item.Tag == "默写") {
  257. if (item.SoundMark) {
  258. if (this.data.Result.CHN.HanZi) {
  259. var sound = this.data.Result.CHN.HanZi;
  260. sound = main.GetSoundError(sound);
  261. str = "[读 src='" + sound + "']" + item.Content + "[/读]";
  262. } else
  263. str = "[读 src='" + item.SoundMark + "']" + item.Content + "[/读]";
  264. } else {
  265. var sound = this.data.Result.CHN.HanZi + "(" + main.getPinyinNormal(item.Content) + ")";
  266. sound = main.GetSoundError(sound);
  267. str = "[读 src='" + sound + "']" + item.Content + "[/读]";
  268. }
  269. }
  270. } else {
  271. if (item.Tag == "诗词" || item.Tag == "译文") {
  272. if (Array.isArray(item.Content) &&
  273. Array.isArray(item.Content[0])) {
  274. for (var j = 0; j < item.Content.length; j++) {
  275. if (Array.isArray(item.Content[j])) {
  276. item.Content[j] = item.Content[j].join("");
  277. }
  278. }
  279. if (Array.isArray(item.Content))
  280. str = item.Content.join("\n");
  281. else
  282. str = item.Content;
  283. } else {
  284. if (Array.isArray(item.Content))
  285. str = item.Content.join("");
  286. else
  287. str = item.Content;
  288. }
  289. if (item.Tag == "诗词" && this.data.IsPoemRead == 1) {
  290. var arr = str.split("\n");
  291. var arr2 = [];
  292. for (var j = 0; j < arr.length; j++) {
  293. arr2.push("[读]" + arr[j] + "[/读]");
  294. }
  295. str = arr2.join("\n");
  296. }
  297. } else if (item.Tag == "释义") {
  298. if (item.Content.indexOf("[读 src=") >= 0) {
  299. var sound = item.Content.substring(item.Content.indexOf("[读"));
  300. sound = sound.substring(sound.indexOf("src='") + 5, sound.indexOf("']"));
  301. var sound2 = main.GetSoundError(sound);
  302. item.Content = item.Content.replace(sound, sound2);
  303. }
  304. str = item.Content;
  305. } else
  306. str = item.Content;
  307. }
  308. if (this.data.Result && this.data.Result.CHN && this.data.Result.CHN.PinYin && this.data.Result.CHN.PinYin.length == 1) {
  309. if (item.Tag == "释义") {
  310. str = str.substr(str.indexOf("[/读]") + 4);
  311. }
  312. }
  313. if (list[i].Content[item.Number].Content) {
  314. if (item.Tag == "组词" || item.Tag == "近义词" || item.Tag == "反义词") {
  315. str = "\n" + str;
  316. } else {
  317. str = "\n\n" + str;
  318. }
  319. }
  320. list[i].Content[item.Number].Content += str;
  321. if (list[i].Content[item.Number].Content.indexOf("\n\n") == 0)
  322. list[i].Content[item.Number].Content = list[i].Content[item.Number].Content.substr(2);
  323. if (item.Tag == "诗词") {
  324. if (list[i].Content[item.Number].Content.indexOf("\n") > 0 && list[i].Content[item.Number].Content.indexOf("[") != 0) {
  325. list[i].Content[item.Number].Content = "\n\n" + list[i].Content[item.Number].Content;
  326. }
  327. }
  328. }
  329. break;
  330. }
  331. }
  332. app.globalData.CardList = list;
  333. wx.navigateBack({
  334. delta: app.globalData.TempSearchBackNumber,
  335. });
  336. } else {
  337. wx.showToast({
  338. title: '请选择内容',
  339. })
  340. }
  341. },
  342. changeBishun: function (e) {
  343. var id = e.currentTarget.dataset.id;
  344. if (id === "0") {
  345. for (var i = 0; i < 6; i++) {
  346. delete this.data.CSS["CHN_BiShunArr2_" + i];
  347. }
  348. } else if (id === "1") {
  349. for (var i = 0; i < 6; i++) {
  350. delete this.data.CSS["CHN_KaitiArr_" + i];
  351. }
  352. }
  353. this.setData({
  354. ShowKaiti: id,
  355. CSS: this.data.CSS,
  356. });
  357. },
  358. changeSoundMark: function (e) {
  359. var id = e.currentTarget.dataset.id;
  360. this.setData({
  361. ShowSoundMark: id,
  362. });
  363. },
  364. changeRead: function (e) {
  365. var id = e.currentTarget.dataset.id;
  366. var count = Object.getOwnPropertyNames(this.data.CSS).length;
  367. for (var i = 0; i < count; i++) {
  368. delete this.data.CSS["CHN_PeomContent_" + i];
  369. }
  370. delete this.data.CSS["CHN_PeomContent"];
  371. this.setData({
  372. IsPoemRead: id,
  373. CSS: this.data.CSS,
  374. });
  375. },
  376. changeInfomation: function (e) {
  377. var word = e.currentTarget.dataset.word;
  378. if (word.indexOf(";") > 0) {
  379. word = word.substr(0, word.indexOf(";"));
  380. }
  381. var url = 'GetMiaoguoAISearch2?UserID=' + app.globalData.userInfo.UserID;
  382. url += "&Word=" + word;
  383. if (!e.currentTarget.dataset.ischn)
  384. url += "&SearchType=zici";
  385. wx.showLoading();
  386. main.getData(url, function (data) {
  387. wx.hideLoading();
  388. if (data && (data.CHN || data.ENG)) {
  389. var obj = {};
  390. var len = 26;
  391. obj.Value = data;
  392. if (data.CHN) {
  393. obj.Key = data.CHN.HanZi;
  394. obj.Content = data.CHN.PinYin[0].explain;
  395. if (obj.Key.length == 1)
  396. obj.TypeName = "Z";
  397. else
  398. obj.TypeName = "C";
  399. obj.Url = "&UserID=" + app.globalData.userInfo.UserID + "&Word=" + obj.Key;
  400. } else if (data.ENG) {
  401. obj.Key = data.ENG.Word;
  402. obj.TypeName = "D";
  403. if (data.ENG.Soundmark)
  404. obj.Remark = data.ENG.Soundmark.Eng;
  405. if (data.ENG.Paraphrase && data.ENG.Paraphrase[0] && data.ENG.Paraphrase[0].ParaphraseList)
  406. obj.Content = data.ENG.Paraphrase[0].ParaphraseList;
  407. obj.Url = "&UserID=" + app.globalData.userInfo.UserID + "&Word=" + obj.Key;
  408. }
  409. if (data.CHN && data.CHN.PinYin && data.CHN.PinYin.length > 0) {
  410. obj.Remark = data.CHN.PinYin[0].pinyin;
  411. }
  412. if (obj.Content && obj.Content.length > len)
  413. obj.Content = obj.Content.substr(0, len) + "...";
  414. main.updateSearchList(obj);
  415. if (app.globalData.TempSearchBackNumber == 0)
  416. app.globalData.TempSearchBackNumber = 1;
  417. else if (app.globalData.TempSearchBackNumber >= 1)
  418. app.globalData.TempSearchBackNumber = 2;
  419. wx.redirectTo({
  420. url: './addInfomationDetail',
  421. });
  422. } else {
  423. wx.showToast({
  424. title: '无资料',
  425. image: "../images/universalpic_exclamation_white_120x120.png",
  426. });
  427. }
  428. });
  429. },
  430. showHelp0: function () {
  431. var that = this;
  432. that.setData({
  433. IsHelp: true,
  434. });
  435. },
  436. goto: function (e) {
  437. var url = e.currentTarget.dataset.url;
  438. wx.navigateTo({
  439. url: url,
  440. });
  441. },
  442. closeHelp0: function () {
  443. this.setData({
  444. IsHelp: false,
  445. });
  446. },
  447. closeHelp: function () {
  448. this.setData({
  449. IsShowHelp: false,
  450. });
  451. wx.setStorageSync('IsHelpAddInfomation', 0);
  452. },
  453. onShareAppMessage: function () {
  454. return {
  455. title: app.globalData.ShareTitle,
  456. path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
  457. imageUrl: app.globalData.ShareImage,
  458. }
  459. },
  460. })