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

Merge branch 'dev' of xiongzhu/paimaide into master

熊竹 пре 2 година
родитељ
комит
a556805f1b

BIN
android/app/src/main/assets/cdvasset.manifest


+ 1 - 1
public/meta.js

@@ -1 +1 @@
-window.www_version = 1123
+window.www_version = 1127

+ 31 - 10
src/App.vue

@@ -27,6 +27,22 @@
                     <div class="close" @click="showCustmer = false">
                         <img src="@/assets/icon_close.png" alt="" />
                     </div>
+                    <div class="item broker" v-if="broker">
+                        <img class="bg" src="@/assets/bg_customer2.png" />
+                        <div class="item-content">
+                            <img src="@/assets/icon_customer_broker.png" class="icon" alt="" />
+                            <div class="info" @click="copyText(broker.account)">
+                                <div class="name">{{ $t('common.broker') }}</div>
+                                <div class="num">{{ broker.type }}: {{ broker.account }}</div>
+                            </div>
+                            <div
+                                class="btn-open animate__animated animate__heartBeat animate__infinite"
+                                @click="open(broker)"
+                            >
+                                {{ $t('balance.symbol') }}20
+                            </div>
+                        </div>
+                    </div>
                     <div class="item" :class="{ broker: item.broker }" v-for="(item, i) in customers" :key="i">
                         <img class="bg" v-if="item.broker" src="@/assets/bg_customer2.png" />
                         <img class="bg" v-else src="@/assets/bg_customer.png" />
@@ -123,23 +139,28 @@ useBackButton(1, processNextHandler => {
     }
 })
 
