deploy: auto commit repo-root changes 2026-07-05 12:03:49

This commit is contained in:
hajimi
2026-07-05 12:03:49 +08:00
parent 074aa7ab3e
commit 1954948445
107 changed files with 161 additions and 125 deletions
+8
View File
@@ -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)
+3 -2
View File
@@ -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)
+3 -2
View File
@@ -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)
+3 -2
View File
@@ -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[]>([])