class.vue 30 KB

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