search.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import common from '../../utils/util';
  2. import server from '../../utils/main';
  3. const app = getApp();
  4. Page({
  5. data: {
  6. focus: false,
  7. inputValue: ''
  8. },
  9. onLoad: function (options) {
  10. this.setData({
  11. Height: common.getSystemHeight(),
  12. ExampleArray: this.getExampleArray(),
  13. IsSearchResult: false,
  14. });
  15. },
  16. onShow:function(){
  17. this.setData({
  18. focus:true,
  19. });
  20. },
  21. getExampleArray: function () {
  22. var result = [];
  23. var arr = JSON.parse(wx.getStorageSync("HanziAll"));
  24. for (var i = 0; i < arr.length; i++) {
  25. if (arr[i].Units && arr[i].Units.length>0) {
  26. var rnd1 = common.random(0, arr[i].Units.length - 1);
  27. var rnd2 = common.random(0, arr[i].Units[rnd1].Words.length - 1);
  28. var isfinished = false;
  29. var arrReview = wx.getStorageSync("ReviewList");
  30. for (var l = 0; l < arrReview.length; l++) {
  31. if (arrReview[l].Word == arr[i].Units[rnd1].Words[rnd2].Name) {
  32. isfinished = true;
  33. break;
  34. }
  35. }
  36. arr[i].Units[rnd1].Words[rnd2].BookID = arr[i].ID;
  37. arr[i].Units[rnd1].Words[rnd2].UnitID = arr[i].Units[rnd1].ID;
  38. arr[i].Units[rnd1].Words[rnd2].WordID = rnd2;
  39. arr[i].Units[rnd1].Words[rnd2].IsFinished = isfinished;
  40. result.push(arr[i].Units[rnd1].Words[rnd2]);
  41. }
  42. }
  43. return result;
  44. },
  45. researchWord: function (e) {
  46. var that = this;
  47. var word = e.detail.value;
  48. if (word.length>1)
  49. word=word.substr(0,1);
  50. that.setData({
  51. IsSearchResult: false,
  52. inputValue:word,
  53. });
  54. var result = false;
  55. if (common.IsChinese(word)) {
  56. server.getData('SearchHanzi?Word=' + word, function (data) {
  57. if (data) {
  58. wx.setStorageSync("CurrentSearchWord", data);
  59. wx.setStorageSync('SelectedRandom', false);
  60. wx.setStorageSync('IsAutoPage', false);
  61. wx.navigateTo({
  62. url: "../main/detail?Type=search",
  63. });
  64. } else {
  65. that.setData({
  66. IsSearchResult: true,
  67. });
  68. }
  69. });
  70. } else {
  71. that.setData({
  72. IsSearchResult: true,
  73. });
  74. }
  75. },
  76. goto: function (e) {
  77. var word = e.currentTarget.dataset.word;
  78. this.researchWord({
  79. detail: {
  80. value: word
  81. }
  82. });
  83. },
  84. onShareAppMessage: function () {
  85. return {
  86. title: app.globalData.ShareTitle,
  87. path: 'pages/index/index?UserID=' + app.globalData.userInfo.UserID,
  88. imageUrl: app.globalData.ShareImage,
  89. }
  90. },
  91. })