deploy: auto commit repo-root changes 2026-06-16 01:39:08

This commit is contained in:
hajimi
2026-06-16 01:39:09 +08:00
parent e501393b66
commit 20f0b4b111
323 changed files with 403 additions and 371 deletions
@@ -0,0 +1,78 @@
<template>
<view class="ai-entry" :class="[`ai-entry--${size}`, `ai-entry--align-${align}`]" @tap="goAssistant">
<text class="ai-entry__line ai-entry__line--top">AI</text>
<text class="ai-entry__line ai-entry__line--bottom">助手</text>
</view>
</template>
<script setup lang="ts">
withDefaults(defineProps<{
align?: 'left' | 'right'
size?: 'compact' | 'regular' | 'large'
}>(), {
align: 'left',
size: 'regular'
})
const goAssistant = () => {
uni.navigateTo({ url: '/pages/ai_assistant/ai_assistant' })
}
</script>
<style lang="scss" scoped>
.ai-entry {
--entry-width: 64rpx;
--entry-height: 64rpx;
--entry-radius: 16rpx;
--entry-top-font: 20rpx;
--entry-bottom-font: 14rpx;
--entry-gap: 2rpx;
width: var(--entry-width);
height: var(--entry-height);
border-radius: var(--entry-radius);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--entry-gap);
flex-shrink: 0;
background: linear-gradient(135deg, #185dff 0%, #4f7dff 100%);
box-shadow: 0 8rpx 20rpx rgba(24, 93, 255, 0.16);
&--align-right {
margin-left: auto;
}
&--compact {
--entry-width: 60rpx;
--entry-height: 60rpx;
--entry-radius: 18rpx;
--entry-top-font: 18rpx;
--entry-bottom-font: 14rpx;
}
&--large {
--entry-width: 68rpx;
--entry-height: 68rpx;
--entry-radius: 12rpx;
--entry-top-font: 20rpx;
--entry-bottom-font: 14rpx;
}
&__line {
color: #fff;
font-weight: 700;
line-height: 1;
letter-spacing: 1rpx;
&--top {
font-size: var(--entry-top-font);
}
&--bottom {
font-size: var(--entry-bottom-font);
}
}
}
</style>
+2 -2
View File
@@ -2,8 +2,8 @@
"name" : "世博头条",
"appid" : "__UNI__90671D8",
"description" : "世博头条AI分析平台",
"versionName" : "1.0.6",
"versionCode" : 106,
"versionName" : "1.0.8",
"versionCode" : 108,
"transformPx" : false,
/* 5+App */
"app-plus" : {
@@ -3,6 +3,7 @@
<view class="match-header" :style="{ paddingTop: statusBarHeight + 'px' }">
<view class="match-header__title">
<text class="match-header__title-text">赛事中心</text>
<AiAssistantEntry size="compact" />
</view>
<view class="topic-entry" @tap="openWorldCupCenter">
<view class="topic-entry__badge">
@@ -81,6 +82,7 @@
<script lang="ts" setup>
import { computed, ref, onMounted } from 'vue'
import AiAssistantEntry from '@/components/ai-assistant-entry/ai-assistant-entry.vue'
import MatchCard from '@/components/match-card/match-card.vue'
import { getMatchList, getMatchLeagues, getSportTypes } from '@/api/match'
import { getArticleCate } from '@/api/news'
@@ -283,6 +285,10 @@ onMounted(() => {
&__title {
padding: 16rpx 24rpx 12rpx;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16rpx;
&-text {
font-size: 36rpx;
+5
View File
@@ -6,6 +6,7 @@
<!-- 顶部导航 -->
<view class="navbar">
<text class="navbar__title">加密行情</text>
<AiAssistantEntry size="compact" />
</view>
<!-- 排序 Tab + 搜索 -->
@@ -61,6 +62,7 @@
<script lang="ts" setup>
import { ref, computed, onUnmounted } from 'vue'
import { onLoad, onShow, onHide } from '@dcloudio/uni-app'
import AiAssistantEntry from '@/components/ai-assistant-entry/ai-assistant-entry.vue'
import { getBinanceTickers, loadCoinConfig, type CoinTicker } from '@/api/crypto'
const statusBarHeight = ref(0)
@@ -172,6 +174,8 @@ $accent: #333333;
.navbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16rpx;
padding: 0 32rpx;
height: 88rpx;
background: $bg;
@@ -181,6 +185,7 @@ $accent: #333333;
font-weight: 700;
color: $text-primary;
}
}
/* 排序Tab */
+2
View File
@@ -7,6 +7,7 @@
<text class="community-header__search-icon">🔍</text>
<text class="community-header__search-text">搜索世博头条</text>
</view>
<AiAssistantEntry size="large" />
<view class="community-header__publish" @tap="goPublish">
<text class="community-header__publish-icon">+</text>
</view>
@@ -69,6 +70,7 @@ import { getCommunityPosts, getTagLists, purchasePost, toggleLike } from '@/api/
import { useAppStore } from '@/stores/app'
import { useUserStore } from '@/stores/user'
import { getToken } from '@/utils/auth'
import AiAssistantEntry from '@/components/ai-assistant-entry/ai-assistant-entry.vue'
import PostCard from '@/packages_community/components/post-card.vue'
import SharePopup from '@/components/share-popup/share-popup.vue'
+4 -68
View File
@@ -10,21 +10,15 @@
<UIcon name="search" size="28" color="#999" />
<text class="top-bar__search-text">{{ searchPlaceholder }}</text>
</view>
<view class="top-bar__actions" />
<view class="top-bar__actions">
<AiAssistantEntry />
</view>
</view>
</view>
<!-- Feed流内容 -->
<scroll-view scroll-y class="feed-wrapper" :style="{ height: feedHeight + 'px' }" @scrolltolower="loadMore"
:lower-threshold="100">
<view class="assistant-entry" @tap="goAssistant">
<view class="assistant-entry__icon">AI</view>
<view class="assistant-entry__body">
<text class="assistant-entry__title">世博头条 AI 助手</text>
<text class="assistant-entry__desc">问资讯赛事社区彩票和行情</text>
</view>
<u-icon name="arrow-right" size="28" color="#185dff" />
</view>
<!-- 频道Tab栏 -->
<view class="channel-bar">
<scroll-view scroll-x class="channel-bar__scroll" :scroll-left="channelScrollLeft"
@@ -72,6 +66,7 @@ import { ref, nextTick } from 'vue'
import { getArticleList, getArticleCate } from '@/api/news'
import { resolveShortLink } from '@/api/share'
import { useUserStore } from '@/stores/user'
import AiAssistantEntry from '@/components/ai-assistant-entry/ai-assistant-entry.vue'
import FeedCard from '@/components/feed-card/feed-card.vue'
import FeedTranslateCard from '@/components/feed-translate-card/feed-translate-card.vue'
import FeedVideoCard from '@/components/feed-video-card/feed-video-card.vue'
@@ -238,10 +233,6 @@ const goChannelManage = () => {
uni.navigateTo({ url: '/pages/channel/channel-manage' })
}
const goAssistant = () => {
uni.navigateTo({ url: '/pages/ai_assistant/ai_assistant' })
}
onLoad(async (options: any) => {
// 处理短链接跳转参数
handleRedirect(options)
@@ -407,61 +398,6 @@ onUnload(() => {
gap: 16rpx;
flex-shrink: 0;
}
&__publish {
width: 64rpx;
height: 64rpx;
display: flex;
align-items: center;
justify-content: center;
background: #e5edff;
border-radius: 16rpx;
}
}
/* 频道Tab栏 */
.assistant-entry {
margin: 20rpx 24rpx 16rpx;
padding: 22rpx 24rpx;
border-radius: 8rpx;
background: #fff;
border: 1rpx solid #dbe6f5;
display: flex;
align-items: center;
gap: 18rpx;
&__icon {
width: 60rpx;
height: 60rpx;
border-radius: 8rpx;
background: #185dff;
color: #fff;
font-size: 24rpx;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
&__body {
flex: 1;
min-width: 0;
}
&__title {
display: block;
font-size: 30rpx;
font-weight: 700;
color: #111827;
}
&__desc {
display: block;
margin-top: 4rpx;
font-size: 23rpx;
color: #6b7280;
}
}
/* 频道Tab栏 */
@@ -5,6 +5,7 @@
<view class="lottery-nav__content">
<image v-if="websiteLogo" class="lottery-nav__logo" :src="websiteLogo" mode="aspectFit" />
<text class="lottery-nav__title">彩票中心</text>
<AiAssistantEntry size="compact" align="right" />
</view>
<view class="lottery-nav__right" @tap="showSharePopup = true">
<u-icon name="share" size="36" color="#333" />
@@ -261,6 +262,7 @@ import { onLoad, onUnload, onReachBottom } from '@dcloudio/uni-app'
import { getLotteryAiPredict, getLotteryGameList, getLatestDrawResult, getDrawResultList } from '@/api/lottery'
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'
const showSharePopup = ref(false)
@@ -596,6 +598,7 @@ onReachBottom(() => {
font-weight: bold;
color: #0053d8;
}
}
/* 一级分类Tab */