addInfomation.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. import common from '../../utils/util';
  2. import main from '../../utils/main';
  3. const app = getApp();
  4. Page({
  5. data: {
  6. IsStart: false,
  7. Searching: false,
  8. SearchList: [],
  9. SearchInfo: "",
  10. },
  11. onLoad: function () {
  12. var that = this;
  13. that.setData({
  14. Containnerheight: main.getWindowHeight(),
  15. });
  16. },
  17. onShow: function () {
  18. var that = this;
  19. common.getStorageValue(that, "SearchTextList", [], function () {});
  20. common.getStorageValue(that, "SearchWord3", [], function () {
  21. var list = that.data.SearchWord3;
  22. for (var i = 0; i < list.length; i++) {
  23. var item = list[i];
  24. if (item.Type == "shici") {
  25. item.TypeName = "S";
  26. item.Remark = item.Author + " " + item.Dynasty;
  27. } else if (item.Type == "eng") {
  28. item.TypeName = "D";
  29. } else {
  30. if (item.Key.length == 1)
  31. item.TypeName = "Z";
  32. else
  33. item.TypeName = "C";
  34. }
  35. }
  36. that.setData({
  37. SearchWord3: list,
  38. });
  39. });
  40. },
  41. goto: function (e) {
  42. var url = e.currentTarget.dataset.url;
  43. wx.navigateTo({
  44. url: './' + url,
  45. })
  46. },
  47. onKeyInput: function (e) {
  48. var search = e.detail.value;
  49. var that = this;
  50. that.setData({
  51. SearchInfo: search,
  52. });
  53. },
  54. onSearchHistory: function (e) {
  55. var index = Number(e.currentTarget.dataset.index);
  56. var obj = {};
  57. if (e.currentTarget.dataset.type == "SearchWord3")
  58. obj = this.data.SearchWord3[index];
  59. else
  60. obj = this.data.SearchList[index];
  61. main.updateSearchList(obj);
  62. app.globalData.TempSearchBackNumber = 2;
  63. app.globalData.CardList2=[];
  64. wx.navigateTo({
  65. url: './addInfomationDetail',
  66. });
  67. },
  68. searchResult: function (e) {
  69. var that = this;
  70. var search = that.data.SearchInfo;
  71. if (e.currentTarget.dataset.search) {
  72. search = e.currentTarget.dataset.search;
  73. that.setData({
  74. SearchInfo:search,
  75. });
  76. }
  77. wx.showLoading({
  78. title: '查询中',
  79. });
  80. setTimeout(function () {
  81. wx.hideLoading();
  82. }, 5000);
  83. var url = 'GetMiaoguoAISearch2?UserID=' + app.globalData.userInfo.UserID;
  84. url += "&Word=" + search;
  85. if (e.currentTarget.dataset.searchtype)
  86. url += "&SearchType=" + e.currentTarget.dataset.searchtype;
  87. if (e.currentTarget.dataset.author)
  88. url += "&Author=" + e.currentTarget.dataset.author;
  89. if (e.currentTarget.dataset.shiciurl)
  90. url += "&ShiciUrl=" + e.currentTarget.dataset.shiciurl;
  91. main.getData(url, function (data) {
  92. wx.hideLoading();
  93. wx.setNavigationBarTitle({
  94. title: "搜索结果"
  95. });
  96. if (data) {
  97. //console.log(data);
  98. if (data.List) {
  99. var len = 26;
  100. var list = data.List;
  101. for (var i = 0; i < list.length; i++) {
  102. var item = list[i];
  103. if (item.TypeName == "字词") {
  104. if (item.Key.length == 1)
  105. item.TypeName = "Z";
  106. else
  107. item.TypeName = "C";
  108. } else if (item.TypeName == "诗词") {
  109. item.TypeName = "S";
  110. item.Remark = item.Author + " " + item.Dynasty;
  111. } else if (item.TypeName == "翻译") {
  112. item.TypeName = "D";
  113. }
  114. if (item.Content && item.Content.length > len)
  115. item.Content = item.Content.substr(0, len) + "...";
  116. }
  117. that.setData({
  118. SearchList: list,
  119. IsStart: true,
  120. });
  121. } else {
  122. var obj = {};
  123. obj.Key = search;
  124. obj.Value = data;
  125. if (data.CHN && data.CHN.Author)
  126. obj.Author = data.CHN.Author;
  127. if (data.CHN && data.CHN.Dynasty)
  128. obj.Dynasty = data.CHN.Dynasty;
  129. if (data.CHN && data.CHN.PeomContent) {
  130. obj.Type = "shici";
  131. obj.TypeName = "诗词";
  132. obj.Content = data.CHN.PeomContent.join("").substr(0, 26);
  133. obj.ShiciUrl = e.currentTarget.dataset.shiciurl;
  134. } else if (data.CHN) {
  135. obj.Type = "zici";
  136. if (data.CHN.PinYin && data.CHN.PinYin[0] && data.CHN.PinYin[0].pinyin)
  137. obj.Remark = data.CHN.PinYin[0].pinyin;
  138. if (data.CHN.PinYin && data.CHN.PinYin[0] && data.CHN.PinYin[0].explain) {
  139. obj.Content = data.CHN.PinYin[0].explain.substr(0, 26);
  140. obj.Content = obj.Content.replace("<p>", "");
  141. obj.Content = obj.Content.replace("</p>", "");
  142. if (obj.Content.length >= 26)
  143. obj.Content += "..."
  144. }
  145. }
  146. if (data.ENG && !data.CHN) {
  147. obj.Type = "eng";
  148. obj.TypeName = "D";
  149. if (data.ENG.Soundmark && data.ENG.Soundmark.Eng)
  150. obj.Remark = data.ENG.Soundmark.Eng;
  151. if (data.ENG.Paraphrase.length > 0) {
  152. if (common.checkIsArray(data.ENG.Paraphrase) && data.ENG.Paraphrase[0].ParaphraseList)
  153. obj.Content = data.ENG.Paraphrase[0].ParaphraseList.join("; ").substr(0, 26);
  154. else
  155. obj.Content = data.ENG.Paraphrase.substr(0, 26) + "...";
  156. }
  157. }
  158. main.updateSearchList(obj);
  159. app.globalData.TempSearchBackNumber = 2;
  160. //app.globalData.CardList=[];
  161. app.globalData.CardList2=[];
  162. wx.navigateTo({
  163. url: './addInfomationDetail',
  164. });
  165. }
  166. } else {
  167. that.setData({
  168. SearchList: [],
  169. IsStart: true,
  170. });
  171. }
  172. that.getCardList();
  173. setTimeout(function () {
  174. var arr = that.data.SearchTextList;
  175. for (var i = 0; i < arr.length; i++) {
  176. if (arr[i] == search) {
  177. arr.splice(i, 1);
  178. break;
  179. }
  180. }
  181. arr.unshift(search);
  182. while (arr.length > 10) {
  183. arr.pop();
  184. }
  185. wx.setStorageSync("SearchTextList", arr);
  186. that.setData({
  187. SearchTextList: arr,
  188. });
  189. }, 2000);
  190. });
  191. },
  192. getCardList: function () {
  193. var that = this;
  194. var url = 'GetMiaoguoCardList2?UserID=' + app.globalData.userInfo.UserID;
  195. url += "&Key=" + that.data.SearchInfo;
  196. that.setData({
  197. Searching: true,
  198. });
  199. main.getData(url, function (data) {
  200. if (data) {
  201. that.setData({
  202. Searching: false,
  203. });
  204. if (data.List.length > 0) {
  205. var len = 16;
  206. var list=data.List;
  207. for (var i = 0; i < list.length; i++) {
  208. var item = list[i];
  209. item.Content[1].ContentStr = main.replaceCardInfoString(item.Content[1].Content);
  210. if (item.Content[1].ContentStr.length > len)
  211. item.Content[1].ContentStr = main.replaceCardInfoString(item.Content[1].ContentStr.substr(0, len)) + "...";
  212. item.Content[2].ContentStr = main.replaceCardInfoString(item.Content[2].Content);
  213. if (item.Content[2].ContentStr.length > len)
  214. item.Content[2].ContentStr = main.replaceCardInfoString(item.Content[2].ContentStr.substr(0, len)) + "...";
  215. var imageUrl = getImage(item.Content[1].Content);
  216. if (imageUrl.length == 0 && item.Content[2].Content)
  217. imageUrl = getImage(item.Content[2].Content);
  218. if (imageUrl.length == 0 && item.Content[3].Content)
  219. imageUrl = getImage(item.Content[3].Content);
  220. if (imageUrl.length > 0) {
  221. item.ImageUrlTemp = main.getTempImage(imageUrl);
  222. item.ImageUrlServer = imageUrl;
  223. }
  224. }
  225. that.setData({
  226. SearchCardList:list,
  227. });
  228. app.globalData.CardList2=list;
  229. }
  230. }
  231. });
  232. function getImage(str) {
  233. var result = "";
  234. if (str.indexOf("[图") >= 0) {
  235. result = str.substring(str.indexOf("[图") + 3, str.indexOf("[/图]"));
  236. result = result.substring(result.indexOf("]") + 1);
  237. }
  238. //console.log(result);
  239. return result;
  240. }
  241. },
  242. clearInput: function () {
  243. this.setData({
  244. IsStart: false,
  245. Searching: false,
  246. SearchInfo: "",
  247. });
  248. },
  249. close: function (e) {
  250. wx.navigateBack({
  251. delta: 1,
  252. });
  253. },
  254. deleteItem: function (e) {
  255. var that = this;
  256. that.setData({
  257. SearchTextList: [],
  258. });
  259. wx.removeStorageSync("SearchTextList");
  260. },
  261. deleteItem2: function (e) {
  262. var that = this;
  263. var index = e.currentTarget.dataset.index;
  264. that.data.SearchWord3.splice(index, 1);
  265. that.setData({
  266. SearchWord3: that.data.SearchWord3,
  267. });
  268. wx.setStorageSync("SearchWord3", that.data.SearchWord3);
  269. },
  270. onShareAppMessage: function () {
  271. return {
  272. title: app.globalData.ShareTitle,
  273. path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
  274. imageUrl: app.globalData.ShareImage,
  275. }
  276. },
  277. });