Jing 3 сар өмнө
parent
commit
45881540ae
100 өөрчлөгдсөн 1483 нэмэгдсэн , 623 устгасан
  1. 7 0
      .env.dev
  2. 3 1
      .env.development
  3. 5 0
      .env.fengrui
  4. 7 0
      .env.liujian
  5. 7 0
      .env.liujiawei
  6. 7 0
      .env.master
  7. 7 0
      .env.mock
  8. 10 1
      .env.production
  9. BIN
      html/favicon.ico
  10. 0 22
      html/index.html
  11. BIN
      html/static/fonts/element-icons.27c72091.ttf
  12. BIN
      html/static/fonts/element-icons.535877f5.woff
  13. BIN
      html/static/fonts/element-icons.732389de.ttf
  14. BIN
      html/static/fonts/element-icons.9b70ee41.woff
  15. BIN
      html/static/img/401.089007e7.gif
  16. BIN
      html/static/img/404.a57b6f31.png
  17. BIN
      html/static/img/404_cloud.0f4bc32b.png
  18. BIN
      html/static/img/Picture.1d9ebd24.png
  19. BIN
      html/static/img/admin.aec5a334.png
  20. BIN
      html/static/img/bottom1.4beac894.png
  21. BIN
      html/static/img/bottom2.2ab2b933.png
  22. BIN
      html/static/img/bottom3.dbdf6a22.png
  23. BIN
      html/static/img/bottom4.8c29b6be.png
  24. BIN
      html/static/img/group.73da7670.jpg
  25. BIN
      html/static/img/guanggaowei1.7d8aa632.png
  26. BIN
      html/static/img/guanggaowei2.abfa3344.png
  27. BIN
      html/static/img/link1.af832e99.png
  28. BIN
      html/static/img/link2.0c9c4b61.png
  29. BIN
      html/static/img/pic1.c51c22b6.png
  30. BIN
      html/static/img/pic2.39705314.png
  31. BIN
      html/static/img/pic3.856b5b57.png
  32. BIN
      html/static/img/pic4.c837ef60.png
  33. BIN
      html/static/img/sign1.eb76e48d.png
  34. BIN
      html/static/img/sign2.31eb3bf2.png
  35. BIN
      html/static/img/tui-editor-2x.b4361244.png
  36. BIN
      html/static/img/tui-editor.30dd0f52.png
  37. BIN
      html/static/img/user.ddf087d9.png
  38. 0 10
      html/static/js/0.js
  39. 0 246
      html/static/js/app.js
  40. 0 58
      html/static/js/chunk-vendors.js
  41. 10 1
      package.json
  42. 7 0
      public/index.html
  43. 65 0
      src/api/advertise.js
  44. 27 0
      src/api/chat.js
  45. 87 0
      src/api/cms.js
  46. 48 0
      src/api/link.js
  47. 47 0
      src/api/module.js
  48. 47 0
      src/api/plate.js
  49. 56 0
      src/api/style.js
  50. 76 0
      src/api/tabbar.js
  51. 4 0
      src/api/template.js
  52. 9 0
      src/api/userMember.js
  53. BIN
      src/assets/advertise/sample_graph.png
  54. 0 0
      src/assets/template/component/banner1.png
  55. 0 0
      src/assets/template/component/banner2.png
  56. 0 0
      src/assets/template/component/banner3.png
  57. 0 0
      src/assets/template/component/calendar.png
  58. BIN
      src/assets/template/component/listyle.png
  59. BIN
      src/assets/template/component/newsIcon.png
  60. 0 0
      src/assets/template/component/pictureTitle1.png
  61. 0 0
      src/assets/template/component/pictureTitle2.png
  62. 0 0
      src/assets/template/component/pictureTitle3.png
  63. 0 0
      src/assets/template/component/pictureTitle4.png
  64. 0 0
      src/assets/template/component/pictureTitle5.png
  65. 0 0
      src/assets/template/component/style1imgTitle.png
  66. BIN
      src/assets/template/component/style1topLogo.png
  67. 0 0
      src/assets/template/component/style1topbg.png
  68. 0 0
      src/assets/template/component/titleStyle1.png
  69. BIN
      src/assets/template/component/titleStyle2.png
  70. BIN
      src/assets/template/component/titleStyle3.png
  71. BIN
      src/assets/template/component/titleStyle4.png
  72. BIN
      src/assets/template/preview.png
  73. 0 0
      src/assets/template/sector/bannerSector.png
  74. 0 0
      src/assets/template/sector/commentSector.png
  75. 0 0
      src/assets/template/sector/footerSector.png
  76. 0 0
      src/assets/template/sector/headSector.png
  77. 0 0
      src/assets/template/sector/imgSector.png
  78. BIN
      src/assets/template/sector/imgTitleSector.png
  79. 0 0
      src/assets/template/sector/linkSector.png
  80. 0 0
      src/assets/template/sector/menuSector.png
  81. 0 0
      src/assets/template/sector/moreServicesSector.png
  82. 0 0
      src/assets/template/sector/newsSector.png
  83. 0 0
      src/assets/template/style1.png
  84. 0 0
      src/assets/template/style2.png
  85. 0 0
      src/assets/template/style3.png
  86. 0 0
      src/assets/template/style4.png
  87. 0 0
      src/assets/template/style5.png
  88. 0 0
      src/assets/template/style6.png
  89. 0 0
      src/assets/template/style7.png
  90. 0 0
      src/assets/template/style8.png
  91. 163 0
      src/layout/components/template/componentMenu.vue
  92. 104 0
      src/layout/creatWebsite.vue
  93. 1 0
      src/main.js
  94. 107 280
      src/router/index.js
  95. 345 0
      src/router/modules/dangyunlong.js
  96. 2 1
      src/store/getters.js
  97. 29 1
      src/store/modules/chat.js
  98. 11 1
      src/store/modules/pool.js
  99. 174 0
      src/store/modules/template.js
  100. 11 1
      src/store/modules/userMember.js

+ 7 - 0
.env.dev

@@ -0,0 +1,7 @@
+# just a flag
+ENV = 'dev'
+
+# base api
+VUE_APP_BASE_API = 'http://183.131.25.186:9501'
+# base websocket
+VUE_APP_BASE_WEBSOCKET = 'ws://183.131.25.186:9506'

+ 3 - 1
.env.development

@@ -1,8 +1,10 @@
 # just a flag
 ENV = 'development'
 
+VUE_APP_BASE_WEBSOCKET = 'ws://183.131.25.186:9506'
 # base api
-VUE_APP_BASE_API = '/dev-api'
+VUE_APP_BASE_API = 'http://183.131.25.186:9501'
 '
 
 
+

+ 5 - 0
.env.fengrui

@@ -0,0 +1,5 @@
+# just a flag
+ENV = 'fengrui'
+
+# base api
+VUE_APP_BASE_API = 'http://192.168.1.115:9501'

+ 7 - 0
.env.liujian

@@ -0,0 +1,7 @@
+# just a flag
+ENV = 'liujian'
+
+# base api
+VUE_APP_BASE_API = 'http://192.168.1.127:9501'
+# base websocket
+VUE_APP_BASE_WEBSOCKET = 'ws://192.168.1.127:9506'

