@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.umd.js CHANGED
@@ -2686,6 +2686,10 @@
2686
2686
  code: 401,
2687
2687
  msg: "操作失败",
2688
2688
  },
2689
+ empty: {
2690
+ code: 201,
2691
+ msg: "操作成功,但是没有数据",
2692
+ },
2689
2693
  openFailed: { code: 91001, msg: "打开数据库失败" },
2690
2694
  saveFailed: { code: 91002, msg: "保存数据失败" },
2691
2695
  getFailed: { code: 91003, msg: "获取数据失败" },
@@ -2874,11 +2878,11 @@
2874
2878
  /* result 返回的是 {key: string, value: any} */
2875
2879
  /* 键值对存储 */
2876
2880
  let data = result ? result.value : void 0;
2877
- if (data) {
2881
+ if (data == null) {
2878
2882
  resolve({
2879
2883
  success: true,
2880
- code: that.#statusCode.operationSuccess.code,
2881
- msg: that.#statusCode.operationSuccess.msg,
2884
+ code: that.#statusCode.empty.code,
2885
+ msg: that.#statusCode.empty.msg,
2882
2886
  data: data,
2883
2887
  event: event,
2884
2888
  result: result,
@@ -2886,10 +2890,10 @@
2886
2890
  }
2887
2891
  else {
2888
2892
  resolve({
2889
- success: false,
2890
- code: that.#statusCode.operationFailed.code,
2891
- msg: that.#statusCode.operationFailed.msg,
2892
- data: void 0,
2893
+ success: true,
2894
+ code: that.#statusCode.operationSuccess.code,
2895
+ msg: that.#statusCode.operationSuccess.msg,
2896
+ data: data,
2893
2897
  event: event,
2894
2898
  result: result,
2895
2899
  });
@@ -4103,22 +4107,33 @@
4103
4107
  if (!UtilsContext.isDOM(element)) {
4104
4108
  throw new Error("Utils.checkUserClickInNode 参数 targetNode 必须为 Element|Node 类型");
4105
4109
  }
4106
- let mouseClickPosX = Number(window.event.clientX.toString()); /* 鼠标相对屏幕横坐标 */
4107
- let mouseClickPosY = Number(window.event.clientY.toString()); /* 鼠标相对屏幕纵坐标 */
4108
- let elementPosXLeft = Number(element.getBoundingClientRect().left); /* 要检测的元素的相对屏幕的横坐标最左边 */
4109
- let elementPosXRight = Number(element.getBoundingClientRect().right); /* 要检测的元素的相对屏幕的横坐标最右边 */
4110
- let elementPosYTop = Number(element.getBoundingClientRect().top); /* 要检测的元素的相对屏幕的纵坐标最上边 */
4111
- let elementPosYBottom = Number(element.getBoundingClientRect().bottom); /* 要检测的元素的相对屏幕的纵坐标最下边 */
4112
- let clickNodeHTML = this.windowApi.window.event.target
4113
- .innerHTML;
4114
- if (mouseClickPosX >= elementPosXLeft &&
4115
- mouseClickPosX <= elementPosXRight &&
4116
- mouseClickPosY >= elementPosYTop &&
4117
- mouseClickPosY <= elementPosYBottom) {
4110
+ let clickEvent = UtilsContext.windowApi.window.event;
4111
+ let touchEvent = UtilsContext.windowApi.window.event;
4112
+ let $click = clickEvent?.composedPath()?.[0];
4113
+ // 点击的x坐标
4114
+ let clickPosX = clickEvent?.clientX != null
4115
+ ? clickEvent.clientX
4116
+ : touchEvent.touches[0].clientX;
4117
+ // 点击的y坐标
4118
+ let clickPosY = clickEvent?.clientY != null
4119
+ ? clickEvent.clientY
4120
+ : touchEvent.touches[0].clientY;
4121
+ let {
4122
+ /* 要检测的元素的相对屏幕的横坐标最左边 */
4123
+ left: elementPosXLeft,
4124
+ /* 要检测的元素的相对屏幕的横坐标最右边 */
4125
+ right: elementPosXRight,
4126
+ /* 要检测的元素的相对屏幕的纵坐标最上边 */
4127
+ top: elementPosYTop,
4128
+ /* 要检测的元素的相对屏幕的纵坐标最下边 */
4129
+ bottom: elementPosYBottom, } = element.getBoundingClientRect();
4130
+ if (clickPosX >= elementPosXLeft &&
4131
+ clickPosX <= elementPosXRight &&
4132
+ clickPosY >= elementPosYTop &&
4133
+ clickPosY <= elementPosYBottom) {
4118
4134
  return true;
4119
4135
  }
4120
- else if (clickNodeHTML &&
4121
- element.innerHTML.includes(clickNodeHTML)) {
4136
+ else if (($click && element.contains($click)) || $click == element) {
4122
4137
  /* 这种情况是应对在界面中隐藏的元素,getBoundingClientRect获取的都是0 */
4123
4138
  return true;
4124
4139
  }