class.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633
  1. <template>
  2. <HomePageHead></HomePageHead>
  3. <HomePageNavigation></HomePageNavigation>
  4. <!-- 三农市场网-商城 -->
  5. <main class="index_main">
  6. <div class="shop_head_1 clearfix back100">
  7. <span class="shop_head_1_a" href="" title="">{{ categoryName }}</span>
  8. </div>
  9. <!-- 导航 -->
  10. <section class="shop_2 clearfix">
  11. <div class="shop_2_in clearfix">
  12. <div class="shop_2_in_box clearfix shop_2_in_box_even">
  13. <div class="shop_2_box clearfix">
  14. <NuxtLink class="shop_2_name" :href="`/${pageData[0].aLIas_pinyin}/index.html`"
  15. :title="pageData[0].title">
  16. {{ pageData[0].alias }}
  17. </NuxtLink>
  18. <div class="shop_2_right clearfix">
  19. <a class="shop_2_a" :href="`${pageData[0].pinyin}/${item.aLIas_pinyin}/list-1.html`"
  20. :title="item.alias" v-for="(item, index) in pageData[0].children" :key="index">{{
  21. item.alias }}</a>
  22. </div>
  23. </div>
  24. <div class="shop_2_box clearfix">
  25. <NuxtLink class="shop_2_name" :href="`/${pageData[1].aLIas_pinyin}/index.html`"
  26. :title="pageData[1].title">
  27. {{ pageData[1].alias }}
  28. </NuxtLink>
  29. <div class="shop_2_right clearfix">
  30. <a class="shop_2_a" :href="`${pageData[1].pinyin}/${item.aLIas_pinyin}/list-1.html`"
  31. :title="item.alias" v-for="(item, index) in pageData[1].children" :key="index">{{
  32. item.alias }}</a>
  33. </div>
  34. </div>
  35. </div>
  36. <div class="shop_2_in_box clearfix">
  37. <div class="shop_2_box clearfix">
  38. <NuxtLink class="shop_2_name" :href="`/${pageData[2].aLIas_pinyin}/index.html`"
  39. :title="pageData[2].title">
  40. {{ pageData[2].alias }}
  41. </NuxtLink>
  42. <div class="shop_2_right clearfix">
  43. <a class="shop_2_a" :href="`${pageData[2].pinyin}/${item.aLIas_pinyin}/list-1.html`"
  44. :title="item.alias" v-for="(item, index) in pageData[2].children" :key="index">{{
  45. item.alias }}</a>
  46. </div>
  47. </div>
  48. <div class="shop_2_box clearfix">
  49. <NuxtLink class="shop_2_name" :href="`/${pageData[3].aLIas_pinyin}/index.html`"
  50. :title="pageData[3].title">
  51. {{ pageData[3].alias }}
  52. </NuxtLink>
  53. <div class="shop_2_right clearfix">
  54. <a class="shop_2_a" :href="`${pageData[3].pinyin}/${item.aLIas_pinyin}/list-1.html`"
  55. :title="item.alias" v-for="(item, index) in pageData[3].children" :key="index">{{
  56. item.alias }}</a>
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. <div class="shop_2_in_2 clearfix">
  62. <NuxtLink class="shop_2_name_2" :href="`/${pageData[4].aLIas_pinyin}/index.html`"
  63. :title="pageData[4].title">
  64. {{ pageData[4].alias }}
  65. </NuxtLink>
  66. <div class="shop_2_right_2 clearfix">
  67. <a class="shop_2_a_2" :href="`${pageData[4].pinyin}/${item.aLIas_pinyin}/list-1.html`"
  68. :title="item.alias" v-for="(item, index) in pageData[4].children" :key="index">
  69. {{ item.alias }}</a>
  70. </div>
  71. </div>
  72. </section>
  73. <section class="shop_3 clearfix" v-if="goodsData.length > 0">
  74. <!-- 农产批发1 -->
  75. <div class="shop_3_in clearfix">
  76. <div class="shop_head_2 clearfix">
  77. <NuxtLink class="shop_head_2_name" :href="`/${goodsData[0].aLIas_pinyin}/index.html`"
  78. :title="goodsData[0].title">{{ goodsData[0].alias }}</NuxtLink>
  79. </div>
  80. <div class="shop_img_ul_1 clearfix" v-if="goodsData[0].data">
  81. <div class="shop_img_li_1 clearfix" v-for="(item, index) in goodsData[0].data" :key="index">
  82. <a class="shop_img_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
  83. <div class="shop_img_li_1_img_box clearfix">
  84. <img class="shop_img_li_1_img" :src="item.imgurl" title="" alt="">
  85. </div>
  86. <div class="shop_img_li_1_right clearfix">
  87. <h4 class="shop_img_li_1_h4 dot2">{{ item.name }}</h4>
  88. <div class="shop_img_li_1_tag">
  89. {{ item.type_id == 1 ? '求购' : '供应' }}
  90. </div>
  91. <a class="shop_img_li_1_btn" :href="getLinkPathDetail(item)">查看详情</a>
  92. </div>
  93. </a>
  94. </div>
  95. </div>
  96. </div>
  97. <div class="shop_3_in clearfix">
  98. <div class="shop_head_3 clearfix">
  99. <a class="shop_head_3_more" :href="`/${goodsData[0].aLIas_pinyin}/index.html`"
  100. :title="goodsData[0].title">栏目简介</a>
  101. </div>
  102. <div class="shop_ul_1 clearfix" v-if="goodsData[0].data1.length > 0">
  103. <div class="shop_li_1 clearfix" v-for="(item, index) in goodsData[0].data1" :key="index">
  104. <a class="shop_li_1_a" :href="getLinkPathDetail(item)" :title="item.title">
  105. <div class="shop_li_1_left">
  106. <h4 class="shop_li_1_h4 dot1">{{ item.name }}</h4>
  107. <div class="shop_li_1_text dot1">{{ item.description }}</div>
  108. </div>
  109. <a class="shop_li_1_btn" :href="getLinkPathDetail(item)">查看详情</a>
  110. </a>
  111. </div>
  112. </div>
  113. </div>
  114. <!-- 集贸市场2 -->
  115. </section>
  116. <section class="shop_4 clearfix">
  117. <!-- 名品之窗1 -->
  118. <div class="shop_3_in clearfix" v-if="goodsData.length > 1">
  119. <div class="shop_head_4 clearfix">
  120. <div class="shop_head_4_name">{{ goodsData[1].alias }}</div>
  121. <a class="shop_head_4_more" href="" title="">栏目简介</a>
  122. </div>
  123. <div class="shop_img_ul_2 clearfix">
  124. <div class="shop_img_li_2 clearfix" v-for="(item, index) in goodsData[1].data" :key="index">
  125. <a class="shop_img_li_2_a" href="" title="">
  126. <div class="shop_img_li_2_img_box clearfix">
  127. <img class="shop_img_li_2_img" :src="item.imgurl" title="" alt="">
  128. </div>
  129. <div class="shop_img_li_2_right clearfix">
  130. <h4 class="shop_img_li_2_h4 dot2">{{ item.name }}</h4>
  131. <div class="shop_img_li_2_tag">
  132. {{ item.type_id == 1 ? '求购' : '供应' }}
  133. </div>
  134. <div class="shop_img_li_2_btn">查看详情</div>
  135. </div>
  136. </a>
  137. </div>
  138. </div>
  139. </div>
  140. <!-- 名品之窗2 -->
  141. <!-- 供求信息1 -->
  142. <div class="shop_3_in clearfix" v-if="goodsData.length > 2">
  143. <div class="shop_head_5 clearfix">
  144. <div class="shop_head_5_name">{{ goodsData[2].alias }}</div>
  145. <a class="shop_head_5_more" href="" title="">栏目简介</a>
  146. </div>
  147. <div class="shop_img_ul_3 clearfix">
  148. <div class="shop_img_li_3 clearfix" v-for="(item, index) in goodsData[2].data" :key="index">
  149. <a class="shop_img_li_3_a" href="" title="">
  150. <div class="shop_img_li_3_img_box clearfix">
  151. <img class="shop_img_li_3_img" :src="item.imgurl" title="" alt="">
  152. </div>
  153. <div class="shop_img_li_3_right clearfix">
  154. <h4 class="shop_img_li_3_h4 dot2">{{ item.name }}</h4>
  155. <div class="shop_img_li_3_tag">
  156. {{ item.type_id == 1 ? '求购' : '供应' }}
  157. </div>
  158. <div class="shop_img_li_3_btn">查看详情</div>
  159. </div>
  160. </a>
  161. </div>
  162. </div>
  163. </div>
  164. <!-- 供求信息2 -->
  165. </section>
  166. <div class="banner_1 clearfix">
  167. <a class="banner_1_a" href="" title="">
  168. <img class="banner_1_img" src="@/public/img/6.png" title="" alt="">
  169. </a>
  170. </div>
  171. <!-- 资讯 -->
  172. <section class="shop_5 clearfix">
  173. <!-- 农产动态 1-->
  174. <div class="shop_5_left clearfix">
  175. <div class="shop_head_7 clearfix">
  176. <NuxtLink :href="`/${newsData[0].aLIas_pinyin}/index.html`" class="shop_head_7_name">
  177. {{ newsData[0].alias }}
  178. </NuxtLink>
  179. <NuxtLink :href="`/${newsData[0].aLIas_pinyin}/index.html`" class="shop_head_7_more"
  180. :title="newsData[0].title">
  181. 栏目简介
  182. </NuxtLink>
  183. </div>
  184. <div class="shop_box_1 clearfix">
  185. <div class="shop_img_ul_4 clearfix">
  186. <div class="shop_img_li_4 clearfix">
  187. <NuxtLink class="shop_img_li_4_a" :href="getLinkPathDetail(item)"
  188. v-for="(item, index) in newsData[0].data" :title="item.title" :key="index">
  189. <img class="shop_img_li_4_img" :src="item.imgurl" :title="item.title" alt="">
  190. <div class="shop_img_li_4_rgba clearfix dot1">
  191. {{ item.title }}
  192. </div>
  193. </NuxtLink>
  194. </div>
  195. </div>
  196. <div class="shop_img_ul_5 clearfix">
  197. <div class="shop_img_li_5 clearfix" v-for="(item, index) in newsData[0].data1" :key="index">
  198. <NuxtLink class="shop_img_li_5_a" :href="`/${item.pinyin}/${item.id}.html`"
  199. :title="item.title">
  200. <img class="shop_img_li_5_img" :src="item.imgurl" :title="item.title" alt="">
  201. <div class="shop_img_li_5_rgba clearfix dot1">
  202. {{ item.title }}
  203. </div>
  204. </NuxtLink>
  205. </div>
  206. </div>
  207. </div>
  208. <div class="shop_box_2 clearfix">
  209. <div class="shop_ul_2 clearfix">
  210. <NuxtLink class="shop_li_2 clearfix dot1" :href="`/${item.pinyin}/${item.id}.html`"
  211. :title="item.title" v-for="(item, index) in newsData[0].data2" :key="index">
  212. {{ item.title }}
  213. </NuxtLink>
  214. </div>
  215. </div>
  216. </div>
  217. <!-- 农产动态 2-->
  218. <!-- 农产知识 1-->
  219. <div class="shop_5_right clearfix">
  220. <div class="shop_head_8 clearfix">
  221. <NuxtLink :href="`/${newsData[1].aLIas_pinyin}/index.html`" class="shop_head_8_name">
  222. {{ newsData[1].alias }}
  223. </NuxtLink>
  224. <NuxtLink :href="`/${newsData[1].aLIas_pinyin}/index.html`" class="shop_head_8_more"
  225. :title="newsData[1].title">
  226. 栏目简介
  227. </NuxtLink>
  228. </div>
  229. <div class="shop_img_ul_6 clearfix">
  230. <div class="shop_img_li_6 clearfix">
  231. <NuxtLink class="shop_img_li_6_a" :href="getLinkPathDetail(item)"
  232. v-for="(item, index) in newsData[1].data" :key="index" :title="item.title">
  233. <img class="shop_img_li_6_img" :src="item.imgurl" title="" alt="">
  234. <div class="shop_img_li_6_rgba clearfix dot1">
  235. {{ item.title }}
  236. </div>
  237. </NuxtLink>
  238. </div>
  239. </div>
  240. <div class="shop_ul_3 clearfix">
  241. <NuxtLink class="shop_li_3 dot1" :href="`/${item.pinyin}/${item.id}.html`" :title="item.title"
  242. v-for="(item, index) in newsData[1].data2" :key="index">
  243. {{ item.title }}
  244. </NuxtLink>
  245. </div>
  246. </div>
  247. <!-- 农产知识 2-->
  248. </section>
  249. <section class="shop_6 clearfix">
  250. <!-- 农产会展1 -->
  251. <div class="shop_6_left clearfix">
  252. <div class="shop_head_9 clearfix">
  253. <NuxtLink :href="`/${newsData[2].aLIas_pinyin}/index.html`" class="shop_head_9_name">
  254. {{ newsData[2].alias }}
  255. </NuxtLink>
  256. <NuxtLink :href="`/${newsData[2].aLIas_pinyin}/index.html`" class="shop_head_9_more"
  257. :title="newsData[2].title">
  258. 栏目简介
  259. </NuxtLink>
  260. </div>
  261. <div class="shop_box_3 clearfix">
  262. <div class="shop_img_ul_7 clearfix">
  263. <div class="shop_img_li_7 clearfix">
  264. <NuxtLink class="shop_img_li_7_a" :href="getLinkPathDetail(item)"
  265. v-for="(item, index) in newsData[2].data" :key="index" :title="item.title">
  266. <img class="shop_img_li_7_img" :src="item.imgurl" :title="item.title" alt="">
  267. <div class="shop_img_li_7_rgba clearfix dot1">
  268. {{ item.title }}
  269. </div>
  270. </NuxtLink>
  271. </div>
  272. </div>
  273. </div>
  274. <div class="shop_box_4 clearfix">
  275. <div class="shop_ul_4 clearfix">
  276. <NuxtLink :href="`/${item.pinyin}/${item.id}.html`" :title="item.title"
  277. class="shop_li_4 clearfix dot1" v-for="(item, index) in newsData[2].data2" :key="index">
  278. {{ item.title }}
  279. </NuxtLink>
  280. </div>
  281. </div>
  282. </div>
  283. <!-- 农产会展2 -->
  284. <!-- 农产商机1 -->
  285. <div class="shop_6_right clearfix">
  286. <div class="shop_head_10 clearfix">
  287. <NuxtLink :href="`/${newsData[3].aLIas_pinyin}/index.html`" class="shop_head_10_name">
  288. {{ newsData[3].alias }}
  289. </NuxtLink>
  290. <NuxtLink :href="`/${newsData[3].aLIas_pinyin}/index.html`" class="shop_head_10_more"
  291. :title="newsData[3].title">
  292. 栏目简介
  293. </NuxtLink>
  294. </div>
  295. <div class="shop_box_5 clearfix" v-if="newsData[3].data">
  296. <div class="shop_img_ul_8 clearfix">
  297. <div class="shop_img_li_8 clearfix" v-for="(item, index) in newsData[3].data" :key="index">
  298. <NuxtLink class="shop_img_li_8_a" :href="`/${item.pinyin}/${item.id}.html`"
  299. :title="item.title">
  300. <img class="shop_img_li_8_img" :src="item.imgurl" title="" alt="">
  301. <div class="shop_img_li_8_rgba clearfix dot1">
  302. {{ item.title }}
  303. </div>
  304. </NuxtLink>
  305. </div>
  306. </div>
  307. </div>
  308. <div class="shop_box_6 clearfix" v-if="newsData[3].data2">
  309. <div class="shop_ul_5 clearfix">
  310. <div class="shop_li_5 clearfix" v-for="(item, index) in newsData[3].data2" :key="index">
  311. <div class="shop_li_5_in clearfix">
  312. <NuxtLink class="shop_li_5_a dot2" :href="`/${item.pinyin}/${item.id}.html`"
  313. :title="item.title">
  314. {{ item.title }}
  315. </NuxtLink>
  316. </div>
  317. </div>
  318. </div>
  319. </div>
  320. </div>
  321. <!-- 农产商机2 -->
  322. </section>
  323. </main>
  324. <HomeFoot></HomeFoot>
  325. </template>
  326. <script setup>
  327. import { NuxtLink } from '#components';
  328. import { ref } from 'vue'
  329. import { ElRadio, ElRadioGroup, ElMessage } from 'element-plus'
  330. //1.获得路由id start ---------------------------------------->
  331. const targetSegment = getRoutePath(1);
  332. //1.1 获得当前的路由id
  333. let routeId;
  334. let categoryName;
  335. //通过导航路径反向查询导航id
  336. const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
  337. method: 'GET',
  338. query: {
  339. 'pinyin': targetSegment,
  340. },
  341. });
  342. if (getRouteId.code == 200) {
  343. routeId = getRouteId.data.category_id
  344. categoryName = getRouteId.data.alias
  345. } else {
  346. console.log("获得路由id出错!", getRouteId.message)
  347. }
  348. //1.获得路由id end ---------------------------------------->
  349. //3.广告 start ---------------------------------------->
  350. let adImg1 = ref({})
  351. let adImg2 = ref({})
  352. let adImg3 = ref({})
  353. let adImg4 = ref({})
  354. onMounted(async () => {
  355. //从客户端获取行政职能部门 加快打开速度
  356. const { $webUrl, $CwebUrl } = useNuxtApp();
  357. //广告1
  358. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0001`
  359. const responseAd1 = await fetch(url, {
  360. headers: {
  361. 'Content-Type': 'application/json',
  362. 'Userurl': $CwebUrl,
  363. 'Origin': $CwebUrl
  364. }
  365. });
  366. const resultAd1 = await responseAd1.json();
  367. adImg1.value = resultAd1.data[0];
  368. //广告2
  369. let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0002`
  370. const responseAd2 = await fetch(url2, {
  371. headers: {
  372. 'Content-Type': 'application/json',
  373. 'Userurl': $CwebUrl,
  374. 'Origin': $CwebUrl
  375. }
  376. });
  377. const resultAd2 = await responseAd2.json();
  378. adImg2.value = resultAd2.data[0];
  379. //广告3
  380. let url3 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0003`
  381. const responseAd3 = await fetch(url3, {
  382. headers: {
  383. 'Content-Type': 'application/json',
  384. 'Userurl': $CwebUrl,
  385. 'Origin': $CwebUrl
  386. }
  387. });
  388. const resultAd3 = await responseAd3.json();
  389. adImg3.value = resultAd3.data[0];
  390. //广告4
  391. let url4 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0004`
  392. const responseAd4 = await fetch(url4, {
  393. headers: {
  394. 'Content-Type': 'application/json',
  395. 'Userurl': $CwebUrl,
  396. 'Origin': $CwebUrl
  397. }
  398. });
  399. const resultAd4 = await responseAd4.json();
  400. adImg4.value = resultAd4.data[0];
  401. })
  402. //3.广告 end ---------------------------------------->
  403. //4.页面数据 start ---------------------------------------->
  404. const pageData = ref([
  405. //示例:
  406. // {
  407. // id: 1,
  408. // title: "", //该导航的标题
  409. // data: [], //数据1
  410. // data1: [], //数据2
  411. // data2: [], //数据3
  412. // data3: [], //数据4
  413. // data4: [], //数据5
  414. // category_id1: "", //子导航id1
  415. // category_id2: "",
  416. // category_id3: "",
  417. // category_id4: "",
  418. // title1: "", //子导航标题1
  419. // title2: "",
  420. // title3: "",
  421. // title4: "",
  422. // cid: "" //该导航的id
  423. // },
  424. ])
  425. const goodsData = ref([])
  426. const newsData = ref([])
  427. //4.1 获取所有导航
  428. try {
  429. const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
  430. method: 'GET',
  431. query: {
  432. 'placeid': 1,
  433. 'pid': routeId,
  434. 'num': 8,
  435. 'type': 1
  436. },
  437. });
  438. console.log("导航池11111", navigateData);
  439. if (navigateData.code == 200) {
  440. // 遍历可用的导航池放到页面中
  441. for (let index in navigateData.data) {
  442. let data = {
  443. title: navigateData.data[index].name,
  444. cid: navigateData.data[index].category_id,
  445. children_count: navigateData.data[index].children_count,
  446. alias: navigateData.data[index].alias,
  447. aLIas_pinyin: targetSegment + "/" + navigateData.data[index].aLIas_pinyin,
  448. children: navigateData.data[index].children,
  449. type: navigateData.data[index].type,
  450. pinyin: navigateData.data[index].aLIas_pinyin,
  451. data: [],
  452. data1: [],
  453. data2: [],
  454. data3: [],
  455. data4: [],
  456. category_id1: "",
  457. category_id2: "",
  458. category_id3: "",
  459. category_id4: "",
  460. title1: "",
  461. title2: "",
  462. title3: "",
  463. title4: ""
  464. };
  465. if (navigateData.data[index].is_url == 1) {
  466. // 处理 URL 的逻辑
  467. } else {
  468. if (navigateData.data[index].type == 2) {
  469. goodsData.value.push(data);
  470. } else if (navigateData.data[index].type == 1) {
  471. newsData.value.push(data);
  472. }
  473. //每个页面最多8个模块
  474. pageData.value.push(data);
  475. }
  476. }
  477. console.log("导航池11111pageData", pageData.value);
  478. console.log("导航池11111goods", goodsData.value);
  479. console.log("导航池11111newsData", newsData.value);
  480. //导航池加载完毕,开始申请模块数据
  481. let getJson = [
  482. // { "parent": routeId + ",0,0", "child": newsData.value[0].cid + ",5,9" },//模块1
  483. // { "parent": routeId + ",0,0", "child": newsData.value[1].cid + ",1,6" },//模块2
  484. // { "parent": routeId + ",0,0", "child": newsData.value[2].cid + ",1,6" },//模块3
  485. // { "parent": routeId + ",0,0", "child": newsData.value[3].cid + ",1,6" },//模块4
  486. ]
  487. for (let i = 0; i < newsData.value.length; i++) {
  488. if (i == 0) {
  489. getJson.push({ "parent": routeId + ",0,0", "child": newsData.value[0].cid + ",3,9" })
  490. } else if (i == 1) {
  491. getJson.push({ "parent": routeId + ",0,0", "child": newsData.value[1].cid + ",1,2" })
  492. } else if (i == 2) {
  493. getJson.push({ "parent": routeId + ",0,0", "child": newsData.value[2].cid + ",1,6" })
  494. } else if (i == 3) {
  495. getJson.push({ "parent": routeId + ",0,0", "child": newsData.value[3].cid + ",2,4" })
  496. }
  497. }
  498. let jsonString = JSON.stringify(getJson);
  499. console.log('jsonString', jsonString);
  500. getPageAllData(jsonString);
  501. let goodsJson = [
  502. // { "catid": goodsData.value[0].cid + ",0,12" },//模块1
  503. // { "catid": goodsData.value[1].cid + ",0,4" },//模块2
  504. // { "catid": goodsData.value[2].cid + ",0,4" },//模块3
  505. ]
  506. for (let i = 0; i < goodsData.value.length; i++) {
  507. if (i == 0) {
  508. goodsJson.push({ "catid": goodsData.value[0].cid + ",0,12" });
  509. } else if (i == 1) {
  510. goodsJson.push({ "catid": goodsData.value[1].cid + ",0,4" });
  511. } else if (i == 2) {
  512. goodsJson.push({ "catid": goodsData.value[2].cid + ",0,4" });
  513. }
  514. }
  515. let goodsJsonString = JSON.stringify(goodsJson);
  516. getPageGoodsAllData(goodsJsonString);
  517. } else {
  518. console.log("错误:渲染8个模块环节出错,请检查是否存在没有数据的模块!")
  519. }
  520. } catch (error) {
  521. console.log("错误:导航池渲染执行接口出错!请检查频道页渲染的模块数据是否完整!")
  522. }
  523. // 获取商品数据 start--------------------------------------->
  524. async function getPageGoodsAllData(goodsJsonString) {
  525. const mkdata = await requestDataPromise('/web/getWebsiteCatidshop', {
  526. method: 'GET',
  527. query: {
  528. 'catid': goodsJsonString
  529. },
  530. });
  531. console.log("获取商品数据", mkdata);
  532. if (mkdata.code == 200) {
  533. //模块1
  534. for (let index in mkdata.data[0]) {
  535. // console.log("获取商品数据", index, mkdata.data[0][index]);
  536. if (index < 4) {
  537. goodsData.value[0].data.push(mkdata.data[0][index]);
  538. } else {
  539. goodsData.value[0].data1.push(mkdata.data[0][index]);
  540. }
  541. }
  542. //模块2
  543. if (mkdata.length > 1) {
  544. goodsData.value[1].data = mkdata.data[1];
  545. }
  546. if (mkdata.length > 2) {
  547. goodsData.value[2].data = mkdata.data[2];
  548. }
  549. console.log("获取商品数据111111", goodsData.value);
  550. }
  551. }
  552. // 获取商品数据 end----------------------------------------->
  553. // 获取资讯数据 start----------------------------------------->
  554. async function getPageAllData(jsonString) {
  555. const mkdata = await requestDataPromise('/web/getWebsiteAllArticle', {
  556. method: 'GET',
  557. query: {
  558. 'id': jsonString
  559. },
  560. });
  561. console.log("获取资讯数据11111111111222222", mkdata);
  562. if (mkdata.code == 200) {
  563. //模块1 顶部大图和列表
  564. for (let index in mkdata.data[0].child.imgnum) {
  565. if (index < 1) {
  566. newsData.value[0].data.push(mkdata.data[0].child.imgnum[index]);
  567. } else {
  568. newsData.value[0].data1.push(mkdata.data[0].child.imgnum[index]);
  569. }
  570. }
  571. newsData.value[0].data2 = mkdata.data[0].child.textnum;
  572. //模块2
  573. newsData.value[1].data = mkdata.data[1].child.imgnum;
  574. newsData.value[1].data2 = mkdata.data[1].child.textnum;
  575. //模块3
  576. newsData.value[2].data = mkdata.data[2].child.imgnum;
  577. newsData.value[2].data2 = mkdata.data[2].child.textnum;
  578. //模块4
  579. newsData.value[3].data = mkdata.data[3].child.imgnum;
  580. newsData.value[3].data2 = mkdata.data[3].child.textnum;
  581. } else {
  582. ElMessage.error(mkdata.message)
  583. }
  584. }
  585. // 获取资讯数据 end----------------------------------------->
  586. //4.页面数据 end ---------------------------------------->
  587. //5.设置seo信息 start---------------------------------------->
  588. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  589. method: 'GET',
  590. query: {
  591. 'catid': routeId
  592. },
  593. });
  594. if (setData.code == 200) {
  595. let seoTitle = setData.data.seo_title;
  596. let seoDescription = setData.data.seo_description;
  597. let seoKeywords = setData.data.seo_keywords;
  598. let seoSuffix = setData.data.suffix;
  599. let seoName = setData.data.website_name;
  600. useSeoMeta({
  601. title: seoTitle + "_" + seoSuffix,
  602. meta: [
  603. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  604. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
  605. ]
  606. });
  607. } else {
  608. console.log("设置频道页SEO出错!", setData.message)
  609. }
  610. //5.设置seo信息 end---------------------------------------->
  611. </script>
  612. <style lang="less" scoped>
  613. @import url("@/assets/css/shop/shopClass.less");
  614. </style>