经典的60句话[转贴]

1.爱,应该是先知后行。

度过了年少懵懂的我,看到这句,不仅感慨,也感到些许羞愧……

2.有才华、性格又温柔的人往往不漂亮;才貌双全的,自恃聪明漂亮的人又很难温柔;而漂亮温柔的人多半没什么才华。

老师在下面接着写到:生活的经验告诉我们,如果你不思量清楚而盲目追求美貌的伴侣,有可能让你自己处于和别人的竞争中以及自己的紧张状态里,寻找最适合自己的伴侣才能获得幸福。

3.不要去恨你爱过的人,不要去等他可能回头。

你失去了不爱你的人,而对方则失去了爱他的人,他的损失比你大。摆脱过去的纠缠,转身去寻找生活中真实的幸福。

4.男人,易承受不住幸福的考验;女人,易承受不住痛苦的考验。

身为男人,我无法反驳这句话,但是我会努力让自己守住幸福!也希望女人们能够承受住痛苦!只有这样的我们,才配得到真正的幸福!

5.不要过于天真和幼稚,因为婚姻不是一个坦白的地方,而是一个外交地。

一针见血!我看到过、听到过很多情侣,在爱的如胶似漆的时候就把对方当成天使,将自己过去做过的不好的事情什么的全都告诉给对方,结果反而被甩了,还被拿来当做公众的笑料,羞愧得无地自容。

6. 一切都是为了我们,而不只是为了自己或者只是为了对方。

无论何时,谨记这句话!让我明白爱情不是奉献自己毫无所求,而是相互扶持走到天长地久!善待自己,也要善待对方。

7.那些不假思索就做出决定的人,到关键时刻就会溜走。

很久以前就不敢随口答应别人什么事情了,尝过苦头的**们都要谨记,更不要随便相信别人毫不犹豫的空口承诺。

8.强迫和乞求来的爱情是不牢固的。

如果你为了对方和你在一起而奴颜卑膝,而改变自己的个性和原则,而耍手段、玩阴谋,这样的“爱情”必然是以破裂为结局,到时候你会发现,你失去的不仅仅是爱情,还有你自己的灵魂。

9.有爱情没有成为夫妻是人生一大遗憾。

看到这句我当时愣了一分多钟!相信当时考试的同学们如果有跟我一样看到这句的,一定也是愣住了!祝愿天下所有相信爱情,拥有爱情的人能够相爱着走近婚姻的殿堂,白头到老!

10.老年人容易怀疑真的,青年人容易相信假的。

暴强!老师您说的太对了!五体投地!

11.多么忙不重要,忙什么才重要,人生最大的麻烦和问题,就是不知道自己的目标。

经常迷失在杂乱的生活中,找不到当年信誓旦旦要实现的梦想,如果还记得你曾经想要做的事情,就快出发,奔跑吧!

12.有人说,人到了50岁以后,宜清闲,不宜急进;宜藏锋,不宜露势;宜口讷,不宜激辩;宜淡出,不宜雄起。

我才只有20多岁,可是看了这句话觉得自己还是应该更低调些对……

13.朋友就是财富,有时一句话就能帮助你扭转乾坤,人际关系是生产力啊!

最后那半句经典!人际关系是生产力啊!

14.保守一个秘密比传播一个秘密更有价值。

传播一个秘密也许会让你成为焦点,同时也可能让你成为狙击的目标,保守一个秘密却能够让你成为立于不败之地的赢家。

15.智者无言,无言自威,不要信口开河,要勤睁眼睛慢张口。

图一时口快,只能让你成为后面发言者们的前车之鉴,尤其是面对自己不太熟悉的话题的时候,最好做个诚实而又谦虚的人。

16.要为受窘的人说一句解围的话,为沮丧的人说一句鼓励的话,为疑惑的人说一句提醒的话,为自卑的人说一句自信的话,为痛苦失意的人说一句安慰同情的话,雪中送炭比锦上添花好。

这句话我深有体会,我以前遇到困难的时候,跟我关系最好的朋友像是有心灵感应一样,在那段时间总给我打电话问我的情况,配我聊天,帮助我度过难关,我想他们了!大鹏、闷子、东哥、森、猪、包子,小弟多谢你们几年来的关照!