+ 7 - 0
.env.liujiawei

@@ -0,0 +1,7 @@
+# just a flag
+ENV = 'liujiawei'
+
+# base api
+VUE_APP_BASE_API = 'http://192.168.1.201:9501'
+# base websocket
+VUE_APP_BASE_WEBSOCKET = 'ws://192.168.1.201:9506'

+ 7 - 0
.env.master

@@ -0,0 +1,7 @@
+# just a flag
+ENV = 'master'
+
+# base api
+VUE_APP_BASE_API = 'https://admin.bjzxtw.org.cn/zxtapi'
+# base websocket
+VUE_APP_BASE_WEBSOCKET = 'ws://admin.bjzxtw.org.cn:9506'

+ 7 - 0
.env.mock

@@ -0,0 +1,7 @@
+# just a flag
+ENV = 'mock'
+
+# base api
+VUE_APP_BASE_API = 'http://127.0.0.1:4523/m1/4987755-4646495-default'
+# base websocket
+VUE_APP_BASE_WEBSOCKET = 'ws://127.0.0.1:4523/m1/4987755-4646495-default'

+ 10 - 1
.env.production

@@ -1,6 +1,15 @@
 # just a flag
 ENV = 'production'
 
+# 测试环境,当你需要打包到正式环境且需要开启Gzip的时候,你需要使用下面那个
 # base api
-VUE_APP_BASE_API = '/prod-api'
+VUE_APP_BASE_API = 'http://183.131.25.186:9501'
+# base websocket
+VUE_APP_BASE_WEBSOCKET = 'ws://183.131.25.186:9506'
+
+# 正式环境,当你需要打包到测试环境且需要开启Gzip的时候,你需要使用上面那个
+# base websocket
+# VUE_APP_BASE_WEBSOCKET = 'ws://admin.bjzxtw.org.cn:9506'
+# # base api
+# VUE_APP_BASE_API = 'https://admin.bjzxtw.org.cn/zxtapi'
 

BIN
html/favicon.ico


+ 0 - 22
html/index.html

@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="renderer" content="webkit">
-    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
-    <link rel="icon" href="/favicon.ico">
-    <title>政讯通运营管理平台</title>
-    <!-- 引入 Element UI -->
-    <!-- <link rel="stylesheet" href="https://unpkg.com/element-ui@2.13.2/lib/theme-chalk/index.css">
-    <script src="https://unpkg.com/element-ui@2.13.2/lib/index.js"></script>
-    <script src="https://unpkg.com/element-ui@2.13.2/lib/umd/locale/en.js"></script>
-    <script src="https://unpkg.com/element-ui@2.13.2/lib/umd/locale/zh-CN.js"></script> -->
-    <!-- 引入 ECharts -->
-    <!-- <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> -->
-  <link href="/static/js/app.js" rel="preload" as="script"><link href="/static/js/chunk-vendors.js" rel="preload" as="script"></head>
-  <body>
-    <div id="app"></div>
-    <!-- built files will be auto injected -->
-  <script type="text/javascript" src="/static/js/chunk-vendors.js"></script><script type="text/javascript" src="/static/js/app.js"></script></body>
-</html>

BIN
html/static/fonts/element-icons.27c72091.ttf


BIN
html/static/fonts/element-icons.535877f5.woff


BIN
html/static/fonts/element-icons.732389de.ttf


BIN
html/static/fonts/element-icons.9b70ee41.woff


BIN
html/static/img/401.089007e7.gif


BIN
html/static/img/404.a57b6f31.png


BIN
html/static/img/404_cloud.0f4bc32b.png


BIN
html/static/img/Picture.1d9ebd24.png


BIN
html/static/img/admin.aec5a334.png


BIN
html/static/img/bottom1.4beac894.png


BIN
html/static/img/bottom2.2ab2b933.png


BIN
html/static/img/bottom3.dbdf6a22.png


BIN
html/static/img/bottom4.8c29b6be.png


BIN
html/static/img/group.73da7670.jpg


BIN
html/static/img/guanggaowei1.7d8aa632.png


BIN
html/static/img/guanggaowei2.abfa3344.png


BIN
html/static/img/link1.af832e99.png


BIN
html/static/img/link2.0c9c4b61.png


BIN
html/static/img/pic1.c51c22b6.png


BIN
html/static/img/pic2.39705314.png


BIN
html/static/img/pic3.856b5b57.png


BIN
html/static/img/pic4.c837ef60.png


BIN
html/static/img/sign1.eb76e48d.png


BIN
html/static/img/sign2.31eb3bf2.png


BIN
html/static/img/tui-editor-2x.b4361244.png


BIN
html/static/img/tui-editor.30dd0f52.png


BIN
html/static/img/user.ddf087d9.png


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 10
html/static/js/0.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 246
html/static/js/app.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 58
html/static/js/chunk-vendors.js


+ 10 - 1
package.json

@@ -7,17 +7,25 @@
     "dev": "vue-cli-service serve",
     "lint": "eslint --ext .js,.vue src",
     "build:prod": "vue-cli-service build",
+    "build:dev": "vue-cli-service build --mode dev",
+    "build:master": "vue-cli-service build --mode master",
     "build:stage": "vue-cli-service build --mode staging",
     "preview": "node build/index.js --preview",
     "new": "plop",
     "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
     "test:unit": "jest --clearCache && vue-cli-service test:unit",
-    "test:ci": "npm run lint && npm run test:unit"
+    "test:ci": "npm run lint && npm run test:unit",
+    "mock": "cross-env NODE_ENV=development vue-cli-service serve --mode mock",
+    "liujian": "cross-env NODE_ENV=development vue-cli-service serve --mode liujian",
+    "liujiawei": "cross-env NODE_ENV=development vue-cli-service serve --mode liujiawei",
+    "fengrui": "cross-env NODE_ENV=development vue-cli-service serve --mode fengrui",
+    "master": "cross-env NODE_ENV=development vue-cli-service serve --mode master"
   },
   "dependencies": {
     "axios": "0.18.1",
     "clipboard": "2.0.4",
     "codemirror": "5.45.0",
+    "compression-webpack-plugin": "^6.1.1",
     "core-js": "3.6.5",
     "driver.js": "0.9.5",
     "dropzone": "5.5.1",
@@ -63,6 +71,7 @@
     "chalk": "2.4.2",
     "chokidar": "2.1.5",
     "connect": "3.6.6",
+    "cross-env": "^7.0.3",
     "eslint": "6.7.2",
     "eslint-plugin-vue": "6.2.2",
     "html-webpack-plugin": "3.2.0",

+ 7 - 0
public/index.html

@@ -7,6 +7,13 @@
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <title><%= webpackConfig.name %></title>
+    <!-- 引入 Element UI -->
+    <!-- <link rel="stylesheet" href="https://unpkg.com/element-ui@2.13.2/lib/theme-chalk/index.css">
+    <script src="https://unpkg.com/element-ui@2.13.2/lib/index.js"></script>
+    <script src="https://unpkg.com/element-ui@2.13.2/lib/umd/locale/en.js"></script>
+    <script src="https://unpkg.com/element-ui@2.13.2/lib/umd/locale/zh-CN.js"></script> -->
+    <!-- 引入 ECharts -->
+    <!-- <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> -->
   </head>
   <body>
     <div id="app"></div>

+ 65 - 0
src/api/advertise.js

@@ -63,4 +63,69 @@ export const delOrderAdmin=(data)=> {
     method: 'post',
     data
   })
