symbolsetting.js 5.9 KB

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