addInfomation.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. import common from '../../utils/util';
  2. import main from '../../utils/main';
  3. const app = getApp();
  4. const WORD_LENGTH=18;
  5. Page({
  6. data: {
  7. IsStart: false,
  8. Searching: false,
  9. SearchList: [],
  10. SearchInfo: "",
  11. IsMore:true,
  12. },
  13. onLoad: function () {
  14. var that = this;
  15. that.setData({
  16. Containnerheight: main.getWindowHeight(),
  17. });
  18. },
  19. onShow: function () {
  20. var that = this;
  21. common.getStorageValue(that, "SearchTextList", [], function () {});
  22. common.getStorageValue(that, "SearchWord3", [], function () {
  23. var list = that.data.SearchWord3;
  24. for (var i = 0; i < list.length; i++) {
  25. var item = list[i];
  26. if (item.Type == "shici") {
  27. item.TypeName = "S";
  28. item.Remark = item.Author + " " + item.Dynasty;
  29. } else if (item.Type == "eng") {
  30. item.TypeName = "D";
  31. } else {
  32. if (item.Key.length == 1)
  33. item.TypeName = "Z";
  34. else
  35. item.TypeName = "C";
  36. }
  37. if (item.Content && item.Content.length > WORD_LENGTH)
  38. item.Content = item.Content.substr(0, WORD_LENGTH) + "...";
  39. }
  40. that.setData({
  41. SearchWord3: list,
  42. IsMore:true,
  43. });
  44. });
  45. },
  46. goto: function (e) {
  47. var url = e.currentTarget.dataset.url;
  48. wx.navigateTo({
  49. url: './' + url,
  50. })
  51. },
  52. onKeyInput: function (e) {
  53. var search = e.detail.value;
  54. var that = this;
  55. that.setData({
  56. SearchInfo: search,
  57. });
  58. },
  59. onSearchHistory: function (e) {
  60. var index = Number(e.currentTarget.dataset.index);
  61. var obj = {};
  62. if (e.currentTarget.dataset.type == "SearchWord3")
  63. obj = this.data.SearchWord3[index];
  64. else
  65. obj = this.data.SearchList[index];
  66. main.updateSearchList(obj);
  67. app.globalData.TempSearchBackNumber = 2;
  68. app.globalData.CardList2=[];
  69. wx.navigateTo({
  70. url: './addInfomationDetail',
  71. });
  72. },
  73. searchResult: function (e) {
  74. var that = this;
  75. var search = that.data.SearchInfo;
  76. if (e.currentTarget.dataset.search) {
  77. search = e.currentTarget.dataset.search;
  78. that.setData({
  79. SearchInfo:search,
  80. });
  81. }
  82. var searchtype=e.currentTarget.dataset.searchtype;
  83. var author=e.currentTarget.dataset.author;
  84. var shiciurl=e.currentTarget.dataset.shiciurl;
  85. main.searchInfomation(search,searchtype,author,shiciurl,function(list,obj){
  86. if (obj){
  87. main.updateSearchList(obj,function(){
  88. updateData(that,search);
  89. wx.navigateTo({
  90. url: './addInfomationDetail',
  91. });
  92. });
  93. }
  94. else{
  95. wx.setNavigationBarTitle({
  96. title: "搜索结果"
  97. });
  98. that.setData({
  99. SearchList: list,
  100. IsStart: true,
  101. IsMore:true,
  102. });
  103. that.getCardList();
  104. updateData(that,search);
  105. }
  106. });
  107. function updateData(obj,search) {
  108. setTimeout(function () {
  109. var arr = obj.data.SearchTextList;
  110. for (var i = 0; i < arr.length; i++) {
  111. if (arr[i] == search) {
  112. arr.splice(i, 1);
  113. break;
  114. }
  115. }
  116. arr.unshift(search);
  117. while (arr.length > 10) {
  118. arr.pop();
  119. }
  120. wx.setStorageSync("SearchTextList", arr);
  121. obj.setData({
  122. SearchTextList: arr,
  123. });
  124. }, 2000);
  125. }
  126. },
  127. getCardList: function () {
  128. var that = this;
  129. var url = 'GetMiaoguoCardList2?UserID=' + app.globalData.userInfo.UserID;
  130. url += "&Key=" + that.data.SearchInfo;
  131. that.setData({
  132. Searching: true,
  133. });
  134. main.getData(url, function (data) {
  135. that.setData({
  136. Searching: false,
  137. });
  138. if (data) {
  139. if (data.List.length > 0) {
  140. var list=data.List;
  141. for (var i = 0; i < list.length; i++) {
  142. var item = list[i];
  143. item.Content[1].ContentStr = main.replaceCardInfoString(item.Content[1].Content);
  144. if (item.Content[1].ContentStr.length > WORD_LENGTH)
  145. item.Content[1].ContentStr = main.replaceCardInfoString(item.Content[1].ContentStr.substr(0, WORD_LENGTH)) + "...";
  146. item.Content[2].ContentStr = main.replaceCardInfoString(item.Content[2].Content);
  147. if (item.Content[2].ContentStr.length > WORD_LENGTH)
  148. item.Content[2].ContentStr = main.replaceCardInfoString(item.Content[2].ContentStr.substr(0, WORD_LENGTH)) + "...";
  149. var imageUrl = getImage(item.Content[1].Content);
  150. if (imageUrl.length == 0 && item.Content[2].Content)
  151. imageUrl = getImage(item.Content[2].Content);
  152. if (imageUrl.length == 0 && item.Content[3].Content)
  153. imageUrl = getImage(item.Content[3].Content);
  154. if (imageUrl.length > 0) {
  155. item.ImageUrlTemp = main.getTempImage(imageUrl);
  156. item.ImageUrlServer = imageUrl;
  157. }
  158. }
  159. that.setData({
  160. SearchCardList:list,
  161. });
  162. app.globalData.CardList2=list;
  163. }
  164. else{
  165. that.setData({
  166. SearchCardList:[],
  167. });
  168. }
  169. }
  170. });
  171. function getImage(str) {
  172. var result = "";
  173. if (str.indexOf("[图") >= 0) {
  174. result = str.substring(str.indexOf("[图") + 3, str.indexOf("[/图]"));
  175. result = result.substring(result.indexOf("]") + 1);
  176. }
  177. //console.log(result);
  178. return result;
  179. }
  180. },
  181. clearInput: function () {
  182. this.setData({
  183. IsStart: false,
  184. Searching: false,
  185. SearchInfo: "",
  186. Focus:true,
  187. });
  188. },
  189. close: function (e) {
  190. wx.navigateBack({
  191. delta: 1,
  192. });
  193. },
  194. deleteItem: function (e) {
  195. var that = this;
  196. that.setData({
  197. SearchTextList: [],
  198. });
  199. wx.removeStorageSync("SearchTextList");
  200. },
  201. deleteItem2: function (e) {
  202. var that = this;
  203. var index = e.currentTarget.dataset.index;
  204. that.data.SearchWord3.splice(index, 1);
  205. that.setData({
  206. SearchWord3: that.data.SearchWord3,
  207. });
  208. wx.setStorageSync("SearchWord3", that.data.SearchWord3);
  209. },
  210. setMoreHide:function(){
  211. this.setData({
  212. IsMore:false,
  213. });
  214. },
  215. onShareAppMessage: function () {
  216. return {
  217. title: app.globalData.ShareTitle,
  218. path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
  219. imageUrl: app.globalData.ShareImage,
  220. }
  221. },
  222. });