+}
+
+
+//广告位 ----------------------------------------------->
+// 创建广告位
+export const createAdPlace=(data)=> {
+  return request({
+    url: '/ad/createAdPlace',
+    method: 'post',
+    data
+  })
+}
+
+// 广告位列表
+export const getAdPlaceList=(params)=> {
+  return request({
+    url: '/ad/getAdPlaceList',
+    method: 'get',
+    params
+  })
+}
+
+// 删除广告位
+export const delAdPlace=(data)=> {
+  return request({
+    url: '/ad/delAdPlace',
+    method: 'post',
+    data
+  })
+}
+
+// 修改广告位
+export const updateAdPlace=(data)=> {
+  return request({
+    url: '/ad/updateAdPlace',
+    method: 'post',
+    data
+  })
+}
+
+// 获取广告位下面的广告
+export const getAdList=(params)=> {
+  return request({
+    url: '/ad/getAdList',
+    method: 'get',
+    params
+  })
+}
+
+// 获取广告位详情
+export const getAdPlaceInfo=(params)=> {
+  return request({
+    url: '/ad/getAdPlaceInfo',
+    method: 'get',
+    params
+  })
+}
+
+// 获取广告位尺寸
+export const getSize=(data)=> {
+  return request({
+    url: '/order/getAD',
+    method: 'post',
+    data
+  })
 }

+ 27 - 0
src/api/chat.js

@@ -190,6 +190,15 @@ export function updateGroup(data) {
     data
   })
 }
+
+//5.8 编辑群成员
+export function updateGroupMembers(data) {
+  return request({
+    url: '/chat/updateGroupMembers',
+    method: 'post',
+    data
+  })
+}
 //5.群聊 end ------------------------------------->
 
 //6.商圈 start ------------------------------------->
@@ -255,4 +264,22 @@ export function getTopicReply(data) {
     data
   })
 }
+
+//6.8 获取话题分类
+export function topicType(data) {
+  return request({
+    url: '/chat/topicType',
+    method: 'post',
+    data
+  })
+}
+
+//6.9 获取话题状态
+export function topicStatus(data) {
+  return request({
+    url: '/chat/topicStatus',
+    method: 'post',
+    data
+  })
+}
 //6.商圈 end ------------------------------------->

+ 87 - 0
src/api/cms.js

@@ -0,0 +1,87 @@
+import request from '@/utils/request'
+
+//C端网站请求无需token 但需要SiteId start ------------------------------------->
+
+//1.1 获取网站基本信息
+export function getSiteInfo(data) {
+  return request({
+    url: 'web/getSiteInfo',
+    method: 'post',
+    data
+  })
+}
+
+//1.2 获取网站导航池
+export function getSiteCategory(params) {
+  return request({
+    url: '/web/getSiteCategory',
+    method: 'get',
+    params
+  })
+}
+
+//1.3 获取网站底部导航
+export function getFooterCategoryList(params) {
+  return request({
+    url: '/web/getFooterCategoryList',
+    method: 'get',
+    params
+  })
+}
+
+//1.4 底部导航列表-详情
+export function getFooterContentList(params) {
+  return request({
+    url: '/web/getFooterContentList',
+    method: 'get',
+    params
+  })
+}
+
+//1.5 底部导航列表页-详情内容
+export function getFooterContentInfo(params) {
+  return request({
+    url: '/web/getFooterContentInfo',
+    method: 'get',
+    params
+  })
+}
+
+//1.6 获取行政区划
+export function selectWebsiteArea(params) {
+  return request({
+    url: '/web/selectWebsiteArea',
+    method: 'get',
+    params
+  })
+}
+
+//1.7 获取职能部门
+export function selectWebsiteDepartment(params) {
+  return request({
+    url: '/web/selectWebsiteDepartment',
+    method: 'get',
+    params
+  })
+}
+
+//1.8 获取某个站点下的新闻列表
+export function getWebsiteArticlesList(params) {
+  return request({
+    url: '/web/getWebsiteArticlesList',
+    method: 'get',
+    params
+  })
+}
+
+//1.9 获取新闻详情
+export function selectWebsiteArticleInfo(params) {
+  return request({
+    url: '/web/selectWebsiteArticleInfo',
+    method: 'get',
+    params
+  })
+}
+
+
+//C端网站请求无需token start ------------------------------------->

+ 48 - 0
src/api/link.js

@@ -0,0 +1,48 @@
+// 友情链接
+import request from '@/utils/request'
+
+// 获取并搜索友情链接
+export const getLinkList = (params) => {
+    return request({
+        url: '/link/getLinkList',
+        method: 'get',
+        params
+    })
+}
+
+// 获取友情链接详情
+export const getLinkInfo = (params) => {
+    return request({
+        url: '/link/getLinkInfo',
+        method: 'get',
+        params
+    })
+}
+
+// 创建友情链接
+export const createLink = (data) => {
+    return request({
+        url: '/link/createLink',
+        method: 'post',
+        data
+    })
+}
+
+// 删除友情链接
+export const delLink = (data) => {
+    return request({
+        url: '/link/delLink',
+        method: 'post',
+        data
+    })
+}
+
+
+// 修改友情链接
+export const updateLink = (data) => {
+    return request({
+        url: '/link/updateLink',
+        method: 'post',
+        data
+    })
+}

+ 47 - 0
src/api/module.js

@@ -0,0 +1,47 @@
+// 组件
+import request from '@/utils/request'
+
+//获取组件列表
+export const getComponentList = (data) => {
+    return request({
+        url: '/public/getComponentList',
+        method: 'post',
+        data
+    })
+}
+
+//新增组件
+export const addComponent = (data) => {
+    return request({
+        url: '/public/addComponent',
+        method: 'post',
+        data
+    })
+}
+
+//删除组件
+export const delComponent = (data) => {
+    return request({
+        url: '/public/delComponent',
+        method: 'post',
+        data
+    })
+}
+
+//编辑组件
+export const updateComponent = (data) => {
+    return request({
+        url: '/public/updateComponent',
+        method: 'post',
+        data
+    })
+}
+
+//获取组件详情
+export const getComponentInfo = (data) => {
+    return request({
+        url: '/public/getComponentInfo',
+        method: 'post',
+        data
+    })
+}

+ 47 - 0
src/api/plate.js

