Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
project-www-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
project-www-pc
Commits
e708550a
提交
e708550a
authored
2月 04, 2026
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: update
上级
2590def1
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
222 行增加
和
344 行删除
+222
-344
index.js
app/api/index.js
+35
-28
my.js
app/api/my.js
+0
-173
AppFooter.vue
app/components/AppFooter.vue
+1
-1
AppHeader.vue
app/components/AppHeader.vue
+19
-6
AppRightAside.vue
app/components/AppRightAside.vue
+3
-3
FormSubmit.vue
app/components/FormSubmit.vue
+2
-2
banner.vue
app/components/home/banner.vue
+1
-1
enterprise.vue
app/components/home/enterprise.vue
+108
-110
personal.vue
app/components/home/personal.vue
+9
-9
school.vue
app/components/home/school.vue
+2
-2
useStore.ts
app/composables/useStore.ts
+41
-7
useUser.ts
app/composables/useUser.ts
+0
-1
index.vue
app/pages/bi/index.vue
+1
-1
没有找到文件。
app/api/index.js
浏览文件 @
e708550a
...
...
@@ -5,56 +5,63 @@ export function getAdvertisementList(params) {
return
httpRequest
.
get
(
'/api/cms/api/v1/advertisements'
,
{
params
})
}
// 获取新闻列表
export
function
getNewsList
(
params
)
{
return
httpRequest
.
get
(
`/api/zws/v1/cms/news`
,
{
params
})
/**
* 获取文章列表
*/
export
function
getArticleList
(
params
)
{
return
httpRequest
.
get
(
'/api/cms/api/v1/articles'
,
{
params
})
}
/**
* 获取图文列表
*/
export
function
getImgTextList
(
params
)
{
return
httpRequest
.
get
(
'/api/cms/api/v1/img-text'
,
{
params
})
}
//
获取新闻详情
export
function
getNewsDetails
(
params
)
{
return
httpRequest
.
get
(
`/api/zws/v1/cms/new`
,
{
params
}
)
//
提交留咨信息
export
function
submitApplicationForm
(
data
)
{
return
httpRequest
.
post
(
'/api/enrollment/v1.0/applications'
,
data
)
}
/**
*
发送验证码
*
获取用户信息
*/
export
function
sendCode
(
data
)
{
return
httpRequest
.
post
(
'/api/usercenter/user/send-code'
,
data
,
{
headers
:
{
'Content-Type'
:
'multipart/form-data'
},
})
export
function
getUser
(
params
=
{
learning_info
:
1
})
{
return
httpRequest
.
get
(
'/api/usercenter/v2/frontend/user/get-user-info'
,
{
params
})
}
/**
*
检验验证码
*
修改用户信息
*/
export
function
checkCode
(
params
)
{
return
httpRequest
.
get
(
'/api/usercenter/user/check-code'
,
{
params
}
)
export
function
updateUser
(
data
)
{
return
httpRequest
.
post
(
'/api/usercenter/user/update-user'
,
data
)
}
/**
*
提交留咨信息
*
修改密码
*/
export
function
postNes
(
data
)
{
return
httpRequest
.
post
(
'/api/enrollment/v1.0/applications'
,
data
,
{
headers
:
{
'Content-Type'
:
'multipart/form-data'
},
})
export
function
updatePassword
(
data
)
{
return
httpRequest
.
post
(
'/api/usercenter/user/update-pwd'
,
data
)
}
/**
*
获取文章列表
*
发送验证码
*/
export
function
getArticleList
(
params
)
{
return
httpRequest
.
get
(
'/api/cms/api/v1/articles'
,
{
params
}
)
export
function
sendCode
(
data
)
{
return
httpRequest
.
post
(
'/api/usercenter/user/send-code'
,
data
)
}
/**
*
获取图文列表
*
检验验证码
*/
export
function
getImgTextList
(
params
)
{
return
httpRequest
.
get
(
'/api/
cms/api/v1/img-text
'
,
{
params
})
export
function
checkCode
(
params
)
{
return
httpRequest
.
get
(
'/api/
usercenter/user/check-code
'
,
{
params
})
}
// 提交留咨信息
export
function
submitApplicationForm
(
data
)
{
return
httpRequest
.
post
(
'/api/enrollment/v1.0/applications'
,
data
)
/**
* 退出登录
*/
export
function
logout
()
{
return
httpRequest
.
get
(
'/api/passport/rest/logout'
)
}
app/api/my.js
deleted
100644 → 0
浏览文件 @
2590def1
import
httpRequest
from
'@/utils/httpRequest'
// 使用 composable 获取 projectId
const
getProjectId
=
()
=>
{
const
config
=
useRuntimeConfig
()
return
config
.
public
.
projectId
}
/**
* 获取用户信息
*/
export
function
getUser
(
params
=
{
learning_info
:
1
})
{
return
httpRequest
.
get
(
'/api/usercenter/v2/frontend/user/get-user-info'
,
{
params
})
}
/**
* 修改用户信息
*/
export
function
updateUser
(
data
)
{
return
httpRequest
.
post
(
'/api/usercenter/user/update-user'
,
data
)
}
/**
* 修改密码
*/
export
function
updatePassword
(
data
)
{
return
httpRequest
.
post
(
'/api/usercenter/user/update-pwd'
,
data
)
}
/**
* 发送验证码
*/
export
function
sendCode
(
data
)
{
return
httpRequest
.
post
(
'/api/usercenter/user/send-code'
,
data
)
}
/**
* 检验验证码
*/
export
function
checkCode
(
params
)
{
return
httpRequest
.
get
(
'/api/usercenter/user/check-code'
,
{
params
})
}
/**
* 获取报名信息
*/
export
function
getApplication
(
params
)
{
const
projectId
=
getProjectId
()
return
httpRequest
.
get
(
`/api/enrollment/v1.0/application-materials/
${
projectId
}
`
,
{
params
})
}
/**
* 获取报名信息
*/
export
function
updateApplication
(
data
)
{
const
projectId
=
getProjectId
()
return
httpRequest
.
post
(
`/api/enrollment/v1.0/application-materials/
${
projectId
}
/put`
,
data
,
{
headers
:
{
'Content-Type'
:
'application/json'
},
})
}
/**
* 获取报名审核状态
*/
export
function
getApplicationStatus
()
{
const
projectId
=
getProjectId
()
return
httpRequest
.
get
(
`/api/enrollment/v1.0/application-materials/profile/
${
projectId
}
`
)
}
/**
* 获取支付二维码
*/
export
function
getOrder
(
params
)
{
const
projectId
=
getProjectId
()
return
httpRequest
.
get
(
`/api/enrollment/v1.0/application-materials/payment-records/request/
${
projectId
}
/APPLICATION_FEE`
,
{
params
}
)
}
/**
* 检查支付状态
*/
export
function
checkPay
(
id
,
params
)
{
const
projectId
=
getProjectId
()
return
httpRequest
.
get
(
`/api/enrollment/v1.0/application-materials/payment-records/check-status/
${
projectId
}
/APPLICATION_FEE/
${
id
}
`
,
{
params
}
)
}
/**
* 写推荐信
*/
export
function
addLetter
(
userId
,
letterId
,
data
)
{
const
projectId
=
getProjectId
()
return
httpRequest
.
post
(
`/api/enrollment/v1.0/application-materials/reco-letters/submit/
${
projectId
}
/
${
userId
}
/
${
letterId
}
/put`
,
data
,
{
headers
:
{
'Content-Type'
:
'application/json'
},
}
)
}
/**
* 更换推荐人
*/
export
function
updateProvider
(
letterId
,
data
)
{
const
projectId
=
getProjectId
()
return
httpRequest
.
post
(
`/api/enrollment/v1.0/application-materials/reco-letters/change-provider/
${
projectId
}
/
${
letterId
}
/put`
,
data
,
{
headers
:
{
'Content-Type'
:
'application/json'
},
}
)
}
/**
* 再次邀请
*/
export
function
sendToProvider
(
letterId
)
{
const
projectId
=
getProjectId
()
return
httpRequest
.
get
(
`/api/enrollment/v1.0/application-materials/reco-letters/send-invitation-to-provider/
${
projectId
}
/
${
letterId
}
`
)
}
/**
* 退出登录
*/
export
function
logout
()
{
return
httpRequest
.
get
(
'/api/passport/rest/logout'
)
}
/**
* 更改附件状态
*/
export
function
changeFileStatus
(
userId
,
recordId
,
status
)
{
const
projectId
=
getProjectId
()
return
httpRequest
.
get
(
`/api/enrollment/v1.0/application-materials/attachments/change-status/
${
projectId
}
/
${
userId
}
/
${
recordId
}
`
,
{
params
:
{
status
}
}
)
}
/**
* 修改用户信息
*/
export
function
getOpenId
(
data
)
{
return
httpRequest
.
post
(
'/api/usercenter/v1/wechat/get-openid'
,
data
)
}
/**
* 签名
*/
export
function
createSign
(
data
)
{
return
httpRequest
.
post
(
'/api/usercenter/v1/sign/sign'
,
data
)
}
/**
* 获取签名文档
*/
export
function
getSignDocument
(
params
)
{
return
httpRequest
.
get
(
'/api/usercenter/v1/sign/document'
,
{
params
})
}
/**
* 提交留咨信息
*/
export
function
postNes
(
obj
)
{
return
httpRequest
.
post
(
'/new-app/v1.0/applications'
,
obj
,
{
headers
:
{
'Content-Type'
:
'application/x-www-form-urlencoded'
},
})
}
app/components/AppFooter.vue
浏览文件 @
e708550a
...
...
@@ -7,7 +7,7 @@ const items = [
href
:
'/#school'
,
items
:
[
{
name
:
'AI教学基础
层
'
,
name
:
'AI教学基础
设施
'
,
href
:
'/ai'
,
},
{
...
...
app/components/AppHeader.vue
浏览文件 @
e708550a
...
...
@@ -2,10 +2,14 @@
import
{
Search
}
from
'@element-plus/icons-vue'
import
IconPhone
from
'./icons/IconPhone.vue'
import
{
useStore
}
from
'@/composables/useStore'
const
{
visibleAppDownloadPopup
}
=
useStore
()
const
{
visibleAppDownloadPopup
,
user
,
isLogin
,
learningLink
,
fetchUser
}
=
useStore
()
const
{
locale
,
setLocale
}
=
useI18n
()
const
runtimeConfig
=
useRuntimeConfig
()
onMounted
(()
=>
{
fetchUser
()
})
const
showDownloadPopup
=
()
=>
{
visibleAppDownloadPopup
.
value
=
true
}
...
...
@@ -18,15 +22,15 @@ const navList = ref([
{
name
:
'AI教学基础设施'
,
items
:
[
{
name
:
'人工智能基础:数据分析通识课'
,
href
:
'/bi'
},
{
name
:
'人工智能应用通识课'
,
href
:
'/ai'
},
{
name
:
'人工智能基础:数据分析
实践
通识课'
,
href
:
'/bi'
},
{
name
:
'人工智能应用
实践
通识课'
,
href
:
'/ai'
},
{
name
:
'数字教材'
,
href
:
'/book'
},
{
name
:
'个性化智能学习平台'
,
href
:
'https://saas-learn.ezijing.com/'
},
{
name
:
'紫荆e-SaaS'
,
href
:
'https://e-saas.ezijing.com/'
},
],
},
{
name
:
'AI专业建设'
,
name
:
'AI
+
专业建设'
,
items
:
[
{
name
:
'新工科'
,
...
...
@@ -232,8 +236,14 @@ const onDropdownLeave = () => {
<span
class=
"slogan"
>
让每个人都有改变的能力
</span>
</div>
<div
class=
"user-section"
>
<a
href=
"javascript:;"
class=
"login-btn"
@
click=
"handleLogin"
>
登录/学习空间
</a>
<a
href=
"javascript:;"
class=
"register-btn"
@
click=
"handleRegister"
>
注册
</a>
<template
v-if=
"isLogin"
>
<p>
欢迎,
{{
user
.
realname
||
user
.
nickname
||
user
.
username
}}
</p>
<NuxtLink
:to=
"learningLink"
target=
"_blank"
class=
"login-btn"
>
登录/学习空间
</NuxtLink>
</
template
>
<
template
v-else
>
<a
href=
"javascript:;"
class=
"login-btn"
@
click=
"handleLogin"
>
登录/学习空间
</a>
<a
href=
"javascript:;"
class=
"register-btn"
@
click=
"handleRegister"
>
注册
</a>
</
template
>
<span
class=
"lang-switch"
@
click=
"toggleLocale"
>
{{ locale === 'zh' ? '中文' : 'EN' }} / {{ locale === 'zh' ? 'EN' : '中文' }}
</span>
...
...
@@ -364,6 +374,9 @@ const onDropdownLeave = () => {
display
:
flex
;
align-items
:
center
;
gap
:
20px
;
p
{
color
:
#fff
;
}
}
.login-btn
{
...
...
app/components/AppRightAside.vue
浏览文件 @
e708550a
...
...
@@ -2,7 +2,7 @@
<div
class=
"app-right-aside"
>
<ul>
<li>
<div
class=
"text hover-text"
>
售前
<br
/>
咨询
</div>
<div
class=
"text hover-text"
>
报名
<br
/>
咨询
</div>
<div
class=
"hover"
>
<div
class=
"enroll_cont"
>
<h5>
{{
t
(
'aside.apply'
)
}}
</h5>
...
...
@@ -88,7 +88,7 @@
<
/template
>
<
script
setup
>
import
{
sendCode
,
checkCode
,
postNes
}
from
'@/api/index'
import
{
sendCode
,
checkCode
,
submitApplicationForm
}
from
'@/api/index'
import
{
useStore
}
from
'@/composables/useStore'
const
{
visibleAppDownloadPopup
}
=
useStore
()
...
...
@@ -247,7 +247,7 @@ const enrollQuery = async () => {
}
try
{
const
res
=
await
postNes
(
params
)
const
res
=
await
submitApplicationForm
(
params
)
if
(
res
&&
res
.
status
===
200
&&
res
.
error
===
0
)
{
return
{
type
:
'enroll'
,
...
...
app/components/FormSubmit.vue
浏览文件 @
e708550a
...
...
@@ -97,7 +97,7 @@
<
script
setup
>
import
{
ElMessage
}
from
'element-plus'
import
{
postNes
}
from
'@/api/index'
import
{
submitApplicationForm
}
from
'@/api/index'
const
props
=
defineProps
({
type
:
{
type
:
Number
,
default
:
1
},
...
...
@@ -173,7 +173,7 @@ const handleSubmit = () => {
if
(
params
.
project_id
===
'9999'
)
{
params
.
project_id
=
'1016'
}
postNes
(
params
)
submitApplicationForm
(
params
)
.
then
((
res
)
=>
{
if
(
res
&&
res
.
status
===
200
&&
res
.
error
===
0
)
{
ElMessage
.
success
(
'报名提交成功'
)
...
...
app/components/home/banner.vue
浏览文件 @
e708550a
...
...
@@ -41,7 +41,7 @@ const swiperOption = {
}
const
data
=
[
{
web_img_uri
:
'https://webapp-pub.ezijing.com/www/pc/next/banner1.jpg'
},
{
web_img_uri
:
'https://webapp-pub.ezijing.com/www/pc/next/banner2.jpg?v=
1
'
},
{
web_img_uri
:
'https://webapp-pub.ezijing.com/www/pc/next/banner2.jpg?v=
2
'
},
{
web_img_uri
:
'https://webapp-pub.ezijing.com/www/pc/next/banner3.jpg'
},
]
// 使用 useAsyncData 进行服务端渲染
...
...
app/components/home/enterprise.vue
浏览文件 @
e708550a
<
script
setup
>
import
EnterpriseIcons
from
'./enterpriseIcons.vue'
const
rows
=
[
[
{
name
:
'教育部'
,
icon
:
1
,
desc
:
`2025:院校技术支持获得世界职业技能大赛新一代信息技术赛项金奖
const
enterpriseList
=
[
{
name
:
'教育部'
,
icon
:
1
,
desc
:
`2025:院校技术支持获得世界职业技能大赛新一代信息技术赛项金奖
2024:院校技术支持单位获得世界职业技能大赛智慧金融赛项金奖第一名
...
...
@@ -14,119 +14,114 @@ const rows = [
2021:教育部供需对接就业育人项目单位
2020:《1+X金融产品数字化营销》职业技能评价单位`
,
},
{
name
:
'清华大学出版社'
,
icon
:
2
,
desc
:
`根植清华大学,1980 年成立,秉持清华校训,主打学术专著、精品教材与前沿科技读物,聚焦人工智能、智能制造等国家重点领域,兼顾教育教学与专业出版,是综合性、多层次的知名大学出版社,数字化转型与国际合作成果显著。`
,
},
{
name
:
'中国中小企业协会'
,
icon
:
3
,
desc
:
`清控紫荆教育成为中国中小企业协会副会长单位。
中国中小企业协会数字经济人才专业委员会成立!`
,
},
],
[
{
name
:
'工信部'
,
icon
:
7
,
desc
:
`2025:工信部职业技能提升行动-人工智能通识应用评价组织
},
{
name
:
'清华大学出版社'
,
icon
:
2
,
desc
:
`根植清华大学,1980 年成立,秉持清华校训,主打学术专著、精品教材与前沿科技读物,聚焦人工智能、智能制造等国家重点领域,兼顾教育教学与专业出版,是综合性、多层次的知名大学出版社,数字化转型与国际合作成果显著。`
,
},
{
name
:
'中国电子商会'
,
icon
:
6
,
desc
:
`授予清控紫荆教育元宇宙专委会副理事长单位牌匾,并在此设立中国电子商会元宇宙专委会教培秘书处。双方将整合行业资源与教育优势,携手为数字经济教育革新注入国家级平台力量,推动AIGC产教融合迈向新高度。`
,
},
{
name
:
'工信部'
,
icon
:
7
,
desc
:
`2025:工信部职业技能提升行动-人工智能通识应用评价组织
2024:工信部职业技能提升行动-智能数据分析与实战应用评价组织
2024: 工信部职业技能提升行动-智能数字营销与实战应用)评价组织`
,
},
{
name
:
'中国标准出版社'
,
icon
:
5
,
desc
:
`国家权威标准类专业出版社,核心出版国家标准、行业标准、地方标准及标准配套读物,同步推出标准培训教材、计量与质量相关专著,精准服务标准化工作推进,是国内标准出版领域的核心阵地,助力各行各业规范发展。`
,
},
{
name
:
'中国电子商会'
,
icon
:
6
,
desc
:
`授予清控紫荆教育元宇宙专委会副理事长单位牌匾,并在此设立中国电子商会元宇宙专委会教培秘书处。双方将整合行业资源与教育优势,携手为数字经济教育革新注入国家级平台力量,推动AIGC产教融合迈向新高度。`
,
},
],
[
{
name
:
'中华全国供销合作总社'
,
icon
:
10
,
desc
:
`2025:“数智营销”纳入工种考试系统“商务数据分析 纳入工种考试系统共同开发人社部“商务数据分析师”“营销员”数字教材
2024:提供新职业职业技能在线课程(商务数据分析师、营销员/营销师`
,
},
{
name
:
'中国经济出版社'
,
icon
:
8
,
desc
:
`经济学领域权威出版机构,深耕经济理论、国企改革、经济管理等核心板块,紧扣国家经济发展战略,打造国企改革出版特色品牌,推出众多贴合政策导向与行业需求的精品力作,获评经济学领域最具学术影响力出版社,兼具专业性与实用性。`
,
},
{
name
:
'华为'
,
icon
:
9
,
desc
:
`携手华为、新疆轻工职业技术学院共建ICT产业学院!
},
{
name
:
'中国标准出版社'
,
icon
:
5
,
desc
:
`国家权威标准类专业出版社,核心出版国家标准、行业标准、地方标准及标准配套读物,同步推出标准培训教材、计量与质量相关专著,精准服务标准化工作推进,是国内标准出版领域的核心阵地,助力各行各业规范发展。`
,
},
{
name
:
'华为'
,
icon
:
9
,
desc
:
`携手华为、新疆轻工职业技术学院共建ICT产业学院!
携手华为、新疆交通职业技术学院共建ICT产业学院!`
,
},
],
[
{
name
:
'国家新闻出版署'
,
icon
:
13
,
desc
:
`2024:副组长单位参与全国新闻出版标准技术委员会《数字教材平台接口》、《高等教育和职业教育数字出版产品质量要求》数字教材两项行业标准制定`
,
},
{
name
:
'中国金融出版社'
,
icon
:
11
,
desc
:
`1956年成立,直属中国人民银行,国内优质的金融专业出版社,主营金融理论、实务操作、金融教材及法律法规类读物,出版《中国金融》等核心期刊,覆盖金融全领域内容,兼具权威政策解读与大众金融知识普及功能,是金融从业者与学习者的核心读物来源。`
,
}
,
{
name
:
'百融云创'
,
icon
:
12
,
desc
:
`清控紫荆教育携手百融云创,整合教育资源与产业技术,共探数字化人才高效培养新范式。`
,
}
,
]
,
[
{
name
:
'国家广播电视总局'
,
icon
:
16
,
desc
:
`2025:2025-2028人社部“网络主播”行业职业二类国赛广电技术支持单位人社部“网络主播”工种考试系统
},
{
name
:
'中华全国供销合作总社'
,
icon
:
10
,
desc
:
`2025:清控紫荆“数智营销实践教学平台”纳入工种考试系统
清控紫荆“商务数据分析实践教学平台”纳入工种考试系统
共同开发人社部“商务数据分析师”“营销师”数字教材
2024: 中华全国供销合作总社职业技能(商务数据分析师/营销师)在线课程提供商`
,
}
,
{
name
:
'中国经济出版社'
,
icon
:
8
,
desc
:
`经济学领域权威出版机构,深耕经济理论、国企改革、经济管理等核心板块,紧扣国家经济发展战略,打造国企改革出版特色品牌,推出众多贴合政策导向与行业需求的精品力作,获评经济学领域最具学术影响力出版社,兼具专业性与实用性。`
,
}
,
{
name
:
'百融云创'
,
icon
:
12
,
desc
:
`清控紫荆教育携手百融云创,整合教育资源与产业技术,共探数字化人才高效培养新范式。`
,
},
{
name
:
'国家广播电视总局'
,
icon
:
16
,
desc
:
`2025:广电主办人社部“网络主播”职业二类国赛技术支持单位
2024:首届网络视听行业职业技能大赛技术支持单位
第二届网络视听行业职业技能大赛技术支持单位`
,
},
},
{
name
:
'中国金融出版社'
,
icon
:
11
,
desc
:
`1956年成立,直属中国人民银行,国内优质的金融专业出版社,主营金融理论、实务操作、金融教材及法律法规类读物,出版《中国金融》等核心期刊,覆盖金融全领域内容,兼具权威政策解读与大众金融知识普及功能,是金融从业者与学习者的核心读物来源。`
,
},
{
name
:
'电科北斗'
,
icon
:
15
,
desc
:
`清控紫荆教育与电科北斗签订人才战略合作框架协议,双方将共同探索数字化企业中所需人才,通过定制化培养、招聘服务、实习实训基地共建、引产入校等方式,打造数字人才培训与服务体系。`
,
},
{
name
:
'国家新闻出版署'
,
icon
:
13
,
desc
:
`2024:副组长单位参与《数字教材平台接口》、《高等教育和职业教育数字出版产品质量要求》两项行业标准制定`
,
},
{
name
:
'西安交通大学出版社'
,
icon
:
14
,
desc
:
`西安交通大学出版社是1983年成立、1998年合并重组的教育部直属综合性大学出版社,依托西安交大优势学科主攻多领域高教教材与学术专著出版,曾获“国家一级出版社”等多项殊荣,深耕融合出版并与国际优质机构合作实现版权全球输出。`
,
},
{
name
:
'国开在线'
,
icon
:
18
,
desc
:
`清控紫荆教育携手国开在线合作斯蒂文斯理工学院工程管理硕士项目、雪城大学计算机科学、计算机工程、电电气工程、帕克大学工商管理硕士、信息系统与商业数据分析等热门硕士项目。`
,
},
{
name
:
'全国科学技术名词审定委员会'
,
icon
:
4
,
desc
:
`2022年,清控紫荆教育与全国科学技术名词审定委员会双方就数字经济方向设立科研课题、数字经济领域学术成果发表、数字经济人才培养、国际论坛交流活动等方面进行深入探讨和交流,并举行战略合作签约仪式。`
,
},
{
name
:
'中国中小企业协会'
,
icon
:
3
,
desc
:
`清控紫荆教育成为中国中小企业协会副会长单位。
{
name
:
'中国科学技术出版社'
,
icon
:
17
,
desc
:
`1956年成立,直属中国科协(暨科学普及出版社),中央级科技出版单位,核心出版科普读物、科技专著、专业工具书及科教教材,覆盖基础科学、工程技术等多领域,同步发力数字融合出版与科普期刊运营,是国内科普出版规模最大、品类最全的权威阵地,助力全民科学素养提升。`
,
},
{
name
:
'电科北斗'
,
icon
:
15
,
desc
:
`清控紫荆教育与电科北斗签订人才战略合作框架协议,双方将共同探索数字化企业中所需人才,通过定制化培养、招聘服务、实习实训基地共建、引产入校等方式,打造数字人才培训与服务体系。`
,
},
],
[
{
name
:
'全国科学技术名词审定委员会'
,
icon
:
4
,
desc
:
`2022年,清控紫荆教育与全国科学技术名词审定委员会双方就数字经济方向设立科研课题、数字经济领域学术成果发表、数字经济人才培养、国际论坛交流活动等方面进行深入探讨和交流,并举行战略合作签约仪式。`
,
},
{
name
:
'西安交通大学出版社'
,
icon
:
14
,
desc
:
`西安交通大学出版社是1983年成立、1998年合并重组的教育部直属综合性大学出版社,依托西安交大优势学科主攻多领域高教教材与学术专著出版,曾获“国家一级出版社”等多项殊荣,深耕融合出版并与国际优质机构合作实现版权全球输出。`
,
},
{
name
:
'国开在线'
,
icon
:
18
,
desc
:
`清控紫荆教育携手国开在线合作斯蒂文斯理工学院工程管理硕士项目、雪城大学计算机科学、计算机工程、电电气工程、帕克大学工商管理硕士、信息系统与商业数据分析等热门硕士项目。`
,
},
],
中国中小企业协会数字经济人才专业委员会成立!`
,
},
{
name
:
'查看更多+'
,
},
]
const
rows
=
computed
(()
=>
{
const
result
=
[]
for
(
let
i
=
0
;
i
<
enterpriseList
.
length
;
i
+=
3
)
{
result
.
push
(
enterpriseList
.
slice
(
i
,
i
+
3
))
}
return
result
})
</
script
>
<
template
>
...
...
@@ -187,7 +182,8 @@ const rows = [
gap
:
10px
;
transition
:
all
0
.3s
;
&
:hover
{
// 只有当第一行 box 被 hover 时,整列才变宽
&
:has
(
.home-enterprise-box
:first-child:hover
)
{
flex
:
2
;
}
}
...
...
@@ -197,8 +193,10 @@ const rows = [
flex
:
1
;
min-height
:
160px
;
&
:hover
{
// 只有第一行的 box 有 hover 效果
&
:first-child:hover
{
z-index
:
10
;
cursor
:
pointer
;
.home-enterprise-box-inner
{
padding
:
20px
20px
0
;
...
...
app/components/home/personal.vue
浏览文件 @
e708550a
...
...
@@ -68,22 +68,22 @@ const items = ref([
{
name
:
'人工智能通识应用'
,
href
:
'https://eec.ezijing.com/AI'
,
items
:
[{
name
:
'零基础AI工具课'
},
{
name
:
'学ChatGPT等工具职场实操'
},
{
name
:
'适配全行业提效职员'
}],
//
items: [{ name: '零基础AI工具课' }, { name: '学ChatGPT等工具职场实操' }, { name: '适配全行业提效职员' }],
},
{
name
:
'智能数据分析与实战应用'
,
href
:
'https://eec.ezijing.com/product'
,
items
:
[{
name
:
'数据可视化实操课'
},
{
name
:
'Python/Tableau+真实案例'
},
{
name
:
'适配市场/运营/财务岗'
}],
//
items: [{ name: '数据可视化实操课' }, { name: 'Python/Tableau+真实案例' }, { name: '适配市场/运营/财务岗' }],
},
{
name
:
'智能数据营销与实战应用'
,
href
:
'https://eec.ezijing.com/'
,
items
:
[{
name
:
'AI营销升级课'
},
{
name
:
'智能画像+平台投放'
},
{
name
:
'适配营销/新媒体从业者'
}],
//
items: [{ name: 'AI营销升级课' }, { name: '智能画像+平台投放' }, { name: '适配营销/新媒体从业者' }],
},
{
name
:
'私人财富风险管理课程'
,
href
:
'https://prp.ezijing.com/'
,
items
:
[{
name
:
'资产风控课'
},
{
name
:
'风险识别+避险策略'
},
{
name
:
'适配高净值人群/理财顾问'
}],
//
items: [{ name: '资产风控课' }, { name: '风险识别+避险策略' }, { name: '适配高净值人群/理财顾问' }],
},
],
moreText
:
'了解更多职业技能'
,
...
...
@@ -91,7 +91,7 @@ const items = ref([
},
{
name
:
'就业服务'
,
items
:
[{
name
:
'
1V1定制化'
},
{
name
:
'全程辅导'
},
{
name
:
'内推面试'
},
{
name
:
'内推入职
'
}],
items
:
[{
name
:
'
高端1V1'
},
{
name
:
'企业内推'
},
{
name
:
'企业直签
'
}],
moreText
:
'了解更多就业服务'
,
moreHref
:
'/job'
,
},
...
...
@@ -154,7 +154,7 @@ const colList = computed(() => {
</dd>
</dl>
</div>
<div
class=
"box3"
v-if=
"index === 2"
>
<div
class=
"box3"
v-if=
"index === 2
|| index === 3
"
>
<dl
v-for=
"source in item.items"
:key=
"source.name"
>
<dt>
<a
:href=
"source.href"
target=
"_blank"
>
{{
source
.
name
}}
</a>
...
...
@@ -168,7 +168,7 @@ const colList = computed(() => {
</dd>
</dl>
</div>
<div
class=
"box4"
v-if=
"index === 3"
>
<
!--
<
div
class=
"box4"
v-if=
"index === 3"
>
<h4>
8步就业辅导体系覆盖求职全流程
</h4>
<p>
精准解决核心问题,为求职者提供科学、高效的就业支持
</p>
<div
class=
"ul-box"
>
...
...
@@ -185,7 +185,7 @@ const colList = computed(() => {
<li>
8. 试用期辅导
</li>
</ul>
</div>
</div>
</div>
-->
<div
class=
"more"
>
<a
:href=
"item.moreHref"
target=
"_blank"
>
{{
item
.
moreText
}}
...
...
@@ -387,7 +387,7 @@ const colList = computed(() => {
}
.box3
{
margin-top
:
-2
0px
;
margin-top
:
6
0px
;
display
:
grid
;
grid-template-columns
:
repeat
(
2
,
1fr
);
gap
:
16px
0
;
...
...
app/components/home/school.vue
浏览文件 @
e708550a
...
...
@@ -119,8 +119,8 @@ const rows = [
{
className
:
'home-school-box-ai'
,
btns
:
[
{
name
:
'人工智能基础:数据分析通识课'
,
href
:
'/bi'
},
{
name
:
'人工智能应用通识课'
,
href
:
'/ai'
},
{
name
:
'人工智能基础:数据分析
实践
通识课'
,
href
:
'/bi'
},
{
name
:
'人工智能应用
实践
通识课'
,
href
:
'/ai'
},
{
name
:
'数字教材'
,
href
:
'/book'
},
{
name
:
'个性化智能学习平台'
,
href
:
'https://saas-learn.ezijing.com/'
,
tips
:
'即将上线,敬请期待'
},
{
name
:
'紫荆e-SaaS'
,
href
:
'https://e-saas.ezijing.com/'
},
...
...
app/composables/useStore.ts
浏览文件 @
e708550a
const
store
=
reactive
({
visibleAppDownloadPopup
:
false
,
});
import
{
getUser
}
from
'~/api'
export
const
useStore
=
()
=>
{
return
toRefs
(
store
);
}
\ No newline at end of file
const
visibleAppDownloadPopup
=
useState
<
boolean
>
(
'visibleAppDownloadPopup'
,
()
=>
false
)
const
user
=
useState
<
any
>
(
'user'
,
()
=>
null
)
const
isFetchingUser
=
useState
<
boolean
>
(
'isFetchingUser'
,
()
=>
false
)
const
isLogin
=
computed
(()
=>
!!
user
.
value
)
const
fetchUser
=
async
()
=>
{
// 如果已经有用户数据,或者正在抓取中,则直接返回
if
(
user
.
value
||
isFetchingUser
.
value
)
return
isFetchingUser
.
value
=
true
try
{
const
res
=
await
getUser
()
user
.
value
=
res
.
data
}
catch
(
error
)
{
user
.
value
=
null
}
finally
{
isFetchingUser
.
value
=
false
}
}
const
tenantMap
:
Record
<
string
,
string
>
=
{
sofia
:
'https://sofia-learning.ezijing.com/'
,
kelley
:
'https://kelley-learning.ezijing.com/'
,
gm
:
'https://gm-learning.ezijing.com/'
,
seg
:
'https://seg-learning.ezijing.com/'
,
campbellsville
:
'https://campbellsville-learning.ezijing.com/'
,
ciis
:
'https://ciis-learning.ezijing.com/'
,
marywood
:
'https://marywood-learning.ezijing.com/'
,
cuw
:
'https://cuw-learning.ezijing.com/'
,
}
const
learningLink
=
computed
(()
=>
{
if
(
!
user
.
value
)
return
'javascript:;'
const
tenant
=
user
.
value
?.
learning_info
[
0
]?.
tenant
||
'ezijing'
return
tenantMap
[
tenant
]
||
'javascript:;'
})
return
{
visibleAppDownloadPopup
,
user
,
isLogin
,
fetchUser
,
learningLink
}
}
app/composables/useUser.ts
deleted
100644 → 0
浏览文件 @
2590def1
export
const
useUser
=
()
=>
{}
app/pages/bi/index.vue
浏览文件 @
e708550a
...
...
@@ -19,7 +19,7 @@ const tabList = [
<div
class=
"bi-page"
>
<div
class=
"banner"
>
<div
class=
"banner-inner"
>
<h1>
人工智能基础:数据分析通识课
</h1>
<h1>
人工智能基础:数据分析
实践
通识课
</h1>
<span
class=
"line"
></span>
<h2>
“一体两翼”式设计AI+数据分析能力建设
</h2>
<p>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论