Skip to content

Commit

Permalink
feat: 完善简历内容
Browse files Browse the repository at this point in the history
  • Loading branch information
visiky committed Aug 29, 2021
1 parent df6058d commit 4846f58
Show file tree
Hide file tree
Showing 6 changed files with 125 additions and 100 deletions.
11 changes: 10 additions & 1 deletion src/components/Resume/index.less
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,17 @@
.section-info .info-time {
color: rgba(0, 0, 0, 0.45);
font-size: 12px;
margin-left: 4px;
margin-left: 8px;
font-weight: 300;
}

.work-description,
.project-content {
white-space: pre-wrap;
}
}

.section-aboutme > div {
margin: 6px 0;
}
}
113 changes: 60 additions & 53 deletions src/components/Resume/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export const Resume: React.FC<Props> = props => {
/** 个人基础信息 */
const profile = _.get(value, 'profile');

/** 教育经历 */
/** 教育背景 */
const educationList = _.get(value, 'educationList');

/** 工作经历 */
Expand All @@ -55,7 +55,7 @@ export const Resume: React.FC<Props> = props => {
/** 个人技能 */
const skillList = _.get(value, 'skillList');

/** 荣誉奖项 */
/** 更多信息 */
const awardList = _.get(value, 'awardList');

/** 作品 */
Expand Down Expand Up @@ -123,11 +123,22 @@ export const Resume: React.FC<Props> = props => {
)}
</div>
</div>
{/* 教育经历 */}
{/* 自我介绍 */}
{!!_.trim(_.join(aboutme, '')) && (
<section className="section section-aboutme">
<div className="section-title" style={{ color: theme.color }}>
自我介绍
</div>
{aboutme.map((d, idx) => (
<div key={`${idx}`}>{d}</div>
))}
</section>
)}
{/* 教育背景 */}
{educationList?.length ? (
<section className="section section-education">
<div className="section-title" style={{ color: theme.color }}>
教育经历
教育背景
</div>
{educationList.map((education, idx) => {
const [start, end] = education.edu_time;
Expand Down Expand Up @@ -158,29 +169,6 @@ export const Resume: React.FC<Props> = props => {
})}
</section>
) : null}
{/* 荣誉奖项 */}
{awardList?.length ? (
<section className="section section-award">
<div className="section-title" style={{ color: theme.color }}>
荣誉奖项
</div>
{awardList.map((award, idx) => {
return (
<div key={idx.toString()}>
<TrophyFilled
style={{ color: '#ffc107', marginRight: '8px' }}
/>
<b className="info-name">{award.award_info}</b>
{award.award_time && (
<span className="sub-info award-time">
({award.award_time})
</span>
)}
</div>
);
})}
</section>
) : null}
{workList.length ? (
<section className="section section-work">
<div className="section-title" style={{ color: theme.color }}>
Expand All @@ -204,16 +192,22 @@ export const Resume: React.FC<Props> = props => {
})}
</section>
) : null}
{/* 个人技能 */}
{/* 专业技能 */}
{skillList?.length ? (
<section className="section section-skill">
<div className="section-title" style={{ color: theme.color }}>
技能
专业技能
</div>
{skillList.map(skill => {
return skill ? (
<React.Fragment>
<div className="section-info">
<div
style={{
display: 'flex',
justifyContent: 'space-between',
marginTop: '8px',
}}
>
<b className="info-name">{skill.skill_name}</b>
<Rate
allowHalf
Expand All @@ -222,19 +216,44 @@ export const Resume: React.FC<Props> = props => {
className="skill-rate"
/>
</div>
{_.split(skill.skill_desc, '\n').map(d => (
<div className="skill-detail-item">
<CheckCircleFilled
style={{ color: '#ffc107', marginRight: '8px' }}
/>
{d}
</div>
))}
{_.split(skill.skill_desc, '\n').map(d =>
d ? (
<div className="skill-detail-item">
<CheckCircleFilled
style={{ color: '#ffc107', marginRight: '8px' }}
/>
{d}
</div>
) : null
)}
</React.Fragment>
) : null;
})}
</section>
) : null}
{/* 更多信息 */}
{awardList?.length ? (
<section className="section section-award">
<div className="section-title" style={{ color: theme.color }}>
更多信息
</div>
{awardList.map((award, idx) => {
return (
<div key={idx.toString()}>
<TrophyFilled
style={{ color: '#ffc107', marginRight: '8px' }}
/>
<b className="info-name">{award.award_info}</b>
{award.award_time && (
<span className="sub-info award-time">
({award.award_time})
</span>
)}
</div>
);
})}
</section>
) : null}
</div>
<div className="main-info">
{wrapper({
Expand All @@ -258,7 +277,7 @@ export const Resume: React.FC<Props> = props => {
{end ? ` ~ ${end}` : ' 至今'}
</span>
</div>
<div>{work.work_desc}</div>
<div className="work-description">{work.work_desc}</div>
</div>
) : null;
})}
Expand All @@ -271,7 +290,7 @@ export const Resume: React.FC<Props> = props => {
project ? (
<div className="section-item">
<div className="section-info" key={idx}>
<b className="info-name">{project.project_name}</b>
<b className="info-name">{project.project_name}<span className="info-time">{project.project_time}</span></b>
{project.project_role && (
<Tag color={theme.tagColor}>{project.project_role}</Tag>
)}
Expand All @@ -282,25 +301,13 @@ export const Resume: React.FC<Props> = props => {
</div>
<div className="section-detail">
<b>主要工作:</b>
<span>{project.project_content}</span>
<span className="project-content">{project.project_content}</span>
</div>
</div>
) : null
)}
</div>
)}
{!!_.trim(_.join(aboutme, '')) &&
wrapper({
id: 'love',
title: '自我介绍',
color: theme.color,
})(
<div>
{aboutme.map((d, idx) => (
<div key={`${idx}`}>{d}</div>
))}
</div>
)}
</div>
</div>
);
Expand Down
87 changes: 47 additions & 40 deletions src/components/constant.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ export const RESUME_INFO: ResumeConfig = {
hidden: false,
},
profile: {
name: '廖晓娟 (新茗)',
email: '736xxxxx86@qq.com',
mobile: '156xxxxxx19',
github: 'https://github.com/visiky',
zhihu: 'https://www.zhihu.com/people/visiky',
workExpYear: '4 年',
"name": "廖晓娟 (新茗)",
"email": "736929286@qq.com",
"mobile": "15625057119",
"github": "https://github.com/visiky",
"zhihu": "https://www.zhihu.com/people/visiky",
"workExpYear": ""
},
educationList: [
{
Expand All @@ -35,40 +35,42 @@ export const RESUME_INFO: ResumeConfig = {
award_info: '前端练习生 可视化讲师',
award_time: '2020.10',
},
{
award_info: '前端早早聊 分享 “如何构思和开发开箱即用的可视化图表库 G2Plot”',
award_time: '2021.07',
},
],
workExpList: [
{
company_name: '数沃信息科技有限公司',
department_name: '',
work_time: ['2017.03', '2017.05'],
work_desc:
'前端实习生,主要负责数据挖掘分析后的可视化结果展现。使用的技术栈为:vue + echarts',
company_name: '蚂蚁集团',
department_name: '体验技术部',
work_time: ['2018.06', null],
work_desc: `1. 担任蚂蚁高管决策和管理协同产品 “数据作战室” 的前端负责人\r\n2. 负责蚂蚁敏捷 BI 产品 “DeepInsight” 的可视分析模块产品能力建设\n3. 数据可视化 AntV 团队核心成员,负责 G2、G2Plot 开源技术的建设`,
},
{
company_name: '蚂蚁金服',
department_name: '大数据部',
work_time: ['2017.06', '2017.12'],
work_desc: '前端实习生,参与多类数据产品的研发工作。',
work_desc: '前端实习生。使用 React 参与开发多类产品:数据研发平台、数据决策平台、数据分析平台的研发工作,同时也参与大型 BI 产品的重构工作,有良好的编码习惯。',
},
{
company_name: '蚂蚁集团',
department_name: '体验技术部',
work_time: ['2018.06', null],
company_name: '数沃信息科技有限公司',
department_name: '',
work_time: ['2017.03', '2017.05'],
work_desc:
'负责过高管数据作战室、敏捷 BI 产品的可视分析模块,日常也负责数据可视化的开源技术建设(AntV 团队成员)',
'前端实习生。使用 Vue 来实现平台功能和逻辑,再用 ECharts 来对数据挖掘分析后的可视化结果进行展示',
},
],
skillList: [
{
skill_name: 'HTML 和 CSS',
skill_desc:
'熟练掌握 html, css 等前端基础技术,不借助框架编写响应式/移动端网页',
// '熟练掌握 html, css 等前端基础技术,不借助框架编写响应式/移动端网页',
skill_desc: '',
skill_level: 89,
},
{
skill_name: 'ECMAScript',
skill_desc:
'熟悉 TypeScript,丰富的 ts 项目经验',
skill_name: 'TypeScript / JavaScript',
// skill_desc: '熟悉 TypeScript,丰富的 ts 项目经验',
skill_level: 90,
},
{
Expand All @@ -77,47 +79,52 @@ export const RESUME_INFO: ResumeConfig = {
skill_level: 90,
},
{
skill_name: '前端工程化',
skill_desc: '组件库开发经验和架构工程小组成员',
skill_name: 'React / 前端工程化',
skill_desc: '大型前端项目经验以及组件库开发经验',
skill_level: 80,
},
],
projectList: [
{
project_name: '数据作战室',
project_role: '前端负责人',
project_time: '2019.04 - 2020.06',
project_desc: '面向总裁和高管以及决策 BI 的数字化经营决策和管理协同产品。提供一站式的数据化经营决策和管理协同功能,让高管高效获取决策信息,并提升管理效率。',
project_content: '1. 项目从0到1的框架设计和开发 2. 产品体验精雕细琢的打磨 3. 建立稳定性保障机制'
project_content: '1. 项目从0到1的框架设计和开发 2. 产品体验精雕细琢的打磨 3. 建立稳定性保障机制。目前仍在迭代中,帮助提升高管业务决策效率'
},
{
project_name: 'DeepInsight',
project_role: '可视分析负责人',
project_time: '2018.07 - 2019.04 / 2020.07 - 至今',
project_desc: 'DeepInsight 是蚂蚁集团自主研发的自助式 BI 数据洞察分析平台,面向企业分析人员、业务人员和开发人员,帮助蚂蚁集团实现精细化运营。',
project_content: '负责可视化模块的产品建设和落地,对数据可视化分析以及商业智能领域有较丰富的经验;在可视化搭建方面也有所经验。同时除了业务产品的图表库建设之外,也参与蚂蚁 AntV 数据可视化的建设,赋能整个蚂蚁和阿里集团统计可视化分析相关业务。'
project_content: 'BI 平台工具核心部分是报表制作,也就是通过数据连接、可视化配置形成图表物料之后,通过拖拽方式进行页面编排,最终形成报表页面进行发布的过程。\n1. 主导开放能力建设,拉通产品、设计建设和扩展可视化图形,提升丰富度\n2. 产品体验优化,尤其是对 echarts 的体验顽疾进行攻克\n3. 主导可视化能力建设:业务标准化图表库建设(通用组件设计和开发经验丰富)、促进数据分析能力增强等可视化一体化建设'
},
{
project_name: 'G2、G2Plot',
project_role: '核心开发者',
project_time: '2019 - 至今',
project_desc: 'G2 是基于图形语法理论的可视化渲染引擎,G2Plot 是在 G2 基础上封装的开箱即用的统计可视化图表库',
project_content: '目前主要是 G2Plot 的核心负责人,日常也做做 AntV 系列产品相关工作:antv 官网、GG2、G2Plot 以及周边一系列产品',
project_content: 'AntV 可视化建设,赋能整个蚂蚁和阿里集团统计可视化分析相关业务。负责 AntV 系列:antv 官网、G 渲染引擎、 G2、G2Plot、ThemeSet 主题构建器等开源项目的研发工作。',
},
],
workList: [
{
work_name: '个人简历生成器',
visit_link: 'https://visiky.github.io/resume',
},
{
work_name: 'AntV 主题生成器',
visit_link: 'https://theme-set.antv.vision',
},
{
work_name: 'AntV 可视化精选',
visit_link: 'https://vis-dashboard.antv.vision',
},
// {
// work_name: '个人简历生成器',
// visit_link: 'https://visiky.github.io/resume',
// },
// {
// work_name: 'AntV 主题生成器',
// visit_link: 'https://theme-set.antv.vision',
// },
// {
// work_name: 'AntV 可视化精选',
// visit_link: 'https://vis-dashboard.antv.vision',
// },
],
aboutme: {
aboutme_desc: `🌱 I’m focus on data visualization and data analysis
😈 能力项:沟通协调能力、执行力、代码洁癖`,
aboutme_desc: `🌱 Focus on data visualization and analysis 😈 能力项:沟通协调能力、执行力
自驱型前端工程师,三年多大型复杂产品开发经验,负责蚂蚁集团 BI 产品 DeepInsight 的可视化建设,参与了从图表库到 BI 产品力的一体化建设,对商业智能领域的数据可视化建设有较为丰富的经验。
参与 AntV 团队开源项目 G2、G2Plot 的研发,目前是 G2Plot 的主要负责人。
`,
},
};
6 changes: 3 additions & 3 deletions src/components/helpers/contant.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ import _ from 'lodash';
*/
export const MODULES = [
{ name: '个人信息', icon: <ContactsTwoTone />, key: 'profile' },
{ name: '教育经历', icon: <ScheduleTwoTone />, key: 'educationList' },
{ name: '荣誉奖项', icon: <TrophyTwoTone />, key: 'awardList' },
{ name: '教育背景', icon: <ScheduleTwoTone />, key: 'educationList' },
{ name: '自我介绍', icon: <StarTwoTone />, key: 'aboutme' },
{ name: '更多信息', icon: <TrophyTwoTone />, key: 'awardList' },
{ name: '个人作品', icon: <ToolTwoTone />, key: 'workList' },
{ name: '专业技能', icon: <ToolTwoTone />, key: 'skillList' },
{ name: '工作经历', icon: <GiftTwoTone />, key: 'workExpList' },
{ name: '项目经历', icon: <RocketTwoTone />, key: 'projectList' },
{ name: '自我介绍', icon: <StarTwoTone />, key: 'aboutme' },
];

/**
Expand Down
2 changes: 1 addition & 1 deletion src/components/index.less
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ body {
}

body,
.page {
body .page {
padding: 0;
margin: 0;
}
Expand Down
Loading

0 comments on commit 4846f58

Please sign in to comment.