@@ -0,0 +1,47 @@
+// 版块
+import request from '@/utils/request'
+
+//获取版块列表
+export const getSectorList = (data) => {
+    return request({
+        url: '/public/getSectorList',
+        method: 'post',
+        data
+    })
+}
+
+//新增版块
+export const addSector = (data) => {
+    return request({
+        url: '/public/addSector',
+        method: 'post',
+        data
+    })
+}
+
+//删除版块
+export const delSector = (data) => {
+    return request({
+        url: '/public/delSector',
+        method: 'post',
+        data
+    })
+}
+
+//编辑版块
+export const updateSector = (data) => {
+    return request({
+        url: '/public/updateSector',
+        method: 'post',
+        data
+    })
+}
+
+//获取版块详情
+export const getSectorInfo = (data) => {
+    return request({
+        url: '/public/getSectorInfo',
+        method: 'post',
+        data
+    })
+}

+ 56 - 0
src/api/style.js

@@ -0,0 +1,56 @@
+// 风格
+import request from '@/utils/request'
+
+//获取风格名称
+export const getTemplateClass=(data)=>{
+    return request({
+        url:'/public/getTemplateClass',
+        method:'post',
+        data
+    })
+}
+
+//获取风格列表
+export const getTemplateList = (data) => {
+    return request({
+        url: '/public/getTemplateList',
+        method: 'post',
+        data
+    })
+}
+
+//新增风格
+export const addTemplate = (data) => {
+    return request({
+        url: '/public/addTemplate',
+        method: 'post',
+        data
+    })
+}
+
+//删除风格
+export const delTemplate=(data)=>{
+    return request({
+        url:'/public/delTemplate',
+        method:'post',
+        data
+    })
+}
+
+//更新风格
+export const updateTemplate = (data) => {
+    return request({
+        url: '/public/updateTemplate',
+        method: 'post',
+        data
+    })
+}
+
+//获取风格详情
+export const getTemplateInfo=(data)=>{
+    return request({
+        url:'/public/getTemplateInfo',
+        method:'post',
+        data
+    })
+}

+ 76 - 0
src/api/tabbar.js

@@ -0,0 +1,76 @@
+// 底部导航
+import request from '@/utils/request'
+
+//获取并搜索底部导航
+export const getFooterCategory = (data) => {
+    return request({
+        url: '/footer/getFooterCategory',
+        method: 'post',
+        data
+    })
+}
+
+//添加底部导航
+export const getTemplateClass = (data) => {
+    return request({
+        url: '/footer/addFooterCategory',
+        method: 'post',
+        data
+    })
+}
+
+//更新底部导航
+export const upFooterCategory = (data) => {
+    return request({
+        url: '/footer/upFooterCategory',
+        method: 'post',
+        data
+    })
+}
+
+//删除底部导航
+export const delFooterCategory = (data) => {
+    return request({
+        url: '/footer/delFooterCategory',
+        method: 'post',
+        data
+    })
+}
+
+
+//底部导航列表  -------------------------------------
+//添加导航列表
+export const addFooterContent = (data) => {
+    return request({
+        url: '/footer/addFooterContent',
+        method: 'post',
+        data
+    })
+}
+
+//搜索并获取列表
+export const getFooterContent = (data) => {
+    return request({
+        url: '/footer/getFooterContent',
+        method: 'post',
+        data
+    })
+}
+
+//修改导航列表
+export const upFooterContent = (data) => {
+    return request({
+        url: '/footer/upFooterContent',
+        method: 'post',
+        data
+    })
+}
+
+//删除导航列表
+export const delFooterContent = (data) => {
+    return request({
+        url: '/footer/delFooterContent',
+        method: 'post',
+        data
+    })
+}

+ 4 - 0
src/api/template.js

@@ -0,0 +1,4 @@
+import request from '@/utils/request'
+
+//mock
+

+ 9 - 0
src/api/userMember.js

@@ -64,4 +64,13 @@ export function updateUser(data) {
     data
   })
 }
+
+//1.8 重置用户密码
+export function resetPassword(data) {
+  return request({
+    url: '/user/resetPassword',
+    method: 'post',
+    data
+  })
+}
 //用户管理 end ------------------------------------->

BIN
src/assets/advertise/sample_graph.png


+ 0 - 0
html/static/img/banner1.81b17264.png → src/assets/template/component/banner1.png


+ 0 - 0
html/static/img/banner2.4b40b8ee.png → src/assets/template/component/banner2.png


+ 0 - 0
html/static/img/banner3.00f4e8b5.png → src/assets/template/component/banner3.png


+ 0 - 0
html/static/img/calendar.3e3aa850.png → src/assets/template/component/calendar.png


BIN
src/assets/template/component/listyle.png


BIN
src/assets/template/component/newsIcon.png


+ 0 - 0
html/static/img/pictureTitle1.2940b713.png → src/assets/template/component/pictureTitle1.png


+ 0 - 0
html/static/img/pictureTitle2.9411dbfa.png → src/assets/template/component/pictureTitle2.png


+ 0 - 0
html/static/img/pictureTitle3.55dd3c4a.png → src/assets/template/component/pictureTitle3.png


+ 0 - 0
html/static/img/pictureTitle4.f2ccc53b.png → src/assets/template/component/pictureTitle4.png


+ 0 - 0
html/static/img/pictureTitle5.cb33d2eb.png → src/assets/template/component/pictureTitle5.png


+ 0 - 0
html/static/img/imgTitleSector.1b0946a5.png → src/assets/template/component/style1imgTitle.png


BIN
src/assets/template/component/style1topLogo.png


+ 0 - 0
html/static/img/style1topbg.de2443c2.png → src/assets/template/component/style1topbg.png


+ 0 - 0
html/static/img/titleStyle1.7967b2ea.png → src/assets/template/component/titleStyle1.png


BIN
src/assets/template/component/titleStyle2.png


BIN
src/assets/template/component/titleStyle3.png


BIN
src/assets/template/component/titleStyle4.png


BIN
src/assets/template/preview.png


+ 0 - 0
html/static/img/bannerSector.b82fa58f.png → src/assets/template/sector/bannerSector.png


+ 0 - 0
html/static/img/commentSector.b580cfee.png → src/assets/template/sector/commentSector.png


+ 0 - 0
html/static/img/footerSector.07d0551c.png → src/assets/template/sector/footerSector.png


+ 0 - 0
html/static/img/headSector.1b2d653f.png → src/assets/template/sector/headSector.png


+ 0 - 0
html/static/img/imgSector.8ac20f6a.png → src/assets/template/sector/imgSector.png


BIN
src/assets/template/sector/imgTitleSector.png


+ 0 - 0
html/static/img/linkSector.8ce40809.png → src/assets/template/sector/linkSector.png


+ 0 - 0
html/static/img/menuSector.3647fd2d.png → src/assets/template/sector/menuSector.png


+ 0 - 0
html/static/img/moreServicesSector.8bc11340.png → src/assets/template/sector/moreServicesSector.png


+ 0 - 0
html/static/img/newsSector.6fef6112.png → src/assets/template/sector/newsSector.png


+ 0 - 0
html/static/img/style1.48175d28.png → src/assets/template/style1.png


+ 0 - 0
html/static/img/style2.9e7f7324.png → src/assets/template/style2.png


+ 0 - 0
html/static/img/style3.a01877d4.png → src/assets/template/style3.png


+ 0 - 0
html/static/img/style4.e084cd61.png → src/assets/template/style4.png


