Преглед на файлове

feat: 全局通用配置接口联调

liangan преди 2 дни
родител
ревизия
52cea799e9
променени са 4 файла, в които са добавени 61 реда и са изтрити 5 реда
  1. 21 0
      src/api/common.ts
  2. 1 1
      src/pages/mine/mine.vue
  3. 20 2
      src/pages/productDetail/productDetail.vue
  4. 19 2
      src/pages/referEarn/referEarn.vue

+ 21 - 0
src/api/common.ts

@@ -25,3 +25,24 @@ export function divisionsTreeList(data: any) {
 export function bannerList(data: any) {
   return http.post<any>(`${pre}/app/banner/list`, data)
 }
+/**
+ * 获取通用配置 入参code
+ * 开团红包收益结算推迟时间        red_envelope_settel_day_5001
+ *开团奖励佣金比例(%)        open_red_envelope_rate
+ * 拼团奖励佣金比例(%)        join_red_envelope_rate
+ *  提现利率(%)        withdraw_rate
+ *开团奖励佣金结算推迟时间(天)        red_envelope_settel_day_5002
+ *签到奖励佣金结算推迟时间(天)        red_envelope_settel_day_5003
+ *  直推奖励佣金结算推迟时间(天)        red_envelope_settel_day_5006
+ * 一级奖励佣金结算推迟时间        red_envelope_settel_day_5004
+ * 二级奖励佣金结算推迟时间        red_envelope_settel_day_5005
+ *  默认头像        default_avatar
+ *  邀请好友奖励佣金金额        invited_amount
+ * 签到奖励佣金金额        login_red_envelope_amount
+ *  用户签到奖励        user_sign_info
+ *  轮播图        banner
+ * @returns
+ */
+export function getConfigByCode(data: any) {
+  return http.get<any>(`${pre2}/config/getConfigByCode`, data)
+}

+ 1 - 1
src/pages/mine/mine.vue

@@ -49,7 +49,7 @@ const menuList = ref([
   { name: t('mine.menu.share'), url: '/pages/mine/share', icon: '/static/icons/share.png' },
   { name: t('mine.menu.favorite'), url: '/pages/mine/myFavorite', icon: '/static/icons/my-favorite.png' },
   { name: t('mine.menu.chat'), url: '', icon: '/static/icons/live-chat.png' },
-  { name: t('mine.menu.activity'), url: '', icon: '/static/icons/activity-group.png' },
+  { name: t('mine.menu.activity'), url: '/pages/referEarn/referEarn', icon: '/static/icons/activity-group.png' },
 ])
 const walletInfo = ref<any>({})
 async function getWalletInfo() {

+ 20 - 2
src/pages/productDetail/productDetail.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 { getConfigByCode } from '@/api/common'
 import { myFavoriteAdd, myFavoriteDel } from '@/api/mine'
 import { preOrder as _preOrder } from '@/api/order'
 import { getDetail, pinkList } from '@/api/product'
@@ -199,11 +200,14 @@ function findMatchingAttrValue(selectedSpecs) {
     return selectedKeys.every(key => selectedSpecs[key] === attrValueSpecs[key])
   })
 }
+const rebate = ref<any>(0)
 // 查询商品详情
 async function queryDetail() {
   const res = await getDetail({ id: productId.value })
   console.log(res)
   detail.value = res.data
+  const rate = await getConfig()
+  rebate.value = formatNumber(rate * res.data.price)
   // 默认选择第一个规格
   setDefaultSpecs()
   paging.value.complete()
@@ -216,6 +220,20 @@ async function queryPinkInfo() {
   pinkInfo.value = res.data.list
 }
 
+async function getConfig() {
+  try {
+    const res = await getConfigByCode({ code: 'open_red_envelope_rate' })
+    console.log(res)
+    if (res.code === '200') {
+      return res.data.valueInfo / 100
+    }
+    else {
+      return 0
+    }
+  }
+  catch {}
+}
+
 // 设置默认规格选择
 function setDefaultSpecs() {
   if (detail.value.attr && detail.value.attr.length > 0) {
@@ -497,8 +515,8 @@ onShow(() => {
             </view>
             <CustomTooltip
               v-model:visible="showTip"
-              :highlight-text1="`৳${detail.price}`"
-              highlight-text2="$1.8"
+              :highlight-text1="`৳${formatNumber(detail.price)}`"
+              :highlight-text2="`৳${rebate}`"
             />
           </view>
           <view class="rounded-r-full bg-[var(--wot-color-theme)] px-34rpx py-18rpx text-white" @click="openSku('join')">

+ 19 - 2
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 { getConfigByCode } from '@/api/common'
 import { myUsers } from '@/api/mine'
 import { goBack } from '@/utils/page'
 
@@ -39,6 +40,22 @@ async function queryList(pageNo: number, pageSize: number) {
     paging.value.complete(false)
   }
 }
+const invitedAmount = ref<any>(0)
+async function getConfig() {
+  try {
+    const res = await getConfigByCode({ code: 'invited_amount' })
+    console.log(res)
+    if (res.code === '200') {
+      invitedAmount.value = res.data.valueInfo
+    }
+  }
+  catch {
+
+  }
+}
+onLoad(() => {
+  getConfig()
+})
 </script>
 
 <template>
@@ -62,7 +79,7 @@ async function queryList(pageNo: number, pageSize: number) {
           <view class="mb-26rpx">
             {{ $t('referEarn.earnCash') }}
             <text class="text-[var(--wot-color-theme)]">
-              ৳50
+              ৳{{ invitedAmount }}
             </text>
           </view>
         </view>
@@ -99,7 +116,7 @@ async function queryList(pageNo: number, pageSize: number) {
             3
           </view>
           <view class="text-24rpx text-#8F3301 font-bold">
-            {{ $t('referEarn.step3') }}
+            {{ $t('referEarn.step3', [invitedAmount]) }}
           </view>
         </view>
       </view>