deploy: auto commit repo-root changes 2026-07-05 12:03:49
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
export const AI_DAILY_FREE_COUNT = 3
|
||||
|
||||
export const AI_DAILY_FREE_TEXT = `每日免费${AI_DAILY_FREE_COUNT}次AI分析`
|
||||
|
||||
export const getAiFreeRemain = (vipInfo?: Record<string, any>) => {
|
||||
const count = vipInfo?.ai_free_count
|
||||
return count === undefined || count === null ? AI_DAILY_FREE_COUNT : count
|
||||
}
|
||||
@@ -62,7 +62,7 @@
|
||||
</view>
|
||||
<view v-else class="vip-bar vip-bar--free">
|
||||
<text class="vip-bar__badge vip-bar__badge--free">免费</text>
|
||||
<text class="vip-bar__text">每日免费3次AI分析,今日剩余{{ freeRemain }}次</text>
|
||||
<text class="vip-bar__text">{{ AI_DAILY_FREE_TEXT }},今日剩余{{ freeRemain }}次</text>
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view scroll-y class="ai-popup__body" @touchmove.stop>
|
||||
@@ -145,6 +145,7 @@ import { ref, shallowRef, computed } from 'vue'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { getDrawResultList, getLatestDrawResult, getLotteryAiPredict } from '@/api/lottery'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { AI_DAILY_FREE_TEXT, getAiFreeRemain } from '@/config/ai'
|
||||
|
||||
const statusBarHeight = ref(0)
|
||||
const gameCode = ref('')
|
||||
@@ -203,7 +204,7 @@ const vipInfo = computed(() => userStore.userInfo?.vip_info || {})
|
||||
const isVipUser = computed(() => !!vipInfo.value.is_vip)
|
||||
const vipLevelName = computed(() => vipInfo.value.vip_level_name || '会员')
|
||||
const vipExpireDate = computed(() => vipInfo.value.vip_expire_time || '')
|
||||
const freeRemain = computed(() => vipInfo.value.ai_free_count ?? 3)
|
||||
const freeRemain = computed(() => getAiFreeRemain(vipInfo.value))
|
||||
|
||||
const showAiPopup = ref(false)
|
||||
const aiLoading = ref(false)
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
</view>
|
||||
<view v-else class="vip-bar vip-bar--free">
|
||||
<text class="vip-bar__badge vip-bar__badge--free">免费</text>
|
||||
<text class="vip-bar__text">每日免费3次AI分析,今日剩余{{ freeRemain }}次</text>
|
||||
<text class="vip-bar__text">{{ AI_DAILY_FREE_TEXT }},今日剩余{{ freeRemain }}次</text>
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view scroll-y class="ai-popup__body" @touchmove.stop>
|
||||
@@ -262,6 +262,7 @@ import { getLotteryAiPredict, getLotteryGameList, getLatestDrawResult, getDrawRe
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { useAppStore } from '@/stores/app'
|
||||
import SharePopup from '@/components/share-popup/share-popup.vue'
|
||||
import { AI_DAILY_FREE_TEXT, getAiFreeRemain } from '@/config/ai'
|
||||
|
||||
const showSharePopup = ref(false)
|
||||
|
||||
@@ -434,7 +435,7 @@ const vipInfo = computed(() => userStore.userInfo?.vip_info || {})
|
||||
const isVipUser = computed(() => !!vipInfo.value.is_vip)
|
||||
const vipLevelName = computed(() => vipInfo.value.vip_level_name || '会员')
|
||||
const vipExpireDate = computed(() => vipInfo.value.vip_expire_time || '')
|
||||
const freeRemain = computed(() => vipInfo.value.ai_free_count ?? 3)
|
||||
const freeRemain = computed(() => getAiFreeRemain(vipInfo.value))
|
||||
|
||||
const showAiPopup = ref(false)
|
||||
const aiLoading = ref(false)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
</view>
|
||||
<view v-else class="ai-vip-bar__inner ai-vip-bar__inner--free">
|
||||
<text class="ai-vip-bar__badge ai-vip-bar__badge--free">免费</text>
|
||||
<text class="ai-vip-bar__text">每日免费3次AI分析,今日剩余{{ freeRemain }}次</text>
|
||||
<text class="ai-vip-bar__text">{{ AI_DAILY_FREE_TEXT }},今日剩余{{ freeRemain }}次</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -545,6 +545,7 @@ import { onLoad } from '@dcloudio/uni-app'
|
||||
import { getMatchPredictSection, getArticleAnalysis } from '@/api/ai'
|
||||
import { getCommunityPostAiAnalysis, getCommunityPostAiAnalysisResult, getCommunityPostDetail } from '@/api/community'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { AI_DAILY_FREE_TEXT, getAiFreeRemain } from '@/config/ai'
|
||||
|
||||
const statusBarHeight = ref(0)
|
||||
const contentHeight = ref(500)
|
||||
@@ -556,7 +557,7 @@ const vipInfo = computed(() => userStore.userInfo?.vip_info || {})
|
||||
const isVipUser = computed(() => !!vipInfo.value.is_vip)
|
||||
const vipLevelName = computed(() => vipInfo.value.vip_level_name || '会员')
|
||||
const vipExpireDate = computed(() => vipInfo.value.vip_expire_time || '')
|
||||
const freeRemain = ref(vipInfo.value.ai_free_count ?? 3)
|
||||
const freeRemain = ref(getAiFreeRemain(vipInfo.value))
|
||||
|
||||
const predictionData = ref<any>(null)
|
||||
const factorsData = ref<any>(null)
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
</view>
|
||||
<view v-else class="vip-bar vip-bar--free">
|
||||
<text class="vip-bar__badge vip-bar__badge--free">免费</text>
|
||||
<text class="vip-bar__text">每日免费3次AI分析,今日剩余{{ freeRemain }}次</text>
|
||||
<text class="vip-bar__text">{{ AI_DAILY_FREE_TEXT }},今日剩余{{ freeRemain }}次</text>
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view scroll-y class="ai-popup__body" @touchmove.stop>
|
||||
@@ -264,6 +264,7 @@ import { useUserStore } from '@/stores/user'
|
||||
import { useAppStore } from '@/stores/app'
|
||||
import AiAssistantEntry from '@/components/ai-assistant-entry/ai-assistant-entry.vue'
|
||||
import SharePopup from '@/components/share-popup/share-popup.vue'
|
||||
import { AI_DAILY_FREE_TEXT, getAiFreeRemain } from '@/config/ai'
|
||||
|
||||
const showSharePopup = ref(false)
|
||||
|
||||
@@ -436,7 +437,7 @@ const vipInfo = computed(() => userStore.userInfo?.vip_info || {})
|
||||
const isVipUser = computed(() => !!vipInfo.value.is_vip)
|
||||
const vipLevelName = computed(() => vipInfo.value.vip_level_name || '会员')
|
||||
const vipExpireDate = computed(() => vipInfo.value.vip_expire_time || '')
|
||||
const freeRemain = computed(() => vipInfo.value.ai_free_count ?? 3)
|
||||
const freeRemain = computed(() => getAiFreeRemain(vipInfo.value))
|
||||
|
||||
const showAiPopup = ref(false)
|
||||
const aiLoading = ref(false)
|
||||
|
||||
@@ -458,7 +458,7 @@
|
||||
<text v-if="isVipUser" class="match-ai__vip-text">尊贵的{{ vipLevelName }},到期时间{{ vipExpireDate
|
||||
}}</text>
|
||||
<text v-if="!isVipUser" class="match-ai__vip-tag">免费</text>
|
||||
<text v-if="!isVipUser" class="match-ai__vip-text">每日免费3次AI分析,今日剩余{{ freeRemain }}次</text>
|
||||
<text v-if="!isVipUser" class="match-ai__vip-text">{{ AI_DAILY_FREE_TEXT }},今日剩余{{ freeRemain }}次</text>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
@@ -484,6 +484,7 @@ import type { MatchLiveLineItem } from '@/api/match'
|
||||
import { checkAiUnlock, getMatchPredictSection } from '@/api/ai'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { getLocalMatchDate } from '@/utils/match-time'
|
||||
import { AI_DAILY_FREE_TEXT, getAiFreeRemain } from '@/config/ai'
|
||||
|
||||
type MatchDetailLiveLine = MatchLiveLineItem & {
|
||||
lineKey: string
|
||||
@@ -499,7 +500,7 @@ const vipInfo = computed(() => userStore.userInfo?.vip_info || {})
|
||||
const isVipUser = computed(() => !!vipInfo.value.is_vip)
|
||||
const vipLevelName = computed(() => vipInfo.value.vip_level_name || '会员')
|
||||
const vipExpireDate = computed(() => vipInfo.value.vip_expire_time || '')
|
||||
const freeRemain = ref(3)
|
||||
const freeRemain = ref(getAiFreeRemain(vipInfo.value))
|
||||
|
||||
const statusBarHeight = ref(0)
|
||||
const contentHeight = ref(500)
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<text v-if="isVipUser" class="nd-ai-vip__tag nd-ai-vip__tag--vip">VIP</text>
|
||||
<text v-if="isVipUser" class="nd-ai-vip__text">尊贵的{{ vipLevelName }},到期时间{{ vipExpireDate }}</text>
|
||||
<text v-if="!isVipUser" class="nd-ai-vip__tag">免费</text>
|
||||
<text v-if="!isVipUser" class="nd-ai-vip__text">每日免费3次AI分析,今日剩余{{ freeRemain }}次</text>
|
||||
<text v-if="!isVipUser" class="nd-ai-vip__text">{{ AI_DAILY_FREE_TEXT }},今日剩余{{ freeRemain }}次</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -174,13 +174,14 @@ import { onLoad } from '@dcloudio/uni-app'
|
||||
import { getArticleDetail, addCollect, cancelCollect, getCommentList, addComment, articleVote } from '@/api/news'
|
||||
import request from '@/utils/request'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import { AI_DAILY_FREE_TEXT, getAiFreeRemain } from '@/config/ai'
|
||||
|
||||
const userStore = useUserStore()
|
||||
const vipInfo = computed(() => userStore.userInfo?.vip_info || {})
|
||||
const isVipUser = computed(() => !!vipInfo.value.is_vip)
|
||||
const vipLevelName = computed(() => vipInfo.value.vip_level_name || '会员')
|
||||
const vipExpireDate = computed(() => vipInfo.value.vip_expire_time || '')
|
||||
const freeRemain = computed(() => vipInfo.value.ai_free_count ?? 3)
|
||||
const freeRemain = computed(() => getAiFreeRemain(vipInfo.value))
|
||||
|
||||
const newsData = ref<any>({})
|
||||
const relatedList = ref<any[]>([])
|
||||
|
||||
Reference in New Issue
Block a user