17.长寿之人都是不苛求别人的人。

……衡量别人的尺子长一些,自己的道路才会宽一些。但愿那些终日里占据高位而对他人求全责备的人们能够看到这个帖子。

18.有人说,认识一个人要机缘,了解一个人要靠智慧,以后和睦相处要靠宽容。

祝愿所有看过这个帖子、没看过这个帖子的好人,能够认识更多的真心的朋友,祝愿所有已经认识的朋友都能够互相了解,都能够和睦相处!

19.真理也需要掩饰,赤裸裸的真理会刺耳,选择适当的方式说真话,让人心悦诚服地接受。

佩服!让我这个毛头小子醍醐灌顶!希望所有在这个中下层打拼的人们都能够明白这个道理,我现在在学校里面的院学生会工作,有时候对此也是体会颇深啊。

20.学会分辨小人,因为得罪一个小人比得罪十个君子还要麻烦。

我以前就得罪过小人,还好我也比较龌龊,才能应付得了。心有余悸,心有余悸啊……

21.人与人之间过多的猜疑和防备是不必要的运行成本,是自己折腾自己,并最终使自己丧失幸福。

现今这个,有多少人是能够放下防备,不再猜疑呢?人心不只隔肚皮,还隔着金钱、欲望、权势……

22.事临头三思为妙,怒攻心一忍最好,退一步海阔天高。

喜欢!没想到胡老师不仅仅擅长教课,还是个诗人!没错没错,凡事还是低调一些为好啊。

23.人在困境、险境、绝境时最需要别人帮助,因此**之美真是功德无量。

以前我有一个不成熟的愿望,就是等我赚了很多钱之后,去看望我在各地的朋友们,然后看看他们是否需要我的帮助,是否有什么事情不能够自己去做,然后我的以后的生活就在为他们实现愿望的路上继续…………

24.常见到以德报德和以怨抱怨,而高尚的人能以德报怨,缺德的人才以怨报德。

非常深刻的一句话!目前我只能做到以德报德,偶尔还会以怨报德……我承认……我的道德水平太低了,对不起胡老师。

25.有人说,明知道帮助别人肯定有灭顶之灾,还去帮助别人的人是一等人;明知道帮助别人可能有灭顶之灾,还去帮助别人的人是二等人;明知道帮助别人对自己没有什么损失,去帮助别人的人是三等人;明知道帮助别人自己会得到些好处,小帮主会换来大帮助,才去帮助别人的人是四等人;不帮助别人的人是五等人;给别人添小麻烦的人是六等人;去坑害别人的人是七等人。

说实话,当时我们考试的内容很多,但是我看了这句话之后,想了想,还是写在卷纸上了。去做哪一等人,是你自己心灵的选择。

26.山西乔家大院的对联——“读书即未成名究竟人品高雅,修德不期获报自然梦稳心安”

讲到这句话所在的段落的那节课我去了,当时读了好多遍,就在想这幅对联的断句和读法,细细品味,真是意境深远啊。

27.谁能够准确把握住不做什么和做什么这条人生底线,谁就能够站稳脚跟,抵住**,这也是人生浮沉的分界线,事业成毁的关键点。

我现在还经常在这条底线的边缘徘徊,偶尔做错事,偶尔后悔,回头看看,感慨自己真应该坚守住自己的立场和原则。

28.有人说,要学会交往,因为缺乏交往的生活是一种缺陷;但是也要学会独处,缺乏独处的能力,耐不住寂寞,离开人就活不下去,也是一种灾难。

经常有热恋中的人说“离开你我活不下去”,的确是一种灾难,要知道,从出生到死亡,唯一能够一直陪伴我们的,只有我们自己。学会独处,无论发生了什么,无论是否被抛弃,无论是否孤单无助,永远不会绝望。

29.人生只有三天,活在昨天的人迷惑;活在明天的人等待;活在今天的人最踏实。

非常质朴的至理名言!活在当下,握住手中的东西,脚踏今天的道路,去实现明日的梦想!

30.不要生气,不要失望,不要欣喜若狂,一切都会过去。