+ 0 - 0
html/static/img/style5.72973140.png → src/assets/template/style5.png


+ 0 - 0
html/static/img/style6.964409a6.png → src/assets/template/style6.png


+ 0 - 0
html/static/img/style7.a8ee7c16.png → src/assets/template/style7.png


+ 0 - 0
html/static/img/style8.b65447cc.png → src/assets/template/style8.png


+ 163 - 0
src/layout/components/template/componentMenu.vue

@@ -0,0 +1,163 @@
+<template>
+  <div class="componentMenuBox" id="componentMenuBox">
+    <div class="componentMenuTitle">
+      <div v-if="type == 'sector'">可选板块:</div>
+      <div v-if="type == 'component'">可选组件:</div>
+    </div>
+    <div v-if="type == 'sector'">
+      <el-scrollbar wrap-class="scrollbar-wrapper">
+        <div class="sectorBox">
+          <div class="sectorItemBox" @click="addModule('headSector',19)">
+            <div class="sectorItem">
+              <img src="@/assets/template/sector/headSector.png" />
+            </div>
+            <div class="sectorItemTitle">页头</div>
+          </div>
+          <div class="sectorItemBox" @click="addModule('menuSector',2)">
+            <div class="sectorItem">
+              <img src="@/assets/template/sector/menuSector.png" />
+            </div>
+            <div class="sectorItemTitle">网站导航</div>
+          </div>
+          <div class="sectorItemBox" @click="addModule('imgTitleSector',6)">
+            <div class="sectorItem">
+              <img src="@/assets/template/sector/imgTitleSector.png" />
+            </div>
+            <div class="sectorItemTitle">图片标题</div>
+          </div>
+          <div class="sectorItemBox">
+            <div class="sectorItem">
+              <img src="@/assets/template/sector/bannerSector.png" @click="addModule('bannerSector',34)"/>
+            </div>
+            <div class="sectorItemTitle">焦点图</div>
+          </div>
+          <div class="sectorItemBox">
+            <div class="sectorItem">
+              <img src="@/assets/template/sector/moreServicesSector.png" @click="addModule('manyPictureSector',41)"/>
+            </div>
+            <div class="sectorItemTitle">多图菜单</div>
+          </div>
+          <div class="sectorItemBox">
+            <div class="sectorItem">
+              <img src="@/assets/template/sector/commentSector.png" @click="addModule('commentSector',40)"/>
+            </div>
+            <div class="sectorItemTitle">文章列表带评论</div>
+          </div>
+          <div class="sectorItemBox">
+            <div class="sectorItem">
+              <img src="@/assets/template/sector/newsSector.png" @click="addModule('listSector',20)"/>
+            </div>
+            <div class="sectorItemTitle">文章列表</div>
+          </div>
+          <div class="sectorItemBox">
+            <div class="sectorItem">
+              <img src="@/assets/template/sector/imgSector.png" />
+            </div>
+            <div class="sectorItemTitle">纯图片组合</div>
+          </div>
+          <div class="sectorItemBox">
+            <div class="sectorItem">
+              <img src="@/assets/template/sector/linkSector.png" />
+            </div>
+            <div class="sectorItemTitle">友情链接</div>
+          </div>
+          <div class="sectorItemBox">
+            <div class="sectorItem">
+              <img src="@/assets/template/sector/footerSector.png" />
+            </div>
+            <div class="sectorItemTitle">页尾板块</div>
+          </div>
+        </div>
+        
+      </el-scrollbar>
+    </div>
+    <!-- <div v-if="type == 'component'" class="componentBox">
+      组件
+    </div> -->
+  </div>
+</template>
+
+<script>
+
+export default {
+  name: 'componentMenu',
+  props: {
+    type: {
+      type: String, //sector component
+      required: true
+    },
+  },
+  data() {
+    return {
+      data: null
+    }
+  },
+  methods: {
+    addModule(type,h){
+      let data = {
+        type: type,
+        h: h
+      }
+      console.log(data);
+      this.$store.commit('template/addModule',data);
+    }
+  }
+}
+</script>
+
+<style scoped lang="less">
+  .componentMenuBox {
+    transition: width 0.28s;
+    width: 290px !important;
+    background: #2F2F2F;
+    height: 100%;
+    position: fixed;
+    font-size: 0px;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    z-index: 1001;
+    overflow: hidden;
+    .sectorBox {
+      height: 100%;
+    }
+    .el-scrollbar {
+      height: calc(100vh - 100px);
+    }
+    .componentMenuTitle {
+      padding: 37px 0 30px 0;
+      color: #fff;
+      font-size: 18px;
+      div {
+        border-left: 3px solid #5570F1;
+        padding-left: 25px;
+      }
+    }
+    .sectorItemBox {
+      box-sizing: border-box;
+      padding: 0 20px 40px 20px;
+      height: 130px;
+      cursor: pointer;
+      .sectorItem {
+        border: 1px solid #333644;
+        padding: 10px;
+        border-radius: 8px;
+        &:hover {
+          background: #333644;
+          transform: scale(1.1);
+          transition: all 0.2s ease-in-out;
+        }
+        img {
+          display: block;
+          width: 100%;
+        }
+      }
+      .sectorItemTitle {
+        color: #fff;
+        font-size: 14px;
+        padding: 10px 0 0 0;
+        text-align: center;
+      }
+    }
+  }
+</style>

+ 104 - 0
src/layout/creatWebsite.vue

