Feature.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. <template>
  2. <div class="wrapper">
  3. <div class="main-features lg:mt-52px main-container">
  4. <div ref="text" class="relative text-container flex justify-around border-b-1px border-[#E1E3E8] overflow-x-auto px-60px">
  5. <Arrow class="btn prev absolute left-0 top-12px cursor-pointer" @click="activeGroup = (activeGroup === 1 ? 0 : 1)" /><Arrow class="btn next absolute right-0 top-12px cursor-pointer" @click="activeGroup = (activeGroup === 1 ? 0 : 1)" />
  6. <template v-for="(iconList, i) in iconData">
  7. <template v-if="i === activeGroup" v-for="icon in iconList">
  8. <div class="cursor-pointer text-item pb-12px flex flex-col items-center w-150px" :class="[icon.index === activeIndex ? 'border-[#396FFA] border-b-3px' : '']" @click="changeIndex(icon.index)">
  9. <div>
  10. <img v-show="icon.index === activeIndex" :src="icon.iconActiveUrl" :alt="icon.alt" class="w-36px h-36px mb-8px" >
  11. <img v-show="icon.index !== activeIndex" :src="icon.iconUrl" :alt="icon.alt" class="w-36px h-36px mb-8px" >
  12. </div>
  13. <div class="whitespace-nowrap text-sm">{{ icon.title }}</div>
  14. </div>
  15. </template>
  16. </template>
  17. </div>
  18. <div v-show="i === activeIndex" v-for="(data, i) in featureData" :key="i" class="feature-item-container">
  19. <div class="flex justify-between flex-row-reverse py-80px">
  20. <div class="flex-1 flex flex-col justify-center max-w-480px">
  21. <div class="relative text-32px leading-48px text-[#232748] font-600">{{ data.title }}</div>
  22. <p class="my-12px text-16px leading-24px text-[#52555F]">{{ data.decs }}</p>
  23. <span :href="data.url" class="move-arrow inline-flex items-center text-16px leading-24px text-[#396FFA] font-500 cursor-pointer" @click="openModal">申请试用<ArrowRightActive class="ml-8px move" /></span>
  24. </div>
  25. <div class="img-container relative flex items-center">
  26. <img :src="data.bannerUrl" :alt="data.alt" width="580">
  27. </div>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. </template>
  33. <script>
  34. import ArrowRightActive from '~/assets/images/tools/arrowRightActive.svg?inline'
  35. import Arrow from '~/assets/images/tools/arrow.svg?inline'
  36. export default {
  37. components: {
  38. ArrowRightActive,
  39. Arrow
  40. },
  41. data () {
  42. return {
  43. activeGroup: 0,
  44. index: 0,
  45. activeIndex: 0,
  46. iconData: [
  47. [
  48. {
  49. title: 'PDF阅读SDK',
  50. iconUrl: require('~/assets/images/tools/viewer.svg'),
  51. iconActiveUrl: require('~/assets/images/tools/viewerActive.svg'),
  52. index: 0
  53. },
  54. {
  55. title: 'PDF注释SDK',
  56. iconUrl: require('~/assets/images/tools/annotation.svg'),
  57. iconActiveUrl: require('~/assets/images/tools/annotationActive.svg'),
  58. index: 1
  59. },
  60. {
  61. title: 'PDF签名SDK',
  62. iconUrl: require('~/assets/images/tools/signatures.svg'),
  63. iconActiveUrl: require('~/assets/images/tools/signaturesActive.svg'),
  64. index: 2
  65. },
  66. {
  67. title: 'PDF内容编辑SDK',
  68. iconUrl: require('~/assets/images/tools/contEdit.svg'),
  69. iconActiveUrl: require('~/assets/images/tools/contEditActive.svg'),
  70. index: 3
  71. },
  72. {
  73. title: 'PDF表单SDK',
  74. iconUrl: require('~/assets/images/tools/formFill.svg'),
  75. iconActiveUrl: require('~/assets/images/tools/formFillActive.svg'),
  76. index: 4
  77. },
  78. {
  79. title: 'PDF编辑SDK:页面管理',
  80. iconUrl: require('~/assets/images/tools/docEdit.svg'),
  81. iconActiveUrl: require('~/assets/images/tools/docEditActive.svg'),
  82. index: 5
  83. }
  84. ],
  85. [
  86. {
  87. title: 'PDF加密SDK',
  88. iconUrl: require('~/assets/images/tools/encrypt.svg'),
  89. iconActiveUrl: require('~/assets/images/tools/encryptActive.svg'),
  90. index: 6
  91. },
  92. {
  93. title: 'PDF文件对比SDK',
  94. iconUrl: require('~/assets/images/tools/compare.svg'),
  95. iconActiveUrl: require('~/assets/images/tools/compareActive.svg'),
  96. index: 7
  97. },
  98. {
  99. title: 'PDF转换SDK',
  100. iconUrl: require('~/assets/images/tools/conversion.svg'),
  101. iconActiveUrl: require('~/assets/images/tools/conversionActive.svg'),
  102. index: 8
  103. },
  104. {
  105. title: 'OCR文字识别SDK',
  106. iconUrl: require('~/assets/images/tools/ocr.svg'),
  107. iconActiveUrl: require('~/assets/images/tools/ocrActive.svg'),
  108. index: 9
  109. },
  110. {
  111. title: '标记密文SDK',
  112. iconUrl: require('~/assets/images/tools/notes.svg'),
  113. iconActiveUrl: require('~/assets/images/tools/notesActive.svg'),
  114. index: 10
  115. },
  116. {
  117. title: '多文件压缩SDK',
  118. iconUrl: require('~/assets/images/tools/compress.svg'),
  119. iconActiveUrl: require('~/assets/images/tools/compressActive.svg'),
  120. index: 11
  121. },
  122. ]
  123. ],
  124. featureData: [
  125. {
  126. title: 'PDF阅读SDK',
  127. alt: 'Viewer',
  128. decs: '专业的PDF SDK提供了强大的PDF查看功能,为您的应用程序带来流畅,舒适的阅读体验。提供放大镜,多种翻页模式,旋转等适配不同开发平台的阅读习惯。通过文本搜索,书签,大纲等方式,快速定位PDF内容。提供夜间模式,自定义主题等来适应不同阅读环境。',
  129. bannerUrl: '/images/tools/viewer.png',
  130. index: 0
  131. },
  132. {
  133. title: 'PDF注释SDK',
  134. alt: 'Annotations',
  135. decs: '丰富的PDF注释类型,使您的应用程序支持添加,设置,导入,导出,扁平化,注解,回复,管理,显示/隐藏几十种注释,包括文字、图章、亮高、下划线、删除线、波浪线、形状(矩形、圆形等),箭头、线条、自由画笔,链接,语音等。',
  136. bannerUrl: '/images/tools/annotation.png',
  137. index: 1
  138. },
  139. {
  140. title: 'PDF签名SDK',
  141. alt: 'Signatures',
  142. decs: '提供电子签名和数字签名,支持多种签名类型签署文档如图片签名,基于字体的签名,触控笔或手写笔签名,以及包含签名人身份信息的数字签名,满足您应用程序所有的签名需求,轻松签署和验证PDF文档,保证文档的完整性和真实性。',
  143. bannerUrl: '/images/tools/signatures.png',
  144. index: 2
  145. },
  146. {
  147. title: 'PDF内容编辑SDK',
  148. alt: 'Content Editor',
  149. decs: '像编辑Word文档一样,灵活地编辑PDF文字和图片。集成PDF SDK,使在您的app中添加,删除,替换或者移动PDF文档中的文字和图片成为可能,并支持查看和设置属性,如字体,颜色,大小等。',
  150. bannerUrl: '/images/tools/contEditor.png',
  151. index: 3
  152. },
  153. {
  154. title: 'PDF表单SDK',
  155. alt: 'Form Filling',
  156. decs: '我们的PDF SDK提供了完善的PDF表格功能,让你的应用程序支持轻松创建和填写PDF表格。提供多种表单域工具,如文字框,下拉框,列表框,单选框、复选框、按钮等,使您app的用户轻松设计和布局你的表单。',
  157. bannerUrl: '/images/tools/formFill.png',
  158. index: 4
  159. },
  160. {
  161. title: 'PDF编辑SDK:页面管理',
  162. alt: 'Document Editor',
  163. decs: '提供便捷的PDF页面管理功能,支持轻松操作和编辑PDF页面,如移动、添加、删除、PDF合并、PDF拆分、替换、旋转PDF页面。',
  164. bannerUrl: '/images/tools/docEditor.png',
  165. index: 5
  166. },
  167. {
  168. title: 'PDF加密SDK',
  169. alt: 'PDF Encrypt',
  170. decs: '为您的app/系统,提供密码保护功能,轻松为文档设置不同加密级别的加密方式,如RC4和高级加密算法AES-128 & AES-256。设置为不同的角色设置不同的文档权限,如阅读,打印,复制,分享。',
  171. bannerUrl: '/images/tools/encrypt.png',
  172. index: 6
  173. },
  174. {
  175. title: 'PDF文件对比SDK',
  176. alt: 'PDF Compare',
  177. decs: '集成PDF文档对比功能,逐字、段落、页进行精准对比并分类列出不同版本的文档中新增、替换、删除的文本。提供覆盖对比方式有效对比图纸类文档。',
  178. bannerUrl: '/images/tools/compare.png',
  179. index: 7
  180. },
  181. {
  182. title: 'PDF转换SDK',
  183. alt: 'PDF Conversion',
  184. decs: '基于AI的PDF转换库,拥有更高的转换精准度,快速高效地将PDF文件转换成其他格式,或者将其他格式的文件转换成PDF文档,支持的格式包括Word, Excel, PPT, PNG, JPG, RTF, CSV, HTML等。',
  185. bannerUrl: '/images/tools/conversion.png',
  186. index: 8
  187. },
  188. {
  189. title: 'OCR文字识别SDK',
  190. alt: 'PDF OCR',
  191. decs: '提供强大的OCR图片文字识别SDK开发包,让你可以在你的应用程序中轻松识别图片或者扫描文件中的文字。支持文件版面分析和图片预处理功能,提高低质量图片的识别效果。支持识别常用的中文,英文,西班牙语,法语等几十种语言。',
  192. bannerUrl: '/images/tools/ocr.png',
  193. index: 9
  194. },
  195. {
  196. title: '标记密文SDK',
  197. alt: 'PDF Notes',
  198. decs: '集成标记密文功能,在应用程序中轻松覆盖并移除PDF文档中的敏感信息或者不可外泄的文字或图片信息。支持设置标记的样式、颜色、文字说明等,并且保证擦除后的文档无法恢复。',
  199. bannerUrl: '/images/tools/notes.png',
  200. index: 10
  201. },
  202. {
  203. title: '多文件压缩SDK',
  204. alt: 'PDF Compress',
  205. decs: '优秀的文档压缩SDK/API,让你可以在你的应用程序中轻松压缩或优化一个或批量的PDF文件,删除冗余数据,降低文件存储和传输压力。支持不同级别的文档压缩。',
  206. bannerUrl: '/images/tools/compress.png',
  207. index: 11
  208. }
  209. ]
  210. }
  211. },
  212. methods: {
  213. changeIndex (i) {
  214. this.activeIndex = i
  215. },
  216. openModal () {
  217. this.$emit('open')
  218. }
  219. }
  220. }
  221. </script>
  222. <style lang="scss" scoped>
  223. .main-content {
  224. font-family: 'Poppins';
  225. .main-features {
  226. position: sticky;
  227. top: 0rem;
  228. display: flex;
  229. flex-direction: column;
  230. height: 100vh;
  231. padding-top: 70px;
  232. overflow: hidden;
  233. .video-container {
  234. position: relative;
  235. display: flex;
  236. flex-grow: 1;
  237. }
  238. .text-container {
  239. scrollbar-width: none; /* firefox */
  240. -ms-overflow-style: none; /* IE 10+ */
  241. & :nth-child(1) {
  242. .mx-8px {
  243. padding-left: 12px;
  244. padding-right: 12px;
  245. }
  246. }
  247. .text-item {
  248. .line-container {
  249. height: 2px;
  250. overflow: hidden;
  251. opacity: 1;
  252. }
  253. }
  254. }
  255. .text-container::-webkit-scrollbar {
  256. display: none; /* Chrome Safari */
  257. }
  258. }
  259. }
  260. ::-webkit-scrollbar {
  261. scrollbar-width: none; /* firefox */
  262. -ms-overflow-style: none;
  263. display: none; /* Chrome Safari */
  264. }
  265. .line-container {
  266. position: relative;
  267. height: 2px;
  268. overflow: hidden;
  269. opacity: 1;
  270. &::before {
  271. content: '';
  272. position: absolute;
  273. top: 1px;
  274. left: 0;
  275. width: 100%;
  276. height: 1px;
  277. background-color: #E1E3E8;
  278. }
  279. }
  280. .next {
  281. transform: rotate(180deg);
  282. }
  283. .line {
  284. position: relative;
  285. width: 100%;
  286. height: 2px;
  287. background-color: #396FFA;
  288. transform-origin: left center;
  289. }
  290. .main-content .main-features .text-container .text-item .title {
  291. font-size: 18px;
  292. }
  293. .main-content .main-features .video-container {
  294. margin-bottom: 3.125rem;
  295. }
  296. @media screen and (min-width: 1280px) {
  297. .main-content .main-features .text-container .text-item .title {
  298. font-size: 22px;
  299. }
  300. }
  301. </style>