From 4659ec0d8cf62f89f2d0edd2e169e4bcd022f0d1 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 25 十二月 2025 13:57:10 +0800
Subject: [PATCH] fix: 甲方小程序

---
 apps/housekeepingMiniApp/project.private.config.json                              |   14 
 apps/housekeepingMiniApp/src/components/Card/StandardServiceCard.vue              |    7 
 packages/services/apiV2/standardOrder.ts                                          |   56 +---
 apps/housekeepingMiniApp/src/subpackages/mine/editAddress/InnerPage.vue           |    1 
 packages/services/apiV2/userWallet.ts                                             |   15 +
 apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/mineCollectTask.vue |    4 
 packages/components/src/Chunk/SquareView.vue                                      |   45 ++++
 packages/components/src/index.ts                                                  |    1 
 apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue       |   29 +-
 apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue  |   41 ++-
 packages/services/apiV2/typings.d.ts                                              |  292 ++++++++++++++++++----------
 packages/services/apiV2/standardService.ts                                        |   72 +++++++
 apps/housekeepingMiniApp/src/pages/home/index.vue                                 |   21 +
 packages/constants/apiEnum.ts                                                     |    2 
 14 files changed, 412 insertions(+), 188 deletions(-)

diff --git a/apps/housekeepingMiniApp/project.private.config.json b/apps/housekeepingMiniApp/project.private.config.json
index 831bab9..2df8f6f 100644
--- a/apps/housekeepingMiniApp/project.private.config.json
+++ b/apps/housekeepingMiniApp/project.private.config.json
@@ -23,6 +23,13 @@
         "miniprogram": {
             "list": [
                 {
+                    "name": "鏂板鍦板潃",
+                    "pathName": "subpackages/mine/editAddress/editAddress",
+                    "query": "id=53208c5d-a823-40d3-e79e-08de429af17b",
+                    "scene": null,
+                    "launchMode": "default"
+                },
+                {
                     "name": "鏈嶅姟璇︽儏",
                     "pathName": "subpackages/sercice/serciceDetail/serciceDetail",
                     "query": "id=53208c5d-a823-40d3-e79e-08de429af17b",
@@ -58,13 +65,6 @@
                     "scene": null
                 },
                 {
-                    "name": "鏂板鍦板潃",
-                    "pathName": "subpackages/mine/editAddress/editAddress",
-                    "query": "",
-                    "launchMode": "default",
-                    "scene": null
-                },
-                {
                     "name": "鍦板潃绠$悊",
                     "pathName": "subpackages/mine/addressManange/addressManange",
                     "query": "",
diff --git a/apps/housekeepingMiniApp/src/pages/home/StandardServiceCard.vue b/apps/housekeepingMiniApp/src/components/Card/StandardServiceCard.vue
similarity index 90%
rename from apps/housekeepingMiniApp/src/pages/home/StandardServiceCard.vue
rename to apps/housekeepingMiniApp/src/components/Card/StandardServiceCard.vue
index fb079f0..2155c41 100644
--- a/apps/housekeepingMiniApp/src/pages/home/StandardServiceCard.vue
+++ b/apps/housekeepingMiniApp/src/components/Card/StandardServiceCard.vue
@@ -1,6 +1,8 @@
 <template>
   <div class="standard-service-card-wrapper">
-    <img :src="setOSSLink(file)" class="standard-service-card-cover" />
+    <SquareView>
+      <img :src="setOSSLink(file)" class="standard-service-card-cover" />
+    </SquareView>
     <div class="standard-service-card-content">
       <div class="standard-service-card-content-title">{{ name }}</div>
       <div class="standard-service-card-content-price-wrapper">
@@ -13,6 +15,7 @@
 
 <script setup lang="ts">
 import { setOSSLink } from '@12333/utils';
+import { SquareView } from '@12333/components';
 
 defineOptions({
   name: 'StandardServiceCard',
@@ -37,7 +40,7 @@
   border-radius: 12px;
 
   .standard-service-card-cover {
-    height: 240px;
+    height: 100%;
     border-radius: 12px;
     object-fit: cover;
     width: 100%;
diff --git a/apps/housekeepingMiniApp/src/pages/home/index.vue b/apps/housekeepingMiniApp/src/pages/home/index.vue
index de102a6..ccb9787 100644
--- a/apps/housekeepingMiniApp/src/pages/home/index.vue
+++ b/apps/housekeepingMiniApp/src/pages/home/index.vue
@@ -25,13 +25,13 @@
             <div class="city-btn-text">{{ locationCity }}</div>
           </div>
         </div>
-        <div class="home-banner-wrapper">
-          <nut-swiper :auto-play="3000">
+        <SquareView class="home-banner-wrapper" :width-power="2">
+          <nut-swiper :auto-play="3000" class="home-banner-swiper">
             <nut-swiper-item v-for="(item, index) in advertisements" :key="item.id">
               <img :src="item.file" class="banner-img" draggable="false" />
             </nut-swiper-item>
           </nut-swiper>
-        </div>
+        </SquareView>
         <!-- <div class="home-recommend-wrapper">
           <div class="home-recommend-item">鎺ㄨ崘</div>
           <div class="home-recommend-item">鎺ㄨ崘</div>
@@ -86,7 +86,7 @@
 import { setLocationCity } from '@/utils';
 import _ from 'lodash';
 import IconLogo from '@/assets/home/icon-logo.png';
-import { TaskCard } from '@12333/components';
+import { SquareView } from '@12333/components';
 import IconLocaltion from '@/assets/task/icon-localtion.png';
 import { useAllAreaList, useInfiniteLoading, useTaskList } from '@12333/hooks';
 import { useAccessLogin } from '@/hooks';
@@ -94,7 +94,6 @@
 import { setOSSLink, trim } from '@12333/utils';
 import * as standardServiceServices from '@12333/services/apiV2/standardService';
 import { EnumPagedListOrder, EnumStandardServiceReleaseStatus } from '@12333/constants';
-import StandardServiceCard from './StandardServiceCard.vue';
 
 const { locationCity } = useUser();
 
@@ -122,12 +121,12 @@
       keywords: queryState.keywords,
     };
 
-    return standardServiceServices.getStandardServices(params, {
+    return standardServiceServices.getOpenStandardServices(params, {
       showLoading: false,
     });
   },
   {
-    queryKey: ['standardServiceServices/getStandardServices', queryState],
+    queryKey: ['standardServiceServices/getOpenStandardServices', queryState],
   }
 );
 
@@ -213,10 +212,16 @@
   .home-banner-wrapper {
     margin-bottom: 20px;
 
+    .home-banner-swiper {
+      width: 100%;
+      height: 100%;
+    }
+
     .banner-img {
       width: 100%;
-      height: 260px;
+      height: 100%;
       object-fit: cover;
+      object-position: center top;
     }
   }
 
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/editAddress/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/editAddress/InnerPage.vue
index caf540a..03500ee 100644
--- a/apps/housekeepingMiniApp/src/subpackages/mine/editAddress/InnerPage.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/editAddress/InnerPage.vue
@@ -113,6 +113,7 @@
       countyCode: data.areaCode,
       latitude: data.latitude,
       longitude: data.longitude,
+      address: data.addressName,
     };
     form.addressDetail = data.addressDetail;
     form.isDefault = data.isDefault;
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
index 65f8309..bbe16e9 100644
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/InnerPage.vue
@@ -1,10 +1,10 @@
 <template>
   <InfiniteLoading
-    scrollViewClassName="common-infinite-scroll-list home-list"
+    scrollViewClassName="common-page-infinite-scroll-list"
     v-bind="infiniteLoadingProps"
   >
     <div class="mineCollectTask-service-list">
-      <TaskCard
+      <StandardServiceCard
         v-for="item in infiniteLoadingProps.flattenListData"
         :key="item.id"
         @click="goSerciceDetail(item)"
@@ -16,36 +16,45 @@
 </template>
 
 <script setup lang="ts">
-import { TaskCard } from '@12333/components';
-import * as taskServices from '@12333/services/apiV2/task';
-import * as taskUserServices from '@12333/services/apiV2/taskUser';
 import { useInfiniteLoading, useTaskList } from '@12333/hooks';
 import Taro from '@tarojs/taro';
+import { EnumPagedListOrder, EnumStandardServiceReleaseStatus } from '@12333/constants';
+import * as standardServiceServices from '@12333/services/apiV2/standardService';
 
 defineOptions({
   name: 'InnerPage',
 });
 
+const queryState = reactive({
+  releaseStatus: EnumStandardServiceReleaseStatus.InProcess,
+  isCollected: true,
+});
+
 const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
   ({ pageParam }) => {
-    let params: API.GetTaskInfosQuery = {
+    let params: API.GetStandardServicesQuery = {
       pageModel: {
         rows: 20,
         page: pageParam,
+        orderInput: [
+          { property: 'createdTime', order: EnumPagedListOrder.Desc },
+          { property: 'recommendStatus', order: EnumPagedListOrder.Desc },
+        ],
       },
-      isCollected: true,
+      releaseStatus: queryState.releaseStatus,
+      isCollected: queryState.isCollected,
     };
 
-    return taskServices.getOpenTaskInfos(params, {
+    return standardServiceServices.getOpenStandardServices(params, {
       showLoading: false,
     });
   },
   {
-    queryKey: ['taskServices/getOpenTaskInfos'],
+    queryKey: ['standardServiceServices/getOpenStandardServices', queryState],
   }
 );
 
-function goSerciceDetail(item: any) {
+function goSerciceDetail(item: API.GetStandardServicesQueryResultItem) {
   Taro.navigateTo({
     url: `${RouterPath.serciceDetail}?id=${item.id}`,
   });
diff --git a/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/mineCollectTask.vue b/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/mineCollectTask.vue
index 13044ff..7b18332 100644
--- a/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/mineCollectTask.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/mine/mineCollectTask/mineCollectTask.vue
@@ -1,7 +1,7 @@
 <template>
-  <PageLayoutWithBg class="mineCollectTask-page-wrapper" :title="'鎴戞敹钘忕殑浠诲姟'">
+  <PageLayout class="mineCollectTask-page-wrapper" :title="'鎴戞敹钘忕殑浠诲姟'">
     <InnerPage></InnerPage>
-  </PageLayoutWithBg>
+  </PageLayout>
 </template>
 
 <script setup lang="ts">
diff --git a/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue b/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue
index 13fc4df..d60a795 100644
--- a/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue
+++ b/apps/housekeepingMiniApp/src/subpackages/sercice/serciceDetail/serciceDetail.vue
@@ -10,24 +10,25 @@
         scrollViewClassName="common-infinite-scroll-list-no-padding"
       >
         <div class="serciceDetail-top-view">
-          <nut-swiper
-            :auto-play="3000"
-            v-if="detail?.files?.length > 0"
-            class="serciceDetail-swiper"
-          >
-            <nut-swiper-item
-              v-for="(item, index) in detail.files"
-              :key="item"
-              class="serciceDetail-swiper-item"
+          <SquareView>
+            <nut-swiper
+              :auto-play="3000"
+              v-if="detail?.files?.length > 0"
+              class="serciceDetail-swiper"
             >
-              <img
-                :src="setOSSLink(item)"
-                class="serciceDetail-swiper-item-img"
-                draggable="false"
-              />
-            </nut-swiper-item>
-          </nut-swiper>
-
+              <nut-swiper-item
+                v-for="(item, index) in detail.files"
+                :key="item"
+                class="serciceDetail-swiper-item"
+              >
+                <img
+                  :src="setOSSLink(item)"
+                  class="serciceDetail-swiper-item-img"
+                  draggable="false"
+                />
+              </nut-swiper-item>
+            </nut-swiper>
+          </SquareView>
           <div class="serciceDetail-top-view-title-wrapper">
             <div class="serciceDetail-price-wrapper">
               <div class="serciceDetail-price">{{ toThousand(minPrice) }}</div>
@@ -102,6 +103,7 @@
   ListItem,
   ProTabs,
   ProTabPane,
+  SquareView,
 } from '@12333/components';
 import { useAccessLogin } from '@/hooks';
 import IconShare from '@/assets/flexJob/icon-share.png';
@@ -236,12 +238,15 @@
 
 .serciceDetail-page-wrapper {
   .serciceDetail-swiper {
-    height: 640px;
+    width: 100%;
+    height: 100%;
 
     .serciceDetail-swiper-item-img {
       width: 100%;
       height: 100%;
       object-fit: cover;
+      /* 鍙�夛細璋冩暣鍥剧墖瑁佸壀鐨勫榻愭柟寮忥紙榛樿灞呬腑锛� */
+      object-position: center center;
     }
   }
 
diff --git a/packages/components/src/Chunk/SquareView.vue b/packages/components/src/Chunk/SquareView.vue
new file mode 100644
index 0000000..191402e
--- /dev/null
+++ b/packages/components/src/Chunk/SquareView.vue
@@ -0,0 +1,45 @@
+<template>
+  <div class="square-view" :style="{ paddingTop: pTopRate }">
+    <div class="square-view-inner">
+      <slot></slot>
+    </div>
+  </div>
+</template>
+
+<script setup lang="ts">
+import { computed } from 'vue';
+
+defineOptions({
+  name: 'SquareView',
+});
+
+type Props = {
+  widthPower?: number;
+  heightPower?: number;
+};
+
+const props = withDefaults(defineProps<Props>(), {
+  widthPower: 1,
+  heightPower: 1,
+});
+
+const pTopRate = computed(() => {
+  return `${(props.heightPower / props.widthPower) * 100}%`;
+});
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+
+.square-view {
+  position: relative;
+
+  .square-view-inner {
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    left: 0;
+    top: 0;
+  }
+}
+</style>
diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts
index adf47d1..5944bf9 100644
--- a/packages/components/src/index.ts
+++ b/packages/components/src/index.ts
@@ -54,3 +54,4 @@
 export { default as ChunkTitle } from './Chunk/ChunkTitle.vue';
 export { default as Sku } from './Sku/Sku.vue';
 export * from './Sku/sku';
+export { default as SquareView } from './Chunk/SquareView.vue';
diff --git a/packages/constants/apiEnum.ts b/packages/constants/apiEnum.ts
index a8c9942..04a101e 100644
--- a/packages/constants/apiEnum.ts
+++ b/packages/constants/apiEnum.ts
@@ -825,6 +825,8 @@
 export enum EnumUserWalletTransactionType {
   /**鏀粯 */
   Payment = 1,
+  /**閫�娆� */
+  Refund = 2,
   /**鏀跺叆 */
   Income = 10,
   /**鎻愮幇 */
diff --git a/packages/services/apiV2/standardOrder.ts b/packages/services/apiV2/standardOrder.ts
index 04b9b57..86ea96c 100644
--- a/packages/services/apiV2/standardOrder.ts
+++ b/packages/services/apiV2/standardOrder.ts
@@ -17,7 +17,7 @@
   });
 }
 
-/** 鏍囧噯璁㈠崟鍙栨秷 POST /api/flexjob/standardOrder/cancelStandardOrderAppointment */
+/** 鏍囧噯璁㈠崟鍙栨秷棰勭害 POST /api/flexjob/standardOrder/cancelStandardOrderAppointment */
 export async function cancelStandardOrderAppointment(
   body: API.CancelStandardOrderAppointmentCommand,
   options?: API.RequestConfig
@@ -32,6 +32,24 @@
   });
 }
 
+/** 鏍囧噯璁㈠崟鏍¢獙鏀粯缁撴灉 POST /api/flexjob/standardOrder/checkPayStandardOrder */
+export async function checkPayStandardOrder(
+  body: API.CheckPayStandardOrderCommand,
+  options?: API.RequestConfig
+) {
+  return request<API.CheckPayStandardOrderCommandResult>(
+    '/api/flexjob/standardOrder/checkPayStandardOrder',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
 /** 鏌ヨ鏍囧噯璁㈠崟璇︽儏 GET /api/flexjob/standardOrder/getStandardOrder */
 export async function getStandardOrder(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
@@ -98,24 +116,6 @@
   });
 }
 
-/** 鏌ヨ鏍囧噯璁㈠崟鏈嶅姟浜哄憳鍒嗛〉鍒楄〃 POST /api/flexjob/standardOrder/getStandardOrderServers */
-export async function getStandardOrderServers(
-  body: API.GetStandardOrderServersQuery,
-  options?: API.RequestConfig
-) {
-  return request<API.GetStandardOrderServersQueryResult>(
-    '/api/flexjob/standardOrder/getStandardOrderServers',
-    {
-      method: 'POST',
-      headers: {
-        'Content-Type': 'application/json-patch+json',
-      },
-      data: body,
-      ...(options || {}),
-    }
-  );
-}
-
 /** 鏌ヨ鏍囧噯璁㈠崟缁撶畻鍒嗛〉鍒楄〃 POST /api/flexjob/standardOrder/getStandardOrderSettlements */
 export async function getStandardOrderSettlements(
   body: API.GetStandardOrderSettlementsQuery,
@@ -134,24 +134,6 @@
   );
 }
 
-/** 鏌ヨ鏍囧噯璁㈠崟渚涘簲鍟嗗垎椤靛垪琛� POST /api/flexjob/standardOrder/getStandardOrderSupplierEnterprises */
-export async function getStandardOrderSupplierEnterprises(
-  body: API.GetStandardOrderSupplierEnterprisesQuery,
-  options?: API.RequestConfig
-) {
-  return request<API.GetStandardOrderSupplierEnterprisesQueryResult>(
-    '/api/flexjob/standardOrder/getStandardOrderSupplierEnterprises',
-    {
-      method: 'POST',
-      headers: {
-        'Content-Type': 'application/json-patch+json',
-      },
-      data: body,
-      ...(options || {}),
-    }
-  );
-}
-
 /** 鏍囧噯璁㈠崟鏀粯 POST /api/flexjob/standardOrder/payStandardOrder */
 export async function payStandardOrder(
   body: API.PayStandardOrderCommand,
diff --git a/packages/services/apiV2/standardService.ts b/packages/services/apiV2/standardService.ts
index 337c5f4..1b5083b 100644
--- a/packages/services/apiV2/standardService.ts
+++ b/packages/services/apiV2/standardService.ts
@@ -17,6 +17,42 @@
   });
 }
 
+/** 鏌ヨ鏍囧噯璁㈠崟鏈嶅姟璇︽儏 GET /api/flexjob/standardService/getOpenStandardService */
+export async function getOpenStandardService(
+  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+  params: API.APIgetOpenStandardServiceParams,
+  options?: API.RequestConfig
+) {
+  return request<API.GetStandardServiceQueryResult>(
+    '/api/flexjob/standardService/getOpenStandardService',
+    {
+      method: 'GET',
+      params: {
+        ...params,
+      },
+      ...(options || {}),
+    }
+  );
+}
+
+/** 鏌ヨ寮�鏀炬爣鍑嗚鍗曟湇鍔″垎椤靛垪琛� POST /api/flexjob/standardService/getOpenStandardServices */
+export async function getOpenStandardServices(
+  body: API.GetOpenStandardServicesQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetStandardServicesQueryResult>(
+    '/api/flexjob/standardService/getOpenStandardServices',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
 /** 鏌ヨ鏍囧噯璁㈠崟鏈嶅姟璇︽儏 GET /api/flexjob/standardService/getStandardService */
 export async function getStandardService(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
@@ -71,6 +107,42 @@
   );
 }
 
+/** 鏌ヨ鏍囧噯璁㈠崟鏈嶅姟浜哄憳鍒嗛〉鍒楄〃 POST /api/flexjob/standardService/getStandardServiceServers */
+export async function getStandardServiceServers(
+  body: API.GetStandardServiceServersQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetStandardServiceServersQueryResult>(
+    '/api/flexjob/standardService/getStandardServiceServers',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
+/** 鏌ヨ鏍囧噯璁㈠崟鏈嶅姟渚涘簲鍟嗗垎椤靛垪琛� POST /api/flexjob/standardService/getStandardServiceSupplierEnterprises */
+export async function getStandardServiceSupplierEnterprises(
+  body: API.GetStandardServiceSupplierEnterprisesQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetStandardServiceSupplierEnterprisesQueryResult>(
+    '/api/flexjob/standardService/getStandardServiceSupplierEnterprises',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
 /** 淇濆瓨鏍囧噯璁㈠崟鏈嶅姟 POST /api/flexjob/standardService/saveStandardService */
 export async function saveStandardService(
   body: API.SaveStandardServiceCommand,
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 8815df5..63acdd7 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -314,6 +314,11 @@
     roleId?: string;
   }
 
+  interface APIgetOpenStandardServiceParams {
+    /** Id */
+    id?: string;
+  }
+
   interface APIgetPartyAEnterpriseParams {
     /** 鍚堜綔Id */
     id?: string;
@@ -718,6 +723,15 @@
     operatorToken?: string;
   }
 
+  interface CheckPayStandardOrderCommand {
+    /** 璁㈠崟Id */
+    id?: string;
+  }
+
+  interface CheckPayStandardOrderCommandResult {
+    payStatus?: EnumStandardOrderPayStatus;
+  }
+
   interface CheckReceiveTaskCommand {
     /** 鎻愪氦Id */
     id?: string;
@@ -1674,6 +1688,8 @@
   enum EnumUserWalletTransactionType {
     /**鏀粯 */
     Payment = 1,
+    /**閫�娆� */
+    Refund = 2,
     /**鏀跺叆 */
     Income = 10,
     /**鎻愮幇 */
@@ -2004,6 +2020,24 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultCheckPayStandardOrderCommandResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: CheckPayStandardOrderCommandResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultEnterpriseUserElectronSignCommandResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -3319,24 +3353,6 @@
     timestamp?: number;
   }
 
-  interface FriendlyResultGetStandardOrderServersQueryResult {
-    /** 璺熻釜Id */
-    traceId?: string;
-    /** 鐘舵�佺爜 */
-    code?: number;
-    /** 閿欒鐮� */
-    errorCode?: string;
-    data?: GetStandardOrderServersQueryResult;
-    /** 鎵ц鎴愬姛 */
-    success?: boolean;
-    /** 閿欒淇℃伅 */
-    msg?: any;
-    /** 闄勫姞鏁版嵁 */
-    extras?: any;
-    /** 鏃堕棿鎴� */
-    timestamp?: number;
-  }
-
   interface FriendlyResultGetStandardOrderSettlementsQueryResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -3373,24 +3389,6 @@
     timestamp?: number;
   }
 
-  interface FriendlyResultGetStandardOrderSupplierEnterprisesQueryResult {
-    /** 璺熻釜Id */
-    traceId?: string;
-    /** 鐘舵�佺爜 */
-    code?: number;
-    /** 閿欒鐮� */
-    errorCode?: string;
-    data?: GetStandardOrderSupplierEnterprisesQueryResult;
-    /** 鎵ц鎴愬姛 */
-    success?: boolean;
-    /** 閿欒淇℃伅 */
-    msg?: any;
-    /** 闄勫姞鏁版嵁 */
-    extras?: any;
-    /** 鏃堕棿鎴� */
-    timestamp?: number;
-  }
-
   interface FriendlyResultGetStandardServiceCommentsQueryResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -3427,6 +3425,24 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultGetStandardServiceServersQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetStandardServiceServersQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultGetStandardServicesQueryResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -3445,6 +3461,24 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultGetStandardServiceSupplierEnterprisesQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetStandardServiceSupplierEnterprisesQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultGetTaskEnterpriseQueryResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -6610,6 +6644,22 @@
     remark?: string;
   }
 
+  interface GetOpenStandardServicesQuery {
+    /** 鍏抽敭瀛楋紙鏈嶅姟鍚�/Id锛� */
+    keywords?: string;
+    /** 宀椾綅缂栧彿 */
+    jobCode?: string;
+    /** 鍒涘缓鏃堕棿-璧峰 */
+    createdTimeBegin?: string;
+    /** 鍒涘缓鏃堕棿-鎴 */
+    createdTimeEnd?: string;
+    releaseStatus?: EnumStandardServiceReleaseStatus;
+    recommendStatus?: EnumStandardServiceRecommendStatus;
+    /** 鏄惁鏀惰棌 */
+    isCollected?: boolean;
+    pageModel?: PagedListQueryPageModel;
+  }
+
   interface GetOpenTaskInfosQuery {
     /** 鍏抽敭瀛楋紙浠诲姟鍚嶇О锛� */
     keywords?: string;
@@ -8004,47 +8054,6 @@
     settlementAmount?: number;
   }
 
-  interface GetStandardOrderServersQuery {
-    /** 璁㈠崟Id */
-    orderId?: string;
-    pageModel?: PagedListQueryPageModel;
-  }
-
-  interface GetStandardOrderServersQueryResult {
-    pageModel?: PagedListQueryResultPageModel;
-    /** 鏁版嵁 */
-    data?: GetStandardOrderServersQueryResultItem[];
-  }
-
-  interface GetStandardOrderServersQueryResultItem {
-    /** Id */
-    id?: string;
-    /** 澶村儚 */
-    avatar?: string;
-    /** 濮撳悕 */
-    name?: string;
-    gender?: EnumUserGender;
-    /** 鏄惁瀹炲悕 */
-    isReal?: boolean;
-    realMethod?: EnumUserRealMethod;
-    /** 骞撮緞 */
-    age?: number;
-    /** 韬唤缂栧彿 */
-    personalIdentityCode?: string;
-    /** 韬唤 */
-    personalIdentityContent?: string;
-    /** 瀛﹀巻缂栧彿 */
-    educationalBackgroundCode?: string;
-    /** 瀛﹀巻 */
-    educationalBackgroundContent?: string;
-    /** 涓婂矖娆℃暟 */
-    taskCount?: number;
-    /** 宸ヤ綔璧勫巻 */
-    workSeniority?: string;
-    /** 宸ヤ綔缁忛獙 */
-    workExperience?: string;
-  }
-
   interface GetStandardOrderSettlementsQuery {
     /** 鍏抽敭瀛楋紙璁㈠崟鍙�/鏈嶅姟鍚�/渚涘簲鍟嗭級 */
     keywords?: string;
@@ -8150,33 +8159,6 @@
     settlementAmount?: number;
   }
 
-  interface GetStandardOrderSupplierEnterprisesQuery {
-    /** 璁㈠崟Id */
-    orderId?: string;
-    pageModel?: PagedListQueryPageModel;
-  }
-
-  interface GetStandardOrderSupplierEnterprisesQueryResult {
-    pageModel?: PagedListQueryResultPageModel;
-    /** 鏁版嵁 */
-    data?: GetStandardOrderSupplierEnterprisesQueryResultItem[];
-  }
-
-  interface GetStandardOrderSupplierEnterprisesQueryResultItem {
-    /** Id */
-    id?: string;
-    /** 澶村儚 */
-    avatar?: string;
-    /** 浼佷笟鍏ㄧО */
-    enterpriseName?: string;
-    /** 鏈嶅姟浜哄憳 */
-    serverCount?: number;
-    /** 鏈嶅姟浜烘 */
-    serviceCount?: number;
-    /** 缁忚惀鑼冨洿 */
-    mainBusiness?: string;
-  }
-
   interface GetStandardServiceCommentsQuery {
     pageModel?: PagedListQueryPageModel;
   }
@@ -8261,6 +8243,51 @@
     cityContent?: string;
   }
 
+  interface GetStandardServiceServersQuery {
+    /** 渚涘簲鍟咺d */
+    supplierEnterpriseId?: string;
+    /** 鏈嶅姟璧峰鏃堕棿 */
+    beginTime?: string;
+    /** 鏈嶅姟鎴鏃堕棿 */
+    endTime?: string;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetStandardServiceServersQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetStandardServiceServersQueryResultItem[];
+  }
+
+  interface GetStandardServiceServersQueryResultItem {
+    /** Id */
+    id?: string;
+    /** 澶村儚 */
+    avatar?: string;
+    /** 濮撳悕 */
+    name?: string;
+    gender?: EnumUserGender;
+    /** 鏄惁瀹炲悕 */
+    isReal?: boolean;
+    realMethod?: EnumUserRealMethod;
+    /** 骞撮緞 */
+    age?: number;
+    /** 韬唤缂栧彿 */
+    personalIdentityCode?: string;
+    /** 韬唤 */
+    personalIdentityContent?: string;
+    /** 瀛﹀巻缂栧彿 */
+    educationalBackgroundCode?: string;
+    /** 瀛﹀巻 */
+    educationalBackgroundContent?: string;
+    /** 涓婂矖娆℃暟 */
+    taskCount?: number;
+    /** 宸ヤ綔璧勫巻 */
+    workSeniority?: string;
+    /** 宸ヤ綔缁忛獙 */
+    workExperience?: string;
+  }
+
   interface GetStandardServicesQuery {
     /** 鍏抽敭瀛楋紙鏈嶅姟鍚�/Id锛� */
     keywords?: string;
@@ -8308,6 +8335,33 @@
     supplierCount?: number;
   }
 
+  interface GetStandardServiceSupplierEnterprisesQuery {
+    /** 鏈嶅姟Id */
+    serviceId?: string;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetStandardServiceSupplierEnterprisesQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetStandardServiceSupplierEnterprisesQueryResultItem[];
+  }
+
+  interface GetStandardServiceSupplierEnterprisesQueryResultItem {
+    /** Id */
+    id?: string;
+    /** 澶村儚 */
+    avatar?: string;
+    /** 浼佷笟鍏ㄧО */
+    enterpriseName?: string;
+    /** 鏈嶅姟浜哄憳 */
+    serverCount?: number;
+    /** 鏈嶅姟浜烘 */
+    serviceCount?: number;
+    /** 缁忚惀鑼冨洿 */
+    mainBusiness?: string;
+  }
+
   type GetSupplierEnterpriseSelectQuery = Record<string, any>;
 
   interface GetSupplierEnterpriseSelectQueryOption {
@@ -11426,6 +11480,36 @@
     reject_reason: string;
   }
 
+  interface WeChatPayTransactionsJsApiNotifyCommand {
+    /** 閫氱煡ID锛屽洖璋冮�氱煡鐨勫敮涓�缂栧彿 */
+    id?: string;
+    /** 閫氱煡鍒涘缓鏃堕棿
+1銆佸畾涔夛細鏈鍥炶皟閫氱煡鍒涘缓鐨勬椂闂�
+2銆佹牸寮忥細閬靛惊rfc3339鏍囧噯鏍煎紡锛歽yyy-MM-DDTHH:mm:ss+TIMEZONE锛堢ず渚嬶細2015-05-20T13:29:35+08:00 琛ㄧず鍖椾含鏃堕棿2015骞�5鏈�20鏃�13鐐�29鍒�35绉掞級 */
+    create_time?: string;
+    /** 閫氱煡鐨勭被鍨嬶紝寰俊鏀粯鍥炶皟閫氱煡鐨勭被鍨�
+鏀粯鎴愬姛閫氱煡鐨勭被鍨嬩负TRANSACTION.SUCCESS */
+    event_type?: string;
+    /** 閫氱煡鏁版嵁绫诲瀷锛岄�氱煡鐨勮祫婧愭暟鎹被鍨嬶紝鍥哄畾涓篹ncrypt-resource */
+    resource_type?: string;
+    resource?: WeChatPayTransactionsJsApiNotifyCommandResource;
+    /** 鍥炶皟鎽樿锛屽井淇℃敮浠樺鍥炶皟鍐呭鐨勬憳瑕佸娉� */
+    summary?: string;
+  }
+
+  interface WeChatPayTransactionsJsApiNotifyCommandResource {
+    /** 鍔犲瘑绠楁硶绫诲瀷锛屽洖璋冩暟鎹瘑鏂囩殑鍔犲瘑绠楁硶绫诲瀷锛岀洰鍓嶄负AEAD_AES_256_GCM锛屽紑鍙戣�呴渶瑕佷娇鐢ㄥ悓鏍风被鍨嬬殑鏁版嵁杩涜瑙e瘑 */
+    algorithm?: string;
+    /** 鏁版嵁瀵嗘枃锛孊ase64缂栫爜鍚庣殑鍥炶皟鏁版嵁瀵嗘枃锛屾湇鍔″晢闇�Base64瑙g爜骞朵娇鐢ˋPIV3瀵嗛挜瑙e瘑锛屽叿浣撳弬鑰冨浣曡В瀵嗚瘉涔﹀拰鍥炶皟鎶ユ枃 */
+    ciphertext?: string;
+    /** 闄勫姞鏁版嵁锛屽弬涓庤В瀵嗙殑闄勫姞鏁版嵁锛岃瀛楁鍙兘涓虹┖ */
+    associated_data?: string;
+    /** 鍘熷鍥炶皟绫诲瀷锛屽姞瀵嗗墠鐨勫璞$被鍨嬶紝涓簍ransaction */
+    original_type?: string;
+    /** 闅忔満涓诧紝鍙備笌瑙e瘑鐨勯殢鏈轰覆 */
+    nonce?: string;
+  }
+
   interface WxmpLoginCommand {
     /** 鐢ㄦ埛鐧诲綍鍑瘉 */
     code: string;
diff --git a/packages/services/apiV2/userWallet.ts b/packages/services/apiV2/userWallet.ts
index 6443e40..d945ac1 100644
--- a/packages/services/apiV2/userWallet.ts
+++ b/packages/services/apiV2/userWallet.ts
@@ -16,3 +16,18 @@
     ...(options || {}),
   });
 }
+
+/** 寰俊JS鏀粯閫氱煡 POST /api/user/userWallet/weChatPayTransactionsJsApiNotify */
+export async function weChatPayTransactionsJsApiNotify(
+  body: API.WeChatPayTransactionsJsApiNotifyCommand,
+  options?: API.RequestConfig
+) {
+  return request<boolean>('/api/user/userWallet/weChatPayTransactionsJsApiNotify', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}

--
Gitblit v1.10.0