@whitesev/utils 2.3.7 → 2.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.amd.js CHANGED
@@ -2682,6 +2682,10 @@ define((function () { 'use strict';
2682
2682
  code: 401,
2683
2683
  msg: "操作失败",
2684
2684
  },
2685
+ empty: {
2686
+ code: 201,
2687
+ msg: "操作成功,但是没有数据",
2688
+ },
2685
2689
  openFailed: { code: 91001, msg: "打开数据库失败" },
2686
2690
  saveFailed: { code: 91002, msg: "保存数据失败" },
2687
2691
  getFailed: { code: 91003, msg: "获取数据失败" },
@@ -2870,11 +2874,11 @@ define((function () { 'use strict';
2870
2874
  /* result 返回的是 {key: string, value: any} */
2871
2875
  /* 键值对存储 */
2872
2876
  let data = result ? result.value : void 0;
2873
- if (data) {
2877
+ if (data == null) {
2874
2878
  resolve({
2875
2879
  success: true,
2876
- code: that.#statusCode.operationSuccess.code,
2877
- msg: that.#statusCode.operationSuccess.msg,
2880
+ code: that.#statusCode.empty.code,
2881
+ msg: that.#statusCode.empty.msg,
2878
2882
  data: data,
2879
2883
  event: event,
2880
2884
  result: result,
@@ -2882,10 +2886,10 @@ define((function () { 'use strict';
2882
2886
  }
2883
2887
  else {
2884
2888
  resolve({
2885
- success: false,
2886
- code: that.#statusCode.operationFailed.code,
2887
- msg: that.#statusCode.operationFailed.msg,
2888
- data: void 0,
2889
+ success: true,
2890
+ code: that.#statusCode.operationSuccess.code,
2891
+ msg: that.#statusCode.operationSuccess.msg,
2892
+ data: data,
2889
2893
  event: event,
2890
2894
  result: result,
2891
2895
  });
@@ -4099,22 +4103,33 @@ define((function () { 'use strict';
4099
4103
  if (!UtilsContext.isDOM(element)) {
4100
4104
  throw new Error("Utils.checkUserClickInNode 参数 targetNode 必须为 Element|Node 类型");
4101
4105
  }
4102
- let mouseClickPosX = Number(window.event.clientX.toString()); /* 鼠标相对屏幕横坐标 */
4103
- let mouseClickPosY = Number(window.event.clientY.toString()); /* 鼠标相对屏幕纵坐标 */
4104
- let elementPosXLeft = Number(element.getBoundingClientRect().left); /* 要检测的元素的相对屏幕的横坐标最左边 */
4105
- let elementPosXRight = Number(element.getBoundingClientRect().right); /* 要检测的元素的相对屏幕的横坐标最右边 */
4106
- let elementPosYTop = Number(element.getBoundingClientRect().top); /* 要检测的元素的相对屏幕的纵坐标最上边 */
4107
- let elementPosYBottom = Number(element.getBoundingClientRect().bottom); /* 要检测的元素的相对屏幕的纵坐标最下边 */
4108
- let clickNodeHTML = this.windowApi.window.event.target
4109
- .innerHTML;
4110
- if (mouseClickPosX >= elementPosXLeft &&
4111
- mouseClickPosX <= elementPosXRight &&
4112
- mouseClickPosY >= elementPosYTop &&
4113
- mouseClickPosY <= elementPosYBottom) {
4106
+ let clickEvent = UtilsContext.windowApi.window.event;
4107
+ let touchEvent = UtilsContext.windowApi.window.event;
4108
+ let $click = clickEvent?.composedPath()?.[0];
4109
+ // 点击的x坐标
4110
+ let clickPosX = clickEvent?.clientX != null
4111
+ ? clickEvent.clientX
4112
+ : touchEvent.touches[0].clientX;
4113
+ // 点击的y坐标
4114
+ let clickPosY = clickEvent?.clientY != null
4115
+ ? clickEvent.clientY
4116
+ : touchEvent.touches[0].clientY;
4117
+ let {
4118
+ /* 要检测的元素的相对屏幕的横坐标最左边 */
4119
+ left: elementPosXLeft,
4120
+ /* 要检测的元素的相对屏幕的横坐标最右边 */
4121
+ right: elementPosXRight,
4122
+ /* 要检测的元素的相对屏幕的纵坐标最上边 */
4123
+ top: elementPosYTop,
4124
+ /* 要检测的元素的相对屏幕的纵坐标最下边 */
4125
+ bottom: elementPosYBottom, } = element.getBoundingClientRect();
4126
+ if (clickPosX >= elementPosXLeft &&
4127
+ clickPosX <= elementPosXRight &&
4128
+ clickPosY >= elementPosYTop &&
4129
+ clickPosY <= elementPosYBottom) {
4114
4130
  return true;
4115
4131
  }
4116
- else if (clickNodeHTML &&
4117
- element.innerHTML.includes(clickNodeHTML)) {
4132
+ else if (($click && element.contains($click)) || $click == element) {
4118
4133
  /* 这种情况是应对在界面中隐藏的元素,getBoundingClientRect获取的都是0 */
4119
4134
  return true;
4120
4135
  }