diff --git a/package-lock.json b/package-lock.json index df61d85..dac1433 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2970,6 +2970,11 @@ "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=", "dev": true }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + }, "check-types": { "version": "8.0.3", "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz?cache=0&sync_timestamp=1579455903027&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcheck-types%2Fdownload%2Fcheck-types-8.0.3.tgz", @@ -3641,6 +3646,11 @@ "which": "^1.2.9" } }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", @@ -6351,8 +6361,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", - "dev": true + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" }, "is-callable": { "version": "1.1.5", @@ -6670,6 +6679,11 @@ "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" }, + "js-md5": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz", + "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==" + }, "js-message": { "version": "1.0.5", "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz", @@ -7085,6 +7099,16 @@ "object-visit": "^1.0.0" } }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", diff --git a/package.json b/package.json index 54b752f..85c15e2 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,9 @@ "element-ui": "^2.13.1", "jquery": "^3.5.1", "js-cookie": "^2.2.1", + "js-md5": "^0.7.3", "jsencrypt": "^3.0.0-rc.1", + "md5": "^2.3.0", "qs": "^6.9.4", "vue": "^2.6.11", "vue-loader": "^15.9.2", diff --git a/public/config.js b/public/config.js index 672aeaa..14f9dbb 100644 --- a/public/config.js +++ b/public/config.js @@ -1,8 +1,10 @@ config = { - API_URL: 'http://172.119.51.18:8081', - COCKPIT_API_URL: 'http://www.fatoaniic.com/api', - LOGIN_URL: 'http://www.fatoaniic.com/#/login', - APP_URL:'http://nmsj.org.cn/', - SHOW_URL: "http://121.36.65.171:8787/file/", - UPLOAD_URL: "http://www.fatoaniic.com/api/api-ftp/ftp/upload", + API_URL: 'http://172.119.51.140:8081', + CODE_URL: 'http://172.119.51.140:8082', + UPLOAD_URL: "http://172.119.51.140:8082/attachment/uploadOne", + // COCKPIT_API_URL: 'http://www.fatoaniic.com/api', + // LOGIN_URL: 'http://www.fatoaniic.com/#/login', + // APP_URL:'http://nmsj.org.cn/', + // SHOW_URL: "http://121.36.65.171:8787/file/", + } diff --git a/public/template/001/img/互联网大会/banner-bg.png b/public/template/001/img/互联网大会/banner-bg.png new file mode 100644 index 0000000..f609548 Binary files /dev/null and b/public/template/001/img/互联网大会/banner-bg.png differ diff --git a/public/template/001/img/互联网大会/top-banner.jpg b/public/template/001/img/互联网大会/top-banner.jpg new file mode 100644 index 0000000..58c577f Binary files /dev/null and b/public/template/001/img/互联网大会/top-banner.jpg differ diff --git a/public/template/001/img/公共服务/banner-bg.png b/public/template/001/img/公共服务/banner-bg.png new file mode 100644 index 0000000..f609548 Binary files /dev/null and b/public/template/001/img/公共服务/banner-bg.png differ diff --git a/public/template/001/img/公共服务/platform-1.jpg b/public/template/001/img/公共服务/platform-1.jpg new file mode 100644 index 0000000..c45a35e Binary files /dev/null and b/public/template/001/img/公共服务/platform-1.jpg differ diff --git a/public/template/001/img/公共服务/platform-2.jpg b/public/template/001/img/公共服务/platform-2.jpg new file mode 100644 index 0000000..4afeb6a Binary files /dev/null and b/public/template/001/img/公共服务/platform-2.jpg differ diff --git a/public/template/001/img/关于联盟/banner-bg.png b/public/template/001/img/关于联盟/banner-bg.png new file mode 100644 index 0000000..f609548 Binary files /dev/null and b/public/template/001/img/关于联盟/banner-bg.png differ diff --git a/public/template/001/img/联盟成果/banner-bg.png b/public/template/001/img/联盟成果/banner-bg.png new file mode 100644 index 0000000..f609548 Binary files /dev/null and b/public/template/001/img/联盟成果/banner-bg.png differ diff --git a/public/template/001/img/转型升级论坛/banner-bg.png b/public/template/001/img/转型升级论坛/banner-bg.png new file mode 100644 index 0000000..f609548 Binary files /dev/null and b/public/template/001/img/转型升级论坛/banner-bg.png differ diff --git a/public/template/001/img/转型升级论坛/top-banner.jpg b/public/template/001/img/转型升级论坛/top-banner.jpg new file mode 100644 index 0000000..58c577f Binary files /dev/null and b/public/template/001/img/转型升级论坛/top-banner.jpg differ diff --git a/src/api/company.js b/src/api/company.js new file mode 100644 index 0000000..b3b53fa --- /dev/null +++ b/src/api/company.js @@ -0,0 +1,26 @@ +import request from '@/utils/request'; + +//区域查询接口 +export function getArea(params) { + return request({ + baseURL:config.CODE_URL, + url: '/common/getComboList_2/40010/'+params, + method: 'get' + }); +} +//行业大类查询接口 +export function getBigIndustryList() { + return request({ + baseURL:config.CODE_URL, + url: '/common/getComboList_1/40008', + method: 'get' + }); +} +//行业小类查询接口 +export function getSmallIndustryList(params) { + return request({ + baseURL:config.CODE_URL, + url: '/common/getComboList_2/40009/'+params, + method: 'get' + }); +} \ No newline at end of file diff --git a/src/api/login.js b/src/api/login.js index 43b8a41..2a5506c 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -3,7 +3,7 @@ import request from '@/utils/request'; //登录接口 export function login(param) { return request({ - url: '/api-login/login/login', + url: '/userWeb/login', method: 'post', data:param }); @@ -11,23 +11,46 @@ export function login(param) { //登出接口 export function logout() { return request({ - url: '/regback/user/logout', + baseURL:config.CODE_URL, + url: '/common/logout', + method: 'post' + }); +} +//注册账户 +export function registerUser(params) { + return request({ + url: '/userWeb/register', method: 'post', - tokenParams:true + data:params }); } -//普通账户修改密码 -export function updatePass(params) { +//添加用户时校验用户是否存在 +export function existsUserName(params) { return request({ - url: '/api-login/user/updatePassword', + baseURL:config.CODE_URL, + url: '/user/checkUserInfo', method: 'post', data:params }); } -//注册账户 -export function registerUser(params) { +//忘记密码-重设密码 +export function setUpPassword(params) { + return request({ + url: '/userWeb/forGetPassword', + method: 'post', + data:params + }); +} + + + + + + +//普通账户修改密码 +export function updatePass(params) { return request({ - url: '/api-login/user/registerUser', + url: '/api-login/user/updatePassword', method: 'post', data:params }); @@ -48,14 +71,7 @@ export function userToTelphone(params) { params }); } -//忘记密码-重设密码 -export function setUpPassword(params) { - return request({ - url: '/api-login/user/setUpPassword', - method: 'post', - data:params - }); -} + //验证短信验证码 export function smsVerification(params) { return request({ diff --git a/src/api/notice.js b/src/api/notice.js index fe383e3..9459e59 100644 --- a/src/api/notice.js +++ b/src/api/notice.js @@ -1,5 +1,30 @@ import request from '@/utils/request'; +//获取文章列表信息 +export function getNoticeList(params) { + return request({ + url: '/contentWeb/search', + method: 'post', + data:params + }); +} +//获取文章列表信息 +export function getNoticeList2(params) { + return request({ + url: '/contentWeb/getContentList', + method: 'post', + data:params + }); +} + +//获取多个类型文章分页列表信息 +export function getNoticeListByMoreType(params) { + return request({ + url: '/contentWeb/searchTypes', + method: 'post', + data:params + }); +} //获取文章详情 export function getNoticeInfo(params) { return request({ diff --git a/src/assets/public/platform-1.jpg b/src/assets/public/platform-1.jpg new file mode 100644 index 0000000..c45a35e Binary files /dev/null and b/src/assets/public/platform-1.jpg differ diff --git a/src/assets/public/platform-2.jpg b/src/assets/public/platform-2.jpg new file mode 100644 index 0000000..4afeb6a Binary files /dev/null and b/src/assets/public/platform-2.jpg differ diff --git a/src/components/banner/index.vue b/src/components/banner/index.vue new file mode 100644 index 0000000..b13b6e2 --- /dev/null +++ b/src/components/banner/index.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/src/main.js b/src/main.js index 7aa31f6..cec97e7 100644 --- a/src/main.js +++ b/src/main.js @@ -6,7 +6,9 @@ import 'element-ui/lib/theme-chalk/index.css' import App from './App.vue' import router from './router' import store from './store' +import md5 from 'js-md5'; //md5 加密 import * as echarts from 'echarts'; +Vue.prototype.$md5 = md5 Vue.prototype.$echarts = echarts Vue.config.productionTip = false Vue.use(ElementUI) diff --git a/src/router/index.js b/src/router/index.js index 3ad407d..89f0164 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,6 +1,8 @@ import Vue from 'vue' import VueRouter from 'vue-router' import Layout from '../views/layout/Layout.vue'; +import mytemplate from '../views/template.vue'; + Vue.use(VueRouter) const routes = [ @@ -24,82 +26,95 @@ const routes = [ { path: 'introduce', name: 'introduceUnion', - meta: {title: '联盟介绍', icon: 'register', noCache: true}, + meta: {title: '联盟介绍', icon: 'register', noCache: true,typeId:'LMJS'}, }, { path: 'rules', name: 'rulesUnion', - meta: {title: '联盟章程', icon: 'register', noCache: true}, + meta: {title: '联盟章程', icon: 'register', noCache: true,typeId:'LMZC'}, }, { path: 'frame', name: 'frameUnion', - meta: {title: '组织架构', icon: 'register', noCache: true}, + meta: {title: '组织架构', icon: 'register', noCache: true,typeId:'ZZJG'}, }, { path: 'member', name: 'memberUnion', - meta: {title: '联盟成员', icon: 'register', noCache: true}, + meta: {title: '联盟成员', icon: 'register', noCache: true,typeId:'LMCY'}, }, { path: 'us', name: 'usUnion', - meta: {title: '联系我们', icon: 'register', noCache: true}, + meta: {title: '联系我们', icon: 'register', noCache: true,typeId:'LXWM'}, } ] }, { path: 'meeting', name: 'meeting', + component: mytemplate, meta: { title: '互联网大会', icon: 'register', noCache: true }, children: [ { path: 'introduce', name: 'introduceMeeting', - meta: {title: '大会介绍', icon: 'register', noCache: true,titleId:'4'}, + meta: {title: '大会介绍', icon: 'register', noCache: true,typeId:'DHJS'}, }, { path: 'schedule', name: 'scheduleMeeting', - meta: {title: '会议日程', icon: 'register', noCache: true,titleId:'7'}, + meta: {title: '会议日程', icon: 'register', noCache: true,typeId:'HYRC'}, }, { path: 'news', - name: 'newsMeeting', - meta: {title: '大会新闻', icon: 'register', noCache: true}, + name: 'newsMeeting', + components:{ + banner: () => import('@/components/banner'), + default:() => import('@/views/meeting/news.vue') + + }, + meta: {title: '大会新闻', icon: 'register', noCache: true}, + }, - { - path: 'replay', - name: 'replayMeeting', - meta: {title: '大会回看', icon: 'register', noCache: true}, - } + // { + // path: 'replay', + // name: 'replayMeeting', + // meta: {title: '大会回看', icon: 'register', noCache: true,typeId:'DHHK'}, + // } ] }, { path: 'forum', name: 'forum', + component: mytemplate, meta: { title: '转型升级论坛', icon: 'register', noCache: true }, children: [ { path: 'introduce', name: 'introduceForum', - meta: {title: '论坛介绍', icon: 'register', noCache: true}, + meta: {title: '论坛介绍', icon: 'register', noCache: true,typeId:'LTJS'}, }, { path: 'schedule', name: 'scheduleForum', - meta: {title: '论坛日程', icon: 'register', noCache: true}, + meta: {title: '论坛日程', icon: 'register', noCache: true,typeId:'LTRC'}, }, { path: 'news', - name: 'newsForum', + name: 'newsForum', + components:{ + banner: () => import('@/components/banner'), + default:() => import('@/views/forum/news.vue') + + }, meta: {title: '论坛新闻', icon: 'register', noCache: true}, }, - { - path: 'replay', - name: 'replayForum', - meta: {title: '论坛回顾', icon: 'register', noCache: true}, - } + // { + // path: 'replay', + // name: 'replayForum', + // meta: {title: '论坛回顾', icon: 'register', noCache: true,typeId:'LTHG'}, + // } ] }, { @@ -110,34 +125,41 @@ const routes = [ { path: 'whitepaper', name: 'whitepaper', - meta: {title: '白皮书', icon: 'register', noCache: true}, + meta: {title: '白皮书', icon: 'register', noCache: true,typeId:'BPS'}, }, { path: 'benchmark', name: 'benchmark', - meta: {title: '技术标准', icon: 'register', noCache: true}, + meta: {title: '技术标准', icon: 'register', noCache: true,typeId:'JSBZ'}, }, { path: 'electronicMeetings ', name: 'electronicMeetings ', - meta: {title: '电子会刊', icon: 'register', noCache: true}, + meta: {title: '电子会刊', icon: 'register', noCache: true,typeId:'DZHK'}, }, { path: 'example', name: 'example', - meta: {title: '应用案例', icon: 'register', noCache: true}, + meta: {title: '应用案例', icon: 'register', noCache: true,typeId:'YYAL'}, } ] }, { path: 'public', name: 'public', + component: mytemplate, meta: { title: '公共服务', icon: 'register', noCache: true }, children: [ { path: 'platform', - name: 'platform', - meta: {title: '平台', icon: 'register', noCache: true}, + name: 'platform', + components:{ + banner: () => import('@/components/banner'), + default:() => import('@/views/public/platform.vue') + + }, + meta: {title: '平台', icon: 'register', noCache: true}, + } ] }, @@ -174,7 +196,14 @@ const routes = [ path: '/noticeShow', name:'noticeShow', component: () => - import ('../views/noticeShow.vue'), + import ('../views/notice/noticeShow.vue'), + hidden: true + }, + { + path: '/search', + name:'search', + component: () => + import ('../views/search/index.vue'), hidden: true }, ], diff --git a/src/store/index.js b/src/store/index.js index 752076e..7b1b045 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,16 +1,34 @@ import Vue from 'vue' import Vuex from 'vuex' - +import {login, logout} from '@/api/login'; Vue.use(Vuex) -import { setTitle,getTitle } from '@/utils/auth' +import { + setTitle, + getTitle, + removeTitle, + getToken, + setToken, + removeToken, + getName, + setName, + removeName, +} from '@/utils/auth' export default new Vuex.Store({ state: { - title:getTitle() || '北京顺鑫控股集团有限公司二级节点' + title:getTitle() || '北京顺鑫控股集团有限公司二级节点', + token: getToken() || '', + name: getName() || '', }, mutations: { SET_TITLE: (state, token) => { state.token = token; }, + SET_TOKEN: (state, token) => { + state.token = token; + }, + SET_NAME: (state, name) => { + state.name = name; + }, }, actions: { // 标题变化 @@ -21,10 +39,42 @@ export default new Vuex.Store({ resolve(); }); }, + // 登录 + Login({commit}, param) { + //登录获取登录权限 + return new Promise((resolve, reject) => { + login(param).then(response => { + const data = response.data + setToken(data.token) + setName(data.account) + commit('SET_TOKEN', data.token) + commit('SET_NAME', data.account) + resolve(data) + }).catch(error => { + reject(error) + }) + }) + }, + //登出 + LogOut({commit, state}) { + return new Promise((resolve, reject) => { + logout().then(() => { + commit('SET_TOKEN', ''); + commit('SET_NAME', "") + removeToken(); + removeName() + resolve(); + }).catch(error => { + reject(error); + }); + }); + }, }, modules: { }, getters: { - title: state => state.title + title: state => state.title, + name: state => state.name, + token: state => state.token } }) diff --git a/src/utils/auth.js b/src/utils/auth.js index c223ebd..3d01765 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -1,6 +1,8 @@ import Cookies from 'js-cookie' const title = 'COCKPIT-TITLE'; +const TokenKey = 'cfiiu-t'; +const NameKey = 'cfiiu-n'; export function getTitle() { return Cookies.get(title) @@ -12,3 +14,22 @@ export function removeTitle() { return Cookies.remove(title) } +export function getToken() { + return Cookies.get(TokenKey) +} +export function setToken(token) { + return Cookies.set(TokenKey, token) +} +export function removeToken() { + return Cookies.remove(TokenKey) +} + +export function getName() { + return Cookies.get(NameKey) +} +export function setName(name) { + return Cookies.set(NameKey, name) +} +export function removeName() { + return Cookies.remove(NameKey) +} \ No newline at end of file diff --git a/src/utils/request.js b/src/utils/request.js index f3e52ef..49f81be 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -3,6 +3,7 @@ import { Message, MessageBox } from 'element-ui' import store from '../store/index' import qs from 'qs' import router from '@/router' +import { getToken } from '@/utils/auth' axios.defaults.withCredentials = true; var isToken = true // 创建axios实例 @@ -19,9 +20,9 @@ const service = axios.create({ // request拦截器 service.interceptors.request.use((config) => { // let isKey = false - // if (store.getters.token && !config.isLogin) { - // config.headers['token'] = getToken() - // } + if (store.getters.token && !config.isLogin) { + config.headers['token'] = getToken() + } if (config.method == 'post' || config.method == 'put') { // let sData = '' diff --git a/src/utils/validate.js b/src/utils/validate.js index 1fa4dea..ae7b14d 100644 --- a/src/utils/validate.js +++ b/src/utils/validate.js @@ -3,24 +3,58 @@ */ /* 合法身份证ID*/ -export function validateIDCard(textval) { - const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; - return reg.test(textval) +export function validateIDCard(idCard){ + //15位和18位身份证号码的正则表达式 + var regIdCard=/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/; + //如果通过该验证,说明身份证格式正确,但准确性还需计算 + if(regIdCard.test(idCard)){ + if(idCard.length==18){ + var idCardWi=new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ); //将前17位加权因子保存在数组里 + var idCardY=new Array( 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ); //这是除以11后,可能产生的11位余数、验证码,也保存成数组 + var idCardWiSum=0; //用来保存前17位各自乖以加权因子后的总和 + for(var i=0;i<17;i++){ + idCardWiSum+=idCard.substring(i,i+1)*idCardWi[i]; + } + var idCardMod=idCardWiSum%11;//计算出校验码所在数组的位置 + var idCardLast=idCard.substring(17);//得到最后一位身份证号码 + //如果等于2,则说明校验码是10,身份证号码最后一位应该是X + if(idCardMod==2){ + if(idCardLast=="X"||idCardLast=="x"){ + // alert("恭喜通过验证啦!"); + return true + }else{ + return false + } + }else{ + //用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码 + if(idCardLast==idCardY[idCardMod]){ + // alert("恭喜通过验证啦!"); + return true + }else{ + return false + } + } + } else { + return true + } + }else{ + return false + } } /* 校验邮箱*/ export function validateEmail(str) { - var checkEmail = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + var checkEmail = /^([a-zA-Z\d])(\w|\-)+@[a-zA-Z\d]+\.[a-zA-Z]{2,4}$/; return checkEmail.test(str) } /* 检验手机号ID*/ export function validatePhone(textval) { - const reg = /^1[3|4|5|7|8][0-9]\d{8}$/ + const reg = /^1[3|4|5|6|7|8|9][0-9]\d{8}$/ return reg.test(textval) } /* 合法uri*/ export function validateURL(textval) { - const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ + const urlregex = /^(http:\/\/|https:\/\/)*([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ return urlregex.test(textval) } @@ -45,4 +79,4 @@ export function validatAlphabets(str) { export function validateChinese(str) { const reg = /[\u4E00-\u9FA5]/ return reg.test(str) -} \ No newline at end of file +} diff --git a/src/views/forum/news.vue b/src/views/forum/news.vue new file mode 100644 index 0000000..155ae9d --- /dev/null +++ b/src/views/forum/news.vue @@ -0,0 +1,146 @@ + + + + diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 8844010..9c52bc4 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -4,11 +4,11 @@
@@ -40,10 +40,10 @@
-
+
联盟动态
NEWS
-
+
行业资讯
INFORMATION
@@ -53,20 +53,20 @@

