symbolsetting.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. import common from '../../utils/util';
  2. import main from '../../utils/main';
  3. const app = getApp();
  4. var xOffset = 0;
  5. var yOffset = 0;
  6. var xStart = 0;
  7. var yStart = 0;
  8. var xEnd = 0;
  9. var yEnd = 0;
  10. Page({
  11. data: {
  12. ImagePath: app.globalData.uploadImageUrl,
  13. Copy: {
  14. top: 0,
  15. left: 0,
  16. Name: '',
  17. },
  18. },
  19. onLoad: function(options) {
  20. var that = this;
  21. that.setData({
  22. Containnerheight: main.getWindowHeight(),
  23. ShowCopy: false,
  24. });
  25. // if (app.globalData.IsIOS) {
  26. // xOffset = -140;
  27. // yOffset = -40;
  28. // } else if (app.globalData.IsAndroid) {
  29. // xOffset = 100;
  30. // yOffset = 0;
  31. // }
  32. common.getStorageValue(that, "SymbolMain", app.globalData.SymbolMain, function() {
  33. var arr = [];
  34. for (var i = 0; i < app.globalData.SymbolArray.length; i++) {
  35. var obj = {};
  36. obj.Name = app.globalData.SymbolArray[i];
  37. for (var j = 0; j < that.data.SymbolMain.length; j++) {
  38. if (obj.Name === that.data.SymbolMain[j]) {
  39. obj.CSS = "btn2";
  40. }
  41. }
  42. arr.push(obj);
  43. }
  44. that.setData({
  45. SymbolArray: arr,
  46. });
  47. var query = wx.createSelectorQuery();
  48. query.select('#btn0').boundingClientRect();
  49. query.selectViewport().scrollOffset();
  50. query.exec(function (rect) {
  51. xStart = rect[0].left;
  52. yStart = rect[0].top;
  53. console.log("xStart:" + xStart);
  54. console.log("yStart:" + yStart);
  55. });
  56. var query = wx.createSelectorQuery();
  57. query.select('#btn' + (arr.length-1)).boundingClientRect();
  58. query.selectViewport().scrollOffset();
  59. query.exec(function (rect) {
  60. xEnd = rect[0].left;
  61. yEnd = rect[0].top;
  62. console.log("xEnd:" + xEnd);
  63. console.log("yEnd:" + yEnd);
  64. });
  65. });
  66. },
  67. // selectSymbol:function(e){
  68. // var that=this;
  69. // var name=e.currentTarget.dataset.name;
  70. // var SymbolMain="";
  71. // for (var i = 0; i < that.data.SymbolArray.length; i++) {
  72. // if (that.data.SymbolArray[i].Name===name) {
  73. // if (!that.data.SymbolArray[i].CSS)
  74. // that.data.SymbolArray[i].CSS = "btn2";
  75. // else
  76. // that.data.SymbolArray[i].CSS = "";
  77. // }
  78. // if (that.data.SymbolArray[i].CSS)
  79. // SymbolMain += that.data.SymbolArray[i].Name;
  80. // }
  81. // that.setData({
  82. // SymbolArray: that.data.SymbolArray,
  83. // });
  84. // wx.setStorageSync("SymbolMain", SymbolMain);
  85. // },
  86. dragStart: function(e) {
  87. var that = this
  88. var index = e.currentTarget.dataset.index;
  89. var Copy = that.data.Copy;
  90. Copy.Name = this.data.SymbolArray[index].Name;
  91. for (var i = 0; i < that.data.SymbolArray.length; i++) {
  92. if (i == index) {
  93. that.data.SymbolArray[i].CSS = "btnClear";
  94. }
  95. }
  96. var query = wx.createSelectorQuery();
  97. query.select('#btn' + index).boundingClientRect();
  98. query.selectViewport().scrollOffset();
  99. query.exec(function(rect) {
  100. Copy.top = (rect[0].top + rect[1].scrollTop);
  101. console.log("Copy.top:" + Copy.top);
  102. console.log("e.changedTouches[0].pageY_Start:" + e.changedTouches[0].pageY );
  103. yOffset = e.changedTouches[0].pageY - Copy.top;
  104. Copy.left = rect[0].left ;
  105. xOffset = e.changedTouches[0].pageX - Copy.left;
  106. console.log("yOffset:" + yOffset);
  107. that.setData({
  108. Copy: Copy,
  109. ShowCopy: true,
  110. SymbolArray: that.data.SymbolArray,
  111. })
  112. });
  113. },
  114. dragMove: function(e) {
  115. console.log("e.changedTouches[0].pageY_Move:" + e.changedTouches[0].pageY);
  116. var that = this
  117. var index = e.currentTarget.dataset.index;
  118. var Copy = that.data.Copy;
  119. Copy.top = e.changedTouches[0].pageY - yOffset;
  120. Copy.left = e.changedTouches[0].pageX - xOffset;
  121. if (Copy.top < yStart-5)
  122. Copy.top = yStart-5;
  123. if (Copy.top > yEnd+5)
  124. Copy.top = yEnd + 5;
  125. if (Copy.left < -14)
  126. Copy.left = -14;
  127. if (Copy.left > 321)
  128. Copy.left = 321;
  129. that.setData({
  130. Copy: Copy,
  131. ShowCopy: true
  132. });
  133. },
  134. dragEnd: function(e) {
  135. var that = this
  136. var index = e.currentTarget.dataset.index;
  137. var Copy = that.data.Copy;
  138. console.log(Copy.left + "," + Copy.top);
  139. var x = Math.round((Copy.left - xStart) / 52);
  140. var y = Math.round((Copy.top - yStart) / 52);
  141. var index2 = y * 7 + x;
  142. console.log("index2:" + index2);
  143. for (var i = 0; i < that.data.SymbolArray.length; i++) {
  144. if (i == index) {
  145. that.data.SymbolArray.splice(i,1);
  146. }
  147. }
  148. for (var i = 0; i < that.data.SymbolArray.length; i++) {
  149. if (i == index2) {
  150. var obj={};
  151. obj.CSS = "";
  152. obj.Name = Copy.Name;
  153. that.data.SymbolArray.splice(i, 0,obj);
  154. }
  155. }
  156. that.setData({
  157. Copy: Copy,
  158. ShowCopy: false,
  159. SymbolArray: that.data.SymbolArray,
  160. });
  161. wx.setStorageSync("SymbolMain", that.data.SymbolArray);
  162. },
  163. onShareAppMessage: function() {
  164. return {
  165. title: app.globalData.ShareTitle,
  166. path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
  167. imageUrl: app.globalData.ShareImage,
  168. }
  169. },
  170. })