index.html.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563
  1. <template>
  2. <div class="shukan">
  3. <!-- {{ routeId }} -->
  4. <HomePageHead></HomePageHead>
  5. <HomePageNavigation></HomePageNavigation>
  6. <HomeSecondaryHeading_shukan :titleData="pageData" :pinyinid="routeId"></HomeSecondaryHeading_shukan>
  7. <!-- 三农资讯网-书刊信息snzx_book -->
  8. <main class="index_main">
  9. <section class="index_2 clearfix">
  10. <div class="index_2_left">
  11. <div class="book_head_box clearfix">
  12. <div class="book_head_left">
  13. <NuxtLink class="book_head_a" :href="getLinkPath(pageData[0])" v-if="pageData[0]"
  14. :title="pageData[0].alias" @mouseenter="tabsData1 = 1"
  15. :class="{ book_head_only: tabsData1 == 1 }">
  16. {{ pageData[0].alias }}
  17. </NuxtLink>
  18. <NuxtLink class="book_head_a" :href="getLinkPath(pageData[1])" v-if="pageData[1]"
  19. :title="pageData[1].alias" @mouseenter="tabsData1 = 2"
  20. :class="{ book_head_only: tabsData1 == 2 }">
  21. {{ pageData[1].alias }}
  22. </NuxtLink>
  23. </div>
  24. <NuxtLink class="book_head_a_more" :href="getLinkPath(pageData[0])"
  25. v-if="pageData[0] && tabsData1 == 1" :title="pageData[0].title">
  26. 栏目简介
  27. </NuxtLink>
  28. <NuxtLink class="book_head_a_more" :href="getLinkPath(pageData[1])"
  29. v-if="pageData[1] && tabsData1 == 2" :title="pageData[1].title">
  30. 栏目简介
  31. </NuxtLink>
  32. </div>
  33. <!-- 模块1 -->
  34. <div class=" clearfix">
  35. <div class="book_1_img_ul clearfix" v-if="tabsData1 == 1">
  36. <div class="book_1_img_li" v-for="(item, index) in pageData[0].data" :key="index">
  37. <NuxtLink class="book_1_img_li_a" :href="getLinkPathDetail(item)" :title="item.title">
  38. <img class="book_1_img_li_img" :src="item.img_url" :alt="item.title">
  39. <div class="book_1_img_li_right clearfix">
  40. <div class="book_1_img_li_dot2 dot2">
  41. {{ item.title }}
  42. </div>
  43. <div class="book_1_img_li_btn clearfix">查看详情</div>
  44. </div>
  45. </NuxtLink>
  46. </div>
  47. </div>
  48. </div>
  49. <!-- 模块1 end -->
  50. <!-- 模块2 -->
  51. <div class=" clearfix">
  52. <div class="book_1_img_ul clearfix" v-if="tabsData1 == 2">
  53. <div class="book_1_img_li" v-for="(item, index) in pageData[1].data" :key="index">
  54. <NuxtLink class="book_1_img_li_a" :href="getLinkPathDetail(item)" :title="item.title">
  55. <img class="book_1_img_li_img" :src="item.img_url" :alt="item.title">
  56. <div class="book_1_img_li_right clearfix">
  57. <div class="book_1_img_li_dot2 dot2">
  58. {{ item.title }}
  59. </div>
  60. <div class="book_1_img_li_btn clearfix">查看详情</div>
  61. </div>
  62. </NuxtLink>
  63. </div>
  64. </div>
  65. </div>
  66. <!-- 模块2 end -->
  67. </div>
  68. <!-- 模块3 -->
  69. <div class="index_2_right">
  70. <div class="book_head_box clearfix">
  71. <div class="book_head_left">
  72. <NuxtLink class="book_head_a book_head_only" :href="getLinkPath(pageData[2])"
  73. v-if="pageData[2]" :title="pageData[2].alias">
  74. {{ pageData[2].alias }}
  75. </NuxtLink>
  76. </div>
  77. <NuxtLink class="book_head_a_more" :href="getLinkPath(pageData[2])" v-if="pageData[2]"
  78. :title="pageData[2].title">
  79. 栏目简介
  80. </NuxtLink>
  81. </div>
  82. <div class="book_num_1_ul clearfix">
  83. <div class="book_num_1_li clearfix" v-for="(item, index) in pageData[2].data" :key="index">
  84. <NuxtLink class="book_num_1_li_a" :href="getLinkPathDetail(item)" :title="item.title">
  85. <div class="book_num_1_li_tag" @mouseenter="showTabs = index + 1"
  86. :class="{ num_active: showTabs == index + 1 }">
  87. {{ index + 1 }}</div>
  88. <img class="book_num_1_li_img" @mouseenter="showTabs = index + 1"
  89. :class="{ img_active: showTabs == index + 1 }" :src="item.img_url"
  90. :alt="item.title">
  91. <div class="book_num_1_li_dot1 clearfix" @mouseenter="showTabs = index + 1"
  92. :class="{ text_active: showTabs == index + 1 }">{{ item.title }}</div>
  93. </NuxtLink>
  94. </div>
  95. </div>
  96. </div>
  97. <!-- 模块3 end-->
  98. </section>
  99. <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
  100. <section class="index_3 clearfix">
  101. <div class="index_3_left clearfix">
  102. <div class="book_head_box clearfix">
  103. <div class="book_head_left">
  104. <NuxtLink class="book_head_a " :href="getLinkPath(pageData[3])" v-if="pageData[3]"
  105. :title="pageData[3].alias" @mouseenter="tabsData2 = 1"
  106. :class="{ book_head_only: tabsData2 == 1 }">
  107. {{ pageData[3].alias }}
  108. </NuxtLink>
  109. <NuxtLink class="book_head_a " :href="getLinkPath(pageData[4])" v-if="pageData[4]"
  110. :title="pageData[4].alias" @mouseenter="tabsData2 = 2"
  111. :class="{ book_head_only: tabsData2 == 2 }">
  112. {{ pageData[4].alias }}
  113. </NuxtLink>
  114. </div>
  115. <NuxtLink class="book_head_a_more" :href="getLinkPath(pageData[3])"
  116. v-if="pageData[3] && tabsData2 == 1" :title="pageData[3].title">
  117. 栏目简介
  118. </NuxtLink>
  119. <NuxtLink class="book_head_a_more" :href="getLinkPath(pageData[4])"
  120. v-if="pageData[4] && tabsData2 == 2" :title="pageData[4].title">
  121. 栏目简介
  122. </NuxtLink>
  123. </div>
  124. <div class=" clearfix">
  125. <!-- 模块4 -->
  126. <div class="book_2_img_ul clearfix" v-if="tabsData2 == 1">
  127. <div class="book_2_img_li clearfix" v-for="(item, index) in pageData[3].data" :key="index">
  128. <NuxtLink class="book_num_1_li_a" :href="getLinkPathDetail(item)" :title="item.title">
  129. <img class="book_2_img_li_img" :src="item.img_url" title="" alt="">
  130. <div class="book_2_img_li_dot1 dot1 clearfix">{{ item.title }}</div>
  131. </NuxtLink>
  132. </div>
  133. </div>
  134. <!-- 模块4 end -->
  135. <!-- 模块5 -->
  136. <div class="book_2_img_ul clearfix" v-if="tabsData2 == 2">
  137. <div class="book_2_img_li clearfix" v-for="(item, index) in pageData[4].data" :key="index">
  138. <NuxtLink class="book_num_1_li_a" :href="getLinkPathDetail(item)" :title="item.title">
  139. <img class="book_2_img_li_img" :src="item.img_url" :title="item.title">
  140. <div class="book_2_img_li_dot1 dot1 clearfix">{{ item.title }}</div>
  141. </NuxtLink>
  142. </div>
  143. </div>
  144. <!-- 模块5 end -->
  145. </div>
  146. </div>
  147. <!-- 文化艺术 -->
  148. <div class="index_3_right clearfix">
  149. <div class="book_head_box clearfix">
  150. <div class="book_head_left">
  151. <NuxtLink class="book_head_a book_head_only" :href="getLinkPath(pageData[5])"
  152. v-if="pageData[5]" :title="pageData[5].alias">
  153. {{ pageData[5].alias }}
  154. </NuxtLink>
  155. </div>
  156. <NuxtLink class="book_head_a_more" :href="getLinkPath(pageData[5])" v-if="pageData[5]"
  157. :title="pageData[5].title">
  158. 栏目简介
  159. </NuxtLink>
  160. </div>
  161. <div class="book_3_img_ul clearfix">
  162. <div class="book_3_img_li clearfix" v-for="(item, index) in pageData[5].data" :key="index">
  163. <NuxtLink class="book_3_img_li_a" :href="getLinkPathDetail(item)" :title="item.title">
  164. <img class="book_3_img_li_img" :src="item.img_url" title="" alt="">
  165. <div class="book_3_img_li_dot1 dot1 clearfix">{{ item.title }}</div>
  166. </NuxtLink>
  167. </div>
  168. </div>
  169. <div class="book_2_ul clearfix">
  170. <div class="book_2_li clearfix" v-for="(item, index) in pageData[5].data2" :key="index">
  171. <NuxtLink class="book_2_li_a dot1" :href="getLinkPathDetail(item)" :title="item.title">
  172. {{ item.title }}
  173. </NuxtLink>
  174. <div class="book_2_li_tag">详</div>
  175. </div>
  176. </div>
  177. </div>
  178. <!-- 文化艺术 -->
  179. </section>
  180. <HomeAdvertising :imgurl="adImg2"></HomeAdvertising>
  181. <section class="index_4 clearfix">
  182. <!-- 模块7 -->
  183. <div class="index_4_left clearfix">
  184. <div class="book_head_box clearfix">
  185. <div class="book_head_left">
  186. <NuxtLink class="book_head_a book_head_only" :href="getLinkPath(pageData[6])"
  187. v-if="pageData[6]" :title="pageData[6].alias">
  188. {{ pageData[6].alias }}
  189. </NuxtLink>
  190. </div>
  191. <NuxtLink class="book_head_a_more" :href="getLinkPath(pageData[6])" v-if="pageData[6]"
  192. :title="pageData[6].title">
  193. 栏目简介
  194. </NuxtLink>
  195. </div>
  196. <div class="book_5_img_ul clearfix">
  197. <div class="book_5_img_li clearfix" v-for="(item, index) in pageData[6].data" :key="index">
  198. <NuxtLink class="book_5_img_li_a" :href="getLinkPathDetail(item)" :title="item.title">
  199. <img class="book_5_img_li_img" :src="item.img_url" :title="item.title">
  200. <div class="book_5_img_li_right clearfix">
  201. <div class="book_5_img_li_dot2 dot2">{{ item.title }}</div>
  202. <div class="book_5_img_li_foot clearfix">
  203. <span class="book_5_img_li_foot_red">¥</span>
  204. <span class="book_5_img_li_foot_num">{{ item.price }}</span>
  205. <span class="book_5_img_li_foot_text">市场价:</span>
  206. <span class="book_5_img_li_foot_price">¥{{ item.market_price }}</span>
  207. </div>
  208. </div>
  209. </NuxtLink>
  210. </div>
  211. </div>
  212. </div>
  213. <!-- 模块7 end -->
  214. <!-- 模块8 -->
  215. <div class="index_4_right clearfix">
  216. <div class="book_head_box clearfix">
  217. <div class="book_head_left">
  218. <NuxtLink class="book_head_a book_head_only" :href="getLinkPath(pageData[7])"
  219. v-if="pageData[7]" :title="pageData[7].alias">
  220. {{ pageData[7].alias }}
  221. </NuxtLink>
  222. </div>
  223. <NuxtLink class="book_head_a_more" :href="getLinkPath(pageData[7])" v-if="pageData[7]"
  224. :title="pageData[7].title">
  225. 栏目简介
  226. </NuxtLink>
  227. </div>
  228. <div class="book_4_img_ul clearfix">
  229. <div class="book_4_img_li clearfix" v-for="(item, index) in pageData[7].data" :key="index">
  230. <NuxtLink class="book_4_img_li_a" :href="getLinkPathDetail(item)" :title="item.title">
  231. <img class="book_4_img_li_img" :src="item.img_url" title="" alt="">
  232. <div class="book_4_img_li_dot1 dot1 clearfix">{{ item.title }}</div>
  233. </NuxtLink>
  234. </div>
  235. </div>
  236. <div class="book_3_ul clearfix">
  237. <div class="book_3_li clearfix" v-for="(item, index) in pageData[7].data2" :key="index">
  238. <NuxtLink class="book_3_li_a dot1" :href="getLinkPathDetail(item)" :title="item.title">
  239. {{ item.title }}
  240. </NuxtLink>
  241. <div class="book_3_li_tag">详</div>
  242. </div>
  243. </div>
  244. </div>
  245. <!-- 模块8 end -->
  246. </section>
  247. </main>
  248. <!-- 页脚部分 -->
  249. <HomeFoot1></HomeFoot1>
  250. </div>
  251. </template>
  252. <script setup>
  253. //0.加载页面依赖 start ---------------------------------------->
  254. import { ref, onMounted } from 'vue';
  255. import { ElMessage } from 'element-plus';
  256. //格式化跳转路径 - 标题
  257. //首页分类栏目标题,不需要考虑外链
  258. const getLinkPath = (item) => {
  259. //return `/${item.url}/1.html`;
  260. //return `/newsList/${item.cid}?page=1`;
  261. return `/${item.aLIas_pinyin}/list-1.html`;
  262. }
  263. //首页跳转到详情,这里需要考虑外链
  264. const getLinkPathDetail = (item) => {
  265. if (item.islink == 1) {
  266. return `${item.linkurl}`;
  267. } else {
  268. //return `/${item.aLIas_pinyin}/${item.id}`;
  269. //return `/newsDetail/${item.id}`
  270. return `/${item.pinyin}/${item.id}.html`;
  271. }
  272. }
  273. //0.加载页面依赖 end ---------------------------------------->
  274. //1.获得路由id start ---------------------------------------->
  275. const route = useRoute();
  276. //获得当前的完整路径
  277. const fullPath = route.path;
  278. //拆分,取出来中间这一段,然后提取数字部分
  279. const segments = fullPath.split('/');
  280. const targetSegment = segments[1];
  281. //let routeId = 11 //排除路径错误可以打开这个
  282. //const numberPart = targetSegment.match(/\d+$/)?.[0];
  283. //let routeId = numberPart;
  284. let routeId;
  285. //通过导航路径反向查询导航id
  286. const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
  287. method: 'GET',
  288. query: {
  289. 'pinyin': targetSegment,
  290. },
  291. });
  292. if (getRouteId.code == 200) {
  293. routeId = getRouteId.data.category_id
  294. } else {
  295. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  296. console.log("错误位置:通过url路径查询导航池id")
  297. console.log("后端错误反馈:", getRouteId.message)
  298. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  299. }
  300. //1.获得路由id end ---------------------------------------->
  301. //2.页面交互效果 start ---------------------------------------->
  302. //2.1 新闻图片切换
  303. const hoverStatus = ref(0)
  304. const qhPic = function (num) {
  305. console.log(num)
  306. hoverStatus.value = num;
  307. }
  308. //2.2 选项卡切换
  309. let showTabs = ref(1)
  310. // let qhtabs = function (number) {
  311. // console.log(number)
  312. // showTabs.value = number
  313. // }
  314. //2.3 展示广告
  315. let adImg1 = ref({})
  316. let adImg2 = ref({})
  317. let adImg3 = ref({})
  318. let adImg4 = ref({})
  319. onMounted(async () => {
  320. //从客户端获取行政职能部门 加快打开速度
  321. const { $webUrl, $CwebUrl } = useNuxtApp();
  322. //广告1
  323. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0001`
  324. const responseAd1 = await fetch(url, {
  325. headers: {
  326. 'Content-Type': 'application/json',
  327. 'Userurl': $CwebUrl,
  328. 'Origin': $CwebUrl
  329. }
  330. });
  331. const resultAd1 = await responseAd1.json();
  332. adImg1.value = resultAd1.data[0];
  333. //广告2
  334. let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0002`
  335. const responseAd2 = await fetch(url2, {
  336. headers: {
  337. 'Content-Type': 'application/json',
  338. 'Userurl': $CwebUrl,
  339. 'Origin': $CwebUrl
  340. }
  341. });
  342. const resultAd2 = await responseAd2.json();
  343. adImg2.value = resultAd2.data[0];
  344. //广告3
  345. let url3 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0003`
  346. const responseAd3 = await fetch(url3, {
  347. headers: {
  348. 'Content-Type': 'application/json',
  349. 'Userurl': $CwebUrl,
  350. 'Origin': $CwebUrl
  351. }
  352. });
  353. const resultAd3 = await responseAd3.json();
  354. adImg3.value = resultAd3.data[0];
  355. //广告4
  356. let url4 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0004`
  357. const responseAd4 = await fetch(url4, {
  358. headers: {
  359. 'Content-Type': 'application/json',
  360. 'Userurl': $CwebUrl,
  361. 'Origin': $CwebUrl
  362. }
  363. });
  364. const resultAd4 = await responseAd4.json();
  365. adImg4.value = resultAd4.data[0];
  366. })
  367. //2.页面交互效果 end ---------------------------------------->
  368. //3.渲染页面数据 start ---------------------------------------->
  369. //3.1 该页面上所有的导航池 转为动态数据
  370. const pageCategory = ref([]);
  371. //3.2 该页面上需要渲染的所有数据
  372. const pageData = ref([
  373. // { id: 0, data: [], data2: [], title: "", cid: "" },
  374. // { id: 1, data: [], title: "", cid: "" },
  375. // { id: 2, data: [], title: "", cid: "" },
  376. // { id: 3, data: [], title: "", cid: "" },
  377. // { id: 4, data: [], title: "", cid: "" },
  378. // { id: 5, data: [], title: "", cid: "" },
  379. // { id: 6, data: [], title: "", cid: "" },
  380. // { id: 7, data: [], title: "", cid: "" },
  381. // { id: 8, data: [], title: "", cid: "" },
  382. // { id: 9, data: [], title: "", cid: "" },
  383. // { id: 10, data: [], title: "", cid: "" },
  384. // { id: 10, data: [], title: "", cid: "" },
  385. // {
  386. // id: 11,
  387. // title: "",
  388. // data: [],
  389. // data1: [],
  390. // data2: [],
  391. // data3: [],
  392. // data4: [],
  393. // category_id1: "",
  394. // category_id2: "",
  395. // category_id3: "",
  396. // category_id4: "",
  397. // title1: "",
  398. // title2: "",
  399. // title3: "",
  400. // title4: "",
  401. // cid: ""
  402. // },
  403. // { id: 12, data1: [], data2: [], data3: [], cid: "" },
  404. ])
  405. const navSize = ref("");
  406. const tabsData1 = ref(1);
  407. const tabsData2 = ref(1);
  408. //3.3 获取所有导航
  409. try {
  410. const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
  411. method: 'GET',
  412. query: {
  413. 'placeid': 1,
  414. 'pid': routeId,
  415. 'num': 8
  416. },
  417. });
  418. if (navigateData.code == 200) {
  419. // 遍历可用的导航池放到页面中
  420. for (let index in navigateData.data) {
  421. let data = {
  422. title: navigateData.data[index].name,
  423. cid: navigateData.data[index].category_id,
  424. children_count: navigateData.data[index].children_count,
  425. alias: navigateData.data[index].alias,
  426. aLIas_pinyin: targetSegment + "/" + navigateData.data[index].aLIas_pinyin,
  427. data: [],
  428. data1: [],
  429. data2: [],
  430. data3: [],
  431. data4: [],
  432. category_id1: "",
  433. category_id2: "",
  434. category_id3: "",
  435. category_id4: "",
  436. title1: "",
  437. title2: "",
  438. title3: "",
  439. title4: ""
  440. };
  441. if (navigateData.data[index].is_url == 1) {
  442. // 处理 URL 的逻辑
  443. } else {
  444. //每个页面最多8个模块
  445. pageData.value.push(data);
  446. }
  447. }
  448. //导航池加载完毕,开始申请模块数据
  449. let getJson = [
  450. { "parent": routeId + ",0,0", "child": pageData.value[0].cid + ",6,0" },//模块1时政书讯
  451. { "parent": routeId + ",0,0", "child": pageData.value[1].cid + ",6,0" },//模块2读书读报
  452. { "parent": routeId + ",0,0", "child": pageData.value[2].cid + ",8,0" },//模块3文化艺术
  453. { "parent": routeId + ",0,0", "child": pageData.value[3].cid + ",8,0" },//模块4生活百科
  454. { "parent": routeId + ",0,0", "child": pageData.value[4].cid + ",8,0" },//模块5养生保健
  455. { "parent": routeId + ",0,0", "child": pageData.value[5].cid + ",3,6" },//模块6典集史鉴
  456. { "parent": routeId + ",0,0", "child": pageData.value[6].cid + ",3,0" },//模块7党政报刊
  457. { "parent": routeId + ",0,0", "child": pageData.value[7].cid + ",3,6" },//模块8涉农报刊
  458. ]
  459. let jsonString = JSON.stringify(getJson);
  460. getPageAllData(jsonString);
  461. } else {
  462. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  463. console.log("错误位置:分类页导航池")
  464. console.log("后端错误反馈:", navigateData.message)
  465. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  466. }
  467. } catch (error) {
  468. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  469. console.log("错误位置:分类页导航渲染阶段")
  470. console.log("错误:导航池渲染执行接口出错!请检查首页的14的模块的具体执行方法!")
  471. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  472. }
  473. async function getPageAllData(jsonString) {
  474. const mkdata = await requestDataPromise('/web/getWebsiteBook', {
  475. method: 'GET',
  476. query: {
  477. 'id': jsonString
  478. },
  479. });
  480. if (mkdata.code == 200) {
  481. console.log(778899)
  482. console.log(mkdata.data)
  483. //模块1时政书讯
  484. pageData.value[0].data = mkdata.data[0].child.imgnum;
  485. //模块2读书读报
  486. pageData.value[1].data = mkdata.data[1].child.imgnum;
  487. //模块3文化艺术
  488. pageData.value[2].data = mkdata.data[2].child.imgnum;
  489. //模块4生活百科
  490. pageData.value[3].data = mkdata.data[3].child.imgnum;
  491. //模块5养生保健
  492. pageData.value[4].data = mkdata.data[4].child.imgnum;
  493. // 模块6
  494. pageData.value[5].data = mkdata.data[5].child.imgnum;
  495. pageData.value[5].data2 = mkdata.data[5].child.textnum;
  496. //模块7党政报刊
  497. pageData.value[6].data = mkdata.data[6].child.imgnum;
  498. //模块8涉农报刊
  499. pageData.value[7].data = mkdata.data[7].child.imgnum;
  500. pageData.value[7].data2 = mkdata.data[7].child.textnum;
  501. } else {
  502. ElMessage.error(mkdata.message)
  503. }
  504. }
  505. //3.渲染页面数据 end ---------------------------------------->
  506. //4.设置seo信息 start---------------------------------------->
  507. //4.1 设置seo信息
  508. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  509. method: 'GET',
  510. query: {
  511. 'catid': routeId
  512. },
  513. });
  514. if (setData.code == 200) {
  515. let seoTitle = setData.data.seo_title;
  516. let seoDescription = setData.data.seo_description;
  517. let seoKeywords = setData.data.seo_keywords;
  518. let seoSuffix = setData.data.suffix;
  519. let seoName = setData.data.website_name;
  520. useSeoMeta({
  521. title: seoTitle + "_" + seoSuffix,
  522. meta: [
  523. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  524. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
  525. ]
  526. });
  527. } else {
  528. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  529. console.log("错误位置:设置分类页面SEO数据")
  530. console.log("后端错误反馈:", setData.message)
  531. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  532. }
  533. //4.设置seo信息 end---------------------------------------->
  534. </script>
  535. <style lang="less" scoped>
  536. @import '@/assets/css/shukan.less';
  537. </style>