提交 b72a79e6 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 46b61778
...@@ -33,6 +33,6 @@ module.exports = { ...@@ -33,6 +33,6 @@ module.exports = {
}, },
ProvidePlugin: {}, ProvidePlugin: {},
others: { others: {
projectId: '1006' projectId: '1021'
} }
} }
...@@ -14,6 +14,6 @@ module.exports = { ...@@ -14,6 +14,6 @@ module.exports = {
}, },
ProvidePlugin: {}, ProvidePlugin: {},
others: { others: {
projectId: '1006' projectId: '1021'
} }
} }
...@@ -14,6 +14,6 @@ module.exports = { ...@@ -14,6 +14,6 @@ module.exports = {
}, },
ProvidePlugin: {}, ProvidePlugin: {},
others: { others: {
projectId: '1006' projectId: '1021'
} }
} }
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
"version": "3.0.14", "version": "3.0.14",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@ezijing/vue-form": "^2.2.1", "@ezijing/vue-form": "^2.3.12",
"animate.css": "^4.1.0", "animate.css": "^4.1.0",
"axios": "^0.19.2", "axios": "^0.19.2",
"core-js": "^3.6.5", "core-js": "^3.6.5",
...@@ -1221,9 +1221,9 @@ ...@@ -1221,9 +1221,9 @@
} }
}, },
"node_modules/@ezijing/vue-form": { "node_modules/@ezijing/vue-form": {
"version": "2.2.2", "version": "2.3.12",
"resolved": "https://registry.npmjs.org/@ezijing/vue-form/-/vue-form-2.2.2.tgz", "resolved": "https://registry.npmmirror.com/@ezijing/vue-form/-/vue-form-2.3.12.tgz",
"integrity": "sha512-kfFnnpYxW+mW96Ba/+FxKKGmhOpPOAPmhUC71EVqOk49gFaqwpmjnUMLLHmC3jFXkfyGSwQNqSWLILrf+ii3bQ==", "integrity": "sha512-qmMqfkqQL2+abSAiD4+GEOGQJOmKeGyk45pSBIhNJQ580SMTE97W+db5peUI710zs+Qst/Y5ypRsvWhwgM6d5g==",
"dependencies": { "dependencies": {
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"@vue/babel-preset-jsx": "^1.1.2", "@vue/babel-preset-jsx": "^1.1.2",
...@@ -19792,9 +19792,9 @@ ...@@ -19792,9 +19792,9 @@
} }
}, },
"@ezijing/vue-form": { "@ezijing/vue-form": {
"version": "2.2.2", "version": "2.3.12",
"resolved": "https://registry.npmjs.org/@ezijing/vue-form/-/vue-form-2.2.2.tgz", "resolved": "https://registry.npmmirror.com/@ezijing/vue-form/-/vue-form-2.3.12.tgz",
"integrity": "sha512-kfFnnpYxW+mW96Ba/+FxKKGmhOpPOAPmhUC71EVqOk49gFaqwpmjnUMLLHmC3jFXkfyGSwQNqSWLILrf+ii3bQ==", "integrity": "sha512-qmMqfkqQL2+abSAiD4+GEOGQJOmKeGyk45pSBIhNJQ580SMTE97W+db5peUI710zs+Qst/Y5ypRsvWhwgM6d5g==",
"requires": { "requires": {
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"@vue/babel-preset-jsx": "^1.1.2", "@vue/babel-preset-jsx": "^1.1.2",
...@@ -190,5 +190,5 @@ textarea { ...@@ -190,5 +190,5 @@ textarea {
} }
:root { :root {
--main-color: #e27f4d; --main-color: #fa9e3b;
} }
{
"common": {
"title": "theme"
},
"action": {
"interface": "interface back test"
},
"components": {
"errorPages": {
"404page": {
"errStr": "很抱歉,您访问的页面已经断开",
"goBack": "返回首页",
"goNext": "返回上一页"
}
}
}
}
import Cookies from 'js-cookie'
import VueI18n from 'vue-i18n'
import language from './language'
import zhCNLocale from 'element-ui/lib/locale/lang/zh-CN'
import enLocale from 'element-ui/lib/locale/lang/en'
export default () => {
let _locale = 'zh-CN'
/* 国际化初始化 */
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, // 定义默认语言为中文
messages: {
'zh-CN': Object.assign(require('./zh-CN.json'), zhCNLocale),
en: Object.assign(require('./en.json'), enLocale)
}
})
}
/* 定义语言模型 - key 值定义 跟 languages i18n 中 保持一致 */
const language = {
'zh-CN': { show: '语言', arr: [{ 'zh-CN': '中文' }, { en: 'English' }] },
en: { show: 'Language', arr: [{ 'zh-CN': '中文' }, { en: 'English' }] }
}
export default language
{
"common": {
"title": "主题"
},
"action": {
"interface": "接口返回数据测试"
},
"components": {
"errorPages": {
"404page": {
"errStr": "很抱歉,您访问的页面已经断开",
"goBack": "返回首页",
"goNext": "返回上一页"
}
}
}
}
<template>
<div class="err-container">
<img class="error-404" src="@/assets/images/404.png" alt="页面未找到" />
<div class="tit">{{ $t('components.errorPages.404page.errStr') }}...</div>
<div style="height: 20px; width: 100%;"></div>
<el-button type="primary" @click="goIndex">{{ $t('components.errorPages.404page.goBack') }}</el-button>
<el-button type="primary" @click="goPrev">{{ $t('components.errorPages.404page.goNext') }}</el-button>
<div style="height: 50px; width: 100%;"></div>
</div>
</template>
<script>
export default {
mounted () {},
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>
<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>
<template>
<div class="tap-language-switch">
<el-menu class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-submenu index="1">
<template slot="title">{{ show }}</template>
<template v-for="item in language.arr">
<template v-for="(v, k) in item">
<el-menu-item :key="k" :index="k">{{v}}</el-menu-item>
</template>
</template>
</el-submenu>
</el-menu>
</div>
</template>
<script>
import Cookies from 'js-cookie'
import language from '@/assets/languages/language'
export default {
name: 'sLanguage',
componentName: 'sLanguage',
data () {
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 = _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) => {
if (item[this.$i18n.locale]) {
show = item[this.$i18n.locale]
}
})
return {
show: show,
language: language[this.$i18n.locale]
}
},
mounted () {},
methods: {
handleSelect (key, val) {
Cookies.set('lang', key, { expires: 30, domain: '.ezijing.com' })
this.$i18n.locale = key
/* 刷新页面 */
this.$router.go(0)
}
}
}
</script>
<style lang="scss" scoped>
.tap-language-switch {
position: absolute;
top: 5px;
right: 100px;
height: 70px;
.el-menu--horizontal > .el-submenu.is-active .el-submenu__title {
border: none;
}
}
</style>
...@@ -31,12 +31,12 @@ export default { ...@@ -31,12 +31,12 @@ export default {
.layout-register { .layout-register {
.layout-register-header { .layout-register-header {
padding: 20px 0px; padding: 20px 0px;
color: #E27F4D; color: #fa9e3b;
.border { .border {
width: 100%; width: 100%;
height: 2px; height: 2px;
display: inline-block; display: inline-block;
background: #E27F4D; background: #fa9e3b;
} }
} }
.layout-register-body { .layout-register-body {
......
...@@ -56,7 +56,7 @@ export default { ...@@ -56,7 +56,7 @@ export default {
formInfo: { formInfo: {
name: '', name: '',
phone: '', phone: '',
projectId: 1006 projectId: 1021
} }
} }
}, },
......
...@@ -41,7 +41,7 @@ export default { ...@@ -41,7 +41,7 @@ export default {
tempRoute: {}, tempRoute: {},
navList: [ navList: [
{ title: '首页', path: '/index' }, { title: '首页', path: '/index' },
{ title: '专业设置', path: '/profession' }, { title: '家庭教育硕士', path: '/profession' },
{ title: '报名申请', path: '/my' }, { title: '报名申请', path: '/my' },
{ title: '最新动态', path: '/news' }, { title: '最新动态', path: '/news' },
{ title: '联系我们', path: '/contact' } { title: '联系我们', path: '/contact' }
...@@ -100,7 +100,7 @@ export default { ...@@ -100,7 +100,7 @@ export default {
.app-link { .app-link {
color: #fff; color: #fff;
&.router-link-active .tab-link { &.router-link-active .tab-link {
color: #e27f4d !important; color: #fa9e3b !important;
} }
} }
......
...@@ -19,7 +19,7 @@ export default { ...@@ -19,7 +19,7 @@ export default {
quiuse: { quiuse: {
page: 1, page: 1,
per_page: 1, per_page: 1,
project_id: 1006 project_id: 1021
} }
} }
}, },
...@@ -65,7 +65,7 @@ export default { ...@@ -65,7 +65,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.tab { .tab {
height: 40px; height: 40px;
background: #E27F4D; background: #0b5a94;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #fff; color: #fff;
......
...@@ -62,7 +62,7 @@ export default { ...@@ -62,7 +62,7 @@ export default {
name: '', name: '',
phone: '', phone: '',
channel: 19960, channel: 19960,
project_id: 1006 project_id: 1021
}, },
isLoading: false, isLoading: false,
rules: { rules: {
......
...@@ -14,45 +14,64 @@ ...@@ -14,45 +14,64 @@
<span>学校认证</span> <span>学校认证</span>
</h4> </h4>
<a href="http://jsj.moe.gov.cn/news/1/170.shtml" target="_blank"><span class="fo">教育涉外监管网</span></a> <a href="http://jsj.moe.gov.cn/news/1/170.shtml" target="_blank"><span class="fo">教育涉外监管网</span></a>
<a href="https://www.wscuc.org/institutions/california-institute-integral-studies" target="_blank"><span class="fo">WASC认证</span></a> <a href="https://www.wscuc.org/institutions/california-institute-integral-studies" target="_blank"
><span class="fo">WASC认证</span></a
>
</div> </div>
<div class="footer_cx fot"> <div class="footer_cx fot">
<h4> <h4>
<span>认证查询</span> <span>认证查询</span>
</h4> </h4>
<a href="https://www.universities.com/find/california/best/counseling-psychology-degrees" target="_blank"><span class="fo">2020年加州最佳心理咨询学院排名第1</span></a> <a href="https://www.universities.com/find/california/best/counseling-psychology-degrees" target="_blank"
<a href="https://www.universities.com/find/california/best/counseling-psychology-degrees" target="_blank"><span class="fo">2020年CIIS临床心理咨询专业排名全美第4</span></a> ><span class="fo">2020年加州最佳心理咨询学院排名第1</span></a
<a href="https://www.greatvaluecolleges.net/by-city/online-colleges-san-francisco-ca/" target="_blank"><span class="fo">2020年旧金山最佳在线学位项目排名第3</span></a> >
<a href="https://www.online-phd-programs.org/best-online-phd-psychology/" target="_blank"><span class="fo">2020年心理学在线博士项目全美排名第14</span></a> <a href="https://www.universities.com/find/california/best/counseling-psychology-degrees" target="_blank"
><span class="fo">2020年CIIS临床心理咨询专业排名全美第4</span></a
>
<a href="https://www.greatvaluecolleges.net/by-city/online-colleges-san-francisco-ca/" target="_blank"
><span class="fo">2020年旧金山最佳在线学位项目排名第3</span></a
>
<a href="https://www.online-phd-programs.org/best-online-phd-psychology/" target="_blank"
><span class="fo">2020年心理学在线博士项目全美排名第14</span></a
>
</div> </div>
<div class="footer_logo"> <div class="footer_logo">
<img src="@/assets/images/logo.svg" alt class="ezijing-logo"/> <img src="@/assets/images/logo.svg" alt class="ezijing-logo" />
<img src="@/assets/images/logginred.png" alt /> <img src="@/assets/images/logginred.png" alt />
</div> </div>
</div> </div>
</div> </div>
<div class="copyright" style="height: 40px;line-height: 40px;color: #fff;background: #ccc;"> <div class="copyright" style="height: 40px; line-height: 40px; color: #fff; background: #ccc">
<div class="inner" style="width: 100%;justify-content: center;display: flex;"> <div class="inner" style="width: 100%; justify-content: center; display: flex">
<p style="font-size: 12px;">Copyright © 2017 Zijing Education. All rights reserved. 清控紫荆(北京)教育科技股份有限公司</p> <p style="font-size: 12px">
<a target="_blank" href="https://tsm.miit.gov.cn/dxxzsp/" style="color: #fff;text-decoration:none;margin-left: 10px;"> Copyright © 2017 Zijing Education. All rights reserved. 清控紫荆(北京)教育科技股份有限公司
<p style="font-size: 12px;">京ICP证150431号</p> </p>
<a
target="_blank"
href="https://tsm.miit.gov.cn/dxxzsp/"
style="color: #fff; text-decoration: none; margin-left: 10px"
>
<p style="font-size: 12px">京ICP证150431号</p>
</a> </a>
<a target="_blank" class="record" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802023681" style=" <a
color: #fff; target="_blank"
text-decoration:none; class="record"
align-items: center; href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802023681"
display: flex; style="color: #fff; text-decoration: none; align-items: center; display: flex; margin-right: 5px"
margin-right: 5px;"> >
<img src="https://zws-imgs-pub.ezijing.com/e0a0ec47dfdfc1e0797b1d5254021d00.png" alt="" style=" <img
width: 20px; src="https://zws-imgs-pub.ezijing.com/e0a0ec47dfdfc1e0797b1d5254021d00.png"
height: 20px; alt=""
margin: 0 6px; style="width: 20px; height: 20px; margin: 0 6px; display: block"
display: block; />
"> <p style="font-size: 12px">安备 11010802023681号</p>
<p style="font-size: 12px;">安备 11010802023681号</p>
</a> </a>
<a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index" style="color: #fff;text-decoration:none;"> <a
<p style="font-size: 12px;">京ICP备15016866号-1</p> target="_blank"
href="https://beian.miit.gov.cn/#/Integrated/index"
style="color: #fff; text-decoration: none"
>
<p style="font-size: 12px">京ICP备15016866号-1</p>
</a> </a>
</div> </div>
</div> </div>
...@@ -69,19 +88,19 @@ export default {} ...@@ -69,19 +88,19 @@ export default {}
line-height: 40px; line-height: 40px;
color: #fff; color: #fff;
background: #ccc; background: #ccc;
.inner2{ .inner2 {
width: 100%; width: 100%;
justify-content: center; justify-content: center;
display: flex; display: flex;
p{ p {
font-size: 12px; font-size: 12px;
} }
.record{ .record {
color: #fff; color: #fff;
align-items: center; align-items: center;
display: flex; display: flex;
margin-right: 5px; margin-right: 5px;
img{ img {
width: 20px; width: 20px;
height: 20px; height: 20px;
margin: 0 6px; margin: 0 6px;
...@@ -95,7 +114,7 @@ export default {} ...@@ -95,7 +114,7 @@ export default {}
background-size: cover; background-size: cover;
background: #fff; background: #fff;
width: 100%; width: 100%;
.flex{ .flex {
margin: 0 auto; margin: 0 auto;
position: relative; position: relative;
width: 100%; width: 100%;
...@@ -144,7 +163,7 @@ export default {} ...@@ -144,7 +163,7 @@ export default {}
position: absolute; position: absolute;
bottom: -4px; bottom: -4px;
height: 3px; height: 3px;
background:#E27F4D; background: #fa9e3b;
width: 100%; width: 100%;
} }
} }
...@@ -165,7 +184,7 @@ export default {} ...@@ -165,7 +184,7 @@ export default {}
align-items: baseline; align-items: baseline;
flex-direction: column; flex-direction: column;
justify-content: space-around; justify-content: space-around;
.ezijing-logo{ .ezijing-logo {
width: 187px; width: 187px;
} }
} }
......
<template> <template>
<div class="slide-body"> <div class="slide-body">
<div <div class="slide-list" v-for="(item, index) in list" :key="index" :class="{ 'bg-ye': index === active }">
class="slide-list"
v-for="(item, index) in list"
:key="index"
:class="{'bg-ye': index === active}"
>
<span class="sl" v-if="index === active"></span> <span class="sl" v-if="index === active"></span>
<div class="slide-list-title"> <div class="slide-list-title">
<svg-icon :iconClass="item.icon" class="font-size-25"></svg-icon> <svg-icon :iconClass="item.icon" class="font-size-25"></svg-icon>
<span class="font-size-14">{{item.title}}</span> <span class="font-size-14">{{ item.title }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -37,7 +32,7 @@ export default { ...@@ -37,7 +32,7 @@ export default {
background: #fff4eeff; background: #fff4eeff;
.slide-list-title { .slide-list-title {
font-weight: 600; font-weight: 600;
color: #E27F4D; color: #fa9e3b;
} }
} }
.slide-list { .slide-list {
...@@ -67,7 +62,7 @@ export default { ...@@ -67,7 +62,7 @@ export default {
border-top-right-radius: 3px; border-top-right-radius: 3px;
border-bottom-right-radius: 3px; border-bottom-right-radius: 3px;
width: 3px; width: 3px;
background: #E27F4D; background: #fa9e3b;
} }
} }
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<!-- <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> --> <!-- <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> -->
<!-- <meta http-equiv="Pragma" content="no-cache" /> --> <!-- <meta http-equiv="Pragma" content="no-cache" /> -->
<!-- <meta http-equiv="Expires" content="0" /> --> <!-- <meta http-equiv="Expires" content="0" /> -->
<title>紫荆教育-加州整合大学应用心理学硕士,在职心理学硕士</title> <title>紫荆教育-威斯康星协和大学家庭教育硕士</title>
<meta <meta
name="description" name="description"
content="美国加州整合大学始创于1968年,是一所专注于心理学相关专业的非营利性研究型大学,全美临床心理咨询专业排名第4,2年学制,专业心理咨询师摇篮,学位证书与出国留学所获得的证书相同!" content="美国加州整合大学始创于1968年,是一所专注于心理学相关专业的非营利性研究型大学,全美临床心理咨询专业排名第4,2年学制,专业心理咨询师摇篮,学位证书与出国留学所获得的证书相同!"
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<![endif]--> <![endif]-->
<script> <script>
var _hmt = _hmt || [] var _hmt = _hmt || []
;(function() { ;(function () {
var hm = document.createElement('script') var hm = document.createElement('script')
hm.src = 'https://hm.baidu.com/hm.js?e1cb5f1b0c9c26edeeaef974df0704f4' hm.src = 'https://hm.baidu.com/hm.js?e1cb5f1b0c9c26edeeaef974df0704f4'
var s = document.getElementsByTagName('script')[0] var s = document.getElementsByTagName('script')[0]
...@@ -49,10 +49,10 @@ ...@@ -49,10 +49,10 @@
})() })()
</script> </script>
<script> <script>
;(function(b, a, e, h, f, c, g, s) { ;(function (b, a, e, h, f, c, g, s) {
b[h] = b[h] =
b[h] || b[h] ||
function() { function () {
;(b[h].c = b[h].c || []).push(arguments) ;(b[h].c = b[h].c || []).push(arguments)
} }
b[h].s = !!c b[h].s = !!c
......
/* Automatically generated by './build/bin/build-entry.js' */
/* 模块基于 element-ui,一定在 element-ui后加载 */
import TestModule from './test-module'
const components = [
TestModule
]
const install = function (Vue, opts = {}) {
components.forEach(component => {
Vue.use(component, opts)
})
}
/* istanbul ignore if */
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue)
}
export default {
install,
TestModule
}
import BaseACTION from '@/action/base_action'
import { TestModule } from '../api'
export default class TestModuleAction extends BaseACTION {
/**
* 测试模块获取接口
*/
getTestInfo () {
return TestModule.getTestInfo().then(res => {
return { test: this.getVueInstance().$t('moduleAction.test') } || res
}).catch(res => {
return { test: this.getVueInstance().$t('moduleAction.test') } || res
})
}
}
import TestModuleAction from './TestModuleAction'
const TestModule = new TestModuleAction()
export default TestModule
import TestModuleAPI from './login_module_api'
const TestModule = new TestModuleAPI(webConf)
export {
TestModule
}
import BaseAPI from '@/api/base_api'
export default class LoginModuleAPI extends BaseAPI {
/**
* 测试模块获取接口
*/
getTestInfo = () =>
this.get(
'/passport/account/get-user-info',
{},
{ headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }
)
}
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
@font-face {font-family: "selfAllIcon";
src: url('iconfont.eot?t=1585881159034'); /* IE9 */
src: url('iconfont.eot?t=1585881159034#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('iconfont.woff?t=1585881159034') format('woff'),
url('iconfont.ttf?t=1585881159034') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1585881159034#selfAllIcon') format('svg'); /* iOS 4.1- */
}
.selfAllIcon {
font-family: "selfAllIcon" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.el-icon-self-fankuiyijian:before {
content: "\e68f";
}
.el-icon-self-icon-test:before {
content: "\e655";
}
.el-icon-self-shipinjinzhi:before {
content: "\e60b";
}
.el-icon-self-shipinbofang:before {
content: "\e60c";
}
.el-icon-self-tuichu:before {
content: "\e606";
}
.el-icon-self-star_full:before {
content: "\e627";
}
.el-icon-self-wujiaoxing:before {
content: "\e614";
}
.el-icon-self-guanbi:before {
content: "\e611";
}
.el-icon-self-xuexiao:before {
content: "\e632";
}
.el-icon-self-quanping:before {
content: "\e743";
}
.el-icon-self-shipin:before {
content: "\e60e";
}
.el-icon-self-iconset0481:before {
content: "\e768";
}
.el-icon-self-wenjian:before {
content: "\e650";
}
.el-icon-self-PPT:before {
content: "\e602";
}
.el-icon-self-13:before {
content: "\e6ce";
}
.el-icon-self-cc-book:before {
content: "\e615";
}
.el-icon-self-grade:before {
content: "\e66c";
}
.el-icon-self-xuexi-:before {
content: "\e609";
}
.el-icon-self-nav:before {
content: "\e66b";
}
.el-icon-self-mima:before {
content: "\e607";
}
.el-icon-self-character:before {
content: "\e62e";
}
.el-icon-self-statistic:before {
content: "\e601";
}
.el-icon-self-discover:before {
content: "\e67e";
}
.el-icon-self-settings:before {
content: "\e68a";
}
.el-icon-self-new:before {
content: "\e71e";
}
.el-icon-self-album:before {
content: "\e734";
}
{
"id": "948269",
"name": "self-all",
"font_family": "selfAllIcon",
"css_prefix_text": "el-icon-self-",
"description": "所有外包项目,图标库",
"glyphs": [
{
"icon_id": "1546564",
"name": "反馈意见",
"font_class": "fankuiyijian",
"unicode": "e68f",
"unicode_decimal": 59023
},
{
"icon_id": "8777427",
"name": "help",
"font_class": "icon-test",
"unicode": "e655",
"unicode_decimal": 58965
},
{
"icon_id": "11720124",
"name": "视频禁止",
"font_class": "shipinjinzhi",
"unicode": "e60b",
"unicode_decimal": 58891
},
{
"icon_id": "11720125",
"name": "视频播放",
"font_class": "shipinbofang",
"unicode": "e60c",
"unicode_decimal": 58892
},
{
"icon_id": "11717677",
"name": "退出",
"font_class": "tuichu",
"unicode": "e606",
"unicode_decimal": 58886
},
{
"icon_id": "551615",
"name": "五角星",
"font_class": "star_full",
"unicode": "e627",
"unicode_decimal": 58919
},
{
"icon_id": "2681717",
"name": "五角星",
"font_class": "wujiaoxing",
"unicode": "e614",
"unicode_decimal": 58900
},
{
"icon_id": "632985",
"name": "关闭",
"font_class": "guanbi",
"unicode": "e611",
"unicode_decimal": 58897
},
{
"icon_id": "646387",
"name": "刷新",
"font_class": "xuexiao",
"unicode": "e632",
"unicode_decimal": 58930
},
{
"icon_id": "1010014",
"name": "全屏",
"font_class": "quanping",
"unicode": "e743",
"unicode_decimal": 59203
},
{
"icon_id": "2198788",
"name": "视频",
"font_class": "shipin",
"unicode": "e60e",
"unicode_decimal": 58894
},
{
"icon_id": "554517",
"name": "播放",
"font_class": "iconset0481",
"unicode": "e768",
"unicode_decimal": 59240
},
{
"icon_id": "4251768",
"name": "文件",
"font_class": "wenjian",
"unicode": "e650",
"unicode_decimal": 58960
},
{
"icon_id": "5620349",
"name": "PPT",
"font_class": "PPT",
"unicode": "e602",
"unicode_decimal": 58882
},
{
"icon_id": "720044",
"name": "image-o",
"font_class": "13",
"unicode": "e6ce",
"unicode_decimal": 59086
},
{
"icon_id": "372115",
"name": "cc-book",
"font_class": "cc-book",
"unicode": "e615",
"unicode_decimal": 58901
},
{
"icon_id": "938307",
"name": "Grade",
"font_class": "grade",
"unicode": "e66c",
"unicode_decimal": 58988
},
{
"icon_id": "4657687",
"name": "学习",
"font_class": "xuexi-",
"unicode": "e609",
"unicode_decimal": 58889
},
{
"icon_id": "1174321",
"name": "nav",
"font_class": "nav",
"unicode": "e66b",
"unicode_decimal": 58987
},
{
"icon_id": "1418216",
"name": "密码",
"font_class": "mima",
"unicode": "e607",
"unicode_decimal": 58887
},
{
"icon_id": "3090318",
"name": "人物",
"font_class": "character",
"unicode": "e62e",
"unicode_decimal": 58926
},
{
"icon_id": "6918240",
"name": "statistic",
"font_class": "statistic",
"unicode": "e601",
"unicode_decimal": 58881
},
{
"icon_id": "30446",
"name": "discover",
"font_class": "discover",
"unicode": "e67e",
"unicode_decimal": 59006
},
{
"icon_id": "30480",
"name": "settings",
"font_class": "settings",
"unicode": "e68a",
"unicode_decimal": 59018
},
{
"icon_id": "90850",
"name": "new",
"font_class": "new",
"unicode": "e71e",
"unicode_decimal": 59166
},
{
"icon_id": "151470",
"name": "album",
"font_class": "album",
"unicode": "e734",
"unicode_decimal": 59188
}
]
}
{
"test": {
"title": "test module"
},
"moduleAction": {
"test": "test"
}
}
import Cookies from 'js-cookie'
import VueI18n from 'vue-i18n'
import language from './language'
import zhCNLocale from 'element-ui/lib/locale/lang/zh-CN'
import enLocale from 'element-ui/lib/locale/lang/en'
export default () => {
let _locale = 'zh-CN'
/* 国际化初始化 */
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, // 定义默认语言为中文
messages: {
'zh-CN': Object.assign(require('./zh-CN.json'), zhCNLocale),
en: Object.assign(require('./en.json'), enLocale)
}
})
}
/* 定义语言模型 - key 值定义 跟 languages i18n 中 保持一致 */
const language = {
'zh-CN': { show: '语言', arr: [{ 'zh-CN': '中文' }, { en: 'English' }] },
en: { show: 'Language', arr: [{ 'zh-CN': '中文' }, { en: 'English' }] }
}
export default language
{
"test": {
"title": "测试模块"
},
"moduleAction": {
"test": "测试"
}
}
import './index.scss'
import TestModule from './src/TestModule.vue'
const components = [
TestModule
]
const install = function (Vue, opts = {}) {
/* 存在国际化 */
if (opts.i18n) {
const msgs = opts.i18n.messages
for (const k in msgs) {
opts.i18n.setLocaleMessage(k, Object.assign(msgs[k], require('./assets/languages/' + k + '.json')))
}
}
components.forEach(component => {
Vue.component(component.name, component)
})
}
/* istanbul ignore if */
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue)
}
export default {
install,
TestModule
}
<template>
<div class="bg-test">
<img src="@/modules/test-module/assets/images/logo.png" alt="">
{{ $t('test.title') }}
</div>
</template>
<script>
import TestModule from '../action'
export default {
name: 'TestModule',
componentName: 'TestModule',
mounted () {
TestModule.getTestInfo().then(res => {
console.log('模块接口调用成功', res)
})
}
}
</script>
<template>
<div
class="details-margin-top-120 islogin"
v-loading="isLoading"
element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.5)"
></div>
</template>
<script>
import Login from '@/pages/login/index.vue'
import Apply from '@/pages/apply/index.vue'
export default {
name: 'apply-for',
components: { Login, Apply },
data() {
return {
isLoading: true,
UserInfo: {}
}
},
methods: {
setData() {
const self = this
this.isLoading = true
setTimeout(() => {
this.UserInfo = window.G.UserInfo
if (
this.UserInfo &&
this.UserInfo.data &&
Object.keys(this.UserInfo.data).length > 0
) {
this.$router.push({
name: 'apply'
})
} else {
this.$router.push({
name: 'login'
})
}
self.isLoading = false
}, 200)
}
},
mounted() {
this.setData()
}
}
</script>
<style lang="scss" scoped>
.islogin {
height: 100%;
width: 100%;
}
</style>
{
"list": [
{
"key": 0,
"icon": "user",
"title": "个人信息"
}
],
"0": {
"size": "medium",
"header": {
"name": "报名中心"
},
"ruleForm": {
"username": "",
"account": "",
"code": "",
"password": ""
},
"ruleFormlabel": "left",
"labelWidth": "70px",
"rules": {
"username": [
{ "required": true, "message": "请填写姓名!", "trigger": "change" }
],
"account": [
{ "required": true, "message": "请填写手机号!", "trigger": "change" }
],
"code": [
{ "required": true, "message": "请填写验证码!", "trigger": "change" }
],
"password": [
{ "required": true, "message": "请填写密码!", "trigger": "change" }
]
},
"filters": [
{
"type": "PageInput",
"size": "medium",
"label": "姓名",
"width": "270px",
"placeholder": "姓名",
"querykey": "username"
},
{
"type": "PageInput",
"size": "medium",
"width": "270px",
"label": "手机号",
"placeholder": "手机号",
"querykey": "account"
},
{
"type": "PageSendCode",
"size": "medium",
"width": "270px",
"label": "验证码",
"placeholder": "验证码",
"querykey": "code"
},
{
"type": "PagePasInput",
"size": "medium",
"width": "270px",
"label": "密码",
"placeholder": "密码",
"querykey": "password"
}
],
"button": [
{
"title": "报名",
"size": "medium",
"event": "keep",
"type": "primary",
"width": "148px",
"disabled": false,
"loading": false
}
]
}
}
<template>
<div class="details-margin-top-120 apply">
<div class="apply-body">
<layout-register :headerTitle="'在线报名'">
<template v-slot:left>
<slide-list :active="active" :list="FilterJson.list"></slide-list>
</template>
<template v-slot:right>
<PageHeader :title="FilterJson[active].header" @goback="goback" />
<z-form
:formConfig="FilterJson[active]"
ref="form"
:defaultValue="FilterJson[active].ruleForm"
@on-action="actionHandle"
>
<template v-slot:submit>
<button-list :list="FilterJson[active].button" @buttnClick="buttnClick" />
</template>
</z-form>
</template>
</layout-register>
</div>
</div>
</template>
<script>
import LayoutRegister from '@/components/layout-register.vue'
import FilterJson from './filterType.json'
import ZForm from '@/components/form.vue'
import SlideList from '@/components/slide-list.vue'
import PageHeader from '@/components/page-header.vue'
import ButtonList from '@/components/button-list.vue'
import Login from '@/pages/login/components/action/index.js'
export default {
name: 'apply',
components: {
LayoutRegister,
ZForm,
SlideList,
PageHeader,
ButtonList
},
data() {
return {
FilterJson,
active: 0
}
},
methods: {
buttnClick(item) {
item.loading = true
const params = {
keep: this.transferKeep
}
params[item.event](item)
},
actionHandle(queries) {
FilterJson[this.active].ruleForm = Object.assign({}, queries)
},
goback() {
this.$router.push({
name: 'apply'
})
},
transferKeep(item) {
console.log(Login)
this.$refs.form.submit().then(state => {
if (state) {
this.$message({
message: '报名成功',
type: 'success'
})
} else {
item.loading = false
}
})
}
}
}
</script>
<style lang="scss" scoped>
.apply {
height: 100%;
width: 100%;
.apply-body {
width: 80%;
margin: 0 auto;
}
}
</style>
<template> <template>
<div class="layout_com_page"> <div class="layout_com_page">
<vue-lazy-component> <vue-lazy-component>
<div class="homepage-banner" :style="{height: heightdy + 'px'}"> <div class="homepage-banner" :style="{ height: heightdy + 'px' }">
<div class="video-box"> <div class="video-box">
<video <video
x5-playsinline="" x5-playsinline=""
webkit-playsinline="" webkit-playsinline=""
ref="video" ref="video"
id="myAudio" id="myAudio"
style="width: 100%;height: 80%; object-fit: fill;" style="width: 100%; height: 80%; object-fit: fill"
src="https://zws-imgs-pub.ezijing.com/static/public/54f23971c68517443056d531c6d1f982.mp4" src="https://zws-imgs-pub.ezijing.com/static/public/54f23971c68517443056d531c6d1f982.mp4"
playsinline playsinline
></video> ></video>
...@@ -36,18 +36,10 @@ ...@@ -36,18 +36,10 @@
</vue-lazy-component> </vue-lazy-component>
<vue-lazy-component> <vue-lazy-component>
<div class="color-fff"> <div class="color-fff">
<div <div class="homepage-main" :class="{ 'study-show': hoverCap }" :style="{ 'min-height': heightdy - 60 + 'px' }">
class="homepage-main"
:class="{'study-show': hoverCap}"
:style="{'min-height': heightdy - 60 + 'px'}"
>
<div class="cap"> <div class="cap">
<div class="cap-image" ref="cap"> <div class="cap-image" ref="cap">
<img <img :src="require('@/assets/images/mz.png')" alt :class="{ 'cap-image-hover': hoverCap }" />
:src="require('@/assets/images/mz.png')"
alt
:class="{'cap-image-hover': hoverCap}"
/>
</div> </div>
<div class="cap-title"> <div class="cap-title">
<div class="cap-h3"> <div class="cap-h3">
...@@ -56,20 +48,29 @@ ...@@ -56,20 +48,29 @@
</div> </div>
</div> </div>
<div class="cap-main" ref="counter"> <div class="cap-main" ref="counter">
<span>加州整合大学(California Institute of Integral Studies)始创于1968年,是一所专注于心理学相关专业的非营利性研究型大学。学校位于美国加州湾区核心——旧金山,坐落在Twitter、Uber、Airbnb和市政府、收容所中间,是链接财富与道德、未来与传统的界限和平衡所在。</span> <span
>加州整合大学(California Institute of Integral
Studies)始创于1968年,是一所专注于心理学相关专业的非营利性研究型大学。学校位于美国加州湾区核心——旧金山,坐落在Twitter、Uber、Airbnb和市政府、收容所中间,是链接财富与道德、未来与传统的界限和平衡所在。</span
>
</div> </div>
<ul class="cap-item-box"> <ul class="cap-item-box">
<li> <li>
<div class="title">学校构成</div> <div class="title">学校构成</div>
<div class="txt">加州整合大学是全美整合教育研究的创始者和中心,由4个学院共26个专业构成,涵盖了本科、硕士和博士的教学和研究工作。</div> <div class="txt">
加州整合大学是全美整合教育研究的创始者和中心,由4个学院共26个专业构成,涵盖了本科、硕士和博士的教学和研究工作。
</div>
</li> </li>
<li> <li>
<div class="title">学校特色</div> <div class="title">学校特色</div>
<div class="txt">绝大多数项目均系围绕心理学理论和临床的细分方向进行专业设置,几十年间,孕育了大批政界、商界、学术界的杰出人才。</div> <div class="txt">
绝大多数项目均系围绕心理学理论和临床的细分方向进行专业设置,几十年间,孕育了大批政界、商界、学术界的杰出人才。
</div>
</li> </li>
<li> <li>
<div class="title">学术影响</div> <div class="title">学术影响</div>
<div class="txt">加州整合大学连续15年蝉联美国加州心理咨询师资格考试通过率第1名,每年约有500名专业心理咨询师在这里持证。</div> <div class="txt">
加州整合大学连续15年蝉联美国加州心理咨询师资格考试通过率第1名,每年约有500名专业心理咨询师在这里持证。
</div>
</li> </li>
</ul> </ul>
<!-- <div class="cap-xx animate__animated animate__fadeInUp animate__delay-0.2s"> <!-- <div class="cap-xx animate__animated animate__fadeInUp animate__delay-0.2s">
...@@ -102,8 +103,12 @@ ...@@ -102,8 +103,12 @@
<vue-lazy-component> <vue-lazy-component>
<div <div
class="homepage-wrapper" class="homepage-wrapper"
:style="{'min-height': heightdy - 60 + 'px'}" :style="{ 'min-height': heightdy - 60 + 'px' }"
:class="[{'wrapper-show-title':hoverWrapperTitle}, {'wrapper-show':hoverWrapperLi01}, {'wrapper-show-a':hoverWrapperLi02}]" :class="[
{ 'wrapper-show-title': hoverWrapperTitle },
{ 'wrapper-show': hoverWrapperLi01 },
{ 'wrapper-show-a': hoverWrapperLi02 }
]"
> >
<div class="homepage-son"> <div class="homepage-son">
<div class="title" ref="wrapper_title"> <div class="title" ref="wrapper_title">
...@@ -180,7 +185,7 @@ ...@@ -180,7 +185,7 @@
<leavex <leavex
:imgUrl="require('@/assets/images/mes1.png')" :imgUrl="require('@/assets/images/mes1.png')"
:imgUrlBg="require('@/assets/images/mesbk.png')" :imgUrlBg="require('@/assets/images/mesbk.png')"
:leavheight=" heightdy - 60" :leavheight="heightdy - 60"
/> />
</div> </div>
<vue-lazy-component> <vue-lazy-component>
...@@ -305,8 +310,7 @@ export default { ...@@ -305,8 +310,7 @@ export default {
.easing(TWEEN.Easing.Quadratic.Out) .easing(TWEEN.Easing.Quadratic.Out)
.to({ tweeningNumber: newValue }, 2000) .to({ tweeningNumber: newValue }, 2000)
.onUpdate(function () { .onUpdate(function () {
vm.animatedNum4 = vm.animatedNum4 = Math.round((this.tweeningNumber.toFixed(0) / 10000) * 100) / 100
Math.round((this.tweeningNumber.toFixed(0) / 10000) * 100) / 100
}) })
.start() .start()
animate() animate()
...@@ -373,10 +377,7 @@ export default { ...@@ -373,10 +377,7 @@ export default {
const h = this.$refs[el].offsetHeight const h = this.$refs[el].offsetHeight
const t = this.$refs[el].offsetTop const t = this.$refs[el].offsetTop
const top = t - (windowH - h) / 2 const top = t - (windowH - h) / 2
const scrollTop = const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
window.pageYOffset ||
document.documentElement.scrollTop ||
document.body.scrollTop
let currentTop = scrollTop let currentTop = scrollTop
let requestId let requestId
function step() { function step() {
...@@ -412,7 +413,7 @@ export default { ...@@ -412,7 +413,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.color-fff{ .color-fff {
background: #fff; background: #fff;
} }
.homepage-banner { .homepage-banner {
...@@ -445,13 +446,13 @@ export default { ...@@ -445,13 +446,13 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
cursor: pointer; cursor: pointer;
} }
.video-img-pop{ .video-img-pop {
position: absolute; position: absolute;
top: 0; top: 0;
bottom: 0; bottom: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
background: rgba(0,0,0,0.3); background: rgba(0, 0, 0, 0.3);
z-index: 4; z-index: 4;
} }
} }
...@@ -484,7 +485,7 @@ export default { ...@@ -484,7 +485,7 @@ export default {
} }
.ts-bu { .ts-bu {
width: 138px; width: 138px;
background: #E27F4D; background: #fa9e3b;
border: 0px; border: 0px;
span { span {
padding-right: 10px; padding-right: 10px;
...@@ -521,8 +522,8 @@ export default { ...@@ -521,8 +522,8 @@ export default {
width: 100%; width: 100%;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
background: url(https://zws-imgs-pub.ezijing.com/static/public/0b231f6b83983243fd13e2911c371b40.png) background: url(https://zws-imgs-pub.ezijing.com/static/public/0b231f6b83983243fd13e2911c371b40.png) no-repeat center
no-repeat center center; center;
background-size: cover; background-size: cover;
display: flex; display: flex;
justify-content: center; justify-content: center;
...@@ -562,11 +563,11 @@ export default { ...@@ -562,11 +563,11 @@ export default {
position: absolute; position: absolute;
bottom: -4px; bottom: -4px;
height: 3px; height: 3px;
background: #E27F4D; background: #fa9e3b;
width: 100%; width: 100%;
} }
.red { .red {
color: #E27F4D; color: #fa9e3b;
} }
.black { .black {
color: #222; color: #222;
...@@ -852,47 +853,47 @@ export default { ...@@ -852,47 +853,47 @@ export default {
.no_mar { .no_mar {
padding-bottom: 5px !important; padding-bottom: 5px !important;
} }
.cap-item-box{ .cap-item-box {
width: 1000px; width: 1000px;
margin: 0 auto; margin: 0 auto;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding-top: 40px; padding-top: 40px;
li{ li {
position: relative; position: relative;
width: 320px; width: 320px;
height: 254px; height: 254px;
background: url(https://zws-imgs-pub.ezijing.com/static/public/907e29cdca94fd79c2725cc0b2161028.png); background: url(https://zws-imgs-pub.ezijing.com/static/public/907e29cdca94fd79c2725cc0b2161028.png);
background-size: 100% 100%; background-size: 100% 100%;
.title{ .title {
position: absolute; position: absolute;
top: 10px; top: 10px;
left: 30px; left: 30px;
color: #fff; color: #fff;
font-size: 18px; font-size: 18px;
} }
.txt{ .txt {
padding-top: 60px; padding-top: 60px;
width: 260px; width: 260px;
margin: 0 auto; margin: 0 auto;
font-size: 18px; font-size: 18px;
color: #AF1B40; color: #af1b40;
line-height: 30px; line-height: 30px;
} }
} }
} }
.rz-new-mar{ .rz-new-mar {
margin-top: 60px; margin-top: 60px;
} }
.cap-more{ .cap-more {
::v-deep .el-button--primary{ ::v-deep .el-button--primary {
background: #E27F4D; background: #fa9e3b;
border: none; border: none;
} }
} }
.demo-ruleForm{ .demo-ruleForm {
::v-deep .el-button--primary{ ::v-deep .el-button--primary {
background: #E27F4D; background: #fa9e3b;
border: none; border: none;
} }
} }
......
...@@ -3,18 +3,33 @@ ...@@ -3,18 +3,33 @@
<header class="header"> <header class="header">
<div class="inner"> <div class="inner">
<div class="logo"> <div class="logo">
<router-link to="/"><img src="https://zws-imgs-pub.ezijing.com/static/public/2a5dca328ca63abcf1c8496180adc485.png"/></router-link> <router-link to="/"
><img src="https://zws-imgs-pub.ezijing.com/static/public/2a5dca328ca63abcf1c8496180adc485.png"
/></router-link>
</div> </div>
</div> </div>
</header> </header>
<nav class="nav"><h1 class="title">加州整合大学应用心理学硕士项目推荐信</h1></nav> <nav class="nav"><h1 class="title">加州整合大学应用心理学硕士项目推荐信</h1></nav>
<section class="content"> <section class="content">
<el-form :model="ruleForm" :rules="rules" ref="form" label-width="100px" :label-position="labelPosition" @submit.native.prevent style="max-width: 680px"> <el-form
:model="ruleForm"
:rules="rules"
ref="form"
label-width="100px"
:label-position="labelPosition"
@submit.native.prevent
style="max-width: 680px"
>
<el-form-item label="姓名" prop="provider_name"> <el-form-item label="姓名" prop="provider_name">
<el-input v-model="ruleForm.provider_name" @blur="onBlur('provider_name')"></el-input> <el-input v-model="ruleForm.provider_name" @blur="onBlur('provider_name')"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="推荐信内容" prop="letter_content"> <el-form-item label="推荐信内容" prop="letter_content">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="ruleForm.letter_content" @blur="onBlur('letter_content')"></el-input> <el-input
type="textarea"
:autosize="{ minRows: 6 }"
v-model="ruleForm.letter_content"
@blur="onBlur('letter_content')"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号" prop="provider_phone_number"> <el-form-item label="手机号" prop="provider_phone_number">
<el-input v-model="ruleForm.provider_phone_number"></el-input> <el-input v-model="ruleForm.provider_phone_number"></el-input>
...@@ -136,7 +151,7 @@ export default { ...@@ -136,7 +151,7 @@ export default {
} }
} }
.nav { .nav {
background-color: #e27f4d; background-color: #fa9e3b;
.title { .title {
font-size: 24px; font-size: 24px;
font-weight: 600; font-weight: 600;
......
<template> <template>
<div class="layout_com_page"> <div class="layout_com_page">
<vue-lazy-component> <vue-lazy-component>
<div class="layout_com_page_banner recent-news-header" :style="{height: 364 + 'px'}"> <div class="layout_com_page_banner recent-news-header" :style="{ height: 364 + 'px' }">
<span>最新动态</span> <span>最新动态</span>
</div> </div>
</vue-lazy-component> </vue-lazy-component>
...@@ -17,28 +17,28 @@ ...@@ -17,28 +17,28 @@
@click="details(item)" @click="details(item)"
@mouseover="item.hover = true" @mouseover="item.hover = true"
@mouseleave="item.hover = false" @mouseleave="item.hover = false"
:class="{'riht-bg': (index + 1) % 2 === 0, 'hover-bg': item.hover}" :class="{ 'riht-bg': (index + 1) % 2 === 0, 'hover-bg': item.hover }"
> >
<div class="list" v-if="(index + 1) % 2 !== 0"> <div class="list" v-if="(index + 1) % 2 !== 0">
<div class="list-time"> <div class="list-time">
<span class="font-size-30">{{item.created_time | formatDate}}</span> <span class="font-size-30">{{ item.created_time | formatDate }}</span>
<span class="font-size-15">{{item.created_time | formatDate(item.created_time, true)}}</span> <span class="font-size-15">{{ item.created_time | formatDate(item.created_time, true) }}</span>
</div> </div>
<img :src="item.photo_uri" /> <img :src="item.photo_uri" />
<div class="list-title"> <div class="list-title">
<span class="font-size-30">{{item.title}}</span> <span class="font-size-30">{{ item.title }}</span>
<span class="font-size-15">{{item.summary}}</span> <span class="font-size-15">{{ item.summary }}</span>
</div> </div>
</div> </div>
<div class="list" v-else> <div class="list" v-else>
<div class="list-title"> <div class="list-title">
<span class="font-size-30">{{item.title}}</span> <span class="font-size-30">{{ item.title }}</span>
<span class="font-size-15">{{item.summary}}</span> <span class="font-size-15">{{ item.summary }}</span>
</div> </div>
<img :src="item.photo_uri" /> <img :src="item.photo_uri" />
<div class="list-time"> <div class="list-time">
<span class="font-size-30">{{item.created_time | formatDate}}</span> <span class="font-size-30">{{ item.created_time | formatDate }}</span>
<span class="font-size-15">{{item.created_time | formatDate(item.created_time, true)}}</span> <span class="font-size-15">{{ item.created_time | formatDate(item.created_time, true) }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -85,7 +85,7 @@ export default { ...@@ -85,7 +85,7 @@ export default {
quiuse: { quiuse: {
page: 1, page: 1,
per_page: 4, per_page: 4,
project_id: 1006 project_id: 1021
} }
} }
}, },
...@@ -197,7 +197,7 @@ export default { ...@@ -197,7 +197,7 @@ export default {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
background: #fff; background: #fff;
color: #E27F4D; color: #fa9e3b;
padding: 20px; padding: 20px;
span { span {
padding: 0px 20px; padding: 0px 20px;
......
<script>
export default {
created() {
const { params, query } = this.$route
const { path } = params
this.$router.replace({ path: '/' + path, query })
},
render: function (h) {
return h() // avoid warning message
}
}
</script>
<template>
<div class="abc">
<div>这是一个测试页面{{test}}</div>
<!-- 外部引入字体库 -->
<div class="el-icon-self-star_full"></div>
<!-- 页面引入的两种方式 -->
<img :src="require('@/assets/images/logo.png')" alt="">
<img src="@/assets/images/logo.png" alt="">
<!-- 切换中英文 -->
<s-language></s-language>
<div @click="changeLanguage">切换中英文:{{ $t('common.title') }}</div>
<!-- css图片引入 -->
<div class="bg-img"></div>
<!-- 引入 模块 -->
<test-module></test-module>
<!-- element-ui 弹框 查看中英文切换 -->
<div @click="alertMsg">点击弹框</div>
</div>
</template>
<script>
import sLanguage from '@/components/languageSwitch/index.vue'
import action from '@action'
export default {
components: { sLanguage },
data () {
return {
test: 'abc'
}
},
metaInfo () {
return {
title: '独立 - 标题',
meta: [
// { vmid: 'description', name: 'description', content: this.description }
]
}
},
mounted () {
/* 接口请求测试 */
// action.Test.getTest('1').then((res) => {
// console.log(res)
// })
action.Test.postTest().then(res => {
console.log(res)
})
console.log(1, CKEDITOR)
console.log(2, Base64)
console.log(3, md5)
},
methods: {
changeLanguage () {
this.$i18n.locale = (this.$i18n.locale === 'cn' ? 'en' : 'cn')
},
alertMsg () {
this.$alert('这是一段内容', '标题名称', {
callback: action => {}
})
}
}
}
</script>
<style lang="scss" scoped>
.bg-img {
width: 134px;
height: 44px;
background: url('~@/assets/images/logo.png') no-repeat;
}
</style>
import Vue from 'vue' import Vue from 'vue'
import Router from 'vue-router' import Router from 'vue-router'
import { constantRoutes } from './routes.js' import { routes } from './routes.js'
Vue.use(Router) Vue.use(Router)
const createRouter = () => const router = new Router({
new Router({ mode: 'history',
mode: 'history', fallback: true,
fallback: true, scrollBehavior: () => ({ y: 0 }),
scrollBehavior: () => ({ y: 0 }), routes
routes: constantRoutes })
})
const router = createRouter()
export default router export default router
import Layout from '@/components/layout/index.vue' import Layout from '@/components/layout/index.vue'
export const constantRoutes = [ export const routes = [
{ path: '*', redirect: '/index' }, { path: '*', redirect: '/index' },
{ {
path: '/index', path: '/index',
...@@ -130,6 +130,3 @@ export const constantRoutes = [ ...@@ -130,6 +130,3 @@ export const constantRoutes = [
component: () => import(/* webpackChunkName: "complete" */ '@/pages/my/application/complete.vue') component: () => import(/* webpackChunkName: "complete" */ '@/pages/my/application/complete.vue')
} }
] ]
export default {
constantRoutes
}
import Vue from 'vue' import Vue from 'vue'
import Vuex from 'vuex' import Vuex from 'vuex'
// import router from '@/router' // import router from '@/router'
import { constantRoutes } from '@/router/routes.js' import { routes } from '@/router/routes.js'
import { logout } from '@/api/my' import { logout } from '@/api/my'
Vue.use(Vuex) Vue.use(Vuex)
...@@ -21,8 +21,8 @@ export default new Vuex.Store({ ...@@ -21,8 +21,8 @@ export default new Vuex.Store({
actions: { actions: {
generateRoutes({ commit }) { generateRoutes({ commit }) {
return new Promise(resolve => { return new Promise(resolve => {
commit('SET_ROUTES', constantRoutes) commit('SET_ROUTES', routes)
resolve(constantRoutes) resolve(routes)
}) })
}, },
logout() { logout() {
......
...@@ -6,9 +6,8 @@ body { ...@@ -6,9 +6,8 @@ body {
} }
/* 统一字体样式 */ /* 统一字体样式 */
* { * {
font-family: 'Source Han Sans CN', 'PingFang SC', -apple-system, font-family: 'Source Han Sans CN', 'PingFang SC', -apple-system, 'Microsoft YaHei', 'Helvetica', 'Arial', Verdana,
'Microsoft YaHei', 'Helvetica', 'Arial', Verdana, 'Hiragino Sans GB', 'Hiragino Sans GB', 'Wenquanyi Micro Hei', sans-serif;
'Wenquanyi Micro Hei', sans-serif;
} }
/* Extra small devices (portrait phones, less than 576px) */ /* Extra small devices (portrait phones, less than 576px) */
...@@ -32,7 +31,7 @@ body { ...@@ -32,7 +31,7 @@ body {
} }
/* 改变主题色变量 */ /* 改变主题色变量 */
$--color-primary: #E27F4D; $--color-primary: #fa9e3b;
/* 改变 icon 字体路径变量,必需 */ /* 改变 icon 字体路径变量,必需 */
$--font-path: '~element-ui/lib/theme-chalk/fonts'; $--font-path: '~element-ui/lib/theme-chalk/fonts';
/* 引入element-ui对应scss文件,重新编译 */ /* 引入element-ui对应scss文件,重新编译 */
......
export default class ConvertTime {
/**
* 工具方法 - 播放时间 转化 h:m:s
* @param {[string]} duration 时间戳
*/
durationToTimeString (duration) {
let h = Math.floor(duration / 3600)
let m = Math.floor((duration - h * 3600) / 60)
let s = (duration - h * 3600 - m * 60) % 60
function tenify (a) {
return a >= 10 ? a : '0' + a
}
let to = { h: tenify(h), m: tenify(m), s: tenify(s) }
let format = 'h:m:s'
return format.replace(/h|m|s/g, k => to[k]).replace(/^00:/, '')
}
}
export default class Cookies {
/*
name: cookies的名字,也是cookies的唯一标识,通过他来获取和设置cookies
value:cookies的值,也就是cookies的内容,这是cookies有用的内容
Domain:cookies所属的域
Path: cookies所属的路径,他是属于某个路径的,/代表根路径
expires:cookies的到期时间,如果为0则永不过期
http: 如果打钩则通过脚本无法获取,可以防止xss攻击
secure:https连接才会传送该cookies,增强了安全性
sameSite:可选值Strict 和 Lax,Strict 严格模式,不能被第三方网站获取,Lax:宽松模式,可以被第三方获取
*/
/* 如果 http 打钩,则 这边的 脚本函数将全部失效,而线上就是这么做的 */
/**
* 设置 Cookies,用于客户端
* @param {[string]} cName 要设置cookie的key值
* @param {[string]} cValue 要设置cookie的value值
* @param {[object]} obj 要设置cookie的其他值
* @param {[object]} obj.path 路径
* @param {[object]} obj.domain 域名
* @param {[object]} obj.expires 过期时间
*/
setCookie (cName, cValue, obj) {
let d = new Date()
if (obj.expires) {
d.setTime(d.getTime() + ((obj.expires || 0) * 24 * 60 * 60 * 1000))
obj.expires = d.toUTCString()
}
let str = ''
for (let key in obj) {
str += '; ' + key + '=' + obj[key]
}
document.cookie = cName + '=' + cValue + str
}
/**
* 获取指定cookie,用于客户端
* @param {[string]} cName 要获取cookie的key值
*/
getCookie (cName) {
let key = cName + '='
let ca = document.cookie.split(';')
for (let i = 0; i < ca.length; i++) {
let c = ca[i]
while (c.charAt(0) === ' ') c = c.substring(1)
if (c.indexOf(key) !== -1) {
return c.substring(key.length, c.length)
}
}
return ''
}
/**
* 获取全cookie,用于客户端
*/
getAllCookies () {
return document.cookie
}
/**
* 清除cookie,用于客户端
* 需要path 和 domain 唯一确定 一个 cookie
* @param {[string]} cName 要清除cookie的key值
* @param {[object]} obj.path 路径
* @param {[object]} obj.domain 域名
* @param {[object]} obj.expires 过期时间
*/
clearCookie (cName, obj) {
let exp = new Date() // 获取客户端本地当前系统时间
// 将exp设置为客户端本地时间1分钟以前,将exp赋值给cookie作为过期时间后,就表示该cookie已经过期了, 那么浏览器就会将其立刻删除掉
exp.setTime(exp.getTime() - 60 * 1000)
obj.expires = exp.toUTCString()
let str = ''
for (let key in obj) {
str += '; ' + key + '=' + obj[key]
}
document.cookie = cName + '=' + str
}
}
import Cookies from './cookies'
import ConvertTime from './convert_time'
import Other from './other'
let cookies = new Cookies()
let convertTime = new ConvertTime()
let other = new Other()
export default {
cookies,
convertTime,
other
}
export default class Other {
/**
* 获取idt
*/
getIdt () {
let cookieName = '_idt'
// 尝试从cookie获取
let idt = /_idt=/.test(document.cookie) && document.cookie.replace(/.*_idt=([^;]+).*/, '$1')
if (!idt) {
idt = (new Date()).getTime().toString(36) + Math.random().toString(32) + Math.random().toString(32)
let d = new Date()
d.setMonth(d.getMonth() + 6)
document.cookie = cookieName + '=' + idt + ';path=/;domain=.ezijing.com;expires=' + d.toGMTString()
}
return idt
}
}
export function isExternal(path) {
return /^(https?:|mailto:|tel:)/.test(path)
}
/*
* base64.js
*
* Licensed under the BSD 3-Clause License.
* http://opensource.org/licenses/BSD-3-Clause
*
* References:
* http://en.wikipedia.org/wiki/Base64
*/
;(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined'
? module.exports = factory(global)
: typeof define === 'function' && define.amd
? define(factory) : factory(global)
}((
typeof self !== 'undefined' ? self
: typeof window !== 'undefined' ? window
: typeof global !== 'undefined' ? global
: this
), function(global) {
'use strict';
// existing version for noConflict()
var _Base64 = global.Base64;
var version = "2.5.0";
// if node.js and NOT React Native, we use Buffer
var buffer;
if (typeof module !== 'undefined' && module.exports) {
try {
buffer = eval("require('buffer').Buffer");
} catch (err) {
buffer = undefined;
}
}
// constants
var b64chars
= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
var b64tab = function(bin) {
var t = {};
for (var i = 0, l = bin.length; i < l; i++) t[bin.charAt(i)] = i;
return t;
}(b64chars);
var fromCharCode = String.fromCharCode;
// encoder stuff
var cb_utob = function(c) {
if (c.length < 2) {
var cc = c.charCodeAt(0);
return cc < 0x80 ? c
: cc < 0x800 ? (fromCharCode(0xc0 | (cc >>> 6))
+ fromCharCode(0x80 | (cc & 0x3f)))
: (fromCharCode(0xe0 | ((cc >>> 12) & 0x0f))
+ fromCharCode(0x80 | ((cc >>> 6) & 0x3f))
+ fromCharCode(0x80 | ( cc & 0x3f)));
} else {
var cc = 0x10000
+ (c.charCodeAt(0) - 0xD800) * 0x400
+ (c.charCodeAt(1) - 0xDC00);
return (fromCharCode(0xf0 | ((cc >>> 18) & 0x07))
+ fromCharCode(0x80 | ((cc >>> 12) & 0x3f))
+ fromCharCode(0x80 | ((cc >>> 6) & 0x3f))
+ fromCharCode(0x80 | ( cc & 0x3f)));
}
};
var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
var utob = function(u) {
return u.replace(re_utob, cb_utob);
};
var cb_encode = function(ccc) {
var padlen = [0, 2, 1][ccc.length % 3],
ord = ccc.charCodeAt(0) << 16
| ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8)
| ((ccc.length > 2 ? ccc.charCodeAt(2) : 0)),
chars = [
b64chars.charAt( ord >>> 18),
b64chars.charAt((ord >>> 12) & 63),
padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63),
padlen >= 1 ? '=' : b64chars.charAt(ord & 63)
];
return chars.join('');
};
var btoa = global.btoa ? function(b) {
return global.btoa(b);
} : function(b) {
return b.replace(/[\s\S]{1,3}/g, cb_encode);
};
var _encode = buffer ?
buffer.from && Uint8Array && buffer.from !== Uint8Array.from
? function (u) {
return (u.constructor === buffer.constructor ? u : buffer.from(u))
.toString('base64')
}
: function (u) {
return (u.constructor === buffer.constructor ? u : new buffer(u))
.toString('base64')
}
: function (u) { return btoa(utob(u)) }
;
var encode = function(u, urisafe) {
return !urisafe
? _encode(String(u))
: _encode(String(u)).replace(/[+\/]/g, function(m0) {
return m0 == '+' ? '-' : '_';
}).replace(/=/g, '');
};
var encodeURI = function(u) { return encode(u, true) };
// decoder stuff
var re_btou = new RegExp([
'[\xC0-\xDF][\x80-\xBF]',
'[\xE0-\xEF][\x80-\xBF]{2}',
'[\xF0-\xF7][\x80-\xBF]{3}'
].join('|'), 'g');
var cb_btou = function(cccc) {
switch(cccc.length) {
case 4:
var cp = ((0x07 & cccc.charCodeAt(0)) << 18)
| ((0x3f & cccc.charCodeAt(1)) << 12)
| ((0x3f & cccc.charCodeAt(2)) << 6)
| (0x3f & cccc.charCodeAt(3)),
offset = cp - 0x10000;
return (fromCharCode((offset >>> 10) + 0xD800)
+ fromCharCode((offset & 0x3FF) + 0xDC00));
case 3:
return fromCharCode(
((0x0f & cccc.charCodeAt(0)) << 12)
| ((0x3f & cccc.charCodeAt(1)) << 6)
| (0x3f & cccc.charCodeAt(2))
);
default:
return fromCharCode(
((0x1f & cccc.charCodeAt(0)) << 6)
| (0x3f & cccc.charCodeAt(1))
);
}
};
var btou = function(b) {
return b.replace(re_btou, cb_btou);
};
var cb_decode = function(cccc) {
var len = cccc.length,
padlen = len % 4,
n = (len > 0 ? b64tab[cccc.charAt(0)] << 18 : 0)
| (len > 1 ? b64tab[cccc.charAt(1)] << 12 : 0)
| (len > 2 ? b64tab[cccc.charAt(2)] << 6 : 0)
| (len > 3 ? b64tab[cccc.charAt(3)] : 0),
chars = [
fromCharCode( n >>> 16),
fromCharCode((n >>> 8) & 0xff),
fromCharCode( n & 0xff)
];
chars.length -= [0, 0, 2, 1][padlen];
return chars.join('');
};
var _atob = global.atob ? function(a) {
return global.atob(a);
} : function(a){
return a.replace(/\S{1,4}/g, cb_decode);
};
var atob = function(a) {
return _atob(String(a).replace(/[^A-Za-z0-9\+\/]/g, ''));
};
var _decode = buffer ?
buffer.from && Uint8Array && buffer.from !== Uint8Array.from
? function(a) {
return (a.constructor === buffer.constructor
? a : buffer.from(a, 'base64')).toString();
}
: function(a) {
return (a.constructor === buffer.constructor
? a : new buffer(a, 'base64')).toString();
}
: function(a) { return btou(_atob(a)) };
var decode = function(a){
return _decode(
String(a).replace(/[-_]/g, function(m0) { return m0 == '-' ? '+' : '/' })
.replace(/[^A-Za-z0-9\+\/]/g, '')
);
};
var noConflict = function() {
var Base64 = global.Base64;
global.Base64 = _Base64;
return Base64;
};
// export Base64
global.Base64 = {
VERSION: version,
atob: atob,
btoa: btoa,
fromBase64: decode,
toBase64: encode,
utob: utob,
encode: encode,
encodeURI: encodeURI,
btou: btou,
decode: decode,
noConflict: noConflict,
__buffer__: buffer
};
// if ES5 is available, make Base64.extendString() available
if (typeof Object.defineProperty === 'function') {
var noEnum = function(v){
return {value:v,enumerable:false,writable:true,configurable:true};
};
global.Base64.extendString = function () {
Object.defineProperty(
String.prototype, 'fromBase64', noEnum(function () {
return decode(this)
}));
Object.defineProperty(
String.prototype, 'toBase64', noEnum(function (urisafe) {
return encode(this, urisafe)
}));
Object.defineProperty(
String.prototype, 'toBase64URI', noEnum(function () {
return encode(this, true)
}));
};
}
//
// export Base64 to the namespace
//
if (global['Meteor']) { // Meteor.js
Base64 = global.Base64;
}
// module.exports and AMD are mutually exclusive.
// module.exports has precedence.
if (typeof module !== 'undefined' && module.exports) {
module.exports.Base64 = global.Base64;
}
else if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define([], function(){ return global.Base64 });
}
// that's it!
return {Base64: global.Base64}
}));
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论