wjj пре 4 година
родитељ
комит
df58629ba1

+ 1 - 0
README.md

@@ -30,6 +30,7 @@ For a detailed explanation on how things work, check out the [guide](http://vuej
 - 组件展示配置
 > /src/config/index.js
 - logo配置
+> /src/config/index.js
 
 
 

+ 2 - 0
src/App.vue

@@ -14,10 +14,12 @@
 </template>
 
 <script>
+import Http from '@/js/http.js'
 import HeaderContainer from '@/components/commons/Header2.0'
 import FooterContainer from '@/components/commons/Footer2.0'
 import HomeSlice from '@/components/commons/HomeSlice'
 import {getCurrentUser, storageGet, storageSave} from '@/js/index'
+import {setConfig} from '../src/config/index'
 
 export default {
   name: 'App',

+ 2 - 2
src/components/commons/Footer2.0.vue

@@ -29,13 +29,13 @@
 </template>
 
 <script>
-import {logo_white} from "../../config";
+import {CONFIG} from "../../config";
 
 export default {
   name: "Footer2.0",
   data(){
     return{
-      logo_white
+      logo_white:CONFIG.logo_white
     }
   }
 }

+ 3 - 3
src/components/commons/HomeSlice.vue

@@ -22,7 +22,7 @@ import Apis from '@/js/api'
 import Http from '@/js/http'
 import {storageGet} from '@/js/index.js'
 import {notify} from "../../constants";
-import {title, subtitle} from '../../config/index'
+import {CONFIG} from '../../config/index'
 
 export default {
   name: 'HomeSlice',
@@ -31,8 +31,8 @@ export default {
       user: {},
       isLogin: false,
       loading: false,
-      title,
-      subtitle
+      title:CONFIG.title,
+      subtitle:CONFIG.subtitle
     }
   },
   methods: {

+ 2 - 2
src/components/commons/SearchBar.vue

@@ -43,7 +43,7 @@
 
 <script>
   import Http from '@/js/http.js'
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: 'SearchBar',
@@ -51,7 +51,7 @@
     props: ['tabArr', 'menuArr'],
     data() {
       return {
-        logoTitle,
+        logoTitle:CONFIG.logoTitle,
         searchType: 'project',
         searchVal: '',
         // currTab:''

+ 2 - 2
src/components/commons/TopSearch.vue

@@ -35,14 +35,14 @@
   import Http from '@/js/http.js'
   import {storageGet} from '@/js/index.js'
   import {notify} from "../../constants";
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
         name: 'TopSearch',
         props: ['searchVal','searchType','searchTypeArr'],
         data() {
             return {
-              logoTitle,
+              logoTitle:CONFIG.logoTitle,
                 isLogin: false,
                 resultList:[],
             }

+ 134 - 130
src/config/index.js

@@ -1,131 +1,135 @@
-//配置homeSlice展示的标题,副标题
-export const title = '信创产业 领引国产新未来';
-export const subtitle = '共/建/信/创/生/态/共/推/产/业/发/展';
-//配置logo标题
-export const logoTitle = '群智众测平台';
-//配置logo src(img方式的图片地址)
-//这里的地址写的是 src/assets/image 下的图片地址
-export const logo_transparent = 'logo-transparent.png';//searchNav logo
-export const logo_background = 'logo-background.png';//login card
-export const logo_white = 'logo-white.png';//footer logo
-
-//home页配置(导航数据 + 组件展示)
-//home_searchTypeArr
-export const home_searchTypeArr = [
-  {
-    "name": "全部",
-    "value": "all"
-  },
-  {
-    "name": "项目",
-    "value": "0"
-  },
-  // {
-  //   "name": "机构",
-  //   "value": "1"
-  // },
-  // {
-  //   "name": "资源",
-  //   "value": "2"
-  // },
-  // {
-  //   "name": "专家",
-  //   "value": "3"
-  // }
-];
-//home_searchType
-export const home_searchType = '0';
-//home_homeTabArr_default
-export const home_homeTabArr_left = [
-  //注意:这里的第一个元素的name是"homepage"
-  {label: "首页", name: "homepage", linkTo: '/home'},
-  {label: "众测广场", name: "square", linkTo: '/square'},
-  // {label: "众测技术", name: "technology", linkTo: 'technology'}
-];
-
-//home_homeTabArr_right
-export const home_homeTabArr_right = [
-  // {label: "找机构", name: "findInstitution", linkTo: '/agency/list/show'},
-  // {label: "找专家", name: "findExpert", linkTo: '/expert/list'},
-];
-//home_homeTabArr_default,注意这里的值一定要和一个home_homeTabArr_*中的name值对应
-export const home_homeTabArr_default = "homepage";
-//home页container组件展示
-export const HOME_DISPLAY = {
-  test_menu: true,
-  test_card: true,
-  // resource_and_tool: true,
-  // brand_card: true,
-  // institution_card: false,
-  login_card: true,
-  hot_crowd: true,
-  // hot_agency: true,
-  // hot_user: true,
-  hot_contest: true
+// //配置homeSlice展示的标题,副标题
+// export let title = '信创产业 领引国产新未来';
+// export const subtitle = '共/建/信/创/生/态/共/推/产/业/发/展';
+// //配置logo标题
+// export const logoTitle = '群智众测平台';
+// //配置logo src(img方式的图片地址)
+// //这里的地址写的是 src/assets/image 下的图片地址
+// export const logo_transparent = 'logo-transparent.png';//searchNav logo
+// export const logo_background = 'logo-background.png';//login card
+// export const logo_white = 'logo-white.png';//footer logo
+//
+// //home页配置(导航数据 + 组件展示)
+// //home_searchTypeArr
+// export const home_searchTypeArr = [
+//   {
+//     "name": "全部",
+//     "value": "all"
+//   },
+//   {
+//     "name": "项目",
+//     "value": "0"
+//   },
+//   // {
+//   //   "name": "机构",
+//   //   "value": "1"
+//   // },
+//   // {
+//   //   "name": "资源",
+//   //   "value": "2"
+//   // },
+//   // {
+//   //   "name": "专家",
+//   //   "value": "3"
+//   // }
+// ];
+// //home_searchType
+// export const home_searchType = '0';
+// //home_homeTabArr_default
+// export const home_homeTabArr_left = [
+//   //注意:这里的第一个元素的name是"homepage"
+//   {label: "首页", name: "homepage", linkTo: '/home'},
+//   {label: "众测广场", name: "square", linkTo: '/square'},
+//   // {label: "众测技术", name: "technology", linkTo: 'technology'}
+// ];
+//
+// //home_homeTabArr_right
+// export const home_homeTabArr_right = [
+//   // {label: "找机构", name: "findInstitution", linkTo: '/agency/list/show'},
+//   // {label: "找专家", name: "findExpert", linkTo: '/expert/list'},
+// ];
+// //home_homeTabArr_default,注意这里的值一定要和一个home_homeTabArr_*中的name值对应
+// export const home_homeTabArr_default = "homepage";
+// //home页container组件展示
+// export const HOME_DISPLAY = {
+//   test_menu: true,
+//   test_card: true,
+//   // resource_and_tool: true,
+//   // brand_card: true,
+//   // institution_card: false,
+//   login_card: true,
+//   hot_crowd: true,
+//   // hot_agency: true,
+//   // hot_user: true,
+//   hot_contest: true
+// }
+//
+// //technology页配置(导航数据 + 组件展示)
+// //technology_searchTypeArr
+// export const technology_searchTypeArr = [
+//   {
+//     "name": "众测工具",
+//     "value": "2",
+//     "label": '工具'
+//   },
+//   {
+//     "name": "众测案例",
+//     "value": "3",
+//     "label": '案例'
+//   },
+//   {
+//     "name": "技术文章",
+//     "value": "0",
+//     "label": '文章'
+//   },
+//   {
+//     "name": "论文专著",
+//     "value": "1",
+//     "label": '专著'
+//   }
+// ];
+// //technology_searchType
+// export const technology_searchType = '2';
+// //technology页container组件展示
+// export const TECHNOLOGY_DISPLAY = {
+//   hot_article: true
+// }
+//
+// //square页配置(导航数据 + 组件展示)
+// //square_searchTypeArr
+// export const square_searchTabArr = [
+//   {label: "项目", name: "project"},
+//   {label: "任务", name: "task"}
+// ];
+// export const square_menuArr = [
+//   {label: "首页", name: "squareHome"},
+//   {label: "测试项目", name: "project"},
+//   {label: "测试任务", name: "task"}
+// ];
+// export const square_searchType = 'project';
+// export const square_currTab = 'squareHome';
+// export const SQUARE_DISPLAY = {
+//   popular_project: true,
+//   popular_task: true,
+// }
+//
+// //user—center侧边目录配置
+// //个人信息
+// export const user_info = [
+//   {label: '基本信息', linkTo: '/personal/mine'},
+//   {label: '我的资质', linkTo: '/personal/qualification'},
+//   {label: '我的银行卡', linkTo: '/personal/bankCard'}
+// ];
+// //账号安全
+// export const account_security = [
+//   {label: '修改登录密码', linkTo: '/personal/modifyPsw'},
+//   // {label:'手机绑定',linkTo:'/personal/phoneBinding'},
+//   // {label:'邮箱绑定',linkTo:'/personal/mailBinding'},
+//   {label: '身份认证', linkTo: '/personal/authentication'},
+// ]
+//
+//
+export let CONFIG = {};
+export const setConfig = (conf) => {
+  CONFIG = conf;
 }
-
-//technology页配置(导航数据 + 组件展示)
-//technology_searchTypeArr
-export const technology_searchTypeArr = [
-  {
-    "name": "众测工具",
-    "value": "2",
-    "label": '工具'
-  },
-  {
-    "name": "众测案例",
-    "value": "3",
-    "label": '案例'
-  },
-  {
-    "name": "技术文章",
-    "value": "0",
-    "label": '文章'
-  },
-  {
-    "name": "论文专著",
-    "value": "1",
-    "label": '专著'
-  }
-];
-//technology_searchType
-export const technology_searchType = '2';
-//technology页container组件展示
-export const TECHNOLOGY_DISPLAY = {
-  hot_article: true
-}
-
-//square页配置(导航数据 + 组件展示)
-//square_searchTypeArr
-export const square_searchTabArr = [
-  {label: "项目", name: "project"},
-  {label: "任务", name: "task"}
-];
-export const square_menuArr = [
-  {label: "首页", name: "squareHome"},
-  {label: "测试项目", name: "project"},
-  {label: "测试任务", name: "task"}
-];
-export const square_searchType = 'project';
-export const square_currTab = 'squareHome';
-export const SQUARE_DISPLAY = {
-  popular_project: true,
-  popular_task: true,
-}
-
-//user—center侧边目录配置
-//个人信息
-export const user_info = [
-  {label: '基本信息', linkTo: '/personal/mine'},
-  {label: '我的资质', linkTo: '/personal/qualification'},
-  {label: '我的银行卡', linkTo: '/personal/bankCard'}
-];
-//账号安全
-export const account_security = [
-  {label: '修改登录密码', linkTo: '/personal/modifyPsw'},
-  // {label:'手机绑定',linkTo:'/personal/phoneBinding'},
-  // {label:'邮箱绑定',linkTo:'/personal/mailBinding'},
-  {label: '身份认证', linkTo: '/personal/authentication'},
-]
-
-

+ 22 - 11
src/main.js

@@ -11,7 +11,7 @@ import store from './store'
 import moment from 'moment'
 import vRegion from 'v-region'
 import echarts from "echarts";
-
+import Http from '@/js/http.js'
 import {
   Avatar,
   Alert,
@@ -69,6 +69,7 @@ import {
   Steps,
   Divider
 } from 'element-ui'
+import {setConfig} from "./config";
 Vue.prototype.$moment = moment
 Vue.prototype.$echarts = echarts;
 function getCurrentUserSuccess(res){
@@ -206,14 +207,24 @@ Vue.prototype.$message = Message
 
 Vue.config.productionTip = false
 
-/* eslint-disable no-new */
-new Vue({
-  el: '#app',
-  router,
-  data:{
-    Bus:new Vue()
-  },
-  components: {App},
-  template: '<App/>',
-  store
+
+Http.get('/api/common/configuration').then((res) => {
+  this.homeDataNoCache = res.data;
+  setConfig(res.data);
+  storageSave('config', res.data);
+  new Vue({
+    el: '#app',
+    router,
+    data: {
+      Bus: new Vue()
+    },
+    components: {App},
+    template: '<App/>',
+    store
+  })
+}).catch((error) => {
+  notify('error', error.data)
 })
+
+/* eslint-disable no-new */
+

+ 2 - 2
src/pages/DetailPage/CrowdDetail.vue

@@ -76,14 +76,14 @@
   import {notify} from "../../constants"
   import ProjectItem from '../../components/commons/ProjectItem'
   import {storageGet} from '@/js/index'
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: 'CrowdDetail',
     comments: {ProjectItem},
     data() {
       return {
-        logoTitle,
+        logoTitle:CONFIG.logoTitle,
         user: {},
         loading: false,
         isLogin: false,

+ 9 - 11
src/pages/Homepage/Homepage.vue

@@ -88,9 +88,7 @@ import WaterfallSlot from 'vue-waterfall/lib/waterfall-slot'
 import {getAllFields, storageGet} from '@/js/index.js'
 import {notify} from "../../constants";
 import Apis from '@/js/api'
-import {logoTitle, home_searchTypeArr, home_homeTabArr_left,home_searchType,
-  home_homeTabArr_right,home_homeTabArr_default,HOME_DISPLAY,
-  logo_background,logo_transparent,logo_white} from "../../config";
+import {CONFIG} from "../../config";
 
 // console.log(commonData);
 export default {
@@ -114,23 +112,23 @@ export default {
   },
   data() {
     return {
-      logoTitle,
-      HOME_DISPLAY,
-      logo_transparent,
+      logoTitle:CONFIG.logoTitle,
+      HOME_DISPLAY:CONFIG.HOME_DISPLAY,
+      logo_transparent:CONFIG.logo_transparent,
       user: {},
       isLogin: false,
       loading: false,
-      searchType: home_searchType,
-      searchTypeArr: home_searchTypeArr,
+      searchType: CONFIG.home_searchType,
+      searchTypeArr: CONFIG.home_searchTypeArr,
       searchVal: '',
       homeTabArr: {
-        menuArr1: home_homeTabArr_left,
+        menuArr1: CONFIG.home_homeTabArr_left,
         menuArr2: [{code: '', name: ''}],
-        menuArr3: home_homeTabArr_right
+        menuArr3: CONFIG.home_homeTabArr_right
       },
       homeData: {},
       homeDataNoCache: {},
-      currTab: home_homeTabArr_default
+      currTab: CONFIG.home_homeTabArr_default
     }
   },
   computed: {

+ 2 - 2
src/pages/Homepage/HotContest.vue

@@ -29,13 +29,13 @@
 </template>
 
 <script>
-  import {logo_background} from '../../config/index'
+  import {CONFIG} from '../../config/index'
   export default {
     name: 'HotContest',
     props:['competitionList'],
     data(){
       return {
-        logo_background
+        logo_background:CONFIG.logo_background
       }
     },
     methods:{

+ 3 - 3
src/pages/Homepage/LoginCard.vue

@@ -27,14 +27,14 @@
   import Http from '@/js/http.js'
   import {logout, storageGet} from '@/js/index.js'
   import {mapActions,mapGetters} from 'vuex'
-  import {logoTitle,logo_background} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: "LoginCard",
     data() {
       return {
-        logoTitle,
-        logo_background,
+        logoTitle:CONFIG.logoTitle,
+        logo_background:CONFIG.logo_background,
         isLogin: false,
         user: {},
         loginUrl: process.env.LOGIN_URL,

+ 2 - 2
src/pages/HomepageSearch/AgencyList.vue

@@ -96,14 +96,14 @@
   import {defaultValue, storageGet} from '@/js/index.js'
   import {notify} from "../../constants";
   import Apis from '@/js/api'
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: "AgencyList",
     components: {TopSearch},
     data() {
       return {
-        logoTitle,
+        logoTitle:CONFIG.logoTitle,
         user: {},
         isLogin: false,
         loading: false,

+ 2 - 2
src/pages/HomepageSearch/AgencyResidentList.vue

@@ -90,7 +90,7 @@
   import {defaultValue, storageGet} from '@/js/index.js'
   import {notify} from "../../constants";
   import Apis from '@/js/api';
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: "AgencyResidentList",
@@ -98,7 +98,7 @@
     components: {TopSearch},
     data() {
       return {
-        logoTitle,
+        logoTitle:CONFIG.logoTitle,
         user: {},
         isLogin: false,
         searchType: '0',

+ 2 - 2
src/pages/HomepageSearch/CompetitionList.vue

@@ -88,7 +88,7 @@
   import {defaultValue, storageGet} from '@/js/index.js'
   import {notify} from "../../constants";
   import Apis from '@/js/api';
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: "CompetitionList",
@@ -96,7 +96,7 @@
     components: {TopSearch},
     data() {
       return {
-        logoTitle,
+        logoTitle:CONFIG.logoTitle,
         user: {},
         isLogin: false,
         loading: false,

+ 2 - 2
src/pages/HomepageSearch/CrowdList.vue

@@ -86,7 +86,7 @@
   import {storageGet} from '@/js/index.js'
   import {notify} from "../../constants";
   import Apis from '@/js/api';
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: "CrowdList",
@@ -94,7 +94,7 @@
     components: {TopSearch},
     data() {
       return {
-        logoTitle,
+        logoTitle:CONFIG.logoTitle,
         user: {},
         isLogin: false,
         loading: false,

+ 2 - 2
src/pages/HomepageSearch/ExpertList.vue

@@ -64,14 +64,14 @@
   import {storageGet} from '@/js/index.js'
   import {notify} from "../../constants";
   import Apis from '@/js/api';
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: "ExpertList",
     components: {ExpertCard, TopSearch},
     data() {
       return {
-        logoTitle,
+        logoTitle:CONFIG.logoTitle,
         user: {},
         isLogin: false,
         loading: false,

+ 2 - 2
src/pages/HomepageSearch/ResourceList.vue

@@ -99,14 +99,14 @@
   import {storageGet} from '@/js/index.js'
   import {notify} from "../../constants";
   import Apis from '@/js/api';
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: "ResourceList",
     components: {TopSearch},
     data() {
       return {
-        logoTitle,
+        logoTitle:CONFIG.logoTitle,
         user: {},
         isLogin: false,
         loading: false,

+ 3 - 3
src/pages/Square/PopularProject.vue

@@ -33,14 +33,14 @@
 </template>
 
 <script>
-  import {logo_background,logo_transparent} from '../../config/index'
+  import {CONFIG} from '../../config/index'
   export default {
     name: 'PopularProject',
     props:['hotCrowdTestProjectVOs'],
     data(){
       return{
-        logo_background,
-        logo_transparent
+        logo_background:CONFIG.logo_background,
+        logo_transparent:CONFIG.logo_transparent
       }
     },
     methods:{

+ 2 - 2
src/pages/Square/PopularProjectAndTaskList.vue

@@ -104,14 +104,14 @@
   import ProjectItem from '../../components/commons/ProjectItem'
   import {defaultValue, getRolesPermissions, storageGet} from '@/js/index'
   import {mapActions, mapGetters} from 'vuex';
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: 'PopularProjectAndTaskList',
     comments: {TaskItem, ProjectItem},
     data() {
       return {
-        logoTitle,
+        logoTitle:CONFIG.logoTitle,
         loading: false,
         isLogin: false,
         searchType: 'project',

+ 2 - 2
src/pages/Square/PopularTask.vue

@@ -30,14 +30,14 @@
 </template>
 
 <script>
-  import {logo_transparent} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: 'PopularTask',
     props:['hotCrowdTaskVOs'],
     data(){
       return{
-        logo_transparent
+        logo_transparent:CONFIG.logo_transparent
       }
     },
       methods:{

+ 7 - 7
src/pages/Square/Square2.0.vue

@@ -74,21 +74,21 @@
   import PopularTask from './PopularTask'
   import {storageGet} from '@/js/index.js'
   import {notify} from "../../constants";
-  import {logoTitle,square_searchTabArr,square_menuArr,square_searchType,square_currTab,SQUARE_DISPLAY} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: 'Square2.0',
     data(){
       return {
-        logoTitle,
-        SQUARE_DISPLAY,
+        logoTitle:CONFIG.logoTitle,
+        SQUARE_DISPLAY:CONFIG.SQUARE_DISPLAY,
         user: {},
         isLogin: false,
-        searchType:square_searchType,
+        searchType:CONFIG.square_searchType,
         searchVal: '',
-        currTab:square_currTab,
-        searchTabArr : square_searchTabArr,
-        menuArr: square_menuArr,
+        currTab:CONFIG.CONFIG.square_currTab,
+        searchTabArr : CONFIG.square_searchTabArr,
+        menuArr: CONFIG.square_menuArr,
         projectAndTaskArr:[],
         type: 0,
         hotCrowdTestProjectVOs:[],

+ 5 - 5
src/pages/Technology/Technology2.0.vue

@@ -78,7 +78,7 @@
   import PopularProject from '../Square/PopularProject'
   import {storageGet} from '@/js/index.js'
   import {notify} from "../../constants";
-  import {logoTitle,technology_searchTypeArr,technology_searchType,TECHNOLOGY_DISPLAY} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: 'Technology2.0',
@@ -93,13 +93,13 @@
     },
     data(){
       return {
-        logoTitle,
-        TECHNOLOGY_DISPLAY,
+        logoTitle:CONFIG.logo_transparent,
+        TECHNOLOGY_DISPLAY:CONFIG.TECHNOLOGY_DISPLAY,
         loading: false,
         isLogin: false,
         searchVal: '',
-        searchType:technology_searchType,
-        searchTypeArr:technology_searchTypeArr,
+        searchType:CONFIG.technology_searchType,
+        searchTypeArr:CONFIG.technology_searchTypeArr,
         articleArr:[],
         keyword:"",
         activePage:1,

+ 2 - 2
src/pages/Technology/TechnologyMore.vue

@@ -68,7 +68,7 @@
   import TechnologyMG from './TechnologyMG'
   import {storageGet} from '@/js/index.js'
   import {notify} from "../../constants";
-  import {logoTitle} from "../../config";
+  import {CONFIG} from "../../config";
 
   export default {
     name: 'TechnologyMore',
@@ -79,7 +79,7 @@
     },
     data(){
       return {
-        logoTitle,
+        logoTitle:CONFIG.logoTitle,
         loading: false,
         isLogin: false,
         searchVal: '',

+ 3 - 3
src/pages/UserCenter/UserCenter.vue

@@ -37,7 +37,7 @@
 
 <script>
   import QualificationCard from './QualificationCard'
-  import {user_info,account_security} from '../../config/index'
+  import {CONFIG} from '../../config/index'
   export default {
     name: "UserCenter",
     components: {
@@ -45,8 +45,8 @@
     },
     data() {
       return {
-        user_info,
-        account_security
+        user_info:CONFIG.user_info,
+        account_security:CONFIG.account_security
       }
     }
   }