Преглед изворни кода

feat: 邀请列表接口对接

liangan пре 1 недеља
родитељ
комит
5292bca820
2 измењених фајлова са 28 додато и 18 уклоњено
  1. 8 0
      src/api/mine.ts
  2. 20 18
      src/pages/referEarn/referEarn.vue

+ 8 - 0
src/api/mine.ts

@@ -63,3 +63,11 @@ export function clockIn(data: any) {
 export function memberConfigs() {
   return http.get<any>(`/cif/api/user/memberConfigs`)
 }
+
+/**
+ * 获取邀请的用户
+ * @returns
+ */
+export function myUsers(data: any) {
+  return http.post<any>(`/cif/api/user/myUsers`, data)
+}

+ 20 - 18
src/pages/referEarn/referEarn.vue

@@ -12,6 +12,7 @@
 // eslint-disable-next-line unused-imports/no-unused-imports
 import { onPageScroll, onReachBottom } from '@dcloudio/uni-app'
 import useZPaging from 'z-paging/components/z-paging/js/hooks/useZPaging.js'
+import { myUsers } from '@/api/mine'
 
 defineOptions({
   name: 'ReferEarn', // 邀请赚钱
@@ -27,22 +28,23 @@ useZPaging(paging)
 
 // 搜索结果
 const dataList = ref([])
-function queryList(pageNo, pageSize) {
-  // 此处请求仅为演示,请替换为自己项目中的请求
-  setTimeout(() => {
-    dataList.value = [
-      { title: '123' },
-      { title: '123' },
-      { title: '123' },
-      { title: '12345' },
-    ]
-    paging.value.complete(dataList.value)
-  }, 1000)
+async function queryList(pageNo: number, pageSize: number) {
+  try {
+    const res = await myUsers({
+      page: pageNo,
+      size: pageSize,
+      type: 1,
+    })
+    paging.value.complete(res.data.list)
+  }
+  catch {
+    paging.value.complete(false)
+  }
 }
 </script>
 
 <template>
-  <z-paging ref="paging" refresher-only use-page-scroll @query="queryList">
+  <z-paging ref="paging" v-model="dataList" use-page-scroll @query="queryList">
     <template #top>
       <view :style="{ paddingTop: `${safeAreaInsets?.top}px` }">
         <wd-navbar custom-class="bg-transparent!" :bordered="false" left-arrow title="Refer Earn" />
@@ -87,21 +89,21 @@ function queryList(pageNo, pageSize) {
         <view class="mb-18rpx text-32rpx">
           Invited Friends
         </view>
-        <view class="rounded-16rpx bg-white px-24rpx py-8rpx">
+        <view v-if="dataList.length" class="rounded-16rpx bg-white px-24rpx py-8rpx">
           <view
-            v-for="i in 3"
-            :key="i"
+            v-for="(item, index) in dataList"
+            :key="index"
             class="flex items-center justify-between py-18rpx"
-            :class="{ 'border-b-1 border-b-solid border-#E1E1E1': i !== 3 }"
+            :class="{ 'border-b-1 border-b-solid border-#E1E1E1': index !== dataList.length - 1 }"
           >
             <view class="flex items-center">
               <wd-img width="80rpx" height="80rpx" round src="https://picsum.photos/80" />
               <view class="ml-20rpx text-28rpx font-bold">
-                Aamir Khan
+                {{ item.name }}
               </view>
             </view>
             <view class="text-24rpx">
-              2025/05/05 12:30
+              {{ item.createTime }}
             </view>
           </view>
         </view>