{{item.title}}

-

{{item.content.replace(/<[^>]+>/g,"")}}

+

{{item.description}}

{{item.title}}

- {{item.sendtime}} + {{item.issueStartTime}}
-
+

{{item.title}}

- {{item.sendtime}} + {{item.issueStartTime}}
@@ -90,18 +90,13 @@

RESULTS




-
-

白皮书

-

- 查看更多 >> -

技术标准



查看更多 >>
-
-

电子会刊

+
+

白皮书



查看更多 >>
@@ -110,11 +105,17 @@

查看更多 >>
+
+

电子会刊

+

+ 查看更多 >> +
+


-
+

【白皮书】{{item.title}}

@@ -122,7 +123,7 @@
-
+

【白皮书】{{item.title}}

@@ -134,7 +135,7 @@
-

公众服务 +

公共服务

@@ -174,31 +175,78 @@
diff --git a/src/views/meeting/news.vue b/src/views/meeting/news.vue new file mode 100644 index 0000000..833cc1d --- /dev/null +++ b/src/views/meeting/news.vue @@ -0,0 +1,146 @@ + + + + diff --git a/src/views/notice/noticeShow.vue b/src/views/notice/noticeShow.vue new file mode 100644 index 0000000..3afc384 --- /dev/null +++ b/src/views/notice/noticeShow.vue @@ -0,0 +1,128 @@ + + + \ No newline at end of file diff --git a/src/views/noticeShow.vue b/src/views/noticeShow.vue deleted file mode 100644 index ed3f9ef..0000000 --- a/src/views/noticeShow.vue +++ /dev/null @@ -1,31 +0,0 @@ - - \ No newline at end of file diff --git a/src/views/public/platform.vue b/src/views/public/platform.vue new file mode 100644 index 0000000..b373174 --- /dev/null +++ b/src/views/public/platform.vue @@ -0,0 +1,87 @@ + + + diff --git a/src/views/search/index.vue b/src/views/search/index.vue new file mode 100644 index 0000000..f47f4e5 --- /dev/null +++ b/src/views/search/index.vue @@ -0,0 +1,114 @@ + + + \ No newline at end of file diff --git a/src/views/template.vue b/src/views/template.vue new file mode 100644 index 0000000..e63ac8f --- /dev/null +++ b/src/views/template.vue @@ -0,0 +1,12 @@ + + \ No newline at end of file