symbolsetting.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  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. common.getStorageValue(that, "SymbolMain", app.globalData.SymbolMain, function() {
  26. var arr = [];
  27. for (var i = 0; i < app.globalData.SymbolArray.length; i++) {
  28. var obj = {};
  29. obj.Name = app.globalData.SymbolArray[i];
  30. for (var j = 0; j < that.data.SymbolMain.length; j++) {
  31. if (obj.Name === that.data.SymbolMain[j].Name || (obj.Name === "∬" && that.data.SymbolMain[j].Name==="( )")) {
  32. obj.CSS = "btn2";
  33. }
  34. }
  35. if (obj.Name === "∬") {
  36. obj.Name = "( )";
  37. }
  38. arr.push(obj);
  39. }
  40. that.setData({
  41. SymbolArray: arr,
  42. });
  43. that.getXY();
  44. });
  45. },
  46. getXY:function(){
  47. var that=this;
  48. var query = wx.createSelectorQuery();
  49. query.select('#btn0').boundingClientRect();
  50. query.selectViewport().scrollOffset();
  51. query.exec(function (rect) {
  52. if (rect.length>0 && rect[0]){
  53. xStart = rect[0].left;
  54. yStart = rect[0].top;
  55. console.log("xStart:" + xStart);
  56. console.log("yStart:" + yStart);
  57. }
  58. });
  59. query = wx.createSelectorQuery();
  60. query.select('#btn' + (that.data.SymbolMain.length - 1)).boundingClientRect();
  61. query.selectViewport().scrollOffset();
  62. query.exec(function (rect) {
  63. if (rect.length > 0 && rect[0]) {
  64. xEnd = rect[0].left;
  65. yEnd = rect[0].top;
  66. console.log("xEnd:" + xEnd);
  67. console.log("yEnd:" + yEnd);
  68. }
  69. });
  70. },
  71. selectSymbol:function(e){
  72. var that=this;
  73. var name=e.currentTarget.dataset.name;
  74. for (var i = 0; i < that.data.SymbolArray.length; i++) {
  75. if (that.data.SymbolArray[i].Name===name) {
  76. if (!that.data.SymbolArray[i].CSS)
  77. that.data.SymbolArray[i].CSS = "btn2";
  78. else
  79. that.data.SymbolArray[i].CSS = "";
  80. }
  81. }
  82. var b=true;
  83. for (var i = 0; i < that.data.SymbolMain.length; i++) {
  84. if (that.data.SymbolMain[i].Name === name) {
  85. that.data.SymbolMain.splice(i,1);
  86. b=false;
  87. break;
  88. }
  89. }
  90. if (b){
  91. var obj={};
  92. obj.Name=name;
  93. obj.CSS="btn2";
  94. that.data.SymbolMain.push(obj);
  95. }
  96. that.setData({
  97. SymbolArray: that.data.SymbolArray,
  98. SymbolMain: that.data.SymbolMain,
  99. });
  100. that.getXY();
  101. wx.setStorageSync("SymbolMain", that.data.SymbolMain);
  102. },
  103. dragStart: function(e) {
  104. var that = this
  105. var index = e.currentTarget.dataset.index;
  106. var Copy = that.data.Copy;
  107. Copy.Name = this.data.SymbolMain[index].Name;
  108. for (var i = 0; i < that.data.SymbolMain.length; i++) {
  109. if (i == index) {
  110. that.data.SymbolMain[i].CSS2 = "btnClear";
  111. }
  112. }
  113. var query = wx.createSelectorQuery();
  114. query.select('#btn' + index).boundingClientRect();
  115. query.selectViewport().scrollOffset();
  116. query.exec(function(rect) {
  117. Copy.top = (rect[0].top + rect[1].scrollTop);
  118. console.log("Copy.top:" + Copy.top);
  119. console.log("e.changedTouches[0].pageY_Start:" + e.changedTouches[0].pageY );
  120. yOffset = e.changedTouches[0].pageY - Copy.top;
  121. Copy.left = rect[0].left ;
  122. xOffset = e.changedTouches[0].pageX - Copy.left;
  123. console.log("yOffset:" + yOffset);
  124. that.setData({
  125. Copy: Copy,
  126. ShowCopy: true,
  127. SymbolMain: that.data.SymbolMain,
  128. })
  129. });
  130. },
  131. dragMove: function(e) {
  132. //console.log("e.changedTouches[0].pageY_Move:" + e.changedTouches[0].pageY);
  133. var that = this
  134. var index = e.currentTarget.dataset.index;
  135. var Copy = that.data.Copy;
  136. Copy.top = e.changedTouches[0].pageY - yOffset;
  137. Copy.left = e.changedTouches[0].pageX - xOffset;
  138. if (Copy.top < yStart-5)
  139. Copy.top = yStart-5;
  140. if (Copy.top > yEnd+5)
  141. Copy.top = yEnd + 5;
  142. if (Copy.left < -5)
  143. Copy.left = -5;
  144. if (Copy.left > 321)
  145. Copy.left = 321;
  146. that.setData({
  147. Copy: Copy,
  148. ShowCopy: true
  149. });
  150. },
  151. dragEnd: function(e) {
  152. var that = this
  153. var index = e.currentTarget.dataset.index;
  154. var Copy = that.data.Copy;
  155. console.log(Copy.left + "," + Copy.top);
  156. var x = Math.round((Copy.left - xStart) / 52);
  157. var y = Math.round((Copy.top - yStart) / 52);
  158. var index2 = y * 7 + x;
  159. console.log("index:" + index);
  160. console.log("index2:" + index2);
  161. for (var i = 0; i < that.data.SymbolMain.length; i++) {
  162. if (i == index) {
  163. that.data.SymbolMain.splice(i,1);
  164. }
  165. }
  166. for (var i = 0; i < that.data.SymbolMain.length; i++) {
  167. if (i === index2) {
  168. var obj={};
  169. obj.CSS2 = "";
  170. obj.Name = Copy.Name;
  171. that.data.SymbolMain.splice(i, 0,obj);
  172. }
  173. }
  174. if (index2 >= that.data.SymbolMain.length){
  175. var obj = {};
  176. obj.CSS2 = "";
  177. obj.Name = Copy.Name;
  178. that.data.SymbolMain.push(obj);
  179. }
  180. that.setData({
  181. Copy: Copy,
  182. ShowCopy: false,
  183. SymbolMain: that.data.SymbolMain,
  184. });
  185. wx.setStorageSync("SymbolMain", that.data.SymbolMain);
  186. },
  187. onShareAppMessage: function() {
  188. return {
  189. title: app.globalData.ShareTitle,
  190. path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
  191. imageUrl: app.globalData.ShareImage,
  192. }
  193. },
  194. })