Commit 5f2f187c authored by 周远喜's avatar 周远喜

ok

parent bfc2e76f
......@@ -142,6 +142,6 @@ API.lang = (code) => {
else console.log(`The ${code} language pack is not loaded.`); // eslint-disable-line no-console
};
module.exports.default = module.exports = API; // eslint-disable-line no-undef
// export default API
// module.exports.default = module.exports = API; // eslint-disable-line no-undef
export default API
// module.exports.default =API;
\ No newline at end of file
......@@ -156,6 +156,10 @@
</div>
<Alert type="warning">
<div slot="desc">
{{tabs}}22
<!-- <Switch v-model="visible" /> -->
<Switch true-color="#13ce66" false-color="#ff4949" />
111
该功能主要实时预览各种布局效果,更多完整配置在 <strong>setting.js</strong> 中设置。建议在生产环境关闭该布局预览功能。
</div>
</Alert>
......
......@@ -43,8 +43,6 @@
'logout'
]),
handleClick (name) {
// debugger;
alert(name);
if (name === 'logout') {
this.logout({
confirm: this.logoutConfirm,
......
......@@ -18,7 +18,8 @@
<i-menu-head v-if="headerMenu && isMobile" />
<i-header-log v-if="isDesktop && showLog" />
<i-header-fullscreen v-if="isDesktop && showFullscreen" />
<i-header-notice v-if="showNotice" />
<!-- <i-header-notice v-if="showNotice" /> -->
<i-header-notice />
<i-header-user />
<i-header-i18n v-if="showI18n" />
<i-header-setting v-if="enableSetting && !isMobile" />
......@@ -31,14 +32,15 @@
</transition>
<div class="i-layout-content-main">
<keep-alive :include="keepAlive">
<router-view v-if="loadRouter" />
<!-- <router-view v-if="loadRouter" /> -->
<nuxt v-if="loadRouter" />
</keep-alive>
</div>
</Content>
<!-- <i-copyright /> -->
</Layout>
<div v-if="isMobile && !hideSider">
<Drawer v-model="showDrawer" placement="left" :closable="false" :class-name="drawerClasses">
<Drawer v-model="showDrawer" placement="left" :closable="false" :class-name="drawerClasses">
<i-menu-side />
</Drawer>
</div>
......
......@@ -3,10 +3,31 @@
</template>
<script>
import Main from "./basic-layout/index.vue"
import menuHeader from '@/menu/header';
import menuSider from '@/menu/sider';
import { frameInRoutes } from '@/router/routes';
// 配置
import Setting from '@/setting.js';
import mixinApp from '@/mixins/app';
import { getHeaderName, getMenuSider, getSiderSubmenu } from '@/libs/system';
export default {
components:{
Main
}
},
mixins: [mixinApp],
created(){
// 处理路由 得到每一级的路由设置
this.$store.commit('admin/page/init', frameInRoutes);
// 设置顶栏菜单
this.$store.commit('admin/menu/setHeader', menuHeader);
// 加载用户登录的数据
this.$store.dispatch('admin/account/load');
// 初始化全屏监听
/* this.$store.dispatch('admin/layout/listenFullscreen') */
},
watch: {
}
}
</script>
......
......@@ -38,7 +38,8 @@ export default {
*/
plugins: [
'@/plugins/iview',
// {src:'@/plugins/admin',mode:'client'}
{src:'@/plugins/admin',mode:'client'},
{src:'@/plugins/route',mode:'client'}
],
/*
** Nuxt.js dev-modules
......@@ -76,7 +77,14 @@ export default {
},
extend (config, ctx) {
config.resolve.alias['_c']=path.resolve(__dirname, 'components')
config.module.rules.push({
enforce:'pre',
test: /\.vue$/,
loader: 'iview-loader',
options: {
prefix: false
}
});
}
// ,
// chainWebpack: config => {
......
......@@ -15,6 +15,8 @@
"better-scroll": "^1.12.1",
"dayjs": "^1.8.9",
"echarts": "^4.1.0",
"iview-loader": "^1.3.0",
"iview-pro": "file:./iview-pro",
"js-cookie": "^2.2.0",
"less": "^3.10.3",
"less-loader": "^5.0.0",
......@@ -29,8 +31,7 @@
"simplemde": "^1.11.2",
"ua-parser-js": "^0.7.18",
"view-design": "^4.0.0",
"vue-i18n": "^7.8.1",
"iview-pro": "file:./iview-pro"
"vue-i18n": "^7.8.1"
},
"devDependencies": {}
}
......@@ -61,7 +61,8 @@
})
.then(() => {
// 重定向对象不存在则返回顶层路径
this.$router.replace(this.$route.query.redirect || '/');
// this.$router.replace(this.$route.query.redirect || '/');
this.$router.push("/")
});
}
}
......
......@@ -26,10 +26,9 @@
<Button type="primary">hello</Button>
</div>
</div>
<FooterToolbar extra="额外信息">
<Button>取消</Button>
<Button type="primary">提交</Button>
</FooterToolbar>
<div>
1121<i-switch true-color="#13ce66" false-color="#ff4949" />222
</div>
</div>
</template>
......@@ -37,9 +36,10 @@
import Logo from '~/components/Logo.vue'
export default {
// layout:'empty',
components: {
Logo
}
},
}
</script>
<style lang="less">
......
<template>
<div class="test">
<h1>
hello!
</h1>
</div>
</template>
<script>
export default {
layout:'empty'
}
</script>
\ No newline at end of file
// Vue
import Vue from 'vue';
// 配置
import Setting from '../setting';
// 混合
import mixinApp from '@/mixins/app';
// 插件
import plugins from '@/plugins';
// 多语言
import i18n from '@/i18n';
// 内置组件
import Vue from 'vue'
import '@/styles/index.less';
import iLink from '@/components/link';
// 使用样式,修改主题可以在 styles 目录下创建新的主题包并修改 iView 默认的 less 变量
// 参考 https://www.iviewui.com/docs/guide/theme
import '../styles/index.less';
// import '../libs/iview-pro/iview-pro.css';
if (window) window.$t = (key, value) => i18n.t(key, value);
Vue.use(plugins);
import VueI18n from 'vue-i18n';
import Languages from '@/i18n/locale';
import Setting from '../setting.env.js';
import { frameInRoutes } from '@/router/routes';
import menuHeader from '@/menu/header';
import menuSider from '@/menu/sider';
import { getHeaderName, getMenuSider, getSiderSubmenu } from '@/libs/system';
Vue.use(VueI18n);
Vue.component('i-link', iLink);
const env = process.env.NODE_ENV;
console.warn("env",env)
if (Setting.isMock) {
require('@/mock')
}
export default ({ app, store,router })=>{
store.dispatch('admin/i18n/getLocale');
const locale = store.state.admin.i18n.locale;
app.i18n= new VueI18n({
locale,
messages: Languages,
silentTranslationWarn: false
})
}
/**
export default ({ app, store,router }) => {
store.dispatch('admin/i18n/getLocale');
const locale = store.state.admin.i18n.locale;
//
// 处理路由 得到每一级的路由设置
store.commit('admin/page/init', frameInRoutes);
// 设置顶栏菜单
store.commit('admin/menu/setHeader', menuHeader);
// 加载用户登录的数据
store.dispatch('admin/account/load');
// 初始化全屏监听
store.dispatch('admin/layout/listenFullscreen')
app.i18n= new VueI18n({
locale,
messages: Languages,
silentTranslationWarn: false
})
console.warn(app.i18n)
// if (window) window.$t = (key, value) => i18n.t(key, value);
const headerName = getHeaderName("", menuSider);
store.commit('admin/menu/setHeaderName', headerName);
const filterMenuSider = getMenuSider(menuSider, headerName);
store.commit('admin/menu/setSider', filterMenuSider);
store.commit('admin/menu/setActivePath', "");
const openNames = getSiderSubmenu("", menuSider);
store.commit('admin/menu/setOpenNames', openNames);
}
*/
import iView from 'view-design';
import util from '@/libs/util'
import Setting from '@/setting';
export default ({ app, router ,store}) => {
/**
* 路由拦截
* 权限验证
*/
app.router.beforeEach((to, from, next) => {
if (Setting.showProgressBar) iView.LoadingBar.start();
// 判断是否需要登录才可以进入
const token = util.cookies.get('token');
console.info(to,token);
if(token&&token!=='undefined'){
next();
} else if (to.matched.some(p=>{
return p.path.indexOf("/account")==0
})){
next();
} else {
next({
path:"/acount/login"
})
}
});
app.router.afterEach(to => {
if (Setting.showProgressBar) iView.LoadingBar.finish();
// 多页控制 打开新的页面
store.dispatch('admin/page/open', to);
// 更改标题
util.title({
title: to.meta.title
});
// 返回页面顶端
window.scrollTo(0, 0);
});
}
\ No newline at end of file
......@@ -34,6 +34,7 @@ export default {
// token 代表用户当前登录状态 建议在网络请求中携带 token
// 如有必要 token 需要定时更新,默认保存一天,可在 setting.js 中修改
// 如果你的 token 不是通过 cookie 携带,而是普通字段,也可视情况存储在 localStorage
console.info(res)
util.cookies.set('uuid', res.uuid);
util.cookies.set('token', res.token);
// 设置 vuex 用户信息
......@@ -60,12 +61,15 @@ export default {
// 清空 vuex 用户信息
await dispatch('admin/user/set', {}, { root: true });
// 跳转路由
router.push({
name: 'login'
});
window.$nuxt.$router.replace({
path:"/account/login"
})
// router.push({
// name: 'login'
// });
}
if (!confirm) {
if (confirm) {
Modal.confirm({
title: vm.$t('basicLayout.logout.confirmTitle'),
content: vm.$t('basicLayout.logout.confirmContent'),
......
@font-face {font-family: "i-icon";
src: url('iconfont.eot?t=1570845937392'); /* IE9 */
src: url('iconfont.eot?t=1570845937392#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAW4AAsAAAAADAgAAAVrAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDdAqKMIhSATYCJAMgCxIABCAFhFUHgQQbUAojEaaErk72lwfcYWHxjyPaEUW0fmv4c+ow30ev+kLnUarQzWDwQO9ZbzJpmtZLZU8szsKngMXhF1T20D27MbU5R4hCRpihfELNvpDitu7S7J+FEqzMt682d7c/5948tbvkf046AFSzUxMOCDRQahObth95wu0myXEhADBi2w4eldCqF4eqGUtj8dxbAGCvQQGcnN3yGNvWea+AvRBgLcRzlxReUOpnPg0B2EmlBKJOvSZt0FERfIG0IQP790RvKFAniAJdrA1cqSIWYkFXZikXgQXZ9sUbfEIHBYtEPKtFv7p9qBEi/5qcEeZ0kTOYsT0dYB0IEigBqGyfOWiYjSwCJZDYg1iVboBXkiSEtpsWah+aE1qXXzv/WjjcqYVArFWFf/HAikCioWJBAaEhBE6G7RO0QgjNqIRpkCEgbA8ZEsI5kKFBuA4UqJBfW4YFwmsoQAFAT67wAokg9oCSghBVyUTyGYxSsWBpycdyZ8LhSHiUNLWmmogPe9/Z9oLjLHresuteK95STqu/x7bX3uyevDP/6fUX3LsFJbQlU3+WbBGmmfOzpTdnyTqnPw3OOnJYbj9xm8hnAL0hYhRhUeP1VYKMuKnTsHJ8l/K5GQg6vYG9AOL1bStBw2A2BPfeLYHuivfNcg0yX+K1A9GD9oS9gBYUj5cJyTvS66e/oz1xJssMm4Jiy7oRL20k9rofWLYAjiZWVodJucwO6jyk2KJl3GCzoT8TAqexb50hVdsSDQAsegzNxHAOucKI10RDA8ukVrEbso6ILHh0Fg9Wu+3YbzWDqfkURcaCwRry41BHzsJW90Zlu1229Es3W4W4sZ5u0bD2JzPpKWf1kJBGlnz7VsbcLJMGTpXliFJXyHPnJLgrOA1VPOrHp7Q0LfqUZVPx2OKJk1Ymr+RnrEryJ62qWQM5Zeu2KYrUbdumpLxtlaPyoOKrJvbyzQw2YKW8cEGu5NSEFjMqPTVqjJ3HRGl6Mt2mi8SPztOn01ictU6fcXw0j89zG6Z5lAQCz5yM2F15Vw2izVMozxVxjw7wnCnPNe+DCV6dXW3Y+0KJzfx16weni9FKtLvhe1UZNa9eINffgBbv60ycnPxznXvX5iZVB6pfuXlX3D+t94AldnuCfWb0TGvcQ7YkJl+ZtWPH1dgR/RpOK2j9So22o+okqEcifcYdX634tqOp8dUaqD1RRFChTKEs05fq98yb5/GnZrqz3Ia7jaeOzPL5zBum0Q5k1jyQlTWGuEHzaVRTnsdDJ/jMS+q4szy1WXHK7KFV0HokKi7mdBh+7POWDAxq48KsMt4VaycZuhHvet8S7bu2ZAPmssci1+X7tvQzTAcg/PwWmQkgtyuvINz8VlkQwsgRshaEnd8uCwHIhYqZPUIAAgrL6c7unirfdIeKoXtn2n6CPcwgs74K/ftjFPgbMYldasgWSn385jSDTNa1WfQpwC4H4M9jifS3TVEMTwVBE1OBwioJJI2BVLFFwMKhFGg0FcGuuKPrHaKEeWIuKOZjAYLTDlC45YLkdAypYi+BRaxP0Dh9ALt2/3d0KNT12hmhYNQgX8CrNBhl5zVfeMk3aKdOkM1MvA9I2cMJTVm3wlc4IK17Tn60LbMBQ6mHy408D7suwUgpoOLSMY+7VWWGvqlUqZ9ZU5tQMGogX4BXaTBJJq8ZWAR/v0E7dYIGa6rYB6Qc0tly0CjVk8grKuiEuvvOzY+2xVJnQJdS6sHl0eiwY4EExuHDAiouuTV8466K9TNUQblfUf/oTgF24g16q910enr7urQfVSK9nHKNel92O/jsuTBT1xVZEeKwMST2xivBd6d7vTd2vcdhKqbbauj0akUv5DMz') format('woff2'),
url('iconfont.woff?t=1570845937392') format('woff'),
url('iconfont.ttf?t=1570845937392') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1570845937392#i-icon') format('svg'); /* iOS 4.1- */
}
.i-icon {
font-family: "i-icon" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.i-icon-record:before {
content: "\e61f";
}
.i-icon-refresh:before {
content: "\e7d1";
}
.i-icon-exit-full-screen:before {
content: "\e657";
}
.i-icon-notification:before {
content: "\e69d";
}
.i-icon-full-screen:before {
content: "\e743";
}
.i-icon-menu-unfold:before {
content: "\e68b";
}
.i-icon-menu-fold:before {
content: "\e600";
}
@import "./default/index.less";
// @import "./font/iconfont.css";
@import "./font/iconfont.less";
@import "./setting.less";
@import "./common.less";
......
......@@ -2322,6 +2322,11 @@ cosmiconfig@^5.0.0:
js-yaml "^3.13.1"
parse-json "^4.0.0"
countup.js@^1.9.3:
version "1.9.3"
resolved "https://registry.yarnpkg.com/countup.js/-/countup.js-1.9.3.tgz#ce3e50cd7160441e478f07da31895edcc0f1c9dd"
integrity sha1-zj5QzXFgRB5HjwfaMYle3MDxyd0=
create-ecdh@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
......@@ -2582,7 +2587,7 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
dayjs@^1.8.9:
dayjs@^1.8.8, dayjs@^1.8.9:
version "1.8.16"
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.16.tgz#2a3771de537255191b947957af2fd90012e71e64"
integrity sha512-XPmqzWz/EJiaRHjBqSJ2s6hE/BUoCIHKgdS2QPtTQtKcS9E4/Qn0WomoH1lXanWCzri+g7zPcuNV4aTZ8PMORQ==
......@@ -4166,6 +4171,27 @@ isstream@~0.1.2:
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
iview-loader@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/iview-loader/-/iview-loader-1.3.0.tgz#9f462eeae2382b8b49ef8e892cd9681497e354b7"
integrity sha512-Tfv2lvSx+fAAqJo77oRo2j49tkbv4SiALLTsZ4iZH1nRCBmrH1uOdgERTkDGK1SuJJX5w3aGkQa6iGdXzNAytQ==
dependencies:
loader-utils "^1.1.0"
"iview-pro@file:./iview-pro":
version "2.0.0"
dependencies:
countup.js "^1.9.3"
dayjs "^1.8.8"
deepmerge "^2.2.1"
element-resize-detector "^1.2.0"
lodash.chunk "^4.2.0"
lodash.throttle "^4.1.1"
numeral "^2.0.6"
select "^1.1.2"
v-click-outside-x "^3.5.6"
view-design "^4.0.0"
jest-worker@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5"
......@@ -4399,6 +4425,11 @@ lodash._reinterpolate@^3.0.0:
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
lodash.chunk@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc"
integrity sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=
lodash.kebabcase@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
......@@ -4990,7 +5021,12 @@ number-is-nan@^1.0.0:
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
nuxt@^2.0.0:
numeral@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/numeral/-/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506"
integrity sha1-StCAk21EPCVhrtnyGX7//iX05QY=
nuxt@^2.10.2:
version "2.10.2"
resolved "https://registry.yarnpkg.com/nuxt/-/nuxt-2.10.2.tgz#15ade22dfe281095865df18e6f6e861fcad1ff95"
integrity sha512-BDeio2WwwMrW4bctRYNHq1su+rwIJzuo87bAZv8Xs2/Gw5g4bPIGZTiKGx6tSZBjxnONsGDOxhFOWZ5JpQEtrQ==
......@@ -6515,6 +6551,11 @@ scriptjs@^2.5.9:
resolved "https://registry.yarnpkg.com/scriptjs/-/scriptjs-2.5.9.tgz#343915cd2ec2ed9bfdde2b9875cd28f59394b35f"
integrity sha512-qGVDoreyYiP1pkQnbnFAUIS5AjenNwwQBdl7zeos9etl+hYKWahjRTfzAZZYBv5xNHx7vNKCmaLDQZ6Fr2AEXg==
select@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
......@@ -7427,7 +7468,7 @@ uuid@^3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866"
integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==
v-click-outside-x@^3.7.1:
v-click-outside-x@^3.5.6, v-click-outside-x@^3.7.1:
version "3.7.1"
resolved "https://registry.yarnpkg.com/v-click-outside-x/-/v-click-outside-x-3.7.1.tgz#aa03eaa0e41e44cb5207dcf86c2d9f0dd64084c1"
integrity sha512-WmUgmcIXr9clVpm1AYS/FgHtcDicfnfoxgQCNg4O6vfk9GVnxA0vSqO321ogUo0b7czYTidj7fQENvWFMWOkUg==
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment