sharp-agezi пре 6 година
комит
345539188b
84 измењених фајлова са 18964 додато и 0 уклоњено
  1. 13 0
      .editorconfig
  2. 81 0
      .gitignore
  3. 4 0
      .prettierrc
  4. 25 0
      README.md
  5. 9 0
      api/content.js
  6. 40 0
      api/homePage.js
  7. 32 0
      api/lists.js
  8. 9 0
      app.html
  9. 7 0
      assets/README.md
  10. 370 0
      assets/iconfont/demo.css
  11. 70 0
      assets/iconfont/demo_fontclass.html
  12. 103 0
      assets/iconfont/demo_symbol.html
  13. 108 0
      assets/iconfont/demo_unicode.html
  14. 27 0
      assets/iconfont/iconfont.css
  15. BIN
      assets/iconfont/iconfont.eot
  16. 1 0
      assets/iconfont/iconfont.js
  17. 41 0
      assets/iconfont/iconfont.svg
  18. BIN
      assets/iconfont/iconfont.ttf
  19. BIN
      assets/iconfont/iconfont.woff
  20. BIN
      assets/img/14.png
  21. BIN
      assets/img/17.png
  22. BIN
      assets/img/19.png
  23. BIN
      assets/img/20.png
  24. BIN
      assets/img/21.png
  25. BIN
      assets/img/QRcode.png
  26. BIN
      assets/img/ad-1.jpg
  27. BIN
      assets/img/ad-2.jpg
  28. BIN
      assets/img/ad_1.jpg
  29. BIN
      assets/img/ad_2.jpg
  30. BIN
      assets/img/ad_3.jpg
  31. BIN
      assets/img/ad_4.jpg
  32. BIN
      assets/img/attention_ico.jpg
  33. BIN
      assets/img/blue_ico.jpg
  34. BIN
      assets/img/con_bg_blue.png
  35. BIN
      assets/img/favicon.ico
  36. BIN
      assets/img/list_img.1.png
  37. BIN
      assets/img/list_img.png
  38. BIN
      assets/img/loading.png
  39. BIN
      assets/img/logo.jpg
  40. BIN
      assets/img/logo.png
  41. BIN
      assets/img/m1_img3.png
  42. BIN
      assets/img/number_ad1.jpg
  43. BIN
      assets/img/return_top.png
  44. BIN
      assets/img/ten_icon/bn.png
  45. BIN
      assets/img/ten_icon/cn.png
  46. BIN
      assets/img/ten_icon/id.png
  47. BIN
      assets/img/ten_icon/kh.png
  48. BIN
      assets/img/ten_icon/la.png
  49. BIN
      assets/img/ten_icon/mm.png
  50. BIN
      assets/img/ten_icon/my.png
  51. BIN
      assets/img/ten_icon/ph.png
  52. BIN
      assets/img/ten_icon/sg.png
  53. BIN
      assets/img/ten_icon/th.png
  54. BIN
      assets/img/ten_icon/vn.png
  55. BIN
      assets/img/top_bg.jpg
  56. BIN
      assets/img/video-icon.jpg
  57. 23 0
      assets/style/footer.scss
  58. 130 0
      assets/style/header.scss
  59. 712 0
      assets/style/homePage.scss
  60. 116 0
      assets/style/index.scss
  61. 79 0
      components/Logo.vue
  62. 7 0
      components/README.md
  63. 7 0
      layouts/README.md
  64. 11 0
      layouts/default.vue
  65. 8 0
      middleware/README.md
  66. 79 0
      nuxt.config.js
  67. 10194 0
      package-lock.json
  68. 32 0
      package.json
  69. 6 0
      pages/README.md
  70. 23 0
      pages/content/index.vue
  71. 452 0
      pages/index.vue
  72. 7 0
      plugins/README.md
  73. 49 0
      plugins/axios.js
  74. 7 0
      plugins/iview.js
  75. 7 0
      plugins/lazy.js
  76. 6 0
      plugins/plugins.js
  77. 8 0
      plugins/swiper.js
  78. 35 0
      server/index.js
  79. 10 0
      static/README.md
  80. BIN
      static/favicon.ico
  81. BIN
      static/loading.png
  82. 12 0
      static/swiper.min.css
  83. 10 0
      store/README.md
  84. 5994 0
      yarn.lock

+ 13 - 0
.editorconfig

@@ -0,0 +1,13 @@
+# editorconfig.org
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false

+ 81 - 0
.gitignore

@@ -0,0 +1,81 @@
+# Created by .ignore support plugin (hsz.mobi)
+### Node template
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# TypeScript v1 declaration files
+typings/
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variables file
+.env
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+
+# next.js build output
+.next
+
+# nuxt.js build output
+.nuxt
+
+# Nuxt generate
+dist
+
+# vuepress build output
+.vuepress/dist
+
+# Serverless directories
+.serverless
+
+# IDE
+.idea

+ 4 - 0
.prettierrc

@@ -0,0 +1,4 @@
+{
+  "semi": false,
+  "singleQuote": true
+}

+ 25 - 0
README.md

@@ -0,0 +1,25 @@
+# asean_nuxt
+
+> My magnificent Nuxt.js project
+
+
+
+
+## Build Setup
+
+``` bash
+# install dependencies
+$ yarn install
+
+# serve with hot reload at localhost:3000
+$ yarn run dev
+
+# build for production and launch server
+$ yarn run build
+$ yarn start
+
+# generate static project
+$ yarn run generate
+```
+
+For detailed explanation on how things work, checkout [Nuxt.js docs](https://nuxtjs.org).

+ 9 - 0
api/content.js

@@ -0,0 +1,9 @@
+import request from './../libs/util'
+
+export function getInfoDetail(data) {//根据文章ID获取文章内容详情
+    return request({
+        url: '/web/v1/getInfoDetail',
+        method: 'post',
+        data
+    })
+}

+ 40 - 0
api/homePage.js

@@ -0,0 +1,40 @@
+import request from '~/plugins/axios'
+export function mainAd(data) {//网站首页广告
+    return request({
+        url: '/web/v1/mainAd',
+        method: 'post',
+        data
+    })
+}
+export function getMainData(data) {//网站首页数据
+    return request({
+        url: '/web/v1/main',
+        method: 'post',
+        data
+    })
+}
+
+export function listColumnInfo(data) {//网站首页右侧栏目数据
+    return request({
+        url: '/web/v1/listColumnInfo',
+        method: 'post',
+        data
+    })
+}
+
+export function listFocusInfo(data) {//网站首页左侧数据
+    return request({
+        url: '/web/v1/listFocusInfo',
+        method: 'post',
+        data
+    })
+}
+
+export function listWordbar(data) {//获取词条列表
+    return request({
+        url: '/web/v1/listWordbar',
+        method: 'post',
+        data
+    })
+}
+

+ 32 - 0
api/lists.js

@@ -0,0 +1,32 @@
+import request from './../libs/util'
+
+export function getColumnInfoList(data) {//列表数据
+    return request({
+        url: '/web/v1/getColumnInfoList',
+        method: 'post',
+        data
+    })
+}
+export function getColumnAd(data) {//获取广告
+    return request({
+        url: '/web/v1/getColumnAd',
+        method: 'post',
+        data
+    })
+}
+
+export function search(data) {//站内搜索
+    return request({
+        url: '/web/v1/search',
+        method: 'post',
+        data
+    })
+}
+
+export function listKeywordInfo(data) {//根据关键字获取资讯列表
+    return request({
+        url: '/web//v1/listKeywordInfo',
+        method: 'post',
+        data
+    })
+}

+ 9 - 0
app.html

@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html {{ HTML_ATTRS }}>
+<head>
+  {{ HEAD }}
+</head>
+<body {{ BODY_ATTRS }}>
+{{ APP }}
+</body>
+</html>

+ 7 - 0
assets/README.md

@@ -0,0 +1,7 @@
+# ASSETS
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+This directory contains your un-compiled assets such as LESS, SASS, or JavaScript.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked).

+ 370 - 0
assets/iconfont/demo.css

@@ -0,0 +1,370 @@
+*{margin: 0;padding: 0;list-style: none;}
+/*
+KISSY CSS Reset
+理念:1. reset 的目的不是清除浏览器的默认样式,这仅是部分工作。清除和重置是紧密不可分的。
+2. reset 的目的不是让默认样式在所有浏览器下一致,而是减少默认样式有可能带来的问题。
+3. reset 期望提供一套普适通用的基础样式。但没有银弹,推荐根据具体需求,裁剪和修改后再使用。
+特色:1. 适应中文;2. 基于最新主流浏览器。
+维护:玉伯<lifesinger@gmail.com>, 正淳<ragecarrier@gmail.com>
+ */
+
+/** 清除内外边距 **/
+body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
+dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
+pre, /* text formatting elements 文本格式元素 */
+form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
+th, td /* table elements 表格元素 */ {
+  margin: 0;
+  padding: 0;
+}
+
+/** 设置默认字体 **/
+body,
+button, input, select, textarea /* for ie */ {
+  font: 12px/1.5 tahoma, arial, \5b8b\4f53, sans-serif;
+}
+h1, h2, h3, h4, h5, h6 { font-size: 100%; }
+address, cite, dfn, em, var { font-style: normal; } /* 将斜体扶正 */
+code, kbd, pre, samp { font-family: courier new, courier, monospace; } /* 统一等宽字体 */
+small { font-size: 12px; } /* 小于 12px 的中文很难阅读,让 small 正常化 */
+
+/** 重置列表元素 **/
+ul, ol { list-style: none; }
+
+/** 重置文本格式元素 **/
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+
+
+/** 重置表单元素 **/
+legend { color: #000; } /* for ie6 */
+fieldset, img { border: 0; } /* img 搭车:让链接里的 img 无边框 */
+button, input, select, textarea { font-size: 100%; } /* 使得表单元素在 ie 下能继承字体大小 */
+/* 注:optgroup 无法扶正 */
+
+/** 重置表格元素 **/
+table { border-collapse: collapse; border-spacing: 0; }
+
+/* 清除浮动 */
+.ks-clear:after, .clear:after {
+  content: '\20';
+  display: block;
+  height: 0;
+  clear: both;
+}
+.ks-clear, .clear {
+  *zoom: 1;
+}
+
+.main {
+  padding: 30px 100px;
+width: 960px;
+margin: 0 auto;
+}
+.main h1{font-size:36px; color:#333; text-align:left;margin-bottom:30px; border-bottom: 1px solid #eee;}
+
+.helps{margin-top:40px;}
+.helps pre{
+  padding:20px;
+  margin:10px 0;
+  border:solid 1px #e7e1cd;
+  background-color: #fffdef;
+  overflow: auto;
+}
+
+.icon_lists{
+  width: 100% !important;
+
+}
+
+.icon_lists li{
+  float:left;
+  width: 100px;
+  height:180px;
+  text-align: center;
+  list-style: none !important;
+}
+.icon_lists .icon{
+  font-size: 42px;
+  line-height: 100px;
+  margin: 10px 0;
+  color:#333;
+  -webkit-transition: font-size 0.25s ease-out 0s;
+  -moz-transition: font-size 0.25s ease-out 0s;
+  transition: font-size 0.25s ease-out 0s;
+
+}
+.icon_lists .icon:hover{
+  font-size: 100px;
+}
+
+
+
+.markdown {
+  color: #666;
+  font-size: 14px;
+  line-height: 1.8;
+}
+
+.highlight {
+  line-height: 1.5;
+}
+
+.markdown img {
+  vertical-align: middle;
+  max-width: 100%;
+}
+
+.markdown h1 {
+  color: #404040;
+  font-weight: 500;
+  line-height: 40px;
+  margin-bottom: 24px;
+}
+
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+  color: #404040;
+  margin: 1.6em 0 0.6em 0;
+  font-weight: 500;
+  clear: both;
+}
+
+.markdown h1 {
+  font-size: 28px;
+}
+
+.markdown h2 {
+  font-size: 22px;
+}
+
+.markdown h3 {
+  font-size: 16px;
+}
+
+.markdown h4 {
+  font-size: 14px;
+}
+
+.markdown h5 {
+  font-size: 12px;
+}
+
+.markdown h6 {
+  font-size: 12px;
+}
+
+.markdown hr {
+  height: 1px;
+  border: 0;
+  background: #e9e9e9;
+  margin: 16px 0;
+  clear: both;
+}
+
+.markdown p,
+.markdown pre {
+  margin: 1em 0;
+}
+
+.markdown > p,
+.markdown > blockquote,
+.markdown > .highlight,
+.markdown > ol,
+.markdown > ul {
+  width: 80%;
+}
+
+.markdown ul > li {
+  list-style: circle;
+}
+
+.markdown > ul li,
+.markdown blockquote ul > li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown > ul li p,
+.markdown > ol li p {
+  margin: 0.6em 0;
+}
+
+.markdown ol > li {
+  list-style: decimal;
+}
+
+.markdown > ol li,
+.markdown blockquote ol > li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown code {
+  margin: 0 3px;
+  padding: 0 5px;
+  background: #eee;
+  border-radius: 3px;
+}
+
+.markdown pre {
+  border-radius: 6px;
+  background: #f7f7f7;
+  padding: 20px;
+}
+
+.markdown pre code {
+  border: none;
+  background: #f7f7f7;
+  margin: 0;
+}
+
+.markdown strong,
+.markdown b {
+  font-weight: 600;
+}
+
+.markdown > table {
+  border-collapse: collapse;
+  border-spacing: 0px;
+  empty-cells: show;
+  border: 1px solid #e9e9e9;
+  width: 95%;
+  margin-bottom: 24px;
+}
+
+.markdown > table th {
+  white-space: nowrap;
+  color: #333;
+  font-weight: 600;
+
+}
+
+.markdown > table th,
+.markdown > table td {
+  border: 1px solid #e9e9e9;
+  padding: 8px 16px;
+  text-align: left;
+}
+
+.markdown > table th {
+  background: #F7F7F7;
+}
+
+.markdown blockquote {
+  font-size: 90%;
+  color: #999;
+  border-left: 4px solid #e9e9e9;
+  padding-left: 0.8em;
+  margin: 1em 0;
+  font-style: italic;
+}
+
+.markdown blockquote p {
+  margin: 0;
+}
+
+.markdown .anchor {
+  opacity: 0;
+  transition: opacity 0.3s ease;
+  margin-left: 8px;
+}
+
+.markdown .waiting {
+  color: #ccc;
+}
+
+.markdown h1:hover .anchor,
+.markdown h2:hover .anchor,
+.markdown h3:hover .anchor,
+.markdown h4:hover .anchor,
+.markdown h5:hover .anchor,
+.markdown h6:hover .anchor {
+  opacity: 1;
+  display: inline-block;
+}
+
+.markdown > br,
+.markdown > p > br {
+  clear: both;
+}
+
+
+.hljs {
+  display: block;
+  background: white;
+  padding: 0.5em;
+  color: #333333;
+  overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+  color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+  color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+  color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+  color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+  color: #63a35c;
+}
+
+.hljs-tag {
+  color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #795da3;
+}
+
+.hljs-addition {
+  color: #55a532;
+  background-color: #eaffea;
+}
+
+.hljs-deletion {
+  color: #bd2c00;
+  background-color: #ffecec;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}
+
+pre{
+  background: #fff;
+}
+
+
+
+
+

+ 70 - 0
assets/iconfont/demo_fontclass.html

@@ -0,0 +1,70 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8"/>
+    <title>IconFont</title>
+    <link rel="stylesheet" href="demo.css">
+    <link rel="stylesheet" href="iconfont.css">
+</head>
+<body>
+    <div class="main markdown">
+        <h1>IconFont 图标</h1>
+        <ul class="icon_lists clear">
+            
+                <li>
+                <i class="icon iconfont icon-twitter"></i>
+                    <div class="name">twitter</div>
+                    <div class="fontclass">.icon-twitter</div>
+                </li>
+            
+                <li>
+                <i class="icon iconfont icon-facebook"></i>
+                    <div class="name">facebook</div>
+                    <div class="fontclass">.icon-facebook</div>
+                </li>
+            
+                <li>
+                <i class="icon iconfont icon-weixin"></i>
+                    <div class="name">微信</div>
+                    <div class="fontclass">.icon-weixin</div>
+                </li>
+            
+                <li>
+                <i class="icon iconfont icon-weibo"></i>
+                    <div class="name">微博</div>
+                    <div class="fontclass">.icon-weibo</div>
+                </li>
+            
+                <li>
+                <i class="icon iconfont icon-bofang"></i>
+                    <div class="name">播放</div>
+                    <div class="fontclass">.icon-bofang</div>
+                </li>
+            
+        </ul>
+
+        <h2 id="font-class-">font-class引用</h2>
+        <hr>
+
+        <p>font-class是unicode使用方式的一种变种,主要是解决unicode书写不直观,语意不明确的问题。</p>
+        <p>与unicode使用方式相比,具有如下特点:</p>
+        <ul>
+        <li>兼容性良好,支持ie8+,及所有现代浏览器。</li>
+        <li>相比于unicode语意明确,书写更直观。可以很容易分辨这个icon是什么。</li>
+        <li>因为使用class来定义图标,所以当要替换图标时,只需要修改class里面的unicode引用。</li>
+        <li>不过因为本质上还是使用的字体,所以多色图标还是不支持的。</li>
+        </ul>
+        <p>使用步骤如下:</p>
+        <h3 id="-fontclass-">第一步:引入项目下面生成的fontclass代码:</h3>
+
+
+        <pre><code class="lang-js hljs javascript"><span class="hljs-comment">&lt;link rel="stylesheet" type="text/css" href="./iconfont.css"&gt;</span></code></pre>
+        <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
+        <pre><code class="lang-css hljs">&lt;<span class="hljs-selector-tag">i</span> <span class="hljs-selector-tag">class</span>="<span class="hljs-selector-tag">iconfont</span> <span class="hljs-selector-tag">icon-xxx</span>"&gt;&lt;/<span class="hljs-selector-tag">i</span>&gt;</code></pre>
+        <blockquote>
+        <p>"iconfont"是你项目下的font-family。可以通过编辑项目查看,默认是"iconfont"。</p>
+        </blockquote>
+    </div>
+</body>
+</html>

+ 103 - 0
assets/iconfont/demo_symbol.html

@@ -0,0 +1,103 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8"/>
+    <title>IconFont</title>
+    <link rel="stylesheet" href="demo.css">
+    <script src="iconfont.js"></script>
+
+    <style type="text/css">
+        .icon {
+          /* 通过设置 font-size 来改变图标大小 */
+          width: 1em; height: 1em;
+          /* 图标和文字相邻时,垂直对齐 */
+          vertical-align: -0.15em;
+          /* 通过设置 color 来改变 SVG 的颜色/fill */
+          fill: currentColor;
+          /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
+             normalize.css 中也包含这行 */
+          overflow: hidden;
+        }
+
+    </style>
+</head>
+<body>
+    <div class="main markdown">
+        <h1>IconFont 图标</h1>
+        <ul class="icon_lists clear">
+            
+                <li>
+                    <svg class="icon" aria-hidden="true">
+                        <use xlink:href="#icon-twitter"></use>
+                    </svg>
+                    <div class="name">twitter</div>
+                    <div class="fontclass">#icon-twitter</div>
+                </li>
+            
+                <li>
+                    <svg class="icon" aria-hidden="true">
+                        <use xlink:href="#icon-facebook"></use>
+                    </svg>
+                    <div class="name">facebook</div>
+                    <div class="fontclass">#icon-facebook</div>
+                </li>
+            
+                <li>
+                    <svg class="icon" aria-hidden="true">
+                        <use xlink:href="#icon-weixin"></use>
+                    </svg>
+                    <div class="name">微信</div>
+                    <div class="fontclass">#icon-weixin</div>
+                </li>
+            
+                <li>
+                    <svg class="icon" aria-hidden="true">
+                        <use xlink:href="#icon-weibo"></use>
+                    </svg>
+                    <div class="name">微博</div>
+                    <div class="fontclass">#icon-weibo</div>
+                </li>
+            
+                <li>
+                    <svg class="icon" aria-hidden="true">
+                        <use xlink:href="#icon-bofang"></use>
+                    </svg>
+                    <div class="name">播放</div>
+                    <div class="fontclass">#icon-bofang</div>
+                </li>
+            
+        </ul>
+
+
+        <h2 id="symbol-">symbol引用</h2>
+        <hr>
+
+        <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
+        这种用法其实是做了一个svg的集合,与另外两种相比具有如下特点:</p>
+        <ul>
+          <li>支持多色图标了,不再受单色限制。</li>
+          <li>通过一些技巧,支持像字体那样,通过<code>font-size</code>,<code>color</code>来调整样式。</li>
+          <li>兼容性较差,支持 ie9+,及现代浏览器。</li>
+          <li>浏览器渲染svg的性能一般,还不如png。</li>
+        </ul>
+        <p>使用步骤如下:</p>
+        <h3 id="-symbol-">第一步:引入项目下面生成的symbol代码:</h3>
+        <pre><code class="lang-js hljs javascript"><span class="hljs-comment">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;</span></code></pre>
+        <h3 id="-css-">第二步:加入通用css代码(引入一次就行):</h3>
+        <pre><code class="lang-js hljs javascript">&lt;style type=<span class="hljs-string">"text/css"</span>&gt;
+.icon {
+   width: <span class="hljs-number">1</span>em; height: <span class="hljs-number">1</span>em;
+   vertical-align: <span class="hljs-number">-0.15</span>em;
+   fill: currentColor;
+   overflow: hidden;
+}
+&lt;<span class="hljs-regexp">/style&gt;</span></code></pre>
+        <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
+        <pre><code class="lang-js hljs javascript">&lt;svg <span class="hljs-class"><span class="hljs-keyword">class</span></span>=<span class="hljs-string">"icon"</span> aria-hidden=<span class="hljs-string">"true"</span>&gt;<span class="xml"><span class="hljs-tag">
+  &lt;<span class="hljs-name">use</span> <span class="hljs-attr">xlink:href</span>=<span class="hljs-string">"#icon-xxx"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">use</span>&gt;</span>
+</span>&lt;<span class="hljs-regexp">/svg&gt;
+        </span></code></pre>
+    </div>
+</body>
+</html>

+ 108 - 0
assets/iconfont/demo_unicode.html

@@ -0,0 +1,108 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8"/>
+    <title>IconFont</title>
+    <link rel="stylesheet" href="demo.css">
+
+    <style type="text/css">
+
+        @font-face {font-family: "iconfont";
+          src: url('iconfont.eot'); /* IE9*/
+          src: url('iconfont.eot#iefix') format('embedded-opentype'), /* IE6-IE8 */
+          url('iconfont.woff') format('woff'), /* chrome, firefox */
+          url('iconfont.ttf') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+          url('iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */
+        }
+
+        .iconfont {
+          font-family:"iconfont" !important;
+          font-size:16px;
+          font-style:normal;
+          -webkit-font-smoothing: antialiased;
+          -webkit-text-stroke-width: 0.2px;
+          -moz-osx-font-smoothing: grayscale;
+        }
+
+    </style>
+</head>
+<body>
+    <div class="main markdown">
+        <h1>IconFont 图标</h1>
+        <ul class="icon_lists clear">
+            
+                <li>
+                <i class="icon iconfont">&#xe600;</i>
+                    <div class="name">twitter</div>
+                    <div class="code">&amp;#xe600;</div>
+                </li>
+            
+                <li>
+                <i class="icon iconfont">&#xe601;</i>
+                    <div class="name">facebook</div>
+                    <div class="code">&amp;#xe601;</div>
+                </li>
+            
+                <li>
+                <i class="icon iconfont">&#xe73b;</i>
+                    <div class="name">微信</div>
+                    <div class="code">&amp;#xe73b;</div>
+                </li>
+            
+                <li>
+                <i class="icon iconfont">&#xe73c;</i>
+                    <div class="name">微博</div>
+                    <div class="code">&amp;#xe73c;</div>
+                </li>
+            
+                <li>
+                <i class="icon iconfont">&#xe624;</i>
+                    <div class="name">播放</div>
+                    <div class="code">&amp;#xe624;</div>
+                </li>
+            
+        </ul>
+        <h2 id="unicode-">unicode引用</h2>
+        <hr>
+
+        <p>unicode是字体在网页端最原始的应用方式,特点是:</p>
+        <ul>
+        <li>兼容性最好,支持ie6+,及所有现代浏览器。</li>
+        <li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
+        <li>但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。</li>
+        </ul>
+        <blockquote>
+        <p>注意:新版iconfont支持多色图标,这些多色图标在unicode模式下将不能使用,如果有需求建议使用symbol的引用方式</p>
+        </blockquote>
+        <p>unicode使用步骤如下:</p>
+        <h3 id="-font-face">第一步:拷贝项目下面生成的font-face</h3>
+        <pre><code class="lang-js hljs javascript">@font-face {
+  font-family: <span class="hljs-string">'iconfont'</span>;
+  src: url(<span class="hljs-string">'iconfont.eot'</span>);
+  src: url(<span class="hljs-string">'iconfont.eot?#iefix'</span>) format(<span class="hljs-string">'embedded-opentype'</span>),
+  url(<span class="hljs-string">'iconfont.woff'</span>) format(<span class="hljs-string">'woff'</span>),
+  url(<span class="hljs-string">'iconfont.ttf'</span>) format(<span class="hljs-string">'truetype'</span>),
+  url(<span class="hljs-string">'iconfont.svg#iconfont'</span>) format(<span class="hljs-string">'svg'</span>);
+}
+</code></pre>
+        <h3 id="-iconfont-">第二步:定义使用iconfont的样式</h3>
+        <pre><code class="lang-js hljs javascript">.iconfont{
+  font-family:<span class="hljs-string">"iconfont"</span> !important;
+  font-size:<span class="hljs-number">16</span>px;font-style:normal;
+  -webkit-font-smoothing: antialiased;
+  -webkit-text-stroke-width: <span class="hljs-number">0.2</span>px;
+  -moz-osx-font-smoothing: grayscale;
+}
+</code></pre>
+        <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
+        <pre><code class="lang-js hljs javascript">&lt;i <span class="hljs-class"><span class="hljs-keyword">class</span></span>=<span class="hljs-string">"iconfont"</span>&gt;&amp;#x33;<span class="xml"><span class="hljs-tag">&lt;/<span class="hljs-name">i</span>&gt;</span></span></code></pre>
+
+        <blockquote>
+        <p>"iconfont"是你项目下的font-family。可以通过编辑项目查看,默认是"iconfont"。</p>
+        </blockquote>
+    </div>
+
+
+</body>
+</html>

Разлика између датотеке није приказан због своје велике величине
+ 27 - 0
assets/iconfont/iconfont.css


BIN
assets/iconfont/iconfont.eot


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
assets/iconfont/iconfont.js


Разлика између датотеке није приказан због своје велике величине
+ 41 - 0
assets/iconfont/iconfont.svg


BIN
assets/iconfont/iconfont.ttf


BIN
assets/iconfont/iconfont.woff


BIN
assets/img/14.png


BIN
assets/img/17.png


BIN
assets/img/19.png


BIN
assets/img/20.png


BIN
assets/img/21.png


BIN
assets/img/QRcode.png


BIN
assets/img/ad-1.jpg


BIN
assets/img/ad-2.jpg


BIN
assets/img/ad_1.jpg


BIN
assets/img/ad_2.jpg


BIN
assets/img/ad_3.jpg


BIN
assets/img/ad_4.jpg


BIN
assets/img/attention_ico.jpg


BIN
assets/img/blue_ico.jpg


BIN
assets/img/con_bg_blue.png


BIN
assets/img/favicon.ico


BIN
assets/img/list_img.1.png


BIN
assets/img/list_img.png


BIN
assets/img/loading.png


BIN
assets/img/logo.jpg


BIN
assets/img/logo.png


BIN
assets/img/m1_img3.png


BIN
assets/img/number_ad1.jpg


BIN
assets/img/return_top.png


BIN
assets/img/ten_icon/bn.png


BIN
assets/img/ten_icon/cn.png


BIN
assets/img/ten_icon/id.png


BIN
assets/img/ten_icon/kh.png


BIN
assets/img/ten_icon/la.png


BIN
assets/img/ten_icon/mm.png


BIN
assets/img/ten_icon/my.png


BIN
assets/img/ten_icon/ph.png


BIN
assets/img/ten_icon/sg.png


BIN
assets/img/ten_icon/th.png


BIN
assets/img/ten_icon/vn.png


BIN
assets/img/top_bg.jpg


BIN
assets/img/video-icon.jpg


+ 23 - 0
assets/style/footer.scss

@@ -0,0 +1,23 @@
+.footer{
+    
+    bottom: 0px;
+    z-index: 99;  
+    .btm{
+        // height:123px;  
+        height:60px;  
+        // position: fixed;
+        width: 100%;
+        .f-about{
+            text-align: center;
+            color:#fff;
+            line-height:60px;
+            p:first-child{
+                // margin-top:30px;
+                img{
+                    display: inline-block;
+                    margin-left:10px;
+                }
+            }
+        }
+    }
+}

+ 130 - 0
assets/style/header.scss

@@ -0,0 +1,130 @@
+.header{
+    .h-top{
+        height:37px;
+        line-height:37px;
+        font-size:12px;
+        border-bottom:1px solid #e0e0e0;
+        background:url(../img/top_bg.jpg) repeat-x;
+        width:100%;
+        .top-left{
+            width: 15%;
+            font-size:16px;
+            font-weight:bold;
+            a{
+                margin: 0 10px;
+            }
+        }
+        // h2{
+        //     text-align: left;
+        // }
+        // ul{
+        //     li{
+        //         float:left;
+        //         a{
+        //             color:#333;
+        //             cursor: pointer;
+        //         }
+        //         span{
+        //             margin:0 15px;
+        //             color:#333;
+        //         }
+        //     }
+        // } 
+        .facebook{
+            position: relative;
+            display: inline-flex;
+            font-size: 14px;
+            margin-left: 60%;
+            align-items: center;
+            p,.icon{
+                padding: 0 10px;
+                cursor: pointer;
+            }
+            .QRcode{
+                position: absolute;
+                top: 38px;
+                height: 150px;
+                width: 150px;
+                left: 150px;
+            }
+        }
+    }
+    .h-main{
+        // height:90px;
+        // line-height:85px;
+        .h-logo{
+            // height:60px;
+            text-align: center;
+            width: 100%;
+            margin-bottom: 10px;
+            img{
+                height:120px;
+                width:auto;
+            }
+        }
+        .h-logo-ad{
+            img{
+                height:80px;
+                width: 800px;
+            }
+        }
+    }
+    .nav{
+        height:46px;
+        line-height:46px;
+        width: 1200px;
+        margin: auto;
+        .menu{
+            width: 1200px;
+            margin: 0 auto;
+            .ivu-menu-horizontal{
+                height: 46px;
+                line-height: 46px;
+                .ivu-menu-item, .ivu-menu-submenu{
+                    padding: 0 24px;
+                    i{
+                        display: none;
+                    }
+                    .ivu-select-dropdown .ivu-menu-item{
+                        padding: 7px 16px 8px;
+                    }
+                }
+            }
+            .ivu-menu-dark{
+                background: none;
+            }
+            li{
+                float:left;
+                font-size:20px;
+                font-weight: bold;
+                cursor: pointer;
+                overflow: initial;
+                &.active a{
+                    height:48px;
+                    line-height:48px;
+                    margin-top:-4px;
+                    background:#193d80;
+                }
+                a{
+                    color:#fff;
+                    display: inline-block;
+                    width:83px;
+                    text-align: center;
+                }
+            }  
+            li:hover a{
+                height:48px;
+                line-height:48px;
+                margin-top:-4px;
+                font-weight: bold;
+                background:#193d80;
+                color:#fff;
+                text-decoration:none;
+            }
+        }
+    }    
+    // .nav li.active a{height:48px;line-height:48px;margin-top:-4px;}
+    // .wgw-bg{
+    //     background:#1d4187;
+    // }   
+}

+ 712 - 0
assets/style/homePage.scss

@@ -0,0 +1,712 @@
+.return-top{
+    background:url(../img/return_top.png) no-repeat;
+    width:52px;
+    height:52px;
+}
+.m-box{
+    // background:url(../img/con_bg_blue.png) #f1fafc top no-repeat;
+    width:100%;
+    .mt{
+        display: flex;
+        height: 35px;
+        line-height: 35px;
+        h4{
+            font-family: 'Microsoft YaHei';
+            font-weight: bold;
+            font-size: 18px;
+            color: #1c6ab3;
+        }
+        hr{
+            border: none;
+            border-top: 1px solid #ccc;
+            width: 88%;
+            margin: 18px 0 0 10px;
+        }
+    }
+    .m-con{
+        background:#fff;
+        .m1-box{
+            height: 360px;
+            margin-top: 10px;
+            .m1-box-fl{
+                width: 64%;
+                .m1-news-img{
+                    width:100%;
+                    margin: auto;
+                    position:relative;
+                    overflow: hidden;
+                    .swiper-container {
+                        width: 100%;
+                        height: 300px;
+                        margin-left: auto;
+                        margin-right: auto;
+                    }
+                    .swiper-slide {
+                        background-size: cover;
+                        background-position: center;
+                        background-color: #fff;
+                    }
+                    .gallery-top {
+                        // height: 80%;
+                        width: 90%;
+                        img{
+                            margin-top: 65px;
+                            // height: 480px;
+                            height: 432px;
+                        }
+                        p{
+                            position: absolute;
+                            top: 0px;
+                            //height:36px;
+                            //line-height:36px;
+                            color: #9D1518;
+                            font-size: 24px;
+                            font-weight: bold;
+                            width: 100%;
+                            text-align: center;
+                            margin: 15px 0;
+                        }
+                    }
+                    .gallery-thumbs {
+                        height: 20%;
+                        box-sizing: border-box;
+                        padding: 10px 0;
+                        position: absolute;
+                        top:350px;
+                    }
+                    .gallery-thumbs .swiper-slide {
+                        height: 100%;
+                        opacity: 0.4;
+                    }
+                    .gallery-thumbs .swiper-slide-active {
+                        opacity: 1;
+                    }
+                }
+            }
+            .m1-box-fr{
+                width:32%;
+                margin-right: 15px;
+                .m1-fr-news-list{
+                    li{
+                        border-bottom: 1px solid #ccc;
+                        a{
+                            font-size:16px;
+                            color:#393939;
+                            line-height:67px;
+                            display:block;
+                            cursor: pointer;
+                            white-space:nowrap;
+                            overflow:hidden;
+                            text-overflow:ellipsis;
+                            font-weight: bold;
+                            // margin-left: 10px;
+
+                        }
+                        .remark{
+                            // display:none;
+                            font-size: 14px;
+                            margin: 0 0 10px 0;
+                            color: #aaaaaa;
+                        }
+                    }
+                    li:last-child{
+                        border:none;
+                    }
+                }
+            }
+        }
+        .m-list{
+            .list-both-width-l{
+                width: 58%;
+                margin: 14px 67px 4px 38px;
+                .english{
+                    .en-title{
+                        display: flex;
+                        height: 60px;
+                        width: 100%;
+                        display: flex;
+                        padding: 10px 0;
+                        border-bottom: 1px dashed #ccc;
+                        img{
+                            width: 100px;
+                            margin-right: 10px;
+                        }
+                        a{
+                            overflow: hidden;
+                            font-weight: bold;
+                            text-overflow: ellipsis;
+                            display: -webkit-box;
+                            -webkit-line-clamp: 2;
+                            height: 40px;
+                            line-height: 20px;
+                        }
+                    }
+                    .ivu-col:nth-of-type(odd){
+                        margin-right: 8%;
+                    }
+                }
+
+                .blue-line{
+                    border: 2px solid #1c6ab3;
+                    display: block;
+                    margin: 10px 0;
+                }
+                .content-item{
+                    display: inline-flex;
+                    padding: 19px 0;
+                    border-bottom: 1px solid #ccc;
+                    width: 100%;
+                    img{
+                        width: 35%;
+                        height: 150px;
+                        border-radius: 10px;
+                        margin-right: 10px;
+                    }
+                    .content-text{
+                        position: relative;
+                        margin-left: 10px;
+                        width: 62%;
+                        a{
+                            font-size: 20px;
+                            float: left;
+                            width: 100%;
+                            margin-bottom:4px;
+                        }
+                        p{
+                            font-size: 14px;
+                            margin: 0 0 10px 0;
+                            color: #aaaaaa;
+                            width: 100%;
+                            height: 85px;
+                            overflow: hidden;
+                            text-overflow: ellipsis;
+                            display: -webkit-box;
+                            -webkit-line-clamp: 4;
+                        }
+                        span{
+                            float: left;
+                            font-size: 12px;
+                            margin-top: 15px;
+                        }
+                        .source{
+                            position: absolute;
+                            bottom: 0px;
+                            left: 0px;
+                            width: 100%;
+                            a{
+                                font-size: 13px;
+                                width: auto;
+                                color: #515a6e;
+                                margin: auto;
+                            }
+                            span{
+                                float: left;
+                                font-size: 12px;
+                                margin: auto;
+                            }
+                        }
+                    }
+                }
+                .more-art{
+                    height: 60px;
+                    line-height: 60px;
+                    text-align: center;
+                }
+                // .video-ul{
+                //     display: inline-flex;
+                //     width: 100%;
+                //     ul{
+                //         width: 50%;
+                //         li{
+                //             background:url(../img/video-icon.jpg) no-repeat left center;
+                //             margin-left: 10px;
+                //             padding-left: 15px;
+                //             line-height: 24px;
+                //             a {
+                //                 color: #c00;
+                //                 text-decoration: none;
+                //                 font-size:15px;
+                //                 line-height:33px;
+                //                 display:block;
+                //                 cursor: pointer;
+                //                 white-space:nowrap;
+                //                 overflow:hidden;
+                //                 text-overflow:ellipsis;
+                //                 margin:0 5px;
+                //             }
+                //         }
+                //     }
+                // }
+            }
+            .list-both-width{
+                width:32%;
+                margin:20px 10px 0 0;
+                .sidepartList{
+                    padding-left: 22px;
+                    background: url(../img/number_ad1.jpg) no-repeat;
+                    overflow: hidden;
+                    li{
+                        height: 24px;
+                        line-height: 24px;
+                        overflow: hidden;
+                        a{
+                            font-size: 13px;
+                            text-decoration: none;
+                        }
+                    }
+                }
+                .add-img{
+                    li{
+                        overflow: hidden;
+                        a{
+                            font-size: 13px;
+                            text-decoration: none;
+                            img{
+                                margin: 10px 0;
+                            }
+                        }
+                    }
+                }
+                .column-item{
+                    border: 1px solid #ccc;
+                    margin-top: 10px;
+                    .column-title{
+                        // display: inline-flex;
+                        margin: 10px 5% 10px 5%;
+                        height: 24px;
+                        line-height: 24px;
+                        display: block;
+                        span{
+                            border: 2px solid #1c6ab3;
+                            margin-right: 10px;
+                            height: 20px;
+                            float: left;
+                        }
+                        h4{
+                            float: left;
+                            color: #1c6ab3;
+                            font-weight: bold;
+                            width: 50px;
+                        }
+                        div{
+                            float: right;
+                            a{
+                                color: #333;
+                                // margin-left: 200px;
+                                font-size: 12px;
+                                line-height: 24px;
+                            }
+                        }
+                    }
+                    li:last-child .content-li{
+                        border:none;
+                    }
+                    .column-content{
+                        width: 90%;
+                        margin: 0 5%;
+                        .column-video{
+                            position: relative;
+                            a.icon-bofang:before{
+                                font-size:50px;
+                                color:#fff;
+                                position: absolute;
+                                top:50%;
+                                left:50%;
+                                margin:-37.5px 0 0 -25px;
+                                opacity: 0.7;
+                            }
+                            .icon-bofang:hover:before{
+                                opacity:1
+                            }
+                            p{
+                                width: 100%;
+                                color: #fff;
+                                position: absolute;
+                                bottom: 0px;
+                                text-align: center;
+                                margin: 0 auto;
+                            }
+                        }
+                        .video{
+                            //margin-top: 10px;
+                            .video-list{
+                                padding:20px 0;
+                                border-bottom:1px solid #e0e0e0;
+                                &:last-child{
+                                    border-bottom:0
+                                }
+                            }
+                            .ivu-col{
+                                // margin-bottom: 10px;
+                                img{
+                                    height: 87.22px;
+                                }
+                                .content-li{
+                                    // line-height: 100px;
+                                    // height: 66px;
+                                    // padding-top: 10px;
+                                    // display: block;
+                                    // border-bottom: 1px solid #ccc;
+                                    // position: relative;
+                                    a.icon-bofang:before{
+                                        font-size:26px;
+                                        color:#fff;
+                                        position: absolute;
+                                        top:24px;
+                                        left:65px;
+                                        opacity: 0.7;
+                                    }
+                                    .icon-bofang:hover:before{
+                                        opacity:1
+                                    }
+                                    .vid-til{
+                                        font-size: 14px;
+                                        line-height: 20px;
+                                        //height: 20px;
+                                        height:80px;
+                                        margin: 5px 0 0px 0;
+                                        white-space: normal;
+                                        overflow: hidden;
+                                        text-overflow: ellipsis;
+                                        display: -webkit-box;
+                                        //-webkit-line-clamp: 1;
+                                        -webkit-line-clamp: 3;
+                                    }
+                                    img{
+                                        height: 87.22px;
+                                    }
+                                    // a:last-child{
+                                    //     float: left;
+                                    //     width: 230px;
+                                    //     /* display: block; */
+                                    //     line-height: 20px;
+                                    //     // white-space: normal;
+                                    //     margin-left: 10px;
+                                    //     font-size: 14px;
+                                    // }
+                                }
+                            }
+                            .ivu-col:nth-of-type(odd){
+                                //margin-right: 8%;
+                                margin-right:10px;
+                            }
+                        }
+
+
+                        .life{
+                            .ivu-col{
+                                margin-bottom: 10px;
+                                img{
+                                    height: 87.22px;
+                                }
+                                a{
+                                    font-size: 14px;
+                                    line-height: 20px;
+                                    height: 40px;
+                                    margin-top: 5px;
+                                    white-space: normal;
+                                    overflow: hidden;
+                                    text-overflow: ellipsis;
+                                    display: -webkit-box;
+                                    -webkit-line-clamp: 2;
+                                }
+                            }
+                            .ivu-col:nth-of-type(odd){
+                                margin-right: 8%;
+                            }
+                        }
+
+                        .culture{
+                            margin-bottom: 10px;
+                            li{
+                                height: 30px;
+                                line-height: 30px;
+                                padding: 0 10px;
+                            }
+                            li:nth-of-type(odd){
+                                background-color: #eaeaea;
+                            }
+                            a{
+                                font-size: 14px;
+                            }
+                        }
+                        .cul-top{
+                            a{
+                                display: inline-block;
+                                margin: 10px 0;
+                                font-size: 16px;
+                                color:#1d4187
+                            }
+                        }
+                        .service{
+                            .service-list{
+                                border: 1px solid #ccc;
+                                padding: 10px;
+                                border-radius: 5px;
+                                margin-bottom: 10px;
+                                img{
+                                    width: 80px;
+                                    float: left;
+                                    margin-right: 10px;
+                                }
+                                li{
+                                    a{
+                                        font-size: 12px;
+                                    }
+                                }
+                            }
+                        }
+                        .wiki{
+                            li{
+                                margin: 10px 0;
+                                list-style:none;
+                                a{
+                                    display: block;
+                                    height: 30px;
+                                    line-height: 30px;
+                                    img{
+                                        width: 20px;
+                                        margin-right: 10px;
+                                    }
+                                }
+                            }
+                        }
+                        .wiki-top{
+                            p{
+                                font-size: 14px;
+                            }
+                        }
+                    }
+                }
+            }
+            // .list-both-width,.list-both-width-l{
+            //     :last-child{
+            //         margin-right:0px;
+            //     }
+            // }
+        }
+        .m-act-img{
+            display: inline-flex;
+            width: 100%;
+            .ads-l{
+                width: 64%;
+                margin-right: 1%;
+            }
+            .ads-r{
+                margin-left: 1%;
+                width: 34%;
+            }
+            img{
+                width: 100%;
+                height: 80px;
+            }
+        }
+        .public-tit{
+            height:42px;
+            line-height:42px;
+            border-top:1px solid #cecece;
+            h4{
+                font-size:16px;
+                //font-weight: bold;
+                padding:0 10px;
+                border-top: 2px solid;
+                margin-top:-1px;
+                display: inline-block;
+            }
+            a{
+                float: right;
+                color:#999;
+                font-size: 15px
+            }
+        }
+        .photoText,.photoText-v{
+            height: 96px;
+            padding-bottom: 10px;
+            border-bottom: 1px dashed #c6c6c6;
+            display: inline-flex;
+            width: 100%;
+            a{
+                color: #214b75;
+                text-decoration: none;
+                font-size: 16px;
+            }
+            img{
+                width: 120px;
+                height: 80px;
+            }
+            .textInfo,.textInfo-v{
+                width: 205px;
+                float: right;
+                dt{
+                    height: 22px;
+                    width:100%;
+                    padding-left: 8px;
+                    line-height: 22px;
+                    font-size: 15px;
+                    //font-weight: bold;
+                    overflow: hidden;
+                    text-overflow:ellipsis;
+                    white-space: nowrap;
+                }
+                dd{
+                    margin-top: 2px;
+                    padding: 0 8px;
+                    line-height: 20px;
+                    font-size: 12px;
+                    color: #27496e;
+                }
+            }
+            .textInfo-v{
+                width: 100%;
+                dd{
+                    height: 60px;
+                }
+            }
+        }
+        .photoText-v{
+            height: 85px;
+            display: inline-block;
+            width: 100%;
+        }
+        .public-ul-li{
+            li {
+                display: grid;
+                white-space:nowrap;
+                overflow:hidden;
+                text-overflow:ellipsis;
+                a{
+                    font-size:13px;
+                    color:#393939;
+                    line-height:30px;
+                    display:block;
+                    cursor: pointer;
+                    margin:0 5px;
+                    white-space:nowrap;
+                    overflow:hidden;
+                    text-overflow:ellipsis;
+                }
+            }
+
+        }
+        .text4adlist{
+            display: inline-grid;
+            li {
+                height: 26px;
+                display: block;
+                padding-left: 10px;
+                font-size: 14px;
+                line-height: 26px;
+                background: url(../img/blue_ico.jpg)no-repeat left center;
+                overflow: hidden;
+                a{
+                    line-height: 26px;
+                    font-size: 13px;
+                    color: #393939;
+                }
+            }
+        }
+        .public-content{
+            display: inline-flex;
+            width: 100%;
+            padding-left:10px;
+            .public-content-l{
+                width: 49%;
+                margin-right: 1%;
+            }
+            .public-content-r{
+                width: 49%;
+                margin-left: 1%;
+                margin-right: 2%;
+            }
+            .gxgd1,.gxgd2,.gxgd3{
+                padding-bottom: 0px;
+                padding-top: 0px;
+                margin-bottom: 15px;
+                height: 120px;
+                border-bottom: 1px dashed #ccc;
+                width: 100%;
+                dt{
+                    width: 100%;
+                    overflow: hidden;
+                    text-overflow:ellipsis;
+                    white-space: nowrap;
+                    a{
+                        font-family: "微软雅黑";
+                        font-size: 16px;
+                        //font-weight: bold;
+                        line-height: 36px;
+                        color: #1d4187;
+                    }
+                }
+                dd{
+                    font-family: "宋体";
+                    font-size: 12px;
+                    padding-bottom: 10px;
+                    line-height: 18px;
+                }
+            }
+            .gxgd3 {height: auto;}
+            .public-list-img{
+                margin:0px 0 10px;
+                position:relative;
+                img{
+                    width:310px;
+                    height: 172px;
+                }
+                p{
+                    color:#fff;
+                    font-weight: bold;
+                    height:38px;
+                    line-height:38px;
+                    background:rgba(0,0,0,0.3);
+                    position:absolute;
+                    bottom:0px;
+                    width:93%;
+                    padding:0 3%;
+                    overflow: hidden;
+                    text-overflow:ellipsis;
+                    white-space: nowrap;
+                }
+            }
+            .attention{
+                h4{
+                    background: url(../img/attention_ico.jpg) no-repeat left center;
+                    height: 24px;
+                    padding-left: 10px;
+                    line-height: 24px;
+                    font-size: 14px;
+                    //font-weight: bold;
+                    color: #1c6ab3;
+                    margin-bottom: 10px;
+                }
+                a{
+                    float: right;
+                    color: #999;
+                }
+            }
+        }
+        /**返回顶部**/
+        .return-top{
+            position:fixed;
+            bottom:130px;
+            right:50%;
+            margin-right:-700px;
+        }
+
+        .f-friend{
+            background-color: #eee;
+            width: 1200px;
+            margin: auto;
+            .declaration{
+                width: 90%;
+                margin: auto;
+                padding: 10px 0;
+                p:first-child{
+                    font-size: 16px;
+                    font-weight: bold;
+                }
+            }
+        }
+    }
+
+}

+ 116 - 0
assets/style/index.scss

@@ -0,0 +1,116 @@
+@import './header.scss';
+@import './footer.scss';
+@import './homePage.scss';
+body{
+    -moz-osx-font-smoothing: grayscale;
+    -webkit-font-smoothing: antialiased;
+    text-rendering: optimizeLegibility;
+    font-family: Microsoft Yahei,Arial,Arial,tahoma,Helvetica,sans-serif;
+    font-size: 14px;
+    background-color: #f7f7f7;
+    .fl{ float:left}
+    .fr{float:right}
+    .clear{clear:both}
+    .auto{
+        width:1200px;
+        margin:0 auto
+    }    
+    .clearfix:after { 
+        visibility: hidden; 
+        display: block; 
+        font-size: 0; 
+        content: " "; 
+        clear: both; 
+        height: 0; 
+    } 
+    .wgw-color{color:#1c6ab3;}  
+    .wgw-bg{background:#1c6ab3;}
+    header,section,article,footer,nav{display: block} 
+}
+
+*,
+*:before,
+*:after {
+  box-sizing: inherit;
+}
+
+*{
+  margin: 0;
+  padding: 0;
+  // -moz-user-select:none;
+  // -webkit-user-select:none;
+  -webkit-tap-highlight-color:transparent;
+}
+h1,h2,h3,h4,h5,h6{
+  font-weight:normal;
+}
+div:focus{
+  outline: none;
+}
+
+a:focus,
+a:active {
+  outline: none;
+}
+
+a,
+a:focus,
+a:hover {
+  cursor: pointer;
+  font-family: 'MicrosoftYaHeiLight', 'Microsoft YaHei Light', 'Microsoft YaHei';
+  // color: -webkit-link;
+  color: #257FEB;
+  text-decoration: none;
+}
+a{
+  color: #393939;
+}
+
+ol,
+ul {
+    list-style: none;
+    li{
+        text-align: left;
+        overflow: hidden;
+        // text-overflow:ellipsis;
+        // white-space: nowrap;
+    }
+}
+
+img {
+    border: 0;
+    vertical-align: middle;
+    width: 100%;
+}
+
+i {
+  font-style:normal
+}
+
+.line-one{
+  overflow: hidden;
+  text-overflow:ellipsis;
+  white-space: nowrap;
+}
+.line-n{
+  overflow: hidden;
+  text-overflow: ellipsis;  
+  display: -webkit-box;
+  -webkit-line-clamp: 3;
+    
+}
+.line-two{
+  overflow: hidden;
+  text-overflow: ellipsis;  
+  display: -webkit-box;
+  -webkit-line-clamp: 2;
+    
+}
+.icon {
+   width: 2em; 
+   height: 2em;
+   vertical-align: -0.15em;
+   fill: currentColor;
+   overflow: hidden;
+}
+

+ 79 - 0
components/Logo.vue

@@ -0,0 +1,79 @@
+<template>
+  <div class="VueToNuxtLogo">
+    <div class="Triangle Triangle--two"/>
+    <div class="Triangle Triangle--one"/>
+    <div class="Triangle Triangle--three"/>
+    <div class="Triangle Triangle--four"/>
+  </div>
+</template>
+
+<style>
+.VueToNuxtLogo {
+  display: inline-block;
+  animation: turn 2s linear forwards 1s;
+  transform: rotateX(180deg);
+  position: relative;
+  overflow: hidden;
+  height: 180px;
+  width: 245px;
+}
+
+.Triangle {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 0;
+  height: 0;
+}
+
+.Triangle--one {
+  border-left: 105px solid transparent;
+  border-right: 105px solid transparent;
+  border-bottom: 180px solid #41b883;
+}
+
+.Triangle--two {
+  top: 30px;
+  left: 35px;
+  animation: goright 0.5s linear forwards 3.5s;
+  border-left: 87.5px solid transparent;
+  border-right: 87.5px solid transparent;
+  border-bottom: 150px solid #3b8070;
+}
+
+.Triangle--three {
+  top: 60px;
+  left: 35px;
+  animation: goright 0.5s linear forwards 3.5s;
+  border-left: 70px solid transparent;
+  border-right: 70px solid transparent;
+  border-bottom: 120px solid #35495e;
+}
+
+.Triangle--four {
+  top: 120px;
+  left: 70px;
+  animation: godown 0.5s linear forwards 3s;
+  border-left: 35px solid transparent;
+  border-right: 35px solid transparent;
+  border-bottom: 60px solid #fff;
+}
+
+@keyframes turn {
+  100% {
+    transform: rotateX(0deg);
+  }
+}
+
+@keyframes godown {
+  100% {
+    top: 180px;
+  }
+}
+
+@keyframes goright {
+  100% {
+    left: 70px;
+  }
+}
+</style>

+ 7 - 0
components/README.md

@@ -0,0 +1,7 @@
+# COMPONENTS
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+The components directory contains your Vue.js Components.
+
+_Nuxt.js doesn't supercharge these components._

+ 7 - 0
layouts/README.md

@@ -0,0 +1,7 @@
+# LAYOUTS
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+This directory contains your Application Layouts.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts).

+ 11 - 0
layouts/default.vue

@@ -0,0 +1,11 @@
+<template>
+  <div>
+
+    <nuxt/>
+
+  </div>
+</template>
+
+<style>
+
+</style>

+ 8 - 0
middleware/README.md

@@ -0,0 +1,8 @@
+# MIDDLEWARE
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+This directory contains your application middleware.
+The middleware lets you define custom function to be ran before rendering a page or a group of pages (layouts).
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).

+ 79 - 0
nuxt.config.js

@@ -0,0 +1,79 @@
+const pkg = require('./package')
+
+module.exports = {
+  mode: 'universal',
+
+  /*
+  ** Headers of the page
+  */
+  head: {
+    title: pkg.name,
+    meta: [
+      { charset: 'utf-8' },
+      { name: 'viewport', content: 'width=device-width, initial-scale=1' },
+      { hid: 'description', name: 'description', content: pkg.description }
+    ],
+    link: [
+      { rel: 'stylesheet', type: 'text/css', href: '/swiper.min.css' },
+      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
+
+    ]
+  },
+
+  /*
+  ** Customize the progress-bar color
+  */
+  loading: { color: '#fff' },
+
+  /*
+  ** Global CSS
+  */
+  css: [
+    "iview/dist/styles/iview.css",
+    "@/assets/style/index.scss",
+    "@/assets/iconfont/iconfont.css",
+  ],
+  /*
+  ** Plugins to load before mounting the App
+  */
+  plugins: [
+    { src: '~plugins/iview.js', ssr: true },
+    { src: '~plugins/lazy.js', ssr: true },
+    { src: '~plugins/plugins.js', ssr: false },
+  ],
+
+  /*
+  ** Nuxt.js modules
+  */
+  modules: [
+    '@nuxtjs/axios',
+  ],
+  /*
+  ** Axios module configuration
+  */
+  axios: {
+    // See https://github.com/nuxt-community/axios-module#options
+    // prefix: '/api/',
+    // proxy: true // Can be also an object with default options
+  },
+
+  // proxy: {
+  //   '/api/': { target: 'http://localhost:8080', pathRewrite: {'^/api/': ''} }
+  // },
+
+  /*
+  ** Build configuration
+  */
+  build: {
+    /*
+    ** You can extend webpack config here
+    */
+    extend(config, { isDev, isClient }) {
+
+      // const vueLoader = config.module.rules.find((rule) => rule.loader === 'vue-loader');
+      //
+      // vueLoader.options.loaders.sass = 'vue-style-loader!css-loader!sass-loader';
+
+    }
+  }
+}

Разлика између датотеке није приказан због своје велике величине
+ 10194 - 0
package-lock.json


+ 32 - 0
package.json

@@ -0,0 +1,32 @@
+{
+  "name": "asean_nuxt",
+  "version": "1.0.0",
+  "description": "My magnificent Nuxt.js project",
+  "author": "wangyong",
+  "private": true,
+  "scripts": {
+    "dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server",
+    "build": "nuxt build",
+    "start": "cross-env NODE_ENV=production node server/index.js",
+    "generate": "nuxt generate"
+  },
+  "dependencies": {
+    "@nuxtjs/axios": "^5.0.0",
+    "cross-env": "^5.2.0",
+    "express": "^4.16.3",
+    "iview": "^3.1.5",
+    "nuxt": "^2.0.0",
+    "vue-awesome-swiper": "^3.1.3",
+    "vue-lazyload": "^1.2.6"
+  },
+  "devDependencies": {
+    "eslint-config-prettier": "^3.1.0",
+    "eslint-plugin-prettier": "2.6.2",
+    "iview-loader": "^1.2.2",
+    "node-sass": "^4.10.0",
+    "nodemon": "^1.11.0",
+    "prettier": "1.14.3",
+    "sass-loader": "^7.1.0",
+    "scss-loader": "0.0.1"
+  }
+}

+ 6 - 0
pages/README.md

@@ -0,0 +1,6 @@
+# PAGES
+
+This directory contains your Application Views and Routes.
+The framework reads all the `*.vue` files inside this directory and create the router of your application.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).

+ 23 - 0
pages/content/index.vue

@@ -0,0 +1,23 @@
+<template>
+  <div>
+    我是服务端渲染
+    <p>
+      {{focusNews}}
+    </p>
+    <div>
+      {{mainData}}
+    </div>
+
+  </div>
+</template>
+<script>
+  import {  mainAd,listColumnInfo } from '~/api/homePage';
+  import axios from 'axios';
+  export default{
+     async asyncData(){
+       let main = await mainAd();
+       let bbb= await listColumnInfo({reqdata:{columnIds:'2,3,43,23,41,14,17,19,20,21,9,11,12,13'}});
+       return {focusNews:main,mainData:bbb}
+    },
+  }
+</script>

+ 452 - 0
pages/index.vue

@@ -0,0 +1,452 @@
+<template>
+  <div class="m-box" :style="{height:boxHeight}">
+    <div class="m-con auto" v-if="mainData">
+      <div class="m1-box">
+        <div class="m1-box-fl fl">
+          <div class="m1-news-img" >
+            <swiper :options="swiperOptionTop" class="gallery-top" ref="swiperTop" v-if="swiperStatic">
+              <swiper-slide v-for="(item,index) in swiperList" :key="index">
+                <nuxt-link :to="'/content/'+item.infoId"  tag="a" target="_blank">
+                  <img :src="item.path"><p class="line-one">{{item.title}}</p>
+                </nuxt-link>
+              </swiper-slide>
+              <div class="swiper-button-next swiper-button-white" slot="button-next"></div>
+              <div class="swiper-button-prev swiper-button-white" slot="button-prev"></div>
+            </swiper>
+            <img src="@/static/loading.png" style="height:498px;width:692px;margin-left:38px;" v-if="!swiperStatic"/>
+          </div>
+        </div>
+        <div class="m1-box-fr fr">
+          <div class="m1-fr-news-list clear">
+            <div class='mt'>
+              <h4>观察</h4>
+              <hr></hr>
+            </div>
+            <ul>
+              <li v-for="(item,index) in mainData[23]">
+                <nuxt-link @mouseover.native="showRemark(index)" class="line-one" :to="'/content/'+item.infoId" tag="a" target="_blank">{{item.title}}</nuxt-link>
+                <div class="remark" v-if="showIndex==index">
+                  <p class="line-n" style="-webkit-box-orient: vertical;">{{item.summary}}</p>
+                </div>
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+      <div class="m-list clearfix">
+        <div class="fl list-both-width-l">
+          <Row class="english">
+            <Col :span="11" v-for="(item,index) in mainData[43]" :key="index">
+            <div class="en-title">
+              <img v-lazy="picPath+item.infoimg" alt="" :key="item.infoId">
+              <nuxt-link :to="'/content/'+item.infoId" style="-webkit-box-orient: vertical;" tag="a" target="_blank">{{item.title}}</nuxt-link>
+            </div>
+            </Col>
+          </Row>
+          <span class="blue-line"></span>
+          <div class='mt'>
+            <h4>焦点新闻</h4>
+            <hr></hr>
+          </div>
+          <div class="content-item" v-for="item in focusNews">
+            <img v-lazy="picPath+item.infoimg" alt="" :key="item.infoId">
+            <div class="content-text">
+              <nuxt-link :to="'/content/'+item.infoId" class="line-one" style="-webkit-box-orient: vertical;" tag="a" target="_blank">{{item.title}}</nuxt-link>
+              <p style="-webkit-box-orient: vertical;">{{item.summary}}</p>
+              <div class="source" v-if="item.columnname.includes('—')">
+                <nuxt-link :to="'/lists/'+item.parentcolumnId" class="line-one" style="-webkit-box-orient: vertical;" tag="a" target="_blank">{{item.columnname.split('—')[0]}}</nuxt-link>
+                <span>—</span>
+                <nuxt-link :to="'/lists/'+item.columnId" class="line-one" style="-webkit-box-orient: vertical;" tag="a" target="_blank">{{item.columnname.split('—')[1]}}</nuxt-link>
+                <span>/{{item.uptimeStr}}</span>
+              </div>
+              <div class="source" v-else>
+                <nuxt-link v-if="item.columnname" :to="'/lists/'+item.columnId" class="line-one" style="-webkit-box-orient: vertical;" tag="a" target="_blank">{{item.columnname}}/</nuxt-link>
+                <span>{{item.uptimeStr}}</span>
+              </div>
+            </div>
+          </div>
+          <div class="more-art">
+            <Button shape="circle" @click="moreArt">更多文章</Button>
+          </div>
+        </div>
+        <div class="fl list-both-width">
+          <ul class="add-img">
+            <li v-for="item in adObj">
+              <a :href="item.adurl" target="view_frame" >
+                <img v-lazy="picPath+item.adimg" :key="item.infoId"/>
+              </a>
+            </li>
+          </ul>
+          <div class="column-item">
+            <div class="column-title mt">
+              <span></span>
+              <h4>视频</h4>
+              <div>
+                <nuxt-link to="/lists/3" tag="a" target="_blank">更多</nuxt-link>
+              </div>
+            </div>
+            <div class="column-content">
+              <div class="column-video">
+                <nuxt-link class="iconfont icon-bofang" :to="'/content/'+mainData[3][0].infoId" tag="a" target="_blank">
+                  <img v-lazy="picPath+mainData[3][0].infoimg" alt="">
+                  <p class="line-one">{{mainData[3][0].title}}</p>
+                </nuxt-link>
+              </div>
+              <!--<div class="video">-->
+              <!--<Row >-->
+              <!--<Col :span="11" v-for="(item,index) in mainData[3]" :key="index" v-if="index!=0">-->
+              <!--<div class="content-li" >-->
+              <!--<nuxt-link class="iconfont icon-bofang" :to="'/content/'+item.infoId" tag="a" target="_blank">-->
+              <!--<img v-lazy="picPath+item.infoimg" alt="">-->
+              <!--</nuxt-link>-->
+              <!--<nuxt-link class="vid-til" style="-webkit-box-orient: vertical;" :to="'/content/'+item.infoId" tag="a" target="_blank">{{item.title}}</nuxt-link>-->
+              <!--</div>-->
+
+              <!--</Col>-->
+              <!--</Row>-->
+              <!--</div>-->
+              <div class="video">
+                <Row v-for="(item,index) in mainData[3]" :key="index" v-if="index!=0" class="video-list">
+                  <Col :span="11" >
+                  <div class="content-li" >
+                    <nuxt-link class="iconfont icon-bofang" :to="'/content/'+item.infoId" tag="a" target="_blank">
+                      <img v-lazy="picPath+item.infoimg" alt="" :key="item.infoId">
+                    </nuxt-link>
+                  </div>
+
+                  </Col>
+                  <Col :span="11">
+                  <div class="content-li" >
+                    <nuxt-link class="vid-til" style="-webkit-box-orient: vertical;" :to="'/content/'+item.infoId" tag="a" target="_blank">{{item.title}}</nuxt-link>
+                  </div>
+
+                  </Col>
+                </Row>
+              </div>
+              <!-- <div>
+                  <ul>
+                      <li v-for="(item,index) in mainData[3]">
+                          <div class="content-li" v-if="index!=0">
+                              <nuxt-link class="iconfont icon-bofang" :to="'/content/'+item.infoId" tag="a" target="_blank">
+                                  <img v-lazy="picPath+item.infoimg" alt="">
+                              </nuxt-link>
+                              <nuxt-link :to="'/lists/'+item.infoId" class="line-one" style="-webkit-box-orient: vertical;" tag="a" target="_blank">{{item.title}}</nuxt-link>
+                          </div>
+                      </li>
+                  </ul>
+              </div> -->
+            </div>
+          </div>
+          <div class="column-item">
+            <div class="column-title mt">
+              <span></span>
+              <h4 @mouseenter="changeLiftColData(2)" >生活</h4>
+              <div>
+                <nuxt-link @mouseenter.native="changeLiftColData(9)" to="/lists/9" tag="a" target="_blank">旅游</nuxt-link>
+                <nuxt-link @mouseenter.native="changeLiftColData(11)" to="/lists/11" tag="a" target="_blank">美食</nuxt-link>
+                <nuxt-link @mouseenter.native="changeLiftColData(12)" to="/lists/12" tag="a" target="_blank">健康</nuxt-link>
+                <nuxt-link @mouseenter.native="changeLiftColData(13)" to="/lists/13" tag="a" target="_blank">流行风</nuxt-link>
+              </div>
+            </div>
+            <div class="column-content">
+              <Row class="life">
+                <Col :span="11" v-for="(item,index) in lifeColumnData" :key="index">
+                <img v-lazy="picPath+item.infoimg" alt="" :key="item.infoId">
+                <nuxt-link style="-webkit-box-orient: vertical;" :to="'/content/'+item.infoId" tag="a" target="_blank">{{item.title}}</nuxt-link>
+                </Col>
+              </Row>
+            </div>
+          </div>
+          <div class="column-item">
+            <div class="column-title mt">
+              <span></span>
+              <h4>文化</h4>
+              <div>
+                <nuxt-link to="/lists/24" tag="a" target="_blank">玄学</nuxt-link>
+                <nuxt-link to="/lists/8" tag="a" target="_blank">娱乐</nuxt-link>
+                <nuxt-link to="/lists/10" tag="a" target="_blank">文艺</nuxt-link>
+              </div>
+            </div>
+            <div class="column-content">
+              <div class="cul-top">
+                <img v-lazy="picPath+mainData[41][0].infoimg" alt="">
+                <nuxt-link :to="'/content/'+mainData[41][0].infoId" tag="a" target="_blank">{{mainData[41][0].title}}</nuxt-link>
+              </div>
+              <div class="culture">
+                <ul>
+                  <li v-for="(item,index) in mainData[41]" v-if="index!=0" class="line-one">
+                    <nuxt-link  :to="'/content/'+item.infoId" tag="a" target="_blank">{{item.title}}</nuxt-link>
+                  </li>
+                </ul>
+              </div>
+            </div>
+          </div>
+
+          <div class="column-item">
+            <div class="column-title mt">
+              <span></span>
+              <h4>服务</h4>
+            </div>
+            <div class="column-content">
+              <div class="service">
+                <div class="service-list">
+                  <img src="~/assets/img/20.png" alt="">
+                  <ul>
+                    <li class="line-one" v-for="item in mainData[20]">
+                      <nuxt-link :to="'/content/'+item.infoId" tag="a" target="_blank">{{item.title}}</nuxt-link>
+                    </li>
+                  </ul>
+                </div>
+                <div class="service-list">
+                  <img src="~/assets/img/21.png" alt="">
+                  <ul>
+                    <li class="line-one" v-for="item in mainData[21]">
+                      <nuxt-link :to="'/content/'+item.infoId" tag="a" target="_blank">{{item.title}}</nuxt-link>
+                    </li>
+                  </ul>
+                </div>
+                <div class="service-list">
+                  <img src="~/assets/img/19.png" alt="">
+                  <ul>
+                    <li class="line-one" v-for="item in mainData[19]">
+                      <nuxt-link :to="'/content/'+item.infoId" tag="a" target="_blank">{{item.title}}</nuxt-link>
+                    </li>
+                  </ul>
+                </div>
+                <div class="service-list">
+                  <img src="~/assets/img/17.png" alt="">
+                  <ul>
+                    <li class="line-one" v-for="item in mainData[17]">
+                      <nuxt-link :to="'/content/'+item.infoId" tag="a" target="_blank">{{item.title}}</nuxt-link>
+                    </li>
+                  </ul>la
+                </div>
+                <div class="service-list">
+                  <img src="~/assets/img/14.png" alt="">
+                  <ul>
+                    <li class="line-one" v-for="item in mainData[14]">
+                      <nuxt-link :to="'/content/'+item.infoId" tag="a" target="_blank">{{item.title}}</nuxt-link>
+                    </li>
+                  </ul>
+                </div>
+              </div>
+            </div>
+          </div>
+          <div class="column-item" style="margin-bottom:10px;">
+            <div class="column-title mt">
+              <span></span>
+              <h4>词条</h4>
+            </div>
+            <div class="column-content">
+              <div class="wiki-top">
+                <p>中国-东盟自由贸易区&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;中国-东盟信息港</p>
+                <p>东南亚国家联盟&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;中国-东盟博览会&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一带一路</p>
+              </div>
+              <div>
+                <Row class="wiki">
+                  <Col :span="8">
+                  <li>
+                    <nuxt-link to="/lists/5"><img src="~/assets/img/ten_icon/kh.png" tag="a" target="_blank">柬埔寨</nuxt-link>
+                  </li>
+                  </Col>
+                  <Col :span="8">
+                  <li>
+                    <nuxt-link to="/lists/5"><img src="~/assets/img/ten_icon/bn.png" tag="a" target="_blank">文莱</nuxt-link>
+                  </li>
+                  </Col>
+                  <Col :span="8">
+                  <li>
+                    <nuxt-link to="/lists/5"><img src="~/assets/img/ten_icon/id.png" tag="a" target="_blank">印尼</nuxt-link>
+                  </li>
+                  </Col>
+                  <Col :span="8">
+                  <li>
+                    <nuxt-link to="/lists/5"><img src="~/assets/img/ten_icon/sg.png" tag="a" target="_blank">新加坡</nuxt-link>
+                  </li>
+                  </Col>
+                  <Col :span="8">
+                  <li>
+                    <nuxt-link to="/lists/5"><img src="~/assets/img/ten_icon/vn.png" tag="a" target="_blank">越南</nuxt-link>
+                  </li>
+                  </Col>
+                  <Col :span="8">
+                  <li>
+                    <nuxt-link to="/lists/5"><img src="~/assets/img/ten_icon/mm.png" tag="a" target="_blank">缅甸</nuxt-link>
+                  </li>
+                  </Col>
+                  <Col :span="8">
+
+                  <li>
+                    <nuxt-link to="/lists/5"><img src="~/assets/img/ten_icon/ph.png" tag="a" target="_blank">菲律宾</nuxt-link>
+                  </li>
+                  </Col>
+                  <Col :span="8">
+                  <li>
+                    <nuxt-link to="/lists/5"><img src="~/assets/img/ten_icon/la.png" tag="a" target="_blank">老挝</nuxt-link>
+                  </li>
+                  </Col>
+                  <Col :span="8">
+                  <li>
+                    <nuxt-link to="/lists/5"><img src="~/assets/img/ten_icon/th.png" tag="a" target="_blank">泰国</nuxt-link>
+                  </li>
+                  </Col>
+                  <Col :span="8">
+                  <li>
+                    <nuxt-link to="/lists/5"><img src="~/assets/img/ten_icon/my.png" tag="a" target="_blank">马来西亚</nuxt-link>
+                  </li>
+                  </Col>
+                </Row>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div @click="returnTop" class="return-top"></div>
+      <div class="f-friend">
+        <Row>
+          <Col :span="14">
+          <div class="declaration">
+            <p>版权声明</p>
+            <p>本网站部分信息来源于互联网络,如有侵犯版权,请联系我们及时处理。凡注明“来源:东盟头条”的所有作品,均为东盟头条新闻社、东盟头条新闻网以及东盟头条APP合法拥有版权或有权使用的作品,欢迎媒体转载。</p>
+          </div>
+
+          </Col>
+          <Col :span="10">
+          <div class="declaration">
+            <p>联系我们</p>
+            <ul>
+              <li>地址:柬埔寨王国金边市堆谷区606路38号</li>
+              <li>电话:00855-023235388   传真:00855-023235389</li>
+              <li>电子邮箱:aseantop@163.com</li>
+            </ul>
+          </div>
+
+          </Col>
+        </Row>
+      </div>
+    </div>
+    <!--<Spin fix size="large" v-if="!mainData"></Spin>-->
+  </div>
+</template>
+<script>
+  import { mainAd, getMainData, listColumnInfo, listFocusInfo, listWordbar } from '~/api/homePage';
+  export default {
+    data() {
+      return {
+        picPath: 'http://pic-asean2.oss-cn-hongkong.aliyuncs.com/',
+        suffix:'?x-oss-process=image/watermark,image_d2F0ZXJtYXJrL3dtMS5wbmc_eC1vc3MtcHJvY2Vzcz1pbWFnZS9yZXNpemUsUF8zMA==,g_se,x_10,y_10,t_70',
+        swiperList: [],
+        adObj: {},
+        mainData: null,
+        focusNews:null,
+        showIndex:5,
+        lifeColumnKey: 2,
+        lifeColumnData: [],
+        swiperOptionTop: {
+          spaceBetween: 10,
+          loop: true,
+          loopedSlides: 5, //looped slides should be the same
+          navigation: {
+            nextEl: '.swiper-button-next',
+            prevEl: '.swiper-button-prev'
+          },
+          autoplay: {
+            delay: 2500,
+            disableOnInteraction: false
+          },
+        },
+        swiperOptionThumbs: {
+          spaceBetween: 10,
+          slidesPerView: 4,
+          touchRatio: 0.2,
+          loop: true,
+          loopedSlides: 5, //looped slides should be the same
+          slideToClickedSlide: true,
+        },
+//        boxHeight:document.documentElement.clientHeight-295+"px"//页面的默认高度
+        boxHeight:500+'px',
+        swiperStatic:false,
+
+      };
+    },
+    async asyncData(){
+      let swiperListArray = [];
+      let [adObj, mainData,focusNews,swiperList] = await Promise.all([
+        mainAd(),
+        listColumnInfo({reqdata:{columnIds:'2,3,43,23,41,14,17,19,20,21,9,11,12,13'}}),
+        listFocusInfo({"page": "1","rows": "16", "reqdata": {"type": "focus"}}),
+        listFocusInfo({"page": "1","rows": "16", "reqdata": {"type": "recommend"}})
+      ])
+
+      swiperList.list.map(item => {
+        swiperListArray.push({
+            path: 'http://pic-asean2.oss-cn-hongkong.aliyuncs.com/' + item.infoimg,
+            infoId: item.infoId,
+            title:item.title
+          });
+        });
+
+      return {
+        adObj:adObj.object,
+        mainData:mainData.object,
+        lifeColumnData:mainData.object[2],
+        focusNews:focusNews.list,
+        swiperList:swiperListArray
+      }
+    },
+    mounted() {
+      this.swiperStatic=true;
+    },
+    updated(){
+      this.$nextTick(() => {
+        const swiperTop = this.$refs.swiperTop.swiper
+        // const swiperThumbs = this.$refs.swiperThumbs.swiper
+        // swiperTop.controller.control = swiperThumbs
+        // swiperThumbs.controller.control = swiperTop
+      })
+    },
+    methods: {
+      returnTop() {
+        window.scrollTo(0, 0);
+      },
+      showRemark(index){
+        this.showIndex=index;
+      },
+      moreArt(){
+        this.$router.push({name:'lists',params:{id:'focus'}});
+      },
+
+      changeLiftColData(columnId){
+        this.lifeColumnData=this.mainData[columnId]
+      }
+    }
+  };
+</script>
+<style lang="scss" scoped>
+  .swiper-container {
+    background-color: #000;
+    // opacity: 0.8;
+  }
+  .swiper-slide {
+    background-size: cover;
+    background-position: center;
+  }
+  .gallery-top {
+    height: 80%!important;
+    width: 100%;
+  }
+  .gallery-thumbs {
+    height: 20%!important;
+    box-sizing: border-box;
+    padding: 10px 0;
+  }
+  .gallery-thumbs .swiper-slide {
+    width: 25%;
+    height: 100%;
+    opacity: 0.4;
+  }
+  .gallery-thumbs .swiper-slide-active {
+    opacity: 1;
+  }
+</style>
+

+ 7 - 0
plugins/README.md

@@ -0,0 +1,7 @@
+# PLUGINS
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+This directory contains your Javascript plugins that you want to run before mounting the root Vue.js application.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins).

+ 49 - 0
plugins/axios.js

@@ -0,0 +1,49 @@
+import axios from 'axios';
+import {
+  Message,
+  MessageBox
+} from 'iview'
+
+const ajaxUrl = 'http://a2.aseantop.com/app';
+const service = axios.create({
+  baseURL: ajaxUrl,
+  timeout: 30000
+});
+
+service.title = function (title) {
+  title = title ? title : '东盟头条—聚焦东盟 关注中国 放眼世界';
+  window.document.title = title;
+};
+
+service.interceptors.response.use(
+
+  response => {
+
+    /**
+     * code为非20000是抛错 可结合自己业务进行修改
+     */
+    const res = response;
+    //todo 修改.现在未有token
+
+    if (response.status !== 200) {
+      Message.error({
+        content: res.data,
+        duration: 5 * 1000
+      });
+
+      return Promise.reject('error')
+    } else {
+      return response.data
+    }
+  },
+  error => {
+    Message.error({
+      content: error.message,
+      duration: 5 * 1000
+    })
+    return Promise.reject(error)
+  }
+)
+
+
+export default service;

+ 7 - 0
plugins/iview.js

@@ -0,0 +1,7 @@
+/**
+ * Created by zaki on 2018/12/1.
+ */
+import Vue from 'vue'
+import iView from 'iview';
+
+Vue.use(iView);

+ 7 - 0
plugins/lazy.js

@@ -0,0 +1,7 @@
+import Vue from 'vue';
+import vueLazyload from "vue-lazyload";
+
+Vue.use(vueLazyload,{
+  error:"./loading.png",
+  loading:"./loading.png"
+});

+ 6 - 0
plugins/plugins.js

@@ -0,0 +1,6 @@
+import Vue from 'vue'
+import VueAwesomeSwiper from 'vue-awesome-swiper'
+Vue.use(VueAwesomeSwiper);
+
+
+

+ 8 - 0
plugins/swiper.js

@@ -0,0 +1,8 @@
+/**
+ * Created by zaki on 2018/12/1.
+ */
+
+import Vue from 'vue'
+import VueAwesomeSwiper from 'vue-awesome-swiper'
+
+Vue.use(VueAwesomeSwiper);

+ 35 - 0
server/index.js

@@ -0,0 +1,35 @@
+
+const express = require('express')
+const consola = require('consola')
+const { Nuxt, Builder } = require('nuxt')
+const app = express()
+const host = process.env.HOST || '127.0.0.1'
+const port = process.env.PORT || 3000
+
+app.set('port', port)
+
+// Import and Set Nuxt.js options
+let config = require('../nuxt.config.js')
+config.dev = !(process.env.NODE_ENV === 'production')
+
+async function start() {
+  // Init Nuxt.js
+  const nuxt = new Nuxt(config)
+
+  // Build only in dev mode
+  if (config.dev) {
+    const builder = new Builder(nuxt)
+    await builder.build()
+  }
+
+  // Give nuxt middleware to express
+  app.use(nuxt.render)
+
+  // Listen the server
+  app.listen(port, host)
+  consola.ready({
+    message: `Server listening on http://${host}:${port}`,
+    badge: true
+  })
+}
+start()

+ 10 - 0
static/README.md

@@ -0,0 +1,10 @@
+# STATIC
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+This directory contains your static files.
+Each file inside this directory is mapped to `/`.
+
+Example: `/static/robots.txt` is mapped as `/robots.txt`.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).

BIN
static/favicon.ico


BIN
static/loading.png


Разлика између датотеке није приказан због своје велике величине
+ 12 - 0
static/swiper.min.css


+ 10 - 0
store/README.md

@@ -0,0 +1,10 @@
+# STORE
+
+**This directory is not required, you can delete it if you don't want to use it.**
+
+This directory contains your Vuex Store files.
+Vuex Store option is implemented in the Nuxt.js framework.
+
+Creating a file in this directory activate the option in the framework automatically.
+
+More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).

Разлика између датотеке није приказан због своје велике величине
+ 5994 - 0
yarn.lock