|
@@ -44,7 +44,7 @@
|
|
@playPauseClick="indexAudioPlayer.playpause"
|
|
@playPauseClick="indexAudioPlayer.playpause"
|
|
@nextClick="indexAudioPlayer.next"
|
|
@nextClick="indexAudioPlayer.next"
|
|
@prevClick="indexAudioPlayer.prev"
|
|
@prevClick="indexAudioPlayer.prev"
|
|
- @arrowClick="subTabs1[0].onClick"
|
|
|
|
|
|
+ @arrowClick="handleGoAudioList"
|
|
/>
|
|
/>
|
|
|
|
|
|
<view
|
|
<view
|
|
@@ -69,22 +69,32 @@
|
|
:enable-zoom="false"
|
|
:enable-zoom="false"
|
|
:enable-scroll="false"
|
|
:enable-scroll="false"
|
|
:scale="15"
|
|
:scale="15"
|
|
- @click="navTo('inhert/map/index')"
|
|
|
|
|
|
+ @click="navTo('inhert/map/index', { tab: mapTab })"
|
|
/>
|
|
/>
|
|
- <view class="position-absolute map-tags d-flex flex-row">
|
|
|
|
- <view :class="mapTab == 1 ? 'active' : ''" @click="mapTab=1">
|
|
|
|
- <text class="iconfont icon-read" />
|
|
|
|
- 文物
|
|
|
|
- </view>
|
|
|
|
- <view :class="mapTab == 2 ? 'active' : ''" @click="mapTab=2">
|
|
|
|
- <text class="iconfont icon-task-trip" />
|
|
|
|
- 非遗
|
|
|
|
- </view>
|
|
|
|
- <view :class="mapTab == 3 ? 'active' : ''" @click="mapTab=3">
|
|
|
|
- <text class="iconfont icon-task-trip" />
|
|
|
|
- 非遗传习所
|
|
|
|
|
|
+ <scroll-view class="map-tags position-absolute" :scroll-x="true">
|
|
|
|
+ <view class="tag-bar d-flex flex-row flex-nowrap">
|
|
|
|
+ <view :class="mapTab == 1 ? 'active' : ''" @click="mapTab=1">
|
|
|
|
+ <text class="iconfont icon-read" />
|
|
|
|
+ 非遗项目
|
|
|
|
+ </view>
|
|
|
|
+ <view :class="mapTab == 2 ? 'active' : ''" @click="mapTab=2">
|
|
|
|
+ <text class="iconfont icon-task-trip" />
|
|
|
|
+ 非遗传习所
|
|
|
|
+ </view>
|
|
|
|
+ <view :class="mapTab == 3 ? 'active' : ''" @click="mapTab=3">
|
|
|
|
+ <text class="iconfont icon-task-buliding" />
|
|
|
|
+ 文物古迹
|
|
|
|
+ </view>
|
|
|
|
+ <view :class="mapTab == 4 ? 'active' : ''" @click="mapTab=4">
|
|
|
|
+ <text class="iconfont icon-place" />
|
|
|
|
+ 传统村落
|
|
|
|
+ </view>
|
|
|
|
+ <view :class="mapTab == 5 ? 'active' : ''" @click="mapTab=5">
|
|
|
|
+ <text class="iconfont icon-task-environment-3" />
|
|
|
|
+ 闽南文化景区
|
|
|
|
+ </view>
|
|
</view>
|
|
</view>
|
|
- </view>
|
|
|
|
|
|
+ </scroll-view>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
<!-- 近期活动 -->
|
|
<!-- 近期活动 -->
|
|
@@ -172,6 +182,10 @@ import UnmoveableContent from '@/api/inheritor/UnmoveableContent';
|
|
import SeminarContent from '@/api/inheritor/SeminarContent';
|
|
import SeminarContent from '@/api/inheritor/SeminarContent';
|
|
import ProjectsContent from '@/api/inheritor/ProjectsContent';
|
|
import ProjectsContent from '@/api/inheritor/ProjectsContent';
|
|
import { useSimpleListAudioPlayer } from '@/common/composeabe/SimpleAudioPlayer';
|
|
import { useSimpleListAudioPlayer } from '@/common/composeabe/SimpleAudioPlayer';
|
|
|
|
+import ProductsContent from '@/api/inheritor/ProductsContent';
|
|
|
|
+import AppCofig from '@/common/config/AppCofig';
|
|
|
|
+import VillageApi from '@/api/inhert/VillageApi';
|
|
|
|
+import ScenicSpotContent from '@/api/fusion/ScenicSpotContent';
|
|
|
|
|
|
const subTabs1 = [
|
|
const subTabs1 = [
|
|
{
|
|
{
|
|
@@ -186,22 +200,22 @@ const subTabs1 = [
|
|
})
|
|
})
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: '古早味',
|
|
|
|
|
|
+ name: '闽南美食',
|
|
icon: MainBoxIcon2,
|
|
icon: MainBoxIcon2,
|
|
onClick: () => navTo('/pages/article/common/list', {
|
|
onClick: () => navTo('/pages/article/common/list', {
|
|
- title: '古早味',
|
|
|
|
|
|
+ title: '闽南美食',
|
|
mainBodyColumnId: 103,
|
|
mainBodyColumnId: 103,
|
|
modelId: 8,
|
|
modelId: 8,
|
|
itemType: 'article-common',
|
|
itemType: 'article-common',
|
|
detailsPage: '/pages/article/details',
|
|
detailsPage: '/pages/article/details',
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- { name: '先贤列传', icon: MainBoxIcon3, onClick: () => navTo('/pages/introduction/character') },
|
|
|
|
|
|
+ { name: '历史人物', icon: MainBoxIcon3, onClick: () => navTo('/pages/introduction/character') },
|
|
{
|
|
{
|
|
- name: '民俗活动',
|
|
|
|
|
|
+ name: '民俗信俗',
|
|
icon: MainBoxIcon4,
|
|
icon: MainBoxIcon4,
|
|
onClick: () => navTo('/pages/article/common/list', {
|
|
onClick: () => navTo('/pages/article/common/list', {
|
|
- title: '民俗活动',
|
|
|
|
|
|
+ title: '民俗信俗',
|
|
mainBodyColumnId: 299,
|
|
mainBodyColumnId: 299,
|
|
modelId: 18,
|
|
modelId: 18,
|
|
itemType: 'article-common',
|
|
itemType: 'article-common',
|
|
@@ -211,10 +225,10 @@ const subTabs1 = [
|
|
]
|
|
]
|
|
const subTabs2 = [
|
|
const subTabs2 = [
|
|
{
|
|
{
|
|
- name: '红砖厝韵',
|
|
|
|
|
|
+ name: '文物古迹',
|
|
icon: MainBoxIcon5 ,
|
|
icon: MainBoxIcon5 ,
|
|
onClick: () => navTo('/pages/article/common/list', {
|
|
onClick: () => navTo('/pages/article/common/list', {
|
|
- title: '红砖厝韵',
|
|
|
|
|
|
+ title: '文物古迹',
|
|
mainBodyColumnId: 252,
|
|
mainBodyColumnId: 252,
|
|
modelId: 3,
|
|
modelId: 3,
|
|
itemType: 'article-common',
|
|
itemType: 'article-common',
|
|
@@ -222,23 +236,23 @@ const subTabs2 = [
|
|
})
|
|
})
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: '薪传匠艺',
|
|
|
|
|
|
+ name: '非遗项目',
|
|
icon: MainBoxIcon6 ,
|
|
icon: MainBoxIcon6 ,
|
|
onClick: () => navTo('/pages/inhert/intangible/list')
|
|
onClick: () => navTo('/pages/inhert/intangible/list')
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: '工夫茶道',
|
|
|
|
|
|
+ name: '老字号',
|
|
icon: MainBoxIcon7 ,
|
|
icon: MainBoxIcon7 ,
|
|
onClick: () => navTo('/pages/article/common/list', {
|
|
onClick: () => navTo('/pages/article/common/list', {
|
|
- title: '工夫茶道',
|
|
|
|
- mainBodyColumnId: 311,
|
|
|
|
- modelId: 3,
|
|
|
|
|
|
+ title: '老字号',
|
|
|
|
+ mainBodyColumnId: 312,
|
|
|
|
+ modelId: 17,
|
|
itemType: 'article-common',
|
|
itemType: 'article-common',
|
|
detailsPage: '/pages/article/details',
|
|
detailsPage: '/pages/article/details',
|
|
})
|
|
})
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: '特色村社',
|
|
|
|
|
|
+ name: '传统村落',
|
|
icon: MainBoxIcon8 ,
|
|
icon: MainBoxIcon8 ,
|
|
onClick: () => navTo('/pages/inhert/village/list')
|
|
onClick: () => navTo('/pages/inhert/village/list')
|
|
},
|
|
},
|
|
@@ -251,13 +265,19 @@ const mapLoader = useSimpleDataLoader(async () => {
|
|
switch (mapTab.value) {
|
|
switch (mapTab.value) {
|
|
default:
|
|
default:
|
|
case 1:
|
|
case 1:
|
|
- list = (await UnmoveableContent.getContentList(new GetContentListParams(), 1, 6)).list
|
|
|
|
|
|
+ list = (await ProjectsContent.getContentList(new GetContentListParams(), 1, 6)).list
|
|
break;
|
|
break;
|
|
case 2:
|
|
case 2:
|
|
- list = (await ProjectsContent.getContentList(new GetContentListParams(), 1, 6)).list
|
|
|
|
|
|
+ list = (await SeminarContent.getContentList(new GetContentListParams(), 1, 6)).list
|
|
break;
|
|
break;
|
|
case 3:
|
|
case 3:
|
|
- list = (await SeminarContent.getContentList(new GetContentListParams(), 1, 6)).list
|
|
|
|
|
|
+ list = (await UnmoveableContent.getContentList(new GetContentListParams(), 1, 6)).list
|
|
|
|
+ break;
|
|
|
|
+ case 4:
|
|
|
|
+ list = (await VillageApi.getVallageList()).slice(1, 10)
|
|
|
|
+ break;
|
|
|
|
+ case 5:
|
|
|
|
+ list = (await ScenicSpotContent.getContentList(new GetContentListParams(), 1, 6)).list
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
const res = list.map((p) => {
|
|
const res = list.map((p) => {
|
|
@@ -272,10 +292,16 @@ const mapLoader = useSimpleDataLoader(async () => {
|
|
};
|
|
};
|
|
});
|
|
});
|
|
mapCtx.includePoints({
|
|
mapCtx.includePoints({
|
|
- points: res.map(p => ({
|
|
|
|
- latitude: p.latitude,
|
|
|
|
- longitude: p.longitude,
|
|
|
|
- })),
|
|
|
|
|
|
+ points: res.map(p => {
|
|
|
|
+ if (!p.longitude || !p.latitude) {
|
|
|
|
+ p.longitude = AppCofig.defaultLonLat[0];
|
|
|
|
+ p.latitude = AppCofig.defaultLonLat[1];
|
|
|
|
+ }
|
|
|
|
+ return {
|
|
|
|
+ latitude: p.latitude,
|
|
|
|
+ longitude: p.longitude,
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
padding: [20, 20, 20, 20],
|
|
padding: [20, 20, 20, 20],
|
|
});
|
|
});
|
|
return res;
|
|
return res;
|
|
@@ -296,6 +322,15 @@ const indexAudioPlayer = useSimpleListAudioPlayer(async () => {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
})
|
|
})
|
|
|
|
+function handleGoAudioList() {
|
|
|
|
+ navTo('/pages/article/common/list', {
|
|
|
|
+ title: '闽南原创歌曲',
|
|
|
|
+ mainBodyColumnId: 313,
|
|
|
|
+ modelId: 5,
|
|
|
|
+ itemType: 'article-common',
|
|
|
|
+ detailsPage: '/pages/video/details',
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
|
|
const activityLoader = useSimpleDataLoader(async () => {
|
|
const activityLoader = useSimpleDataLoader(async () => {
|
|
//TODO: 活动接口
|
|
//TODO: 活动接口
|
|
@@ -313,20 +348,20 @@ const activityLoader = useSimpleDataLoader(async () => {
|
|
})
|
|
})
|
|
const recommendLoader = useSimpleDataLoader(async () => {
|
|
const recommendLoader = useSimpleDataLoader(async () => {
|
|
const list = [];
|
|
const list = [];
|
|
|
|
+ list.push(...(await ProjectsContent.getContentList(new GetContentListParams(), 1, 6)).list.map((p) => {
|
|
|
|
+ p.itemType = 'intangible';
|
|
|
|
+ return p;
|
|
|
|
+ }));
|
|
list.push(...(await CommonContent.getContentList(new GetContentListParams()
|
|
list.push(...(await CommonContent.getContentList(new GetContentListParams()
|
|
.setModelId(1)
|
|
.setModelId(1)
|
|
, 1, 6)).list.map((p) => {
|
|
, 1, 6)).list.map((p) => {
|
|
p.itemType = 'artifact';
|
|
p.itemType = 'artifact';
|
|
return p;
|
|
return p;
|
|
- }))
|
|
|
|
- list.push(...(await CommonContent.getContentList(new GetContentListParams()
|
|
|
|
- .setModelId(16)
|
|
|
|
- , 1, 6)).list.map((p) => {
|
|
|
|
|
|
+ }));
|
|
|
|
+ list.push(...(await ProductsContent.getContentList(new GetContentListParams(), 1, 6)).list.map((p) => {
|
|
p.itemType = 'intangible';
|
|
p.itemType = 'intangible';
|
|
return p;
|
|
return p;
|
|
- }))
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ }));
|
|
return list;
|
|
return list;
|
|
});
|
|
});
|
|
|
|
|
|
@@ -351,18 +386,30 @@ function handleGoDetails(item: any) {
|
|
.map-tags {
|
|
.map-tags {
|
|
left: 0;
|
|
left: 0;
|
|
top: 0;
|
|
top: 0;
|
|
- padding: 20rpx;
|
|
|
|
|
|
+ padding: 15rpx 0;
|
|
|
|
+ font-size: 25rpx;
|
|
|
|
|
|
- view {
|
|
|
|
- border-radius: 40rpx;
|
|
|
|
- padding: 10rpx 20rpx;
|
|
|
|
- background-color: #f7f3e8;
|
|
|
|
- color: #d9492e;
|
|
|
|
- margin-right: 10rpx;
|
|
|
|
|
|
+ .tag-bar {
|
|
|
|
+ padding: 0 20rpx;
|
|
|
|
+
|
|
|
|
+ view {
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-direction: row;
|
|
|
|
+ align-items: center;
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
+ border-radius: 40rpx;
|
|
|
|
+ padding: 10rpx 15rpx;
|
|
|
|
+ background-color: #f7f3e8;
|
|
|
|
+ color: #d9492e;
|
|
|
|
+ margin-right: 10rpx;
|
|
|
|
|
|
- &.active {
|
|
|
|
- background-color: #d9492e;
|
|
|
|
- color: #f7f3e8;
|
|
|
|
|
|
+ .iconfont {
|
|
|
|
+ margin-right: 8rpx;
|
|
|
|
+ }
|
|
|
|
+ &.active {
|
|
|
|
+ background-color: #d9492e;
|
|
|
|
+ color: #f7f3e8;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|