Footer.vue 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  1. <script setup>
  2. import { useData } from 'vitepress'
  3. const { page } = useData()
  4. const footerGroups = [
  5. {
  6. mainLink: {
  7. text: '品牌',
  8. url: 'https://www.jianyu360.cn/brand/index',
  9. target: '_blank'
  10. },
  11. links: [
  12. {
  13. text: '公司介绍',
  14. url: 'https://www.jianyu360.cn/brand/index',
  15. target: '_blank'
  16. },
  17. {
  18. text: '发展历程',
  19. url: 'https://www.jianyu360.cn/brand/index#history',
  20. target: '_blank'
  21. },
  22. {
  23. text: '公司动态',
  24. url: 'https://www.jianyu360.cn/brand/index#Company_Dynamic',
  25. target: '_blank'
  26. },
  27. {
  28. text: '加入我们',
  29. url: 'https://www.jianyu360.cn/brand/index#join_us',
  30. target: '_blank'
  31. },
  32. {
  33. text: '联系我们',
  34. url: 'https://www.jianyu360.cn/brand/index#contact_us',
  35. target: '_blank'
  36. }
  37. ]
  38. },
  39. {
  40. mainLink: { text: '业界团队', url: 'javascript:;' },
  41. links: [
  42. {
  43. text: '拓普前端技术文档',
  44. url: 'http://192.168.3.42/doc/home/',
  45. target: '_blank'
  46. },
  47. {
  48. text: '凹凸实验室',
  49. url: 'https://o2team.github.io/',
  50. target: '_blank'
  51. },
  52. {
  53. text: '淘系前端团队',
  54. url: 'https://fed.taobao.org/',
  55. target: '_blank'
  56. },
  57. {
  58. text: '百度 FEX',
  59. url: 'https://fex-team.github.io/',
  60. target: '_blank'
  61. },
  62. { text: 'AlloyTeam', url: 'https://www.alloyteam.com/', target: '_blank' }
  63. ]
  64. },
  65. {
  66. mainLink: { text: '内网相关', url: 'javascript:;' },
  67. links: [
  68. {
  69. text: 'OA 办公',
  70. url: 'http://1.192.217.143:8985/seeyon/main.do',
  71. target: '_blank'
  72. },
  73. {
  74. text: 'KB 看板',
  75. url: 'https://jykb.jydev.jianyu360.com/dashboard',
  76. target: '_blank'
  77. },
  78. {
  79. text: 'Verdaccio',
  80. url: 'http://172.20.100.235:14873/',
  81. target: '_blank'
  82. },
  83. {
  84. text: 'Sentry 监控',
  85. url: 'https://jysentry.jydev.jianyu360.cn/',
  86. target: '_blank'
  87. },
  88. { text: 'YAPI 文档', url: 'http://192.168.3.71:4000/', target: '_blank' }
  89. ]
  90. },
  91. {
  92. mainLink: { text: '快捷链接', url: 'javascript:;' },
  93. links: [
  94. {
  95. text: 'MDN',
  96. url: 'https://developer.mozilla.org/zh-CN/',
  97. target: '_blank'
  98. },
  99. {
  100. text: 'BrowsersList',
  101. url: 'https://browserslist.dev/',
  102. target: '_blank'
  103. },
  104. { text: 'Can I use', url: 'https://caniuse.com/', target: '_blank' },
  105. {
  106. text: '可视化正则工具',
  107. url: 'https://jex.im/regulex/',
  108. target: '_blank'
  109. },
  110. { text: '可视化 AST', url: 'https://astexplorer.net/', target: '_blank' }
  111. ]
  112. }
  113. ]
  114. </script>
  115. <template>
  116. <section class="common-footer-container">
  117. <div class="footer-links">
  118. <div class="footer-links-content w">
  119. <div class="footer-service-links">
  120. <div class="service-links-left">
  121. <dl
  122. v-for="(group, index) in footerGroups"
  123. :key="index"
  124. class="service-links-item"
  125. >
  126. <dt class="service-links-name">
  127. <a
  128. :href="group.mainLink.url"
  129. :target="group.mainLink.target"
  130. class="service-link cms-link"
  131. >{{ group.mainLink.text }}</a
  132. >
  133. </dt>
  134. <dd
  135. v-for="(link, linkIndex) in group.links"
  136. :key="linkIndex"
  137. class="service-links-children"
  138. >
  139. <a
  140. :href="link.url"
  141. :target="link.target"
  142. class="service-link cms-link"
  143. >{{ link.text }}</a
  144. >
  145. </dd>
  146. </dl>
  147. </div>
  148. <div class="service-links-right">
  149. <div class="service-links-right-content">
  150. <!-- 右侧内容 -->
  151. <div class="service-links-right-module logo">
  152. <div class="logo-large">
  153. <img
  154. alt="logo-large"
  155. src="https://cdn-ali2.jianyu360.com/images/pc/logo.png?v=24487"
  156. />
  157. </div>
  158. </div>
  159. <div class="service-links-right-module customer-phone"></div>
  160. <div class="service-links-right-module qr-list">
  161. <div class="qr-box">
  162. <div class="qr-img">
  163. <img
  164. alt="download-app"
  165. src="https://www.jianyu360.cn/front/downloadJyApp/qr?page=pc_bottom&amp;source=pc_scan"
  166. />
  167. </div>
  168. <p class="qr-text">扫码下载</p>
  169. </div>
  170. <div class="qr-box">
  171. <div class="qr-img">
  172. <img
  173. alt="follow-me"
  174. src="https://www.jianyu360.cn/front/share/NQMKDCRFBAgGA0xXSF5XQAQEBABEDgIn"
  175. />
  176. </div>
  177. <p class="qr-text">扫码关注</p>
  178. </div>
  179. </div>
  180. </div>
  181. </div>
  182. </div>
  183. </div>
  184. </div>
  185. <div class="footer-copyright">
  186. <p class="copyright w"><span>©2015至今 jianyu360.cn 版权所有 </span></p>
  187. </div>
  188. </section>
  189. </template>
  190. <style scoped>
  191. .common-footer-container {
  192. position: relative;
  193. z-index: 26;
  194. }
  195. .footer-links {
  196. padding: 16px 48px;
  197. background-color: #2b2d30;
  198. color: rgba(255, 255, 255, 0.8);
  199. text-align: center;
  200. font-weight: normal;
  201. }
  202. .footer-service-links {
  203. display: flex;
  204. justify-content: space-between;
  205. text-align: left;
  206. }
  207. .service-links-left {
  208. position: relative;
  209. display: flex;
  210. flex: 1;
  211. }
  212. .service-links-right {
  213. position: relative;
  214. }
  215. a.service-link:active,
  216. a.service-link:hover {
  217. text-decoration: none;
  218. }
  219. .service-links-item {
  220. margin-right: 40px;
  221. flex: 1;
  222. }
  223. .service-links-name {
  224. margin-bottom: 8px;
  225. font-size: 14px;
  226. line-height: 22px;
  227. font-weight: 400;
  228. }
  229. .service-links-name a {
  230. white-space: nowrap;
  231. font-size: inherit;
  232. color: rgba(255, 255, 255, 0.8);
  233. }
  234. .service-links-children {
  235. margin-left: 2px;
  236. }
  237. .service-links-children a {
  238. display: inline-block;
  239. font-size: 12px;
  240. color: rgba(255, 255, 255, 0.6);
  241. line-height: 20px;
  242. white-space: nowrap;
  243. }
  244. .service-links-right {
  245. padding-right: 20px;
  246. border-left: 1px solid rgba(255, 255, 255, 0.12);
  247. text-align: right;
  248. }
  249. .service-links-right-content {
  250. display: inline-block;
  251. padding-left: 64px;
  252. }
  253. .service-links-right-content img {
  254. display: block;
  255. width: 100%;
  256. }
  257. .service-links-right-content .logo-large {
  258. width: 132px;
  259. height: 38px;
  260. }
  261. .service-links-right-module {
  262. display: flex;
  263. align-items: center;
  264. justify-content: center;
  265. width: 140px;
  266. }
  267. .service-links-right-content .phone-text {
  268. margin-left: 6px;
  269. }
  270. .customer-phone {
  271. margin-top: 12px;
  272. margin-bottom: 16px;
  273. }
  274. .qr-list {
  275. justify-content: space-between;
  276. }
  277. .qr-box {
  278. display: flex;
  279. flex-direction: column;
  280. align-items: center;
  281. justify-content: space-between;
  282. }
  283. .qr-box .qr-img {
  284. display: block;
  285. width: 64px;
  286. height: 64px;
  287. border-radius: 4px;
  288. overflow: hidden;
  289. }
  290. .qr-box .qr-text {
  291. margin-top: 4px;
  292. font-size: 12px;
  293. line-height: 18px;
  294. color: rgba(255, 255, 255, 0.8);
  295. }
  296. .footer-copyright {
  297. padding-left: 32px;
  298. background-color: #121314;
  299. }
  300. .copyright {
  301. padding: 10px 0 12px;
  302. text-align: left;
  303. font-size: 12px;
  304. line-height: 18px;
  305. color: rgba(255, 255, 255, 0.6);
  306. }
  307. .copyright a:hover {
  308. text-decoration: underline;
  309. }
  310. @media (max-width: 960px) {
  311. .service-links-left,
  312. .footer-service-links {
  313. flex-wrap: wrap;
  314. }
  315. .service-links-right {
  316. border-left-color: transparent;
  317. }
  318. }
  319. </style>