@tplc/business 0.4.196 → 0.4.198

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/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.4.198](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v0.4.197...v0.4.198) (2025-09-27)
6
+
7
+ ### [0.4.197](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v0.4.196...v0.4.197) (2025-09-27)
8
+
5
9
  ### [0.4.196](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v0.4.195...v0.4.196) (2025-09-27)
6
10
 
7
11
 
@@ -53,14 +53,12 @@
53
53
  </view>
54
54
  </wd-popup>
55
55
  <SharePopup v-model="showPoster" :params="requestParam" />
56
- <PayPopup v-model="showPay" :requestInfo="requestInfo" :submitRequestInfo="submitRequestInfo" />
57
56
  </template>
58
57
 
59
58
  <script setup lang="ts">
60
59
  import { computed, ref, inject, Ref, onMounted } from 'vue'
61
60
  import { jumpTypeMap, LcbActionViewProps } from './types'
62
61
  import { uploadFile } from '../../hooks/useUpload'
63
- import PayPopup from './components/PayPopup/index.vue'
64
62
  import { getFinalUrl, onPageScrollSelector, getExposed, getCurrentPage } from '../../utils/utils'
65
63
  import SharePopup from '../lcb-nav/SharePopup/index.vue'
66
64
  import { useTranslate } from '@tplc/wot'
@@ -89,7 +87,6 @@ const emits = defineEmits<{
89
87
  (e: 'loginOut', value: void): void
90
88
  }>()
91
89
  const templateMessageList = ref<TemplateMessage[]>([])
92
- const showPay = ref(false)
93
90
  const routeFullPath = ref('')