-function getBrokers() {
+function getCustomers() {
     http.get('/sysConfig/get/customer_json').then(res => {
         customers.value = JSON.parse(res.value)
-        http.get('/user/myBroker').then(res => {
-            customers.value.unshift({
-                type: 'Telegram',
-                account: res.account,
-                broker: true,
-                id: res.brokerId,
-                assigned: res.assigned
-            })
-        })
+    })
+}
+
+const broker = ref(null)
+function getBrokers() {
+    http.get('/user/myBroker').then(res => {
+        broker.value = {
+            type: 'Telegram',
+            account: res.account,
+            broker: true,
+            id: res.brokerId,
+            assigned: res.assigned
+        }
     })
 }
 
 function init() {
     useSystemStore().getSysConfigs()
+    getCustomers()
     getBrokers()
     emitter.on('promptLogin', promptLogin)
     emitter.on('customer', customer)

+ 2 - 4
src/components/CommissionItem.vue

@@ -5,9 +5,7 @@
             <div class="num">{{ $t('distribution.commission') }}: +{{ detail.amount }}</div>
         </div>
         <div class="order">
-            <ion-thumbnail class="cover">
-                <img :src="detail.order.pic[0]" />
-            </ion-thumbnail>
+            <van-image :src="detail.order.pic[0]" class="cover" radius="2" fit="cover" lazy-load> </van-image>
             <div class="info">
                 <div class="name">
                     {{ getLocaleString(detail.order.name) }}
@@ -56,7 +54,7 @@ const props = defineProps({
         .avatar {
             width: 24px;
             height: 24px;
-            --border-radius: 2px;
+            border-radius: 2px;
         }
         .name {
             flex-grow: 1;

+ 1 - 1
src/components/OrderItem.vue

@@ -12,7 +12,7 @@
         </div>
 
         <div class="order-content" @click="goDetail">
-            <van-image class="suk-img" width="80" height="80" fit="cover" :src="pic" />
+            <van-image class="suk-img" width="80" height="80" fit="cover" :src="pic" lazy-load />
 
             <div class="order-text">
                 <div class="van-ellipsis text1">{{ getLocaleString(productInfo.name) }}</div>

+ 1 - 1
src/components/ProductItem.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="product-info" :class="{ product2: list }" @click="goDetail">
-        <van-image :width="width" :height="width" fit="cover" :src="getImg(info.pic)" />
+        <van-image :width="width" :height="width" fit="cover" :src="getImg(info.pic)" lazy-load />
         <div class="img_box" v-if="info.status === 'SOLD_OUT'" :style="{ width: width + 'px', height: width + 'px' }">
             <img src="@/assets/solded.png" alt="" />
         </div>

+ 1 - 1
src/components/ProductItemSmall.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="product-info" :class="{ product2: list }" @click="goDetail">
-        <van-image width="calc(50vw - 24px)" height="calc(50vw - 24px)" fit="cover" :src="getImg(info.pic)" />
+        <van-image width="calc(50vw - 24px)" height="calc(50vw - 24px)" fit="cover" :src="getImg(info.pic)" lazy-load />
         <div class="img_box" v-if="info.status === 'SOLD_OUT'" :style="{ width: width + 'px', height: width + 'px' }">
             <img src="@/assets/solded.png" alt="" />
         </div>

+ 2 - 1
src/main.js

@@ -17,7 +17,7 @@ import { useBackButton } from '@ionic/vue'
 import { SplashScreen } from '@capacitor/splash-screen'
 // import { Openinstall } from 'capacitor-openinstall'
 import { AppsFlyer, AFConstants } from 'appsflyer-capacitor-plugin'
-import { Locale as VantLocale } from 'vant'
+import { Locale as VantLocale, Lazyload } from 'vant'
 import vantEnUS from 'vant/es/locale/lang/en-US'
 import { useStorage } from '@vueuse/core'
 import { init as initEruda } from '@/utils/console'
@@ -75,6 +75,7 @@ app.mixin(common)
 const packageSynced = ref(false)
 app.provide('packageSynced', packageSynced)
 VantLocale.use('en-US', vantEnUS)
+app.use(Lazyload)
 
 // ionic components
 Object.keys(IonComponents).forEach(key => {

+ 146 - 163
src/views/HomePage.vue

@@ -1,181 +1,165 @@
 <template>
     <ion-page>
         <ion-content fullscreen class="home">
-            <UseElementBounding v-slot="{ width }">
-                <van-swipe class="mySwiper" :autoplay="5000" :style="{ height: width * 0.65 + 'px' }">
-                    <van-swipe-item v-for="(item, index) in topBanners" :key="index">
-                        <van-image :src="item.pic" fit="cover" :width="width" :height="width * 0.65" />
-                    </van-swipe-item>
-                    <van-swipe-item :key="999">
-                        <van-image
-                            src="https://paimaide.s3.ap-northeast-1.amazonaws.com/image/2023-03-13-16-01-05mrZJlQJL.jpg"
-                            fit="cover"
-                            :width="width"
-                            :height="width * 0.65"
-                            @click="customer"
-                        />
-                    </van-swipe-item>
-                </van-swipe>
-                <div class="img-btns">
-                    <img
-                        src="@/assets/INTRO.png"
-                        class="tutorial-btn animate__animated animate__heartBeat animate__infinite"
-                        alt=""
-                        srcset=""
-                        @click="showIntroVideo"
-                    />
-                    <img
-                        src="@/assets/OPNAVI.png"
-                        class="tutorial-btn animate__animated animate__heartBeat animate__infinite"
-                        alt=""
-                        srcset=""
-                        @click="showTutorialVideo"
-                    />
-                    <img
-                        src="@/assets/TUTORIAL.png"
-                        class="tutorial-btn animate__animated animate__heartBeat animate__infinite"
-                        alt=""
-                        srcset=""
-                        @click="showGraphicTutorial"
+            <van-swipe class="mySwiper" :autoplay="5000" :style="{ height: '65vw' }">
+                <van-swipe-item v-for="(item, index) in topBanners" :key="index">
+                    <van-image :src="item.pic" fit="cover" width="100vw" height="65vw" />
+                </van-swipe-item>
+                <van-swipe-item :key="999">
+                    <van-image
+                        src="https://paimaide.s3.ap-northeast-1.amazonaws.com/image/2023-03-13-16-01-05mrZJlQJL.jpg"
+                        fit="cover"
+                        width="100vw"
+                        height="65vw"
+                        @click="customer"
                     />
-                </div>
-                <div class="notice-box" v-if="news.length > 0">
-                    <van-notice-bar ref="noticeBarRef" left-icon="volume-o">
-                        <template #left-icon>
-                            <van-badge
-                                dot
-                                :offset="[-4, 4]"
-                                class="animate__animated animate__rubberBand animate__infinite"
-                                v-if="recentNews"
-                            >
-                                <img
-                                    class="bar-icon"
-                                    src="../assets/home_icon_redian.png"
-                                    alt=""
-                                    @click="showConsoleEve"
-                                />
-                            </van-badge>
-
-                            <img
-                                class="bar-icon"
-                                v-else
-                                src="../assets/home_icon_redian.png"
-                                alt=""
-                                @click="showConsoleEve"
-                            />
-                            <div class="driver"></div>
-                        </template>
-                        <van-swipe
-                            vertical
-                            class="notice-swipe"
-                            :autoplay="3000"
-                            :touchable="false"
-                            :show-indicators="false"
+                </van-swipe-item>
+            </van-swipe>
+            <div class="img-btns">
+                <img
+                    src="@/assets/INTRO.png"
+                    class="tutorial-btn animate__animated animate__heartBeat animate__infinite"
+                    alt=""
+                    srcset=""
+                    @click="showIntroVideo"
+                />
+                <img
+                    src="@/assets/OPNAVI.png"
+                    class="tutorial-btn animate__animated animate__heartBeat animate__infinite"
+                    alt=""
+                    srcset=""
+                    @click="showTutorialVideo"
+                />
+                <img
+                    src="@/assets/TUTORIAL.png"
+                    class="tutorial-btn animate__animated animate__heartBeat animate__infinite"
+                    alt=""
+                    srcset=""
+                    @click="showGraphicTutorial"
+                />
+            </div>
+            <div class="notice-box" v-if="news.length > 0">
+                <van-notice-bar ref="noticeBarRef" left-icon="volume-o">
+                    <template #left-icon>
+                        <van-badge
+                            dot
+                            :offset="[-4, 4]"
+                            class="animate__animated animate__rubberBand animate__infinite"
+                            v-if="recentNews"
                         >
-                            <van-swipe-item
-                                v-for="(item, index) in news"
-                                :key="index"
-                                @click="router.push({ name: 'news' })"
-                            >
-                                <div class="notic-news">
-                                    <span class="van-ellipsis">{{ item.title }}</span>
-                                    <ion-icon class="right-icon" :icon="intoIcon"></ion-icon>
-                                </div>
-                            </van-swipe-item>
-                        </van-swipe>
-                    </van-notice-bar>
-                </div>
-
-                <div class="rank-content">
-                    <img class="rank-bg" src="../assets/png-kuang.png" alt="" />
-                    <div class="rank-box" @click="router.push({ name: 'rank' })">
-                        <div class="rank-list">
-                            <div class="rank-info" v-for="(item, index) in recentWidthdraw" :key="index">
-                                <div class="rank-info-left">
-                                    <div class="name">{{ item.nickname }}</div>
-                                    <!-- <div class="text">
+                            <img class="bar-icon" src="../assets/home_icon_redian.png" alt="" @click="showConsoleEve" />
+                        </van-badge>
+
+                        <img
+                            class="bar-icon"
+                            v-else
+                            src="../assets/home_icon_redian.png"
+                            alt=""
+                            @click="showConsoleEve"
+                        />
+                        <div class="driver"></div>
+                    </template>
+                    <van-swipe
+                        vertical
+                        class="notice-swipe"
+                        :autoplay="3000"
+                        :touchable="false"
+                        :show-indicators="false"
+                    >
+                        <van-swipe-item
+                            v-for="(item, index) in news"
+                            :key="index"
+                            @click="router.push({ name: 'news' })"
+                        >
+                            <div class="notic-news">
+                                <span class="van-ellipsis">{{ item.title }}</span>
+                                <ion-icon class="right-icon" :icon="intoIcon"></ion-icon>
+                            </div>
+                        </van-swipe-item>
+                    </van-swipe>
+                </van-notice-bar>
+            </div>
+
+            <div class="rank-content">
+                <img class="rank-bg" src="../assets/png-kuang.png" alt="" />
+                <div class="rank-box" @click="router.push({ name: 'rank' })">
+                    <div class="rank-list">
+                        <div class="rank-info" v-for="(item, index) in recentWidthdraw" :key="index">
+                            <div class="rank-info-left">
+                                <div class="name">{{ item.nickname }}</div>
+                                <!-- <div class="text">
                                 {{ $t('balance.withdraw') }}{{ item.withdrawAccumulation }}&nbsp;
                                 {{ $t('rank.withdrawRechargeRate') }}{{ parseInt(item.roi * 100) }}%
                             </div> -->
-                                    <div class="text">
-                                        {{ $t('balance.withdraw') }}&nbsp;<span class="nor">{{
-                                            $t('balance.symbol')
-                                        }}</span
-                                        >{{ item.money }}
-                                    </div>
+                                <div class="text">
+                                    {{ $t('balance.withdraw') }}&nbsp;<span class="nor">{{ $t('balance.symbol') }}</span
+                                    >{{ item.money }}
                                 </div>
-
-                                <ion-icon class="right-icon" :icon="intoIcon"></ion-icon>
                             </div>
-                            <div class="rank-info" v-for="(item, index) in recentWidthdraw" :key="index">
-                                <div class="rank-info-left">
-                                    <div class="name">{{ item.nickname }}</div>
-                                    <!-- <div class="text">
+
+                            <ion-icon class="right-icon" :icon="intoIcon"></ion-icon>
+                        </div>
+                        <div class="rank-info" v-for="(item, index) in recentWidthdraw" :key="index">
+                            <div class="rank-info-left">
+                                <div class="name">{{ item.nickname }}</div>
+                                <!-- <div class="text">
                                 {{ $t('balance.withdraw') }}{{ item.withdrawAccumulation }}&nbsp;
                                 {{ $t('rank.withdrawRechargeRate') }}{{ parseInt(item.roi * 100) }}%
                             </div> -->
-                                    <div class="text">
-                                        {{ $t('balance.withdraw') }}&nbsp;<span class="nor">{{
-                                            $t('balance.symbol')
-                                        }}</span
-                                        >{{ item.money }}
-                                    </div>
+                                <div class="text">
+                                    {{ $t('balance.withdraw') }}&nbsp;<span class="nor">{{ $t('balance.symbol') }}</span
+                                    >{{ item.money }}
                                 </div>
-
-                                <ion-icon class="right-icon" :icon="intoIcon"></ion-icon>
                             </div>
+
+                            <ion-icon class="right-icon" :icon="intoIcon"></ion-icon>
                         </div>
                     </div>
                 </div>
+            </div>
+
+            <!-- 初级场 -->
+
+            <template v-for="(item, index) in saleBatches" :key="index">
+                <div class="level">
+                    <van-cell :title="item.name" :value="$t('home.all')" @click="goList(item)" :border="false" is-link>
+                        <template #title>
+                            <div class="cell-title" :class="[`level_` + index]">
+                                <span>
+                                    <span>{{ item.name }}</span>
+                                    <img class="title-bg" src="@/assets/title-bg.png" alt="" />
+                                </span>
+                            </div>
+                        </template>
+                        <template #right-icon>
+                            <ion-icon class="right-icon" :icon="intoIcon"></ion-icon>
+                        </template>
+                    </van-cell>
 
-                <!-- 初级场 -->
+                    <div class="second">
+                        <van-image @click="goList(item)" :src="item.cover" fit="scale-down" />
 
-                <template v-for="(item, index) in saleBatches" :key="index">
-                    <div class="level">
-                        <van-cell
-                            :title="item.name"
-                            :value="$t('home.all')"
-                            @click="goList(item)"
-                            :border="false"
-                            is-link
-                        >
-                            <template #title>
-                                <div class="cell-title" :class="[`level_` + index]">
-                                    <span>
-                                        <span>{{ item.name }}</span>
-                                        <img class="title-bg" src="@/assets/title-bg.png" alt="" />
-                                    </span>
-                                </div>
-                            </template>
-                            <template #right-icon>
-                                <ion-icon class="right-icon" :icon="intoIcon"></ion-icon>
-                            </template>
-                        </van-cell>
-
-                        <div class="second">
-                            <van-image @click="goList(item)" :src="item.cover" fit="scale-down" />
-
-                            <!-- <img class="second-btn" v-if="index === 0" src="../assets/TUTORIAL.png" alt="" /> -->
-                            <template v-if="item.empty !== null && item.id != 11547">
-                                <div
-                                    class="status hot animate__animated animate__tada animate__infinite"
-                                    v-if="getStatus(item) === '抢购中'"
-                                >
-                                    <img src="../assets/info_icon_qianggouzhong.png" alt="" />
-                                    <span>{{ $t('product.hot') }}</span>
-                                </div>
-                                <div class="status" v-else-if="getStatus(item)">
-                                    <img src="../assets/info_icon_shijian.png" alt="" />
-                                    <span>{{ $t('product.start', { time: formatTime(item.saleStart) }) }}</span>
-                                    <span v-if="getStatus(item) === '已抢光'">({{ $t('blf.finish') }})</span>
-                                </div>
-                            </template>
-                        </div>
+                        <!-- <img class="second-btn" v-if="index === 0" src="../assets/TUTORIAL.png" alt="" /> -->
+                        <template v-if="item.empty !== null && item.id != 11547">
+                            <div
+                                class="status hot animate__animated animate__tada animate__infinite"
+                                v-if="getStatus(item) === '抢购中'"
+                            >
+                                <img src="../assets/info_icon_qianggouzhong.png" alt="" />
+                                <span>{{ $t('product.hot') }}</span>
+                            </div>
+                            <div class="status" v-else-if="getStatus(item)">
+                                <img src="../assets/info_icon_shijian.png" alt="" />
+                                <span>{{ $t('product.start', { time: formatTime(item.saleStart) }) }}</span>
+                                <span v-if="getStatus(item) === '已抢光'">({{ $t('blf.finish') }})</span>
+                            </div>
+                        </template>
                     </div>
-                </template>
+                </div>
+            </template>
 
-                <div class="tools">
-                    <!-- <div class="tool">
+            <div class="tools">
+                <!-- <div class="tool">
                     <img src="../assets/home_icon_pingtaixieyi.png" alt="" />
                     <span>{{ $t('common.eula') }}</span>
                 </div>
@@ -183,14 +167,13 @@
                     <img src="../assets/home_icon_liucheng.png" alt="" />
                     <span>{{ $t('common.guide') }}</span>
                 </div> -->
-                    <div class="tool-info" @click="showTutorialVideo">
-                        <img src="../assets/png-TUTORIAL.png" alt="" />
-                    </div>
-                    <div class="tool-info" @click="showIntroVideo">
-                        <img src="../assets/png-AGREEMENT.png" alt="" />
-                    </div>
+                <div class="tool-info" @click="showTutorialVideo">
+                    <img src="../assets/png-TUTORIAL.png" alt="" />
+                </div>
+                <div class="tool-info" @click="showIntroVideo">
+                    <img src="../assets/png-AGREEMENT.png" alt="" />
                 </div>
-            </UseElementBounding>
+            </div>
         </ion-content>
     </ion-page>
 </template>