新工匠基地网站

This commit is contained in:
2025-03-27 08:47:21 +08:00
parent 287ceacaf3
commit fe348ae97b
13 changed files with 103 additions and 51 deletions

5
.idea/.gitignore generated vendored
View File

@@ -1,5 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/

10
.idea/UniappTool.xml generated
View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="cn.fjdmy.uniapp.UniappProjectDataService">
<option name="generalBasePath" value="$PROJECT_DIR$" />
<option name="manifestPath" value="$PROJECT_DIR$/manifest.json" />
<option name="pagesPath" value="$PROJECT_DIR$/pages.json" />
<option name="scanNum" value="1" />
<option name="type" value="store" />
</component>
</project>

8
.idea/modules.xml generated
View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/template-10398.iml" filepath="$PROJECT_DIR$/.idea/template-10398.iml" />
</modules>
</component>
</project>

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
<excludeFolder url="file://$MODULE_DIR$/temp" />
<excludeFolder url="file://$MODULE_DIR$/tmp" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
.idea/vcs.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@@ -7,7 +7,7 @@
<!-- 侧边工具栏 --> <!-- 侧边工具栏 -->
<ToolBar /> <ToolBar />
<!-- 底部菜单 --> <!-- 底部菜单 -->
<TabBar /> <!-- <TabBar />-->
</template> </template>

View File

@@ -13,7 +13,7 @@
</div> </div>
</template> </template>
<div class="flex flex-col text-base"> <div class="flex flex-col text-base">
<p class="text-base text-gray-400 py-2 font-bold">关注我们</p> <p class="text-base text-gray-400 py-2 font-bold">APP客户端</p>
<el-avatar :src="config.wxQrcode" shape="square" :size="120" /> <el-avatar :src="config.wxQrcode" shape="square" :size="120" />
</div> </div>
</div> </div>

View File

@@ -1,6 +1,6 @@
<template> <template>
<!-- 头部组件 --> <!-- 头部组件 -->
<div class="sm:p-0 px-4 shadow-sm fixed z-100 top-0 w-full bg-white bg-opacity-90"> <div class="sm:p-0 px-4 shadow-sm fixed z-100 top-0 w-full bg-white">
<!-- 顶部通栏 --> <!-- 顶部通栏 -->
<TopBar /> <TopBar />
<!-- 导航栏 --> <!-- 导航栏 -->

View File

@@ -1,6 +1,6 @@
<template> <template>
<nuxt-link to="/" class="flex items-center cursor-pointer gap-sm mr-7" v-if="website"> <nuxt-link to="/" class="flex items-center cursor-pointer gap-sm mr-7" v-if="website">
<el-image v-if="website.websiteLogo || logo?.value" :style="`${logo?.style}`" :src="logo?.value || website?.websiteLogo" class="rounded-sm rounded-sm w-[107px] h-[24px] py-3 sm:py-0"/> <el-image v-if="website.websiteLogo || logo?.value" :style="`${logo?.style}`" :src="logo?.value || website?.websiteLogo" class="rounded-sm rounded-sm sm:w-[158px] sm:h-[54px] h-[50px] py-1 sm:py-0"/>
<h4 v-else class="text-gray-700 text-xl font-bold" :style="`${logo?.style}`">{{ website?.websiteName }}</h4> <h4 v-else class="text-gray-700 text-xl font-bold" :style="`${logo?.style}`">{{ website?.websiteName }}</h4>
</nuxt-link> </nuxt-link>
</template> </template>

View File

@@ -1,7 +1,7 @@
<template> <template>
<div class="w-full container-bg bg-blue-600 gap-10 flex justify-center items-center py-6"> <div class="w-full container-bg bg-blue-600 gap-10 flex justify-center items-center py-6">
<span class="text-xl text-white font-bold">联系我们为您降本增效</span> <span class="text-xl text-white font-bold">联系我们为您降本增效</span>
<el-button size="large" @click="navigateTo(`/order/3622.html`)">马上联系</el-button> <el-button size="large" @click="navigateTo(`/order/659.html`)">马上联系</el-button>
</div> </div>
</template> </template>

View File

