From 0094f449104818fb0ca3a5fc6ec2716f62449ae0 Mon Sep 17 00:00:00 2001 From: Pan Date: Tue, 22 Aug 2017 14:26:19 +0800 Subject: [PATCH 001/271] change login by username --- src/api/login.js | 6 +- src/assets/iconfont/iconfont.js | 2 +- src/mock/index.js | 34 ++++---- src/mock/login.js | 6 +- src/store/modules/user.js | 10 +-- src/utils/validate.js | 6 +- src/views/dashboard/index.vue | 1 - src/views/login/index.vue | 137 ++++++++++++++++++-------------- 8 files changed, 109 insertions(+), 93 deletions(-) diff --git a/src/api/login.js b/src/api/login.js index cc8599b5..cfcff27d 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -1,12 +1,12 @@ import fetch from 'utils/fetch'; -export function loginByEmail(email, password) { +export function loginByUsername(username, password) { const data = { - email, + username, password }; return fetch({ - url: '/login/loginbyemail', + url: '/login/login', method: 'post', data }); diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js index 8b1ffad9..927b19d7 100644 --- a/src/assets/iconfont/iconfont.js +++ b/src/assets/iconfont/iconfont.js @@ -1 +1 @@ -(function(window){var svgSprite=""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+"";var script=function(){var scripts=document.getElementsByTagName("script");return scripts[scripts.length-1]}();var shouldInjectCss=script.getAttribute("data-injectcss");var ready=function(fn){if(document.addEventListener){if(~["complete","loaded","interactive"].indexOf(document.readyState)){setTimeout(fn,0)}else{var loadFn=function(){document.removeEventListener("DOMContentLoaded",loadFn,false);fn()};document.addEventListener("DOMContentLoaded",loadFn,false)}}else if(document.attachEvent){IEContentLoaded(window,fn)}function IEContentLoaded(w,fn){var d=w.document,done=false,init=function(){if(!done){done=true;fn()}};var polling=function(){try{d.documentElement.doScroll("left")}catch(e){setTimeout(polling,50);return}init()};polling();d.onreadystatechange=function(){if(d.readyState=="complete"){d.onreadystatechange=null;init()}}}};var before=function(el,target){target.parentNode.insertBefore(el,target)};var prepend=function(el,target){if(target.firstChild){before(el,target.firstChild)}else{target.appendChild(el)}};function appendSvg(){var div,svg;div=document.createElement("div");div.innerHTML=svgSprite;svgSprite=null;svg=div.getElementsByTagName("svg")[0];if(svg){svg.setAttribute("aria-hidden","true");svg.style.position="absolute";svg.style.width=0;svg.style.height=0;svg.style.overflow="hidden";prepend(svg,document.body)}}if(shouldInjectCss&&!window.__iconfont__svg__cssinject__){window.__iconfont__svg__cssinject__=true;try{document.write("")}catch(e){console&&console.log(e)}}ready(appendSvg)})(window) \ No newline at end of file +(function(window){var svgSprite=""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+''+""+''+""+""+""+"";var script=function(){var scripts=document.getElementsByTagName("script");return scripts[scripts.length-1]}();var shouldInjectCss=script.getAttribute("data-injectcss");var ready=function(fn){if(document.addEventListener){if(~["complete","loaded","interactive"].indexOf(document.readyState)){setTimeout(fn,0)}else{var loadFn=function(){document.removeEventListener("DOMContentLoaded",loadFn,false);fn()};document.addEventListener("DOMContentLoaded",loadFn,false)}}else if(document.attachEvent){IEContentLoaded(window,fn)}function IEContentLoaded(w,fn){var d=w.document,done=false,init=function(){if(!done){done=true;fn()}};var polling=function(){try{d.documentElement.doScroll("left")}catch(e){setTimeout(polling,50);return}init()};polling();d.onreadystatechange=function(){if(d.readyState=="complete"){d.onreadystatechange=null;init()}}}};var before=function(el,target){target.parentNode.insertBefore(el,target)};var prepend=function(el,target){if(target.firstChild){before(el,target.firstChild)}else{target.appendChild(el)}};function appendSvg(){var div,svg;div=document.createElement("div");div.innerHTML=svgSprite;svgSprite=null;svg=div.getElementsByTagName("svg")[0];if(svg){svg.setAttribute("aria-hidden","true");svg.style.position="absolute";svg.style.width=0;svg.style.height=0;svg.style.overflow="hidden";prepend(svg,document.body)}}if(shouldInjectCss&&!window.__iconfont__svg__cssinject__){window.__iconfont__svg__cssinject__=true;try{document.write("")}catch(e){console&&console.log(e)}}ready(appendSvg)})(window) \ No newline at end of file diff --git a/src/mock/index.js b/src/mock/index.js index dea59284..1ac3a8c2 100644 --- a/src/mock/index.js +++ b/src/mock/index.js @@ -1,25 +1,23 @@ -import Mock from 'mockjs'; -import loginAPI from './login'; -import articleAPI from './article'; -import article_tableAPI from './article_table'; -import remoteSearchAPI from './remoteSearch'; - +import Mock from 'mockjs' +import loginAPI from './login' +import articleAPI from './article' +import article_tableAPI from './article_table' +import remoteSearchAPI from './remoteSearch' // 登录相关 -Mock.mock(/\/login\/loginbyemail/, 'post', loginAPI.loginByEmail); -Mock.mock(/\/login\/logout/, 'post', loginAPI.logout); +Mock.mock(/\/login\/login/, 'post', loginAPI.loginByUsername) +Mock.mock(/\/login\/logout/, 'post', loginAPI.logout) Mock.mock(/\/user\/info\.*/, 'get', loginAPI.getInfo) -// // 文章相关 -Mock.mock(/\/article\/list/, 'get', articleAPI.getList); -Mock.mock(/\/article\/detail/, 'get', articleAPI.getArticle); +// 文章相关 +Mock.mock(/\/article\/list/, 'get', articleAPI.getList) +Mock.mock(/\/article\/detail/, 'get', articleAPI.getArticle) -// // table example相关 -Mock.mock(/\/article_table\/list/, 'get', article_tableAPI.getList); -Mock.mock(/\/article_table\/p/, 'get', article_tableAPI.getPv); +// table example相关 +Mock.mock(/\/article_table\/list/, 'get', article_tableAPI.getList) +Mock.mock(/\/article_table\/p/, 'get', article_tableAPI.getPv) -// // 搜索相关 -Mock.mock(/\/search\/user/, 'get', remoteSearchAPI.searchUser); +// 搜索相关 +Mock.mock(/\/search\/user/, 'get', remoteSearchAPI.searchUser) - -export default Mock; +export default Mock diff --git a/src/mock/login.js b/src/mock/login.js index a8d0dea5..9baab9a1 100644 --- a/src/mock/login.js +++ b/src/mock/login.js @@ -25,9 +25,9 @@ const userMap = { } export default { - loginByEmail: config => { - const { email } = JSON.parse(config.body); - return userMap[email.split('@')[0]]; + loginByUsername: config => { + const { username } = JSON.parse(config.body); + return userMap[username]; }, getInfo: config => { const { token } = param2Obj(config.url); diff --git a/src/store/modules/user.js b/src/store/modules/user.js index d65175eb..7582434b 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,4 +1,4 @@ -import { loginByEmail, logout, getInfo } from 'api/login'; +import { loginByUsername, logout, getInfo } from 'api/login'; import { getToken, setToken, removeToken } from 'utils/auth'; const user = { @@ -50,11 +50,11 @@ const user = { }, actions: { - // 邮箱登录 - LoginByEmail({ commit }, userInfo) { - const email = userInfo.email.trim(); + // 用户名登录 + LoginByUsername({ commit }, userInfo) { + const username = userInfo.username.trim(); return new Promise((resolve, reject) => { - loginByEmail(email, userInfo.password).then(response => { + loginByUsername(username, userInfo.password).then(response => { const data = response.data; setToken(response.data.token); commit('SET_TOKEN', data.token); diff --git a/src/utils/validate.js b/src/utils/validate.js index 3dbc5fec..3deb7eed 100644 --- a/src/utils/validate.js +++ b/src/utils/validate.js @@ -3,9 +3,9 @@ */ /* 是否是公司邮箱*/ -export function isWscnEmail(str) { - const reg = /^[a-z0-9](?:[-_.+]?[a-z0-9]+)*@wallstreetcn\.com$/i; - return reg.test(str.trim()); +export function isvalidUsername(str) { + const valid_map = ['admin', 'editor'] + return valid_map.indexOf(str.trim()) >= 0; } /* 合法uri*/ diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index f7722bde..da0c60cd 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -21,7 +21,6 @@ ...mapGetters([ 'name', 'avatar', - 'email', 'introduction', 'roles' ]) diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 15d2686d..54b35292 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -1,115 +1,123 @@ @@ -119,7 +127,7 @@ .tips { font-size: 14px; color: #fff; - margin-bottom: 5px; + margin-bottom: 10px; } .login-container { @@ -147,6 +155,12 @@ .svg-container { padding: 6px 5px 6px 15px; color: #889aa4; + vertical-align: middle; + width: 30px; + display: inline-block; + &_login{ + font-size:20px; + } } .title { font-size: 26px; @@ -170,8 +184,13 @@ border-radius: 5px; color: #454545; } - .forget-pwd { - color: #fff; + .show-pwd{ + position: absolute; + right: 10px; + top: 7px; + font-size: 16px; + color: #889aa4; + cursor: pointer; } } From 62d2f62bff13bc3fe3725de1eeb7ee629b3c9f19 Mon Sep 17 00:00:00 2001 From: Pan Date: Tue, 22 Aug 2017 14:48:11 +0800 Subject: [PATCH 002/271] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E7=99=BB=E5=BD=95=20demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/login/index.vue | 49 +++++++++++++-------- src/views/login/socialsignin.vue | 74 ++++++++++++++++---------------- 2 files changed, 67 insertions(+), 56 deletions(-) diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 54b35292..5557a5f7 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -23,10 +23,13 @@
账号:admin 密码随便填
账号:editor 密码随便填
+ + 打开第三方登录 - 邮箱登录成功,请选择第三方验证 + 本地不能模拟,请结合自己业务进行模拟!!!


+ 邮箱登录成功,请选择第三方验证
@@ -124,16 +127,14 @@ diff --git a/src/views/login/socialsignin.vue b/src/views/login/socialsignin.vue index 89dd061e..3842193e 100644 --- a/src/views/login/socialsignin.vue +++ b/src/views/login/socialsignin.vue @@ -1,12 +1,12 @@ diff --git a/src/api/article.js b/src/api/article.js index fad7e132..b137ee5d 100644 --- a/src/api/article.js +++ b/src/api/article.js @@ -1,16 +1,16 @@ -import fetch from 'utils/fetch'; +import fetch from 'utils/fetch' -export function getList() { +export function getList () { return fetch({ url: '/article/list', method: 'get' - }); + }) } -export function getArticle() { +export function getArticle () { return fetch({ url: '/article/detail', method: 'get' - }); + }) } diff --git a/src/api/article_table.js b/src/api/article_table.js index 2e3edf52..767608d6 100644 --- a/src/api/article_table.js +++ b/src/api/article_table.js @@ -1,17 +1,17 @@ -import fetch from 'utils/fetch'; +import fetch from 'utils/fetch' -export function fetchList(query) { +export function fetchList (query) { return fetch({ url: '/article_table/list', method: 'get', params: query - }); + }) } -export function fetchPv(pv) { +export function fetchPv (pv) { return fetch({ url: '/article_table/pv', method: 'get', params: { pv } - }); + }) } diff --git a/src/api/login.js b/src/api/login.js index 4674d1c8..e811e06b 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -1,6 +1,6 @@ import fetch from 'utils/fetch' -export function loginByUsername(username, password) { +export function loginByUsername (username, password) { const data = { username, password @@ -12,14 +12,14 @@ export function loginByUsername(username, password) { }) } -export function logout() { +export function logout () { return fetch({ url: '/login/logout', method: 'post' }) } -export function getInfo(token) { +export function getInfo (token) { return fetch({ url: '/user/info', method: 'get', diff --git a/src/api/qiniu.js b/src/api/qiniu.js index b2837f72..3b54da6f 100644 --- a/src/api/qiniu.js +++ b/src/api/qiniu.js @@ -1,8 +1,8 @@ -import fetch from 'utils/fetch'; +import fetch from 'utils/fetch' -export function getToken() { +export function getToken () { return fetch({ url: '/qiniu/upload/token', // 假地址 自行替换 method: 'get' - }); + }) } diff --git a/src/api/remoteSearch.js b/src/api/remoteSearch.js index ed45bd74..e2ddbafa 100644 --- a/src/api/remoteSearch.js +++ b/src/api/remoteSearch.js @@ -1,9 +1,9 @@ -import fetch from 'utils/fetch'; +import fetch from 'utils/fetch' -export function userSearch(name) { +export function userSearch (name) { return fetch({ url: '/search/user', method: 'get', params: { name } - }); + }) } diff --git a/src/components/BackToTop/index.vue b/src/components/BackToTop/index.vue index 2c8826ba..fa6b18b0 100644 --- a/src/components/BackToTop/index.vue +++ b/src/components/BackToTop/index.vue @@ -12,73 +12,73 @@ diff --git a/src/views/example/tab/components/tabPane.vue b/src/views/example/tab/components/tabPane.vue index 74925eef..cd2f55e1 100644 --- a/src/views/example/tab/components/tabPane.vue +++ b/src/views/example/tab/components/tabPane.vue @@ -28,7 +28,7 @@ @@ -51,7 +51,6 @@ import { fetchList } from 'api/article_table' export default { - name: 'articleDetail', props: { type: { type: String, @@ -61,7 +60,6 @@ export default { data() { return { list: null, - total: null, listQuery: { page: 1, limit: 5, @@ -86,10 +84,8 @@ export default { methods: { getList() { this.$emit('create') // for test - fetchList(this.listQuery).then(response => { this.list = response.data.items - this.total = response.data.total }) } } diff --git a/src/views/example/tab/index.vue b/src/views/example/tab/index.vue index 72661059..4b69d7c8 100644 --- a/src/views/example/tab/index.vue +++ b/src/views/example/tab/index.vue @@ -20,10 +20,10 @@ export default { data() { return { tabMapOptions: [ - { label: '中国', key: 'CN' }, - { label: '美国', key: 'US' }, - { label: '日本', key: 'JP' }, - { label: '欧元区', key: 'EU' } + { label: '中国', key: 'CN' }, + { label: '美国', key: 'US' }, + { label: '日本', key: 'JP' }, + { label: '欧元区', key: 'EU' } ], activeName: 'CN', createdTimes: 0 diff --git a/src/views/excel/index.vue b/src/views/excel/index.vue index 3023e24d..cab49c9c 100644 --- a/src/views/excel/index.vue +++ b/src/views/excel/index.vue @@ -1,6 +1,6 @@