一句简单的话,却说尽了人生的历程。无论悲喜,无论成败,无论聚散……一切都会过去,所以从容、平静的生活吧!

31.一些道理想通了就是天堂,想不通就是地狱。

汗颜!原来以前的固执竟然是在徘徊在天堂与地狱之间!放下心中的固执,回头即登岸。小时候跟邻居家的孩子闹翻了,他气得在家里的炕上来回打滚,边哭边打滚,差点抽风,他爸妈没有办法把我找过去了。我看着他感觉自己也很难受,就跟他说对不起,然后我们不一会就和好了。现在想来,我可是把他从地狱拉回来了呢!

32.一个人能快乐地独自做着有利于、他人的事,那是一位伟大的超人。

强!虽然我也偶尔帮助别人做一些事情,但是独自做却从来没有过,我想我见过超人了——一位在冬天清晨徒手捡垃圾的大婶(我们学校里面,不是拾荒者)

33.富足人生是忙世人之所闲,闲世人之所忙。

但是第一眼看到这句没怎么懂,后来有些回过味了,回头找到再抄上。不仅仅告诉了我们在面对人生时候如何取舍,也告诉了我们竞争中的一些道理。

34.有人说,抱怨的人不见得不善良,但是往往不受欢迎。

受教了!这一点我深有体会,我妈妈是个特别爱唠叨的人,有的时候做家务累了,就开始唠叨我们全家人,什么也不知道帮帮忙啦,什么她也不是八爪鱼没有八只手啦……我爸有时候告诉她,既然你已经做了,何必让自己和全家都不高兴呢?需要人帮忙就好好说嘛。到现在我看到我妈妈干家务我都躲得远远地,她就是不让你帮忙,就是要唠叨你……

35.有人能骗你一次,可耻在他;但是他若能骗你两次,可耻在你。

不要在同样的地方跌倒两次,智者就是无数次跌倒之后的过来人。话说我们室友同样的科目考试没有过,补考又没有过……

36.不要在失败是才想起别人的忠告,不要在失去之后才想起珍惜。

多谢胡老师指点!听人劝,吃饱饭啊!但是我是对后半句感触多一些,可能是因为年龄的缘故吧,还没踏入。

37.机会像一个小偷,他来到时无声无息,走了时你却损失严重。

经典!如此比喻,太精辟了!我要努力抓住这个小偷!大家一起抓小偷喽!

38.该坚持时就坚持,以不变应万变;该改变时就改变,以万变应不变。

很难把握!希望有空可以再见到胡老师,请教如何做一个把握好时机选择变或者不变的强人!

39.众声沸腾不一定就是民主。

深有同感!见多了那些起哄的人还有那些趁火打劫的恶劣人!众声沸腾不一定就是民主,也有可能是乌合之众们的叫嚣。不要做一个没有主见只知道跟随众人脚步的人。

40.伟人改变环境,能人利用环境,凡人适应环境,庸人不适应环境。

说的好!看来我是一个凡人,偶尔还会做一下能人或者庸人。

41.耶稣在星期五被钉死在十字架上,那时全世界最绝望的一天,可是在三天后就是复活节,所以人在困境中应该学会至少再等三天。

我现在就处于困境中!我的帖子下半部分不知道怎么回事变成了非常KB的红色,但是还是有人来看我的帖子并且回帖,非常感谢你们!我会忍耐的,再等三天!已经解决啦~!!!

42.弱者要等待机会,强者要制造机会,智者要把握机会。

所以说,如果你是弱者,就要等待着强者的恩赐,如果你是智者,就要跟醉着强者的脚步,努力吧!大家要努力,做一个强者!

43. 凡是对利益太能计算的人,实际上都是非常不幸的,甚至可能永远不会快乐。

要怀揣着一颗平常心处事,怀揣一颗着真诚心交人,不要总想着从别人那里获取利益,那样你会失去人生的乐趣。

44.心安静则无躁,心干净则无扰。

呵呵,很喜欢这句话!我愿我心生若琉璃,不染尘土,不浸红尘。

45.清净心看世界,欢喜心过生活。

太难了啊!胡老师!但是我会努力提高自己的境界的!呵呵,希望大家都能够做到!

46.要懂得活着是一种责任,不仅仅是为了自己。

朋友,在你心灰意冷的时候,在你想要放弃的时候,在你被重担压得喘不过起来的时候,希望你能够明白!在你手里握有权力的说,在你生活越来越好的时候,也请你明白!

47.幸福就是在快乐的时刻,一颗宁静之心对着世界微笑。

很感人的句子,希望我能够永远保有这个宁静之心.

48.生活中没有愉快,生命就真正陷入黑暗和贫穷里了。

愉快!愉快!生活的目的不是为了承担苦难,不是为了满足欲望,而是为了快乐!!

49.有人说,面对失败和挫折,一笑而过是一种乐观自信,然后重整旗鼓,这是一种勇气;面对误解和仇恨,一笑而过是一种坦荡宽容,然后保持本色,这是一种达观;面对赞扬和激励,一笑而过是一种谦虚和清醒,然后不断进取,这是一种力量;面对烦恼和忧愁,一笑而过是一种平和释然,然后努力化解,这是一种境界。

我当时看了看时间,是17:00,要求是17:20交卷,我觉得时间充分,所以开始更加用心地寻找经典语句,看到了这句超级长的,犹豫了一小下,抄!!一笑而过!

50.要感激伤害你的人,因为他磨练了你的心态;感激绊倒你的人,因为他强化了你的双腿;感激欺骗了你的人,因为他增进了你的智慧;感激蔑视你的人,因为他觉醒了你的自尊;感激抛弃你的人,因为他教会你独立。

非常经典!震撼!想起阿信那首《海阔天空》“冷漠的人,谢谢你们曾经看轻我,让我不低头,更精彩地活!”

51.无论什么情况下,都不应该以牺牲自己的快乐情绪为代价,不要让自己生气的成本太高,自寻烦恼是人生最大的冤枉。

呵呵,我经常做冤大头,觉得自己实在是太没有耐心了,脾气不好,以后要改正呢!

52.苦难对一个天才是一块垫脚石,对于能干的人是一笔财富,而对于庸人却是万丈深渊。

非常犀利!要争取做一个能干的人!要把苦难作为自己的财富!

53.痛苦是性格的催化剂,它是强者更强,弱者更弱,智者更智,愚者更愚。

当苦难来临,当承受着痛苦,看看你自己到底是哪一种人!

54.幸运所需要的美德是节制,而厄运所需要的美德是坚忍,后者比前者更加可贵。

膜拜胡老师!顺境中要节制和清醒,逆境中要坚忍和奋斗!让我们的人生焕发无比的光芒!!

55.有时无言的沉默或者简明庄重的姿势,比大发脾气更有力量;以平和的语调摆事实和讲道理,要比大喊大叫更令对手心惊;宽恕和谅解有时比伤害和侮辱更能够震撼对手的灵魂,令旁观者同情;以友爱、仁慈、赞扬的方式,比用暴力更能改善别人的心灵。

又一个长句子!受益终身!才知道以前的自己多么肤浅和愚蠢!希望看到的人都能够改变自己的处事方法!

56.永远不要在仇恨、痛苦、情绪不好的时候做决定,否则你一定会后悔。

后悔过很多次,有些事情再也难以挽回。大家一定要谨记这句话啊!冲动是魔鬼啊!

57.永远不要对可能有坏的结局的事情好奇,否则可能会要了你的命。

好奇害死猫!这句话出自胡老师的手笔,感觉气氛有些肃杀……蛮吓人的,但是的确是能够帮助我们的人生道理。

58.不要用别人的错误惩罚自己,也不要用自己的错误惩罚别人,更不要用自己的错误惩罚自己。

再次拜倒!胡老师您说的太好了!每个人都难免会犯下这样那样的错误,但是,如果让自己犯下的错误蔓延开来危害他人,或者让别人的错误对自己造成伤害都是悲剧,那个错误,就让它只停留在原地吧!

59.遗忘了而微笑,胜于记住了却悲痛。

世界上并不需要太多的悲痛,而需要微笑,所以,该忘记的时候,就忘记吧。真是真理。

60.看一个人的人品,不仅要看他好起来能做什么好事,而且要看他坏起来不做什么坏事。
/** * 判断是否有路由的权限 * @param authority 路由权限配置 * @param permissions 用户权限集合 * @returns {boolean|*} */ function hasPermission(authority, permissions) { let required = '*' if (typeof authority === 'string') { required = authority } else if (typeof authority === 'object') { required = authority.permission } return required === '*' || (permissions && permissions.findIndex(item => item === required || item.id === required) !== -1) } /** * 判断是否有路由需要的角色 * @param authority 路由权限配置 * @param roles 用户角色集合 */ function hasRole(authority, roles) { let required if (typeof authority === 'object') { required = authority.role } return authority === '*' || hasAnyRole(required, roles) } /** * 判断是否有需要的任意一个角色 * @param required {String | Array[String]} 需要的角色,可以是单个角色或者一个角色数组 * @param roles 拥有的角色 * @returns {boolean} */ function hasAnyRole(required, roles) { if (!required) { return false } else if (Array.isArray(required)) { return roles.findIndex(role => { return required.findIndex(item => item === role || item === role.id) !== -1 }) !== -1 } else { return roles.findIndex(role => role === required || role.id === required) !== -1 } } /** * 路由权限校验 * @param route 路由 * @param permissions 用户权限集合 * @param roles 用户角色集合 * @returns {boolean} */ function hasAuthority(route, permissions, roles) { const authority = route.meta?.authority; if (!authority) return true; // 检查 role 或 permission return ( (authority.role && hasRole(authority, roles)) || (authority.permission && hasPermission(authority, permissions)) ); } /** * 根据权限配置过滤菜单数据 * @param menuData * @param permissions * @param roles */ function filterMenu(menuData, permissions, roles) { return menuData.filter(menu => { if (menu.meta && menu.meta.invisible === undefined) { if (!hasAuthority(menu, permissions, roles)) { return false } } if (menu.children && menu.children.length > 0) { menu.children = filterMenu(menu.children, permissions, roles) } return true }) } export { filterMenu, hasAuthority } import routerMap from '@/router/async/router.map' import { mergeI18nFromRoutes } from '@/utils/i18n' import Router from 'vue-router' import deepMerge from 'deepmerge' import basicOptions from '@/router/async/config.async' // 应用配置 const appOptions = { router: undefined, i18n: undefined, store: undefined } /** * 设置应用配置 * @param options */ function setAppOptions(options) { const { router, store, i18n } = options appOptions.router = router appOptions.store = store appOptions.i18n = i18n } /** * 根据 路由配置 和 路由组件注册 解析路由 * @param routesConfig 路由配置 * @param routerMap 本地路由组件注册配置 */ function parseRoutes(routesConfig, routerMap) { const routes = [] routesConfig.forEach(item => { // 获取注册在 routerMap 中的 router,初始化 routeCfg let router; let routeCfg = {} if (typeof item === 'string') { router = routerMap[item] routeCfg = { path: (router && router.path) || item, router: item } } else if (typeof item === 'object') { router = routerMap[item.router] routeCfg = item } if (!router) { console.warn(`can't find register for router ${routeCfg.router}, please register it in advance.`) router = typeof item === 'string' ? { path: item, name: item } : item } // 从 router 和 routeCfg 解析路由 const meta = { authority: router.authority, icon: router.icon, page: router.page, link: router.link, params: router.params, query: router.query, ...router.meta } const cfgMeta = { authority: routeCfg.authority, icon: routeCfg.icon, page: routeCfg.page, link: routeCfg.link, params: routeCfg.params, query: routeCfg.query, ...routeCfg.meta } Object.keys(cfgMeta).forEach(key => { if (cfgMeta[key] === undefined || cfgMeta[key] === null || cfgMeta[key] === '') { delete cfgMeta[key] } }) Object.assign(meta, cfgMeta) const route = { path: routeCfg.path || router.path || routeCfg.router, name: routeCfg.name || router.name, component: router.component, redirect: routeCfg.redirect || router.redirect, meta: { ...meta, authority: meta.authority || '*' } } if (routeCfg.invisible || router.invisible) { route.meta.invisible = true } if (routeCfg.children && routeCfg.children.length > 0) { route.children = parseRoutes(routeCfg.children, routerMap) } routes.push(route) }) return routes } /** * 加载路由 * @param routesConfig {RouteConfig[]} 路由配置 */ // function loadRoutes(routesConfig) { // //兼容 0.6.1 以下版本 // /*************** 兼容 version < v0.6.1 *****************/ // if (arguments.length > 0) { // const arg0 = arguments[0] // if (arg0.router || arg0.i18n || arg0.store) { // routesConfig = arguments[1] // console.error('the usage of signature loadRoutes({router, store, i18n}, routesConfig) is out of date, please use the new signature: loadRoutes(routesConfig).') // console.error('方法签名 loadRoutes({router, store, i18n}, routesConfig) 的用法已过时, 请使用新的方法签名 loadRoutes(routesConfig)。') // } // } // /*************** 兼容 version < v0.6.1 *****************/ // // 应用配置 // // const {router, store, i18n} = appOptions // // 如果 routesConfig 有值,则更新到本地,否则从本地获取 // if (routesConfig) { // store.commit('account/setRoutesConfig', routesConfig) // } else { // routesConfig = store.getters['account/routesConfig'] // } // // 如果开启了异步路由,则加载异步路由配置 // const asyncRoutes = store.state.setting.asyncRoutes // if (asyncRoutes) { // if (routesConfig && routesConfig.length > 0) { // const routes = parseRoutes(routesConfig, routerMap) // const finalRoutes = mergeRoutes(basicOptions.routes, routes) // formatRoutes(finalRoutes) // router.options = {...router.options, routes: finalRoutes} // router.matcher = new Router({...router.options, routes:[]}).matcher // router.addRoutes(finalRoutes) // } // } // // 提取路由国际化数据 // mergeI18nFromRoutes(i18n, router.options.routes) // // 初始化Admin后台菜单数据 // const rootRoute = router.options.routes.find(item => item.path === '/') // const menuRoutes = rootRoute && rootRoute.children // if (menuRoutes) { // store.commit('setting/setMenuData', menuRoutes) // } // } function loadRoutes(routesConfig) { const { router, store, i18n } = appOptions if (routesConfig) { store.commit('account/setRoutesConfig', routesConfig) } else { routesConfig = store.getters['account/routesConfig'] } // 如果开启了异步路由,则加载异步路由配置 const asyncRoutes = store.state.setting.asyncRoutes if (asyncRoutes) { if (routesConfig && routesConfig.length > 0) { const routes = parseRoutes(routesConfig, routerMap) formatAuthority(routes) const finalRoutes = mergeRoutes(router.options.routes, routes) router.options = { ...router.options, routes: finalRoutes } router.matcher = new Router({ ...router.options, routes: [] }).matcher router.addRoutes(finalRoutes) } } // 初始化Admin后台菜单数据 const rootRoute = router.options.routes.find(item => item.path === '/') const menuRoutes = rootRoute && rootRoute.children if (menuRoutes) { // 提取路由国际化数据 mergeI18nFromRoutes(i18n, menuRoutes) store.commit('setting/setMenuData', menuRoutes) } } /** * 合并路由 * @param target {Route[]} * @param source {Route[]} * @returns {Route[]} */ function mergeRoutes(target, source) { const routesMap = {} target.forEach(item => routesMap[item.path] = item) source.forEach(item => routesMap[item.path] = item) return Object.values(routesMap) } /** * 深度合并路由 * @param target {Route[]} * @param source {Route[]} * @returns {Route[]} */ function deepMergeRoutes(target, source) { // 映射路由数组 const mapRoutes = routes => { const routesMap = {} routes.forEach(item => { routesMap[item.path] = { ...item, children: item.children ? mapRoutes(item.children) : undefined } }) return routesMap } const tarMap = mapRoutes(target) const srcMap = mapRoutes(source) // 合并路由 const merge = deepMerge(tarMap, srcMap) // 转换为 routes 数组 const parseRoutesMap = routesMap => { return Object.values(routesMap).map(item => { if (item.children) { item.children = parseRoutesMap(item.children) } else { delete item.children } return item }) } return parseRoutesMap(merge) } /** * 格式化路由 * @param routes 路由配置 */ function formatRoutes(routes) { routes.forEach(route => { const { path } = route if (!path.startsWith('/') && path !== '*') { route.path = '/' + path } }) formatAuthority(routes) } /** * 格式化路由的权限配置 * @param routes 路由 * @param pAuthorities 父级路由权限配置集合 */ function formatAuthority(routes, pAuthorities = []) { routes.forEach(route => { const meta = route.meta const defaultAuthority = pAuthorities[pAuthorities.length - 1] || { permission: '*' } if (meta) { let authority = {} if (!meta.authority) { authority = defaultAuthority } else if (typeof meta.authority === 'string') { authority.permission = meta.authority } else if (typeof meta.authority === 'object') { authority = meta.authority const { role } = authority if (typeof role === 'string') { authority.role = [role] } if (!authority.permission && !authority.role) { authority = defaultAuthority } } meta.authority = authority } else { const authority = defaultAuthority route.meta = { authority } } route.meta.pAuthorities = pAuthorities if (route.children) { formatAuthority(route.children, [...pAuthorities, route.meta.authority]) } }) } /** * 从路由 path 解析 i18n key * @param path * @returns {*} */ function getI18nKey(path) { const keys = path.split('/').filter(item => !item.startsWith(':') && item != '') keys.push('name') return keys.join('.') } /** * 加载导航守卫 * @param guards * @param options */ function loadGuards(guards, options) { const { beforeEach, afterEach } = guards const { router } = options beforeEach.forEach(guard => { if (guard && typeof guard === 'function') { router.beforeEach((to, from, next) => guard(to, from, next, options)) } }) afterEach.forEach(guard => { if (guard && typeof guard === 'function') { router.afterEach((to, from) => guard(to, from, options)) } }) } export { parseRoutes, loadRoutes, formatAuthority, getI18nKey, loadGuards, deepMergeRoutes, formatRoutes, setAppOptions } import Vue from 'vue' import App from './App.vue' import {initRouter} from './router' import './theme/index.less' import Antd from 'ant-design-vue' import Viser from 'viser-vue' // import '@/mock'//注释掉这句话,就会使用服务端API import store from './store' import 'animate.css/source/animate.css' import Plugins from '@/plugins' import {initI18n} from '@/utils/i18n' import bootstrap from '@/bootstrap' import 'moment/locale/zh-cn' const router = initRouter(store.state.setting.asyncRoutes) const i18n = initI18n('CN', 'US') // var sso = window.g.ssoUrlPc // console.log(sso,'-----------------') Vue.use(Antd) Vue.config.productionTip = false Vue.use(Viser) Vue.use(Plugins) bootstrap({router, store, i18n, message: Vue.prototype.$message}) new Vue({ router, store, i18n, render: h => h(App), }).$mount('#app') import { loadRoutes, loadGuards, setAppOptions } from '@/utils/routerUtil' import { loadInterceptors } from '@/utils/request' import guards from '@/router/guards' import interceptors from '@/utils/axios-interceptors' /** * 启动引导方法 * 应用启动时需要执行的操作放在这里 * @param router 应用的路由实例 * @param store 应用的 vuex.store 实例 * @param i18n 应用的 vue-i18n 实例 * @param i18n 应用的 message 实例 */ function bootstrap({ router, store, i18n, message }) { // 设置应用配置 setAppOptions({ router, store, i18n }) // 加载 axios 拦截器 loadInterceptors(interceptors, { router, store, i18n, message }) // 加载路由 loadRoutes() // 加载路由守卫 loadGuards(guards, { router, store, i18n, message }) } export default bootstrap import TabsView from '@/layouts/tabs/TabsView' import BlankView from '@/layouts/BlankView' // import PageView from '@/layouts/PageView' console.log(process.env.NODE_ENV, '----') //const groupLink = process.env.NODE_ENV === 'production' ? window.g.groupLink : 'http://10.105.191.35:12024//#/App' //console.log('groupLink', groupLink) // 路由配置 const options = { routes: [ { path: '/login', name: '登录页', component: () => import('@/pages/login') }, { path: '*', name: '404', component: () => import('@/pages/exception/404') }, { path: '/403', name: '403', component: () => import('@/pages/exception/403') }, { path: '/', name: '首页', component: TabsView, redirect: '/login', children: [ { path: 'dashboard', name: '首页', component: () => import('@/pages/dashboard/index'), }, { path: 'WoManage', name: '工单管理', meta: { authority: { role: 'WoAdmin' } }, component: BlankView, children: [ { path: 'search', name: 'Search', meta: { authority: { permission: 'ViewSearch' } }, component: () => import('@/pages/workorderManage/Search') }, { path: 'woList', name: '工单处理', meta: { authority: { permission: 'ViewWorkOrderList' } }, component: () => import('@/pages/workorderManage/WorkOrderList') }, { path: 'woDetail', name: '工单详情', meta: { invisible: true // 不渲染到菜单栏 }, component: () => import('@/pages/workorderManage/WorkOrderDetail') } ] }, { path: 'SysManage', name: '系统管理', component: BlankView, meta: { authority: { role: 'SysAdmin' } }, children: [ { path: 'product', name: '非转贴Product维护', meta: { authority: { permission: 'ViewProduct' } }, component: () => import('@/pages/sysManage/Product') }, { path: 'markRule', name: 'ShenNongMark取值规则维护', meta: { authority: { permission: 'ViewMarkRules' } }, component: () => import('@/pages/sysManage/MarkRules') }, { path: 'sjWoVersionConfig', name: 'AB2升版卡控维护', meta: { authority: { permission: 'ViewSjWoVersionConfig' } }, component: () => import('@/pages/sysManage/SjWoVersionConfig') } ] }, { path: 'DieManage', name: '配DIE工单管理', meta: { authority: { role: 'DieAdmin' } }, component: BlankView, children: [ { path: 'productBom', name: '产品型号BOM', meta: { authority: { permission: 'ViewProductBom' } }, component: () => import('@/pages/dieManage/ProductBom') }, { path: 'woInventory', name: '主料待工单库存', meta: { authority: { permission: 'ViewWoInventory' } }, component: () => import('@/pages/dieManage/WoInventory') }, { path: 'topDieInventory', name: 'TOP DIE库存', meta: { authority: { permission: 'ViewTopDieInventory' } }, component: () => import('@/pages/dieManage/TopDieInventory') }, { path: 'dieConfig', name: 'AB1开单管理', meta: { authority: { permission: 'ViewDieConfig' } }, component: () => import('@/pages/dieManage/DieConfig') }, { path: 'createdWoManage', name: '已创建工单管理', meta: { authority: { permission: 'ViewCreatedWoManage' } }, component: () => import('@/pages/dieManage/CreatedWoManage') }, { path: 'assistMaintainInterface', name: '产品物料维护', meta: { invisible: true // 不渲染到菜单栏 }, component: () => import('@/pages/dieManage/AssistMaintainInterface') }, { path: 'ingredientBinding', name: '配料绑定界面', meta: { invisible: true // 不渲染到菜单栏 }, component: () => import('@/pages/dieManage/IngredientBinding') }, { path: 'woDetails', name: '工单详情', meta: { invisible: true // 不渲染到菜单栏 }, component: () => import('@/pages/dieManage/WoDetails') } ] }, ] } ] } export default options import routerMap from './router.map' import { parseRoutes } from '@/utils/routerUtil' // 异步路由配置 const routesConfig = [ 'login', 'root', { router: 'exp404', path: '*', name: '404' }, { router: 'exp403', path: '/403', name: '403' }, { router: 'homes', path: '/homes', name: 'homes' } // { // router:'toDo1', // path: '/cp/toDo', // name: 'toDo1', // }, // { // router:'toDo2', // path: '/ft/toDo', // name: 'toDo2', // }, ] const options = { routes: parseRoutes(routesConfig, routerMap) } export default options 基于现在这些文件,我还是固定的的路由,我该如何改成动态路由?
09-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值