94
91
  onMounted(async () => {
95
92
  if (getJumpType(props.jumpType) === 142 && 'events' in props && props.events) {
@@ -298,9 +295,6 @@ const onActionClick = async () => {
298
295
  })
299
296
  }
300
297
  break
301
- case 144:
302
- showPay.value = true
303
- break
304
298
  default:
305
299
  emits('click', props)
306
300
  break
@@ -61,21 +61,10 @@ export type LcbActionViewProps = {
61
61
  requestInfo?: {
62
62
  requestUrl: string
63
63
  requestParams: Record<string, any>
64
+ /** 请求之后刷新schemapage */
64
65
  refreshSchemaPage?: boolean
65
66
  }
66
67
  }
67
- | {
68
- jumpType: 144
69
- requestInfo?: {
70
- requestUrl: string
71
- requestParams: Record<string, any>
72
- refreshSchemaPage?: boolean
73
- }
74
- submitRequestInfo?: {
75
- requestUrl: string
76
- requestParams: Record<string, any>
77
- }
78
- }
79
68
  | {
80
69
  jumpType: 105
81
70
  addressInfo?: {
@@ -133,5 +122,4 @@ export const jumpTypeMap = {
133
122
  imagePreview: 107,
134
123
  qrCode: 141,
135
124
  templateMessage: 142,
136
- 'mixture-pay': 144,
137
125
  }
package/global.d.ts CHANGED
@@ -15,7 +15,6 @@ declare module 'vue' {
15
15
  'lcb-calendar-filter': (typeof import('@tplc/business/components/lcb-calendar-filter/lcb-calendar-filter.vue'))['default']
16
16
  'lcb-calendar-search': (typeof import('@tplc/business/components/lcb-calendar-search/lcb-calendar-search.vue'))['default']
17
17
  'lcb-city-select': (typeof import('@tplc/business/components/lcb-city-select/lcb-city-select.vue'))['default']
18
- 'lcb-custom-content': (typeof import('@tplc/business/components/lcb-custom-content/lcb-custom-content.vue'))['default']
19
18
  'lcb-dynamic-data': (typeof import('@tplc/business/components/lcb-dynamic-data/lcb-dynamic-data.vue'))['default']
20
19
  'lcb-fab': (typeof import('@tplc/business/components/lcb-fab/lcb-fab.vue'))['default']
21
20
  'lcb-filter-grid': (typeof import('@tplc/business/components/lcb-filter-grid/lcb-filter-grid.vue'))['default']
package/hooks/usePay.ts CHANGED
@@ -2,24 +2,39 @@ import { commitOrder, queryOrderPaymentStatus, type CommitPageDetailParams } fro
2
2
  import { onPageHide } from '@dcloudio/uni-app'
3
3
  import { IResData } from '../action'
4
4
  import { ref } from 'vue'
5
- import { useRequest } from 'vue-hooks-plus'
6
5
 
7
6
  const usePay = (
8
7
  fun?: (data: unknown) => Promise<IResData<any>>,
9
8
  queryStatusFun?: (orderNo: string) => Promise<any>,
10
9
  ) => {
11
10
  const successFun = ref()
12
- const { runAsync, cancel } = useRequest(queryStatusFun || queryOrderPaymentStatus, {
13
- manual: true,
14
- pollingInterval: 1000,
15
- onSuccess: ({ status }) => {
16
- if (status === 1) {
11
+ let pollingTimer: NodeJS.Timeout | null = null
12
+
13
+ const runAsync = async (orderNo: string) => {
14
+ try {
15
+ const result = await (queryStatusFun || queryOrderPaymentStatus)(orderNo)
16
+ if (result.status === 1) {
17
17
  uni.hideLoading()
18
18
  cancel()
19
19
  successFun.value?.()
20
+ } else {
21
+ // 继续轮询
22
+ pollingTimer = setTimeout(() => {
23
+ runAsync(orderNo)
24
+ }, 1000)
20
25
  }
21
- },
22
- })
26
+ } catch (error) {
27
+ // 出错时停止轮询
28
+ cancel()
29
+ }
30
+ }
31
+
32
+ const cancel = () => {
33
+ if (pollingTimer) {
34
+ clearTimeout(pollingTimer)
35
+ pollingTimer = null
36
+ }
37
+ }
23
38
  const pay = async (
24
39
  data: CommitPageDetailParams,
25
40
  options?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tplc/business",
3
- "version": "0.4.196",
3
+ "version": "0.4.198",
4
4
  "keywords": [
5
5
  "业务组件"
6
6
  ],
@@ -15,7 +15,7 @@ declare const __VLS_component: import('vue').DefineComponent<
15
15
  string,
16
16
  import('vue').PublicProps,
17
17
  any,
18
- {} | {} | {} | {} | {} | {} | {} | {} | {},
18
+ {} | {} | {} | {} | {} | {} | {} | {},
19
19
  {}
20
20
  >
21
21
  declare const _default: __VLS_WithTemplateSlots<
@@ -58,21 +58,10 @@ export type LcbActionViewProps = {
58
58
  requestInfo?: {
59
59
  requestUrl: string
60
60
  requestParams: Record<string, any>
61
+ /** 请求之后刷新schemapage */
61
62
  refreshSchemaPage?: boolean
62
63
  }
63
64
  }
64
- | {
65
- jumpType: 144
66
- requestInfo?: {
67
- requestUrl: string
68
- requestParams: Record<string, any>
69
- refreshSchemaPage?: boolean
70
- }
71
- submitRequestInfo?: {
72
- requestUrl: string
73
- requestParams: Record<string, any>
74
- }
75
- }
76
65
  | {
77
66
  jumpType: 105
78
67
  addressInfo?: {
@@ -128,5 +117,4 @@ export declare const jumpTypeMap: {
128
117
  imagePreview: number
129
118
  qrCode: number
130
119
  templateMessage: number
131
- 'mixture-pay': number
132
120
  }
@@ -64,8 +64,8 @@ declare const __VLS_component: import('vue').DefineComponent<
64
64
  import('vue').ComponentOptionsMixin,
65
65
  {
66
66
  'update:modelValue': (modelValue: number[]) => void
67
- cancel: (...args: any[]) => void
68
67
  confirm: (...args: any[]) => void
68
+ cancel: (...args: any[]) => void
69
69
  open: (...args: any[]) => void
70
70
  },
71
71
  string,
@@ -276,84 +276,6 @@ declare const _default: import('vue').DefineComponent<
276
276
  >
277
277
  >
278
278
  >
279
- | Readonly<
280
- import('vue').ExtractPropTypes<
281
- __VLS_WithDefaults<
282
- __VLS_TypePropsToOption<
283
- {
284
- placeholder?: string
285
- icon?: string
286
- url?: string
287
- iconSize?: string
288
- borderWidth?: number
289
- iconColor?: string
290
- gap?: number
291
- link?: import('../lcb-action-view/types').LcbActionViewProps
292
- iconType?: 'icon' | 'img'
293
- mode?: 'search' | 'link'
294
- productTypeList?: string[]
295
- city?: boolean
296
- cityColor?: string
297
- citySize?: number
298
- cityIconSize?: number
299
- cityIconColor?: string
300
- lineColor?: string
301
- lineWidth?: number
302
- linePadding?: number
303
- lineHeight?: number
304
- historyKey?: string
305
- showCancel?: boolean
306
- initFocus?: boolean
307
- blockBackground?: string
308
- } & {
309
- jumpUrl?: string
310
- urlParams?: string
311
- customClass?: string
312
- customStyle?: import('vue').StyleValue
313
- renderMode?: 'view' | 'button'
314
- autoJumpSecond?: number
315
- } & {
316
- jumpType: 144
317
- requestInfo?: {
318
- requestUrl: string
319
- requestParams: Record<string, any>
320
- refreshSchemaPage?: boolean
321
- }
322
- submitRequestInfo?: {
323
- requestUrl: string
324
- requestParams: Record<string, any>
325
- }
326
- } & import('../lcb-block/types').LcbBlockProps
327
- >,
328
- {
329
- placeholder: string
330
- iconSize: string
331
- borderWidth: number
332
- color: string
333
- iconColor: string
334
- gap: number
335
- paddingVertical: number
336
- marginHorizontal: number
337
- cityColor: string
338
- citySize: number
339
- cityIconSize: number
340
- radius: number
341
- paddingHorizontal: number
342
- borderColor: string
343
- cityIconColor: string
344
- lineColor: string
345
- lineWidth: number
346
- linePadding: number
347
- lineHeight: number
348
- iconType: string
349
- mode: string
350
- fontSize: number
351
- initFocus: boolean
352
- showCancel: boolean
353
- }
354
- >
355
- >
356
- >
357
279
  | Readonly<
358
280
  import('vue').ExtractPropTypes<
359
281
  __VLS_WithDefaults<
@@ -893,32 +815,6 @@ declare const _default: import('vue').DefineComponent<
893
815
  showCancel: boolean
894
816
  initFocus: boolean
895
817
  }
896
- | {
897
- mode: 'search' | 'link'
898
- color: string
899
- lineHeight: number
900
- radius: number
901
- iconSize: string
902
- iconColor: string
903
- marginHorizontal: number
904
- paddingHorizontal: number
905
- paddingVertical: number
906
- fontSize: number
907
- borderColor: string
908
- borderWidth: number
909
- gap: number
910
- placeholder: string
911
- lineWidth: number
912
- iconType: 'icon' | 'img'
913
- cityColor: string
914
- citySize: number
915
- cityIconSize: number
916
- cityIconColor: string
917
- lineColor: string
918
- linePadding: number
919
- showCancel: boolean
920
- initFocus: boolean
921
- }
922
818
  | {
923
819
  mode: 'search' | 'link'
924
820
  color: string