symbolsetting.js 5.9 KB

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