Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
learn-online-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
learn-online-pc
Commits
62f9496b
提交
62f9496b
authored
4月 07, 2020
作者:
zyx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
aef63a2c
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
252 行增加
和
27 行删除
+252
-27
webpack.client.conf.js
client/build/webpack.client.conf.js
+1
-0
package-lock.json
client/package-lock.json
+5
-0
package.json
client/package.json
+1
-0
404.png
client/src/assets/images/404.png
+0
-0
500.png
client/src/assets/images/500.png
+0
-0
person-default.jpg
client/src/assets/images/person-default.jpg
+0
-0
index.js
client/src/assets/languages/index.js
+24
-5
language.js
client/src/assets/languages/language.js
+7
-0
404.vue
client/src/components/errorPages/404.vue
+47
-0
500.vue
client/src/components/errorPages/500.vue
+47
-0
index.vue
client/src/components/languageSwith/index.vue
+27
-15
index.js
client/src/modules/login-module/assets/languages/index.js
+23
-5
language.js
client/src/modules/login-module/assets/languages/language.js
+7
-0
NormalLogin.vue
client/src/modules/login-module/src/NormalLogin.vue
+1
-1
routes.js
client/src/router/routes.js
+62
-1
没有找到文件。
client/build/webpack.client.conf.js
浏览文件 @
62f9496b
...
...
@@ -129,6 +129,7 @@ if ($GLOBAL.isDev === 'development') {
plugins
:
[
new
CleanWebpackPlugin
([
'**/*'
],
{
root
:
$GLOBAL
.
OutputPath
}),
new
MiniCssExtractPlugin
({
filename
:
'[name].[contenthash:12].css'
,
chunkFilename
:
$GLOBAL
.
cssName
}),
new
VueLoaderPlugin
(),
...
...
client/package-lock.json
浏览文件 @
62f9496b
...
...
@@ -6517,6 +6517,11 @@
"integrity"
:
"sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ=="
,
"dev"
:
true
},
"js-cookie"
:
{
"version"
:
"2.2.1"
,
"resolved"
:
"https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz"
,
"integrity"
:
"sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
},
"js-tokens"
:
{
"version"
:
"3.0.2"
,
"resolved"
:
"https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz"
,
...
...
client/package.json
浏览文件 @
62f9496b
...
...
@@ -66,6 +66,7 @@
"axios"
:
"^0.19.2"
,
"cross-env"
:
"^7.0.2"
,
"element-ui"
:
"^2.13.0"
,
"js-cookie"
:
"^2.2.1"
,
"lodash"
:
"^4.17.15"
,
"promise.prototype.finally"
:
"^3.1.2"
,
"vue"
:
"^2.6.11"
,
...
...
client/src/assets/images/404.png
0 → 100644
浏览文件 @
62f9496b
13.9 KB
client/src/assets/images/500.png
0 → 100644
浏览文件 @
62f9496b
15.3 KB
client/src/assets/images/person-default.jpg
0 → 100644
浏览文件 @
62f9496b
1.1 KB
client/src/assets/languages/index.js
浏览文件 @
62f9496b
import
Cookies
from
'js-cookie'
import
VueI18n
from
'vue-i18n'
import
language
from
'./language'
export
default
()
=>
{
let
_locale
=
'zh-CN'
/* 国际化初始化 */
const
lang
=
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'lang'
)
||
'{}'
)
if
(
lang
.
lang
)
{
_locale
=
lang
.
lang
}
else
{
_locale
=
window
.
navigator
.
language
||
window
.
navigator
.
userLanguage
const
_defaultLocale
=
'zh-CN'
const
_lang
=
Cookies
.
get
(
'lang'
)
||
window
.
navigator
.
language
||
window
.
navigator
.
userLanguage
||
''
if
(
_lang
)
{
if
(
language
[
_lang
])
{
_locale
=
_lang
}
else
{
let
flag
=
true
/* 做一下 兼容性处理 */
for
(
const
k
in
language
)
{
const
reg
=
new
RegExp
(
k
,
'gi'
)
if
(
reg
.
test
(
_lang
))
{
_locale
=
k
flag
=
false
break
}
}
if
(
flag
)
{
/* 当前语言版本 - 不再我们的语言库中,那么默认 en */
_locale
=
_defaultLocale
Cookies
.
set
(
'lang'
,
_defaultLocale
,
{
expires
:
30
,
domain
:
'.ezijing.com'
})
}
}
}
return
new
VueI18n
({
locale
:
_locale
,
// 定义默认语言为中文
...
...
client/src/assets/languages/language.js
0 → 100644
浏览文件 @
62f9496b
/* 定义语言模型 - key 值定义 跟 languages i18n 中 保持一致 */
const
language
=
{
'zh-CN'
:
{
show
:
'语言'
,
arr
:
[{
'zh-CN'
:
'中文'
},
{
en
:
'English'
}]
},
en
:
{
show
:
'Language'
,
arr
:
[{
'zh-CN'
:
'中文'
},
{
en
:
'English'
}]
}
}
export
default
language
client/src/components/errorPages/404.vue
0 → 100644
浏览文件 @
62f9496b
<
template
>
<div
class=
"err-container"
>
<img
class=
"error-404"
src=
"@/assets/images/404.png"
alt=
"页面未找到"
/>
<div
class=
"tit"
>
很抱歉,您访问的页面已经断开...
</div>
<div
style=
"height: 20px; width: 100%;"
></div>
<el-button
type=
"primary"
@
click=
"goIndex"
>
返回首页
</el-button>
<el-button
type=
"primary"
@
click=
"goPrev"
>
返回上一页
</el-button>
<div
style=
"height: 50px; width: 100%;"
></div>
</div>
</
template
>
<
script
>
export
default
{
mounted
()
{
// this.VueEvent.$emit('headerChange', '1-error') // 修改 头部导航
},
methods
:
{
goIndex
()
{
this
.
$router
.
push
({
path
:
'/'
})
},
goPrev
()
{
this
.
$router
.
go
(
-
1
)
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.err-container
{
width
:
100%
;
// height: 100%;
text-align
:
center
;
overflow
:
hidden
;
.error-404
{
display
:
block
;
width
:
60%
;
max-width
:
600px
;
margin
:
10%
auto
;
}
.tit
{
font-size
:
24px
;
color
:
#313131
;
text-align
:
center
;
}
}
</
style
>
client/src/components/errorPages/500.vue
0 → 100644
浏览文件 @
62f9496b
<
template
>
<div
class=
"err-container"
>
<img
class=
"error-500"
src=
"@/assets/images/500.png"
alt=
"服务器错误"
/>
<div
class=
"tit"
>
很抱歉,您访问的服务器出错...
</div>
<div
style=
"height: 20px; width: 100%;"
></div>
<el-button
type=
"primary"
@
click=
"goIndex"
>
返回首页
</el-button>
<el-button
type=
"primary"
@
click=
"goPrev"
>
返回上一页
</el-button>
<div
style=
"height: 50px; width: 100%;"
></div>
</div>
</
template
>
<
script
>
export
default
{
mounted
()
{
// this.VueEvent.$emit('headerChange', '1-error') // 修改 头部导航
},
methods
:
{
goIndex
()
{
this
.
$router
.
push
({
path
:
'/'
})
},
goPrev
()
{
this
.
$router
.
go
(
-
1
)
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.err-container
{
width
:
100%
;
// height: 100%;
text-align
:
center
;
overflow
:
hidden
;
.error-500
{
display
:
block
;
width
:
60%
;
max-width
:
600px
;
margin
:
10%
auto
;
}
.tit
{
font-size
:
24px
;
color
:
#313131
;
text-align
:
center
;
}
}
</
style
>
client/src/components/languageSwith/index.vue
浏览文件 @
62f9496b
...
...
@@ -14,26 +14,38 @@
</template>
<
script
>
/* 定义语言模型 - key 值定义 跟 languages i18n 中 保持一致 */
const
language
=
{
'zh-CN'
:
{
show
:
'语言'
,
arr
:
[{
'zh-CN'
:
'中文'
},
{
en
:
'English'
}]
},
en
:
{
show
:
'Language'
,
arr
:
[{
'zh-CN'
:
'中文'
},
{
en
:
'English'
}]
}
}
import
Cookies
from
'js-cookie'
import
language
from
'@/assets/languages/language'
export
default
{
name
:
'sLanguage'
,
componentName
:
'sLanguage'
,
data
()
{
const
lang
=
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'lang'
)
||
'{}'
)
if
(
lang
.
lang
)
{
this
.
$i18n
.
locale
=
lang
.
lang
const
_defaultLocale
=
'zh-CN'
const
_lang
=
Cookies
.
get
(
'lang'
)
||
window
.
navigator
.
language
||
window
.
navigator
.
userLanguage
||
''
if
(
_lang
)
{
if
(
language
[
_lang
])
{
this
.
$i18n
.
locale
=
_lang
}
else
{
let
flag
=
true
/* 做一下 兼容性处理 */
for
(
const
k
in
language
)
{
const
reg
=
new
RegExp
(
k
,
'gi'
)
if
(
reg
.
test
(
_lang
))
{
this
.
$i18n
.
locale
=
k
flag
=
false
break
}
}
if
(
flag
)
{
/* 当前语言版本 - 不再我们的语言库中,那么默认 en */
this
.
$i18n
.
locale
=
_defaultLocale
Cookies
.
set
(
'lang'
,
_defaultLocale
,
{
expires
:
30
,
domain
:
'.ezijing.com'
})
}
}
}
else
{
this
.
$i18n
.
locale
=
window
.
navigator
.
language
||
window
.
navigator
.
userLanguage
}
/* 兼容判断,如果不存在,则取 英文 */
if
(
!
language
[
this
.
$i18n
.
locale
])
{
this
.
$i18n
.
locale
=
'en'
window
.
localStorage
.
setItem
(
'lang'
,
JSON
.
stringify
({
lang
:
this
.
$i18n
.
locale
}))
this
.
$i18n
.
locale
=
_defaultLocale
Cookies
.
set
(
'lang'
,
_defaultLocale
,
{
expires
:
30
,
domain
:
'.ezijing.com'
})
}
let
show
=
language
[
this
.
$i18n
.
locale
].
show
language
[
this
.
$i18n
.
locale
].
arr
.
forEach
((
item
,
i
)
=>
{
...
...
@@ -49,7 +61,7 @@ export default {
mounted
()
{},
methods
:
{
handleSelect
(
key
,
val
)
{
window
.
localStorage
.
setItem
(
'lang'
,
JSON
.
stringify
({
lang
:
key
})
)
Cookies
.
set
(
'lang'
,
key
,
{
expires
:
30
,
domain
:
'.ezijing.com'
}
)
this
.
$i18n
.
locale
=
key
/* 刷新页面 */
this
.
$router
.
go
(
0
)
...
...
client/src/modules/login-module/assets/languages/index.js
浏览文件 @
62f9496b
import
VueI18n
from
'vue-i18n'
import
language
from
'./language'
export
default
()
=>
{
let
_locale
=
'zh-CN'
/* 国际化初始化 */
const
lang
=
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'lang'
)
||
'{}'
)
if
(
lang
.
lang
)
{
_locale
=
lang
.
lang
}
else
{
_locale
=
window
.
navigator
.
language
||
window
.
navigator
.
userLanguage
const
_defaultLocale
=
'zh-CN'
const
_lang
=
Cookies
.
get
(
'lang'
)
||
window
.
navigator
.
language
||
window
.
navigator
.
userLanguage
||
''
if
(
_lang
)
{
if
(
language
[
_lang
])
{
_locale
=
_lang
}
else
{
let
flag
=
true
/* 做一下 兼容性处理 */
for
(
const
k
in
language
)
{
const
reg
=
new
RegExp
(
k
,
'gi'
)
if
(
reg
.
test
(
_lang
))
{
_locale
=
k
flag
=
false
break
}
}
if
(
flag
)
{
/* 当前语言版本 - 不再我们的语言库中,那么默认 en */
_locale
=
_defaultLocale
Cookies
.
set
(
'lang'
,
_defaultLocale
,
{
expires
:
30
,
domain
:
'.ezijing.com'
})
}
}
}
return
new
VueI18n
({
locale
:
_locale
,
// 定义默认语言为中文
...
...
client/src/modules/login-module/assets/languages/language.js
0 → 100644
浏览文件 @
62f9496b
/* 定义语言模型 - key 值定义 跟 languages i18n 中 保持一致 */
const
language
=
{
'zh-CN'
:
{
show
:
'语言'
,
arr
:
[{
'zh-CN'
:
'中文'
},
{
en
:
'English'
}]
},
en
:
{
show
:
'Language'
,
arr
:
[{
'zh-CN'
:
'中文'
},
{
en
:
'English'
}]
}
}
export
default
language
client/src/modules/login-module/src/NormalLogin.vue
浏览文件 @
62f9496b
...
...
@@ -58,7 +58,7 @@ export default {
}
},
mounted
()
{
Login
.
clearCookies
({}).
then
(
res
=>
res
)
//
Login.clearCookies({}).then(res => res)
},
methods
:
{
onSubmitSetAccount
()
{
...
...
client/src/router/routes.js
浏览文件 @
62f9496b
...
...
@@ -21,6 +21,67 @@ export default [
},
/* App 内登录页面未找到时 - 指向 */
{
path
:
'/login/*'
,
redirect
:
'/login/index'
},
/* 学习系统 - 登录后,进入页面 */
{
path
:
'/app'
,
redirect
:
'/app/error/404'
,
component
:
App
,
children
:
[
{
path
:
'error/404'
,
component
:
()
=>
import
(
'../components/error/404.vue'
)
},
{
path
:
'my-learn'
,
redirect
:
'error/404'
,
component
:
container
,
children
:
[
{
path
:
'course'
,
component
:
()
=>
import
(
'../pages/myLearn/course.vue'
)
},
{
path
:
'course-detail/:sid/:cid'
,
component
:
()
=>
import
(
'../pages/myLearn/courseDetail.vue'
),
props
:
true
},
{
path
:
'discuss-detail/:sid/:cid/:id'
,
component
:
()
=>
import
(
'../pages/myLearn/discussDetail.vue'
),
props
:
true
},
{
path
:
'course-all'
,
component
:
()
=>
import
(
'../pages/myLearn/courseAll.vue'
)
},
{
path
:
'discussion'
,
component
:
()
=>
import
(
'../pages/myLearn/discussion.vue'
)
},
{
path
:
'report-list'
,
component
:
()
=>
import
(
'../pages/myLearn/reportList.vue'
)
},
{
path
:
'report-active-list'
,
component
:
()
=>
import
(
'../pages/myLearn/reportActiveList.vue'
)
},
{
path
:
'report-list-all/:rid'
,
component
:
()
=>
import
(
'../pages/myLearn/reportListAll.vue'
),
props
:
true
},
{
path
:
'report-add/:rid'
,
component
:
()
=>
import
(
'../pages/myLearn/reportAdd.vue'
),
props
:
true
},
{
path
:
'report-submit/:rid/:reid'
,
component
:
()
=>
import
(
'../pages/myLearn/reportSubmit.vue'
),
props
:
true
}
]
},
{
path
:
'my-grade'
,
redirect
:
'error/404'
,
component
:
container
,
children
:
[
{
path
:
'credit'
,
component
:
()
=>
import
(
'../pages/myGrade/credit.vue'
)
},
{
path
:
'rebuild'
,
component
:
()
=>
import
(
'../pages/myGrade/rebuild.vue'
)
},
{
path
:
'message'
,
component
:
()
=>
import
(
'../pages/myGrade/message.vue'
)
}
]
},
{
path
:
'account'
,
redirect
:
'error/404'
,
component
:
container
,
children
:
[
{
path
:
'set-pwd'
,
component
:
()
=>
import
(
'../pages/account/setPwd.vue'
)
},
{
path
:
'update-pic'
,
component
:
()
=>
import
(
'../pages/account/updatePic.vue'
)
},
{
path
:
'feedbackList'
,
component
:
()
=>
import
(
'../pages/account/feedbackList.vue'
)
},
{
path
:
'feedbackCreate'
,
component
:
()
=>
import
(
'../pages/account/feedbackCreate.vue'
)
}
]
},
{
path
:
'service-hall'
,
redirect
:
'error/404'
,
component
:
container
,
children
:
[
{
path
:
'hall'
,
component
:
()
=>
import
(
'../pages/serviceHall/hall.vue'
)
},
{
path
:
'learning-add/:rid'
,
component
:
()
=>
import
(
'../pages/serviceHall/learningAdd.vue'
),
props
:
true
},
{
path
:
'share-add/:rid'
,
component
:
()
=>
import
(
'../pages/serviceHall/shareAdd.vue'
),
props
:
true
},
{
path
:
'again-add/:rid'
,
component
:
()
=>
import
(
'../pages/serviceHall/againAdd.vue'
),
props
:
true
},
{
path
:
'my-apply'
,
component
:
()
=>
import
(
'../pages/serviceHall/myApply.vue'
),
props
:
true
},
{
path
:
'upload-report/:rid/:reid'
,
component
:
()
=>
import
(
'../pages/serviceHall/uploadReport.vue'
),
props
:
true
},
{
path
:
'view-report/:rid'
,
component
:
()
=>
import
(
'../pages/serviceHall/viewReport.vue'
),
props
:
true
}
]
}
]
},
/* 如果所有页面都没找到 - 指向 */
{
path
:
'*'
,
component
:
()
=>
import
(
'
../pages/test
.vue'
)
}
{
path
:
'*'
,
component
:
()
=>
import
(
'
@/components/errorPages/404
.vue'
)
}
]
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论