foot.vue 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <template>
  2. <footer class="index_foot">
  3. <div class="foot_img_box">
  4. <a :href="item.url" v-for="(item, index) in bottomLink" :title="item.title" target="_blank">
  5. <img :src="item.logo_url" :alt="item.title">
  6. </a>
  7. </div>
  8. <div class="foot_frind_box">
  9. <span>友情链接</span>
  10. <div>
  11. <a :href="item.url" v-for="(item, index) in bottomText" :key="index" :title="item.title" target="_blank">{{ item.title }}</a>
  12. </div>
  13. </div>
  14. <div class="call_us_box">
  15. <span v-for="(item, index) in bottomMenu" :key="index">
  16. <NuxtLink :to="{ path: `/specialList/${item.id}` }" v-if="item.type == 1" :title="item.name">
  17. {{ item.name }}
  18. </NuxtLink>
  19. <NuxtLink :to="{ path: `/speciaArticle/${item.id}` }" v-if="item.type == 0" :title="item.name">
  20. {{ item.name }}
  21. </NuxtLink>
  22. </span>
  23. </div>
  24. <div class="foot_text_box" v-if="bottomBase">
  25. <p v-html="bottomBase.statement" class="foot_text_html_css"></p>
  26. <p v-html="bottomBase.organizer" class="foot_text_html_css"></p>
  27. <p v-html="bottomBase.copyright_information" class="foot_text_html_css"></p>
  28. <p><span v-html="bottomBase.icp_number" class="foot_text_html_css"></span><span v-html="bottomBase.record_number" class="foot_text_html_css"></span></p>
  29. <p v-html="bottomBase.email" class="foot_text_html_css"></p>
  30. <p v-html="bottomBase.company_address" class="foot_text_html_css"></p>
  31. <p v-html="bottomBase.contact_number" class="foot_text_html_css"></p>
  32. </div>
  33. <div class="foot_logo_out" v-if="bottomBase">
  34. <a :href="'http://' + bottomBase.project_url" :title="bottomBase.project_name" v-if="bottomBase.project_logo!=''&&bottomBase.project_url!=''">
  35. <img :src="bottomBase.project_logo" class="floatLogoRight" :alt="bottomBase.project_name">
  36. </a>
  37. <span v-else-if="bottomBase.project_logo!=''&&bottomBase.project_url==''">
  38. <img :src="bottomBase.project_logo" class="floatLogoRight" :alt="bottomBase.project_name">
  39. </span>
  40. <a :href="'http://' + bottomBase.company_url" :title="bottomBase.company_name" v-if="bottomBase.company_logo!=''&&bottomBase.company_url!=''">
  41. <img :src="bottomBase.company_logo" class="floatLogoLeft" :alt="bottomBase.company_name">
  42. </a>
  43. <span v-else-if="bottomBase.company_logo!=''&&bottomBase.company_url==''">
  44. <img :src="bottomBase.company_logo" class="floatLogoLeft" :alt="bottomBase.company_name">
  45. </span>
  46. </div>
  47. <div class="foot_last_img_box">
  48. <a :href="item.url" v-for="(item, index) in bottomphoto" :title="item.title">
  49. <img :src="item.logo_url" :alt="item.title">
  50. </a>
  51. </div>
  52. <!--在线客服-->
  53. <div class="kefu">
  54. <div class="kefu_itemKf">
  55. <a :href="bottomBase.online_service" target="_blank">
  56. <img src="https://img.bjzxtw.org.cn/pre/public/image/online1.png">
  57. <p>在线客服</p>
  58. </a>
  59. </div>
  60. <div class="kefu_itemQQ">
  61. <img src="https://img.bjzxtw.org.cn/pre/public/image/qq1.png">
  62. <p>QQ客服</p>
  63. <div class="kefu_item_content_QQ">
  64. <div @click="addQQFriend(qq1)" class="qqadd">
  65. <img src="https://img.bjzxtw.org.cn/pre/public/index/tubiao1.png" width="100">
  66. <div class="qqfs">{{bottomBase.customer_service_qq}}</div>
  67. </div>
  68. <div @click="addQQFriend(qq2)" class="qqadd">
  69. <img src="https://img.bjzxtw.org.cn/pre/public/index/tubiao2.png" width="100">
  70. <div class="qqfs">{{bottomBase.communications}}</div>
  71. </div>
  72. <div class="arrow"></div>
  73. </div>
  74. </div>
  75. <div class="kefu_itemPhone">
  76. <img src="https://img.bjzxtw.org.cn/pre/public/image/dianhua1.png">
  77. <p>电话客服</p>
  78. <div class="kefu_item_content_phone">
  79. <div class="kefu_item_content_phone_title">联系电话:</div>
  80. <div>{{bottomBase.customer_service}}</div>
  81. <div class="arrow"></div>
  82. </div>
  83. </div>
  84. </div>
  85. </footer>
  86. </template>
  87. <script setup>
  88. //0.添加网站客服 start---------------------------------------->
  89. //添加网站客服
  90. function addQQFriend(qqNumber) {
  91. // 使用tencent协议唤起QQ客户端并添加好友
  92. window.location.href = `tencent://message/?uin=${qqNumber}&Site=&Menu=yes`;
  93. }
  94. //0.添加网站客服 end---------------------------------------->
  95. //获得底部基本信息 start---------------------------------------->
  96. //1.获得全部友情链接与底部图片
  97. const bottomLink = ref([])
  98. const bottomText = ref([])
  99. const bottomphoto = ref([])
  100. const bottomMenu = ref([])
  101. const bottomBase = ref({})
  102. const qq1 = ref("")
  103. const qq2 = ref("")
  104. async function getModelDataAll() {
  105. const mkdata = await requestDataPromise('/web/getWebsiteFootAll', {
  106. method: 'GET',
  107. query: {
  108. 'link_textnum':8,
  109. 'link_imgnum':12,
  110. 'link_footnum':4
  111. },
  112. });
  113. if(mkdata.code == 200){
  114. bottomLink.value = mkdata.data.link_img;
  115. bottomText.value = mkdata.data.link_text;
  116. bottomphoto.value = mkdata.data.link_foot;
  117. bottomMenu.value = mkdata.data.foot_cate;
  118. bottomBase.value = mkdata.data.foot_info;
  119. //获取qq号数字部分
  120. qq1.value = bottomBase.value.customer_service_qq.match(/\d+/g);
  121. qq2.value = bottomBase.value.communications.match(/\d+/g);
  122. }else{
  123. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  124. console.log("错误位置:获取友情链接图片")
  125. console.log("后端错误反馈:",mkdata.message)
  126. console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  127. }
  128. }
  129. getModelDataAll();
  130. //获得底部基本信息 end---------------------------------------->
  131. </script>
  132. <style lang="less" scoped>
  133. @import '@/assets/css/foot.less';
  134. </style>