|
@@ -19,14 +19,17 @@
|
|
|
</FlexCol>
|
|
</FlexCol>
|
|
|
<Height height="200px" />
|
|
<Height height="200px" />
|
|
|
<FlexCol :gap="20" align="center">
|
|
<FlexCol :gap="20" align="center">
|
|
|
- <SearchBar v-model="searchKeywords" placeholder="搜索" :innerStyle="{
|
|
|
|
|
- backgroundColor: 'white',
|
|
|
|
|
- borderRadius: '20rpx',
|
|
|
|
|
- borderWidth: '1px',
|
|
|
|
|
- borderStyle: 'solid',
|
|
|
|
|
- borderColor: themeContext.resolveThemeColor('primary'),
|
|
|
|
|
- width: '650rpx',
|
|
|
|
|
- }" />
|
|
|
|
|
|
|
+ <FlexRow justify="space-between" align="center" width="100%">
|
|
|
|
|
+ <SearchBar v-model="searchKeywords" placeholder="搜索" :innerStyle="{
|
|
|
|
|
+ backgroundColor: 'white',
|
|
|
|
|
+ borderRadius: '20rpx',
|
|
|
|
|
+ borderWidth: '1px',
|
|
|
|
|
+ borderStyle: 'solid',
|
|
|
|
|
+ borderColor: themeContext.resolveThemeColor('primary'),
|
|
|
|
|
+ width: '490rpx',
|
|
|
|
|
+ }" />
|
|
|
|
|
+ <Button icon="ai-thinking" @click="handleGoAI" text="问AI" />
|
|
|
|
|
+ </FlexRow>
|
|
|
<Image
|
|
<Image
|
|
|
src="https://xy.wenlvti.net/app_static/images/home/BannerIndex.png"
|
|
src="https://xy.wenlvti.net/app_static/images/home/BannerIndex.png"
|
|
|
width="700rpx"
|
|
width="700rpx"
|
|
@@ -161,7 +164,6 @@ import { ArrayUtils, waitTimeOut } from '@imengyu/imengyu-utils';
|
|
|
import { toast } from '@/components/utils/DialogAction';
|
|
import { toast } from '@/components/utils/DialogAction';
|
|
|
import { navTo } from '@/components/utils/PageAction';
|
|
import { navTo } from '@/components/utils/PageAction';
|
|
|
import Image from '@/components/basic/Image.vue';
|
|
import Image from '@/components/basic/Image.vue';
|
|
|
-import Loadmore from '@/components/display/loading/Loadmore.vue';
|
|
|
|
|
import FlexCol from '@/components/layout/FlexCol.vue';
|
|
import FlexCol from '@/components/layout/FlexCol.vue';
|
|
|
import FlexRow from '@/components/layout/FlexRow.vue';
|
|
import FlexRow from '@/components/layout/FlexRow.vue';
|
|
|
import Height from '@/components/layout/space/Height.vue';
|
|
import Height from '@/components/layout/space/Height.vue';
|
|
@@ -185,12 +187,14 @@ import LightVillageApi, { VillageListItem } from '@/api/light/LightVillageApi';
|
|
|
import type { CityItem } from '@/api/map/MapApi';
|
|
import type { CityItem } from '@/api/map/MapApi';
|
|
|
import SimplePageListLoader from '@/components/loader/SimplePageListLoader.vue';
|
|
import SimplePageListLoader from '@/components/loader/SimplePageListLoader.vue';
|
|
|
import { useAuthStore } from '@/store/auth';
|
|
import { useAuthStore } from '@/store/auth';
|
|
|
|
|
+import { useReqireLogin } from '@/common/composeabe/RequireLogin';
|
|
|
|
|
|
|
|
const emit = defineEmits(['goVillage']);
|
|
const emit = defineEmits(['goVillage']);
|
|
|
|
|
|
|
|
const authStore = useAuthStore();
|
|
const authStore = useAuthStore();
|
|
|
const villageStore = useVillageStore();
|
|
const villageStore = useVillageStore();
|
|
|
const themeContext = useTheme();
|
|
const themeContext = useTheme();
|
|
|
|
|
+const { requireLogin } = useReqireLogin();
|
|
|
const searchKeywords = ref('');
|
|
const searchKeywords = ref('');
|
|
|
const showCityPopup = ref(false);
|
|
const showCityPopup = ref(false);
|
|
|
const showMyFollowPopup = ref(false);
|
|
const showMyFollowPopup = ref(false);
|
|
@@ -270,6 +274,11 @@ function handleSelectCity(city: CityItem) {
|
|
|
showCityPopup.value = false;
|
|
showCityPopup.value = false;
|
|
|
handleChangedCity(city.name);
|
|
handleChangedCity(city.name);
|
|
|
}
|
|
}
|
|
|
|
|
+function handleGoAI() {
|
|
|
|
|
+ requireLogin(async () => {
|
|
|
|
|
+ navTo('/pages/chat/index');
|
|
|
|
|
+ }, '暂时需要登录后才能使用AI助手');
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
async function loadInfo() {
|
|
async function loadInfo() {
|
|
|
const res = await FollowVillageApi.getFollowVillageList({ page: 1, pageSize: 200 });
|
|
const res = await FollowVillageApi.getFollowVillageList({ page: 1, pageSize: 200 });
|