@@ -0,0 +1,104 @@
+<template>
+  <div :class="classObj" class="app-wrapper">
+    <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside" />
+    <componentMenu :type="this.$store.state.template.menuType"/>
+    <div :class="{hasTagsView:needTagsView}" class="main-container">
+      <div :class="{'fixed-header':fixedHeader}">
+        <navbar />
+        <breadcrumb id="breadcrumb-container"/>
+      </div>
+      <app-main />
+    </div>
+  </div>
+</template>
+
+<script>
+import RightPanel from '@/components/RightPanel'
+import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components'
+import ResizeMixin from './mixin/ResizeHandler'
+import { mapState } from 'vuex'
+import Breadcrumb from '@/components/Breadcrumb'
+import componentMenu from './components/template/componentMenu.vue'
+
+export default {
+  name: 'Layout',
+  components: {
+    AppMain,
+    Navbar,
+    RightPanel,
+    Settings,
+    Sidebar,
+    TagsView,
+    Breadcrumb,
+    componentMenu
+  },
+  mixins: [ResizeMixin],
+  computed: {
+    ...mapState({
+      sidebar: state => state.app.sidebar,
+      device: state => state.app.device,
+      showSettings: state => state.settings.showSettings,
+      needTagsView: state => state.settings.tagsView,
+      fixedHeader: state => state.settings.fixedHeader
+    }),
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened,
+        withoutAnimation: this.sidebar.withoutAnimation,
+        mobile: this.device === 'mobile'
+      }
+    }
+  },
+  methods: {
+    handleClickOutside() {
+      this.$store.dispatch('app/closeSideBar', { withoutAnimation: false })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+  @import "~@/styles/mixin.scss";
+  @import "~@/styles/variables.scss";
+  
+
+  .app-wrapper {
+    @include clearfix;
+    position: relative;
+    height: 100%;
+    width: 100%;
+
+    &.mobile.openSidebar {
+      position: fixed;
+      top: 0;
+    }
+  }
+
+  .drawer-bg {
+    background: #000;
+    opacity: 0.3;
+    width: 100%;
+    top: 0;
+    height: 100%;
+    position: absolute;
+    z-index: 999;
+  }
+
+  .fixed-header {
+    position: fixed;
+    top: 0;
+    right: 0;
+    z-index: 9;
+    width: calc(100% - #{$sideBarWidth});
+    transition: width 0.28s;
+  }
+
+  .hideSidebar .fixed-header {
+    width: calc(100% - 54px)
+  }
+
+  .mobile .fixed-header {
+    width: 100%;
+  }
+</style>

+ 1 - 0
src/main.js

@@ -4,6 +4,7 @@ import Cookies from 'js-cookie'
 
 import 'normalize.css/normalize.css' // a modern alternative to CSS resets
 
+// 因为通过 CDN 加载,所以这里不需要直接 import ElementUI 和 ECharts
 import Element from 'element-ui'
 import './styles/element-variables.scss'
 

+ 107 - 280
src/router/index.js

@@ -5,12 +5,14 @@ Vue.use(Router)
 
 /* Layout */
 import Layout from '@/layout'
+import creatWebsite from '@/layout/creatWebsite'
 
 /* Router Modules */
 import componentsRouter from './modules/components'
 import chartsRouter from './modules/charts'
 import tableRouter from './modules/table'
 import nestedRouter from './modules/nested'
+import dangyunlong from './modules/dangyunlong'
 
 /**
  * Note: sub-menu only appear when route children.length >= 1
@@ -39,6 +41,7 @@ import nestedRouter from './modules/nested'
  * all roles can be accessed
  */
 export const constantRoutes = [
+  ...dangyunlong,
   {
     path: '/redirect',
     component: Layout,
@@ -91,246 +94,6 @@ export const constantRoutes = [
   //增加新的路由 站点列表
   //注意必须含有component:Layout项目否则会导致页面找不到模板
   //必须含有children中的path且两个path必须一致
-  {
-    path: '/website',
-    component: Layout,
-    children: [
-      {
-        name: '', //直接就是根目录所以为空
-        path: '',
-        component: () => import('@/views/website/WebsiteList'),
-        meta: {
-          title: '网站管理', // 设置菜单和面包屑显示的标题
-          hidden: true, // 不在侧边菜单显示
-          breadcrumb: true // 强制在面包屑中显示
-        }
-      }
-    ]
-  },
-  {
-    path: '/categoryList',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/website/categoryList'),
-        meta: {
-          title: '导航池',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/websiteColumn',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/website/websiteColumn'),
-        meta: {
-          title: '网站导航',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/editNavigation',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/website/editNavigation'),
-        meta: {
-          title: '导航详情',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/articleList',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/news/NewList'),
-        meta: {
-          title: '资讯列表',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/creatNews',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/news/creatNews'),
-        meta: {
-          title: '添加资讯',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/menuList',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/menu/menulist'),
-        meta: {
-          title: '菜单列表',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/complaintList',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/complaint/complaintList'),
-        meta: {
-          title: '投诉举报',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/roleList',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/role/roleList'),
-        meta: {
-          title: '角色管理',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/userList',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/role/userList'),
-        meta: {
-          title: '用户管理',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/creatUser',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/role/creatUser'),
-        meta: {
-          title: '添加用户',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/department',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/menu/department'),
-        meta: {
-          title: '行政职能',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/hall',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/chat/hall'),
-        meta: {
-          title: '聊天',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/creatWebsite',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/website/creatWebsite'),
-        meta: {
-          title: '搭建网站',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
-  {
-    path: '/contacts',
-    component: Layout,
-    children: [
-      {
-        name: '',
-        path: '',
-        component: () => import('@/views/chat/contacts'),
-        meta: {
-          title: '通讯录',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  },
   {
     path: '/webCrawler',
     component: Layout,
@@ -348,15 +111,15 @@ export const constantRoutes = [
     ]
   },
   {
-    path: '/topic',
+    path: '/webRule',
     component: Layout,
     children: [
       {
         name: '',
         path: '',
-        component: () => import('@/views/chat/topic'),
+        component: () => import('@/views/crawler/webRule'),
         meta: {
-          title: '课题',
+          title: '规则列表',
           hidden: true,
           breadcrumb: true
         }
@@ -364,31 +127,31 @@ export const constantRoutes = [
     ]
   },
   {
-    path: '/webRule',
+    path: '/webCrawlerList',
     component: Layout,
     children: [
       {
         name: '',
         path: '',
-        component: () => import('@/views/crawler/webRule'),
+        component: () => import('@/views/crawler/webCrawlerList'),
         meta: {
-          title: '规则列表',
+          title: '采集列表',
           hidden: true,
           breadcrumb: true
         }
-      }
+      },
     ]
   },
   {
-    path: '/creatTopic',
+    path: '/webCrawlerListEdit',
     component: Layout,
     children: [
       {
         name: '',
         path: '',
-        component: () => import('@/views/chat/creatTopic'),
+        component: () => import('@/views/crawler/webCrawlerListEdit'),
         meta: {
-          title: '编辑课题',
+          title: '编辑资讯',
           hidden: true,
           breadcrumb: true
         }
@@ -396,15 +159,15 @@ export const constantRoutes = [
     ]
   },
   {
-    path: '/webCrawlerList',
+    path: '/adList',
     component: Layout,
     children: [
       {
         name: '',
         path: '',
-        component: () => import('@/views/crawler/webCrawlerList'),
+        component: () => import('@/views/advertise/advertiseList'),
         meta: {
-          title: '采集列表',
+          title: '广告列表',
           hidden: true,
           breadcrumb: true
         }
@@ -412,15 +175,15 @@ export const constantRoutes = [
     ]
   },
   {
-    path: '/webCrawlerListEdit',
+    path: '/adPlaceList',
     component: Layout,
     children: [
       {
         name: '',
         path: '',
-        component: () => import('@/views/crawler/webCrawlerListEdit'),
+        component: () => import('@/views/advertise/adPlaceList'),
         meta: {
-          title: '编辑资讯',
+          title: '广告位管理',
           hidden: true,
           breadcrumb: true
         }
@@ -428,15 +191,15 @@ export const constantRoutes = [
     ]
   },
   {
-    path: '/adList',
+    path: '/blogroll',
     component: Layout,
     children: [
       {
         name: '',
         path: '',
-        component: () => import('@/views/advertise/advertiseList'),
+        component: () => import('@/views/website/blogroll.vue'),
         meta: {
-          title: '广告列表',
+          title: '友情链接',
           hidden: true,
           breadcrumb: true
         }
@@ -444,21 +207,102 @@ export const constantRoutes = [
     ]
   },
   {
-    path: '/adPlaceList',
+    path: '/adPlaceDetail',
     component: Layout,
     children: [
       {
         name: '',
         path: '',
-        component: () => import('@/views/advertise/adPlaceList'),
+        component: () => import('@/views/advertise/adPlaceDetail'),
         meta: {
-          title: '广告位管理',
+          title: '广告位详情',
           hidden: true,
           breadcrumb: true
         }
       }
     ]
   },
+  // {
+  //   path: '/tabbar',
+  //   component: Layout,
+  //   children: [
+  //     {
+  //       name: '',
+  //       path: '',
+  //       component: () => import('@/views/tabbar/tabbar.vue'),
+  //       meta: {
+  //         title: '底部导航栏',
+  //         hidden: true,
+  //         breadcrumb: true
+  //       }
+  //     }
+  //   ]
+  // },
+  // {
+  //   path: '/tabbarDetail',
+  //   component: Layout,
+  //   children: [
+  //     {
+  //       name: '',
+  //       path: '',
+  //       component: () => import('@/views/tabbar/tabbarDetail.vue'),
+  //       meta: {
+  //         title: '导航详情',
+  //         hidden: true,
+  //         breadcrumb: true
+  //       }
+  //     }
+  //   ]
+  // },
+  // {
+  //   path: '/style',
+  //   component: Layout,
+  //   children: [
+  //     {
+  //       name: '',
+  //       path: '',
+  //       component: () => import('@/views/componentGallery/style.vue'),
+  //       meta: {
+  //         title: '风格',
+  //         hidden: true,
+  //         breadcrumb: true
+  //       }
+  //     }
+  //   ]
+  // },
+  // {
+  //   path: '/plate',
+  //   component: Layout,
+  //   children: [
+  //     {
+  //       name: '',
+  //       path: '',
+  //       component: () => import('@/views/componentGallery/plate.vue'),
+  //       meta: {
+  //         title: '版块',
+  //         hidden: true,
+  //         breadcrumb: true
+  //       }
+  //     }
+  //   ]
+  // },
+  // {
+  //   path: '/module',
+  //   component: Layout,
+  //   children: [
+  //     {
+  //       name: '',
+  //       path: '',
+  //       component: () => import('@/views/componentGallery/module.vue'),
+  //       meta: {
+  //         title: '组件',
+  //         hidden: true,
+  //         breadcrumb: true
+  //       }
+  //     }
+  //   ]
+  // },
+
   // {
   //   path: '/documentation',
   //   component: Layout,
@@ -484,24 +328,7 @@ export const constantRoutes = [
   //     }
   //   ]
   // },
-  {
-    path: '/profile',
-    component: Layout,
-    redirect: '/profile/index',
-    hidden: true,
-    children: [
-      {
-        path: 'index',
-        component: () => import('@/views/profile/index'),
-        name: 'Profile',
-        meta: {
-          title: '个人中心',
-          hidden: true,
-          breadcrumb: true
-        }
-      }
-    ]
-  }
+
 ]
 
 /**

+ 345 - 0
src/router/modules/dangyunlong.js

@@ -0,0 +1,345 @@
+/** 引入模板 **/
+import Layout from '@/layout'
+import creatWebsite from '@/layout/creatWebsite'
+
+const dangyunlongRouter= [
+  {
+    path: '/website',
+    component: Layout,
+    children: [
+      {
+        name: '', //直接就是根目录所以为空
+        path: '',
+        component: () => import('@/views/website/WebsiteList'),
+        meta: {
+          title: '网站管理', // 设置菜单和面包屑显示的标题
+          hidden: true, // 不在侧边菜单显示
+          breadcrumb: true // 强制在面包屑中显示
+        }
+      }
+    ]
+  },
+  {
+    path: '/categoryList',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/website/categoryList'),
+        meta: {
+          title: '导航池',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/websiteColumn',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/website/websiteColumn'),
+        meta: {
+          title: '网站导航',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/editNavigation',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/website/editNavigation'),
+        meta: {
+          title: '导航详情',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/articleList',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/news/NewList'),
+        meta: {
+          title: '资讯列表',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/creatNews',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/news/creatNews'),
+        meta: {
+          title: '添加资讯',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/menuList',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/menu/menulist'),
+        meta: {
+          title: '菜单列表',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/complaintList',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/complaint/complaintList'),
+        meta: {
+          title: '投诉举报',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/roleList',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/role/roleList'),
+        meta: {
+          title: '角色管理',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/userList',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/role/userList'),
+        meta: {
+          title: '用户管理',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/creatUser',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/role/creatUser'),
+        meta: {
+          title: '添加用户',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/department',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/menu/department'),
+        meta: {
+          title: '行政职能',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/hall',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/chat/hall'),
+        meta: {
+          title: '聊天',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/contacts',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/chat/contacts'),
+        meta: {
+          title: '通讯录',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/topic',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/chat/topic'),
+        meta: {
+          title: '课题',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/creatTopic',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/chat/creatTopic'),
+        meta: {
+          title: '编辑课题',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/templateCreat',
+    component: creatWebsite,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/template/templateCreat'),
+        meta: {
+          title: '构建网站模板',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/templateBase',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/template/templateBase'),
+        meta: {
+          title: '填写模板基本信息',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/profile',
+    component: Layout,
+    redirect: '/profile/index',
+    hidden: true,
+    children: [
+      {
+        path: 'index',
+        component: () => import('@/views/profile/index'),
+        name: 'Profile',
+        meta: {
+          title: '个人中心',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/templateStyle',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/template/templateStyle'),
+        meta: {
+          title: '选择模板风格',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+  {
+    path: '/templateList',
+    component: Layout,
+    children: [
+      {
+        name: '',
+        path: '',
+        component: () => import('@/views/template/templateList'),
+        meta: {
+          title: '网站模板',
+          hidden: true,
+          breadcrumb: true
+        }
+      }
+    ]
+  },
+]
+export default dangyunlongRouter

+ 2 - 1
src/store/getters.js

@@ -11,6 +11,7 @@ const getters = {
   introduction: state => state.user.introduction,
   roles: state => state.user.roles,
   permission_routes: state => state.permission.routes,
-  errorLogs: state => state.errorLog.logs
+  errorLogs: state => state.errorLog.logs,
+  SiteId: state => state.template.editWebsiteId
 }
 export default getters

+ 29 - 1
src/store/modules/chat.js

@@ -1,7 +1,8 @@
 import {getTalkSessionList,addFriend,getFriendsList,delFriend,updateFriend,getFriendsApplyList,
   applyFriend,isFriend,getConversation,getChatRecords,addGroup,getGroupMembers,searchFriend,getFriendInfo,
   getGroupList,getGroupInfo,joinGroup,getGroupChatRecords,delGroup,updateGroup,
-  getTopicsList,addTopic,getTopicInfo,updateTopic,delTopic,addReply,getTopicReply
+  getTopicsList,addTopic,getTopicInfo,updateTopic,delTopic,addReply,getTopicReply,topicType,
+  topicStatus,updateGroupMembers
 } from '@/api/chat'
 
 const state = {
@@ -214,6 +215,15 @@ const actions = {
       })
     })
   },
+  updateGroupMembers({commit},data) {
+    return new Promise((resolve, reject) => {
+      updateGroupMembers(data).then(response => {
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
   //5.群聊 end ------------------------------------->
 
   //6.商圈 start ------------------------------------->
@@ -279,6 +289,24 @@ const actions = {
         reject(error)
       })
     })
+  },
+  topicType({commit},data) {
+    return new Promise((resolve, reject) => {
+      topicType(data).then(response => {
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
+  topicStatus({commit},data) {
+    return new Promise((resolve, reject) => {
+      topicStatus(data).then(response => {
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
   }
   //6.商圈 end ------------------------------------->
 }

+ 11 - 1
src/store/modules/pool.js

@@ -3,7 +3,7 @@ getcityList,uploadFile,getTemplate,addWebsite,getWebsiteInfo,
 updateWebsite,getDepartment,getCategoryList,delCategory,
 getCategoryInfo,categoryList,addCategory,updateCategory,
 getNavWebList,addWebsiteCategory,getWebsiteCategoryList,
-getAdminWebsiteCategory,upWebsiteCategory,
+getAdminWebsiteCategory,upWebsiteCategory,delWebsiteCategory,
 getWebsiteAllCategory,getWebsiteCategoryOnes,upWebsiteCategoryones,
 checkWebsiteUrl,checkWebsiteName} from '@/api/pool'
 
@@ -253,6 +253,16 @@ const actions = {
       })
     })
   },
+  //删除网站导航
+  delWebsiteCategory({commit},data) {
+    return new Promise((resolve, reject) => {
+      delWebsiteCategory(data).then(response => {
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
   //网站导航管理 end ---------------------------------------->
 
   //4.关联导航池 start ---------------------------------------->

+ 174 - 0
src/store/modules/template.js

@@ -0,0 +1,174 @@
+import {getSiteInfo,getSiteCategory,selectWebsiteDepartment,selectWebsiteArea,getWebsiteArticlesList,
+  selectWebsiteArticleInfo} from '@/api/cms'
+
+const state = {
+  editWebsiteId: "",//创建网站的id
+  stepStatus: true,//true显示步骤 false不显示
+  menuType: "sector", //sector板块 component组件
+  layout: [
+    // i = id 
+    // w = 最大宽度是12
+    // { i: "0", x: 0, y: 0, w: 12, h: 2, content:""},
+    // { i: "1", x: 0, y: 0, w: 12, h: 2, content:""},
+  ],
+  webSiteInfo:"",//网站信息
+  webSiteMenu:"",//网站包含的导航池
+  area:{//地区
+    economize:[],//省区
+    market:[],//市区
+    county:[]//县区
+  },
+  departmentList:"",//职能部门
+}
+
+const mutations = {
+  //0.全局配置 start------------------------------------------------------------>
+  //设置创建网站的id
+  setEditWebsiteId(state,id){
+    state.editWebsiteId = id;
+  },
+  //展示步骤
+  showStepStatus(state){
+    state.stepStatus = true;
+  },
+  //隐藏步骤
+  hiddenStepStatus(state){
+    state.stepStatus = false;
+  },
+  //0.全局配置 start------------------------------------------------------------>
+  //1.配置模块 start------------------------------------------------------------>
+  //添加模块
+  addModule(state,data) {
+    //data.type 组件名称 data.h 模块高度 
+    // 计算当前布局的最大 y 值
+    const maxY = Math.max(...state.layout.map(item => item.y), 0);
+    state.layout.push({
+      i: state.layout.length, 
+      x: 0, 
+      y: maxY + 1, 
+      w: 12, 
+      h: data.h, 
+      type: data.type,
+      content:""
+    });
+  },
+  //删除模块
+  deleteModule(item) {
+    //找到对应的模块删除掉
+    for(let i = 0; i < state.layout.length; i++) {
+      if(state.layout[i].i == item.i) {
+        state.layout.splice(i, 1);
+      }
+    }
+  },
+  //1.配置模块 end------------------------------------------------------------>
+  //2.获取站点信息 start------------------------------------------------------------>
+  //获取站点详情
+  setWebsiteInfo(state,data){
+    state.webSiteInfo = data;
+  },
+  //获取站点导航池
+  setGetSiteCategory(state,data) {
+    state.webSiteMenu = data;
+  },
+  //设置地区
+  setArea(state,data){
+    //都没有的时候返回的是省
+    if(data.province==undefined){
+      state.area.economize = data;
+    }
+    //没有region的时候返回的是市
+    if(data.province!=undefined&&data.city!=undefined&&data.region==undefined){
+      state.area.market = data.city;
+    }
+    //有region的时候返回的是县
+    if(data.province!=undefined&&data.city!=undefined&&data.region!=undefined){
+      state.area.county = data.region;
+    }
+  },
+  //设置职能部门
+  setDepartmentList(state,data){
+    state.departmentList = data;
+  },
+  //修改模块高度
+  setModuleHeight(state,data){
+    console.log(data);
+    state.layout[data.i].h = data.h;
+    console.log(state.layout[data.i]);
+  },
+  //2.获取站点信息 end------------------------------------------------------------>
+}
+
+const actions = {
+  //获取网站基本信息
+  getSiteInfo({commit},data){
+    return new Promise((resolve, reject) => {
+      getSiteInfo(data).then(response => {
+        commit('setWebsiteInfo', response.data);
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
+  //获取网站导航池
+  getSiteCategory({commit},data){
+    return new Promise((resolve, reject) => {
+      getSiteCategory(data).then(response => {
+        commit('setGetSiteCategory', response.data);
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
+  //设置行政区划
+  selectWebsiteArea({commit},data){
+    return new Promise((resolve, reject) => {
+      selectWebsiteArea(data).then(response => {
+        commit('setArea', response.data);
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
+  //设置职能部门
+  selectWebsiteDepartment({commit},data){
+    return new Promise((resolve, reject) => {
+      selectWebsiteDepartment(data).then(response => {
+        commit('setDepartmentList', response.data);
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
+  //获取新闻列表
+  getWebsiteArticlesList({commit},data){
+    return new Promise((resolve, reject) => {
+      getWebsiteArticlesList(data).then(response => {
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
+  //获取新闻详情
+  selectWebsiteArticleInfo({commit},data){
+    return new Promise((resolve, reject) => {
+      selectWebsiteArticleInfo(data).then(response => {
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  }
+}
+
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions
+}

+ 11 - 1
src/store/modules/userMember.js

@@ -1,5 +1,5 @@
 import {getUserList,getUserInfo,createUser,verifyUserInfo,getUser,
-  upUserStatus,updateUser
+  upUserStatus,updateUser,resetPassword
 } from '@/api/userMember'
 
 const state = {
@@ -81,6 +81,16 @@ const actions = {
         reject(error)
       })
     })
+  },
+  //修改用户密码
+  resetPassword({commit},data) {
+    return new Promise((resolve, reject) => {
+      resetPassword(data).then(response => {
+        resolve(response)
+      }).catch(error => {
+        reject(error)
+      })
+    })
   }
   //用户管理管理 end ---------------------------------------->
 }

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно