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