@@ -0,0 +1,86 @@
<template>
<div class="xl:w-screen-xl m-auto py-4 px-4 sm:px-0">
<div class="text-center flex flex-col items-center z-0 relative">
<h2 class="text-4xl font-bold tracking-tight text-gray-800 dark:text-white">
{{ title || '热点新闻' }}
</h2>
<!-- <div class="sub-title">-->
<!-- <p class="text-gray-400 text-sm dark:text-gray-400 py-3">-->
<!-- {{ comments || '官方开发的应用' }}-->
<!-- </p>-->
<!-- </div>-->
</div>
<el-row :gutter="24" id="container" class="clearfix">
<el-col v-for="(item,index) in list" :key="index" :xs="24" :span="6" class="left mb-6">
<el-card shadow="hover" :body-style="{ padding: '0px' }" class=" hover:bg-gray-50 cursor-pointer" @click="navigateTo(`/detail/${item.articleId}.html`)">
<el-image
:src="item.image"
fit="cover"
:lazy="true" class="w-full md:h-[166px] h-[199px] cursor-pointer bg-gray-50"/>
<div class="flex-1 px-4 py-5 sm:p-6 !p-4">
<div class="text-gray-700 dark:text-white text-base font-semibold flex flex-col gap-1.5">
<div class="line-clamp-2 text-lg min-h-[54px]">
{{ item.title }}
</div>
</div>
<!-- <div class="flex items-center gap-1.5 py-2 text-gray-500 justify-between">-->
<!-- <div class="text-gray-500 line-clamp-2">{{ item.comments }}</div>-->
<!-- </div>-->
<div class="button-group flex justify-between items-center mt-3 text-sm">
<el-space class="flex items-end">
<div class="text-gray-400 gap-1 flex items-center"><el-icon><View /></el-icon><span>{{ getViews(item) }}</span></div>
</el-space>
<div class="text-gray-400">
{{ dayjs(item.createTime).format('YYYY-MM-DD') }}
</div>
</div>
</div>
</el-card>
</el-col>
</el-row>
</div>
<div v-if="disabled" class="px-1 text-center text-gray-500 min-h-xs">
没有更多了
</div>
</template>
<script lang="ts" setup>
import {navigateTo} from "#imports";
import dayjs from "dayjs";
import type {CmsArticle} from "~/api/cms/cmsArticle/model";
import {listCmsArticle} from "~/api/cms/cmsArticle";
import type {CmsArticleParam} from "~/api/cms/cmsArticle/model";
const props = withDefaults(
defineProps<{
param?: CmsArticleParam;
disabled?: boolean;
categoryId?: number;
title?: string;
comments?: string;
fit?: any;
}>(),
{
fit: 'cover'
}
);
const emit = defineEmits<{
(e: 'done'): void;
}>();
const list = ref<CmsArticle[]>([]);
const id = ref<number>(0);
// 请求数据
const reload = async () => {
listCmsArticle({
limit: 8,
recommend: 1,
categoryId: props.categoryId
}).then(data => {
list.value = data || [];
})
}
reload();
</script>

View File

@@ -6,11 +6,11 @@
*/ */
// 填租户ID // 填租户ID
const appId = 10398; const appId = 10491;
// 接口地址 // 接口地址
let apiBaseUrl = 'https://cms-api.websoft.top/api' let apiBaseUrl = 'https://cms-api.websoft.top/api'
// 应用名称 // 应用名称
const appName = '网宿软件'; const appName = '工匠基地';

View File

@@ -4,16 +4,22 @@
<Carousel/> <Carousel/>
<!-- 着陆页 --> <!-- 着陆页 -->
<LandingHero/> <!-- <LandingHero/>-->
<!-- 站点列表 --> <!-- 站点列表 -->
<SiteList/> <!-- <SiteList/>-->
<!-- 插件列表 --> <!-- 插件列表 -->
<!-- <MarketList />--> <!-- <MarketList />-->
<!-- 热点新闻 -->
<HotNews title="热点新闻" :categoryId="650"/>
<!-- 媒体视角 -->
<HotNews title="媒体视角" :categoryId="652"/>
<!-- 客户案例 --> <!-- 客户案例 -->
<CaseList/> <!-- <CaseList/>-->
<!-- 合作伙伴 --> <!-- 合作伙伴 -->
<Partners/> <Partners/>
@@ -38,6 +44,7 @@ import Carousel from "~/components/Index/Carousel.vue";
import LandingHero from "~/components/Index/LandingHero.vue"; import LandingHero from "~/components/Index/LandingHero.vue";
import SiteList from "~/components/Index/SiteList.vue"; import SiteList from "~/components/Index/SiteList.vue";
import MarketList from "~/components/Index/MarketList.vue"; import MarketList from "~/components/Index/MarketList.vue";
import HotNews from "~/components/Index/HotNews.vue";
import CaseList from "~/components/Index/CaseList.vue" import CaseList from "~/components/Index/CaseList.vue"
import Partners from "~/components/Index/Partners.vue"; import Partners from "~/components/Index/Partners.vue";
import Customized from "~/components/Index/Customized.vue"; import Customized from "~/components/Index/Customized.vue";