获得徽章 7
赞了这篇文章
赞了这篇文章
对于我这种从小从农村吃苦出来的人来说,没什么爱好、理想。对什么也都没高标准,就比如在深圳工作七年了,前端薪资才一万出头。同比同行业的,我很低了。但想起从初一就开始打暑假工,去一家小作坊,六块钱一小时,每天几乎连续十二小时,没有午休,吃住都在老板那,中午饭吃饭就开始干,很辛苦。嘲讽的是,暑假结束回家,别人都说我变得白白胖胖的。初二的暑假工还是去他那里做,初三的时候刚满十八岁,进了我妈的厂,十块钱一个小时了。高一去了,没找到,我妈让我去附近厂房问,问了好多天都没有,每天都顶着大太阳,这里喵喵,那里喵喵,回来还被妈妈说,然后决定不找了,留下来给父母做饭,然后还每天被说,做的饭菜吃不下,做的都比较清单,也没什么菜,一个星期就100给我,每天我就买十几二十块钱的菜。高二暑假,我以高三要学习就不去了。高三高考完第二天有开始去做暑假工了,本来想留在家里几天的,但是妈妈说晚几天不招人了。找到一份两班倒,每天十二个小时的,做了两个月。报考志愿,我什么都不懂,早上刚刚下班,回来就随便选了一个几个大专,随便报考了不懂却觉的高大上的软件工程。现在周末双休,早九晚六,我似乎不想动了,尤其是也做了那么多年,也不怕被裁,其实更多的是没什么方向。回忆往事,眼泪只有无尽的苦楚。
展开
15
29
周末宅男日常,七点起床,煮粥,然后去菜市场买些菜,回来粥就好了,简单炒个菜,吃完去公园,活动一下筋骨,差不多一小时,回来十点了,打开音响,洗澡,在花洒下尽情歌舞,先给头发做个护理按摩。脸部也做个护理按摩。然后煲一壶茶水,打开动漫,看完更新的,十二点,又开始炒个菜喝粥,开始打游戏,打游戏,打游戏。
9
5
突然觉得ts很有意思了,用几个小时研究写出了这个代码,本来js实现,分分钟的事,但是用ts,生成自己想要的提示,很有成就感。
export function GENERATE_OPTION<L, V extends string | number, T extends { [key: string]: { value: V; label: L } }, K extends keyof T>(
statusMap: T,
) {
const getMap = <Prop extends keyof T[keyof T]>(key: Prop) => {
return Object.fromEntries(Object.entries(statusMap).map(([, item]) => [item.value, item[key as keyof typeof item]])) as {
[P in T[keyof T]['value']]: Extract<T[keyof T], { value: P }>[Prop]
} & Record<string, any>
}
return [Object.values(statusMap) as T[K][], getMap, statusMap] as const
}
export const [ORDER_STATUS_OPTION, getOrderMap] = GENERATE_OPTION({
PENDING_SIGNATURE: { value: '0', label: '待签署', tag: 'warning' },
PENDING_PAYMENT: { value: '1', label: '待付款', tag: 'warning' },
ACTIVE: { value: '2', label: '生效中', tag: 'success' },
EXPIRED: { value: '3', label: '已失效', tag: 'danger' },
} as const)
export function GENERATE_OPTION<L, V extends string | number, T extends { [key: string]: { value: V; label: L } }, K extends keyof T>(
statusMap: T,
) {
const getMap = <Prop extends keyof T[keyof T]>(key: Prop) => {
return Object.fromEntries(Object.entries(statusMap).map(([, item]) => [item.value, item[key as keyof typeof item]])) as {
[P in T[keyof T]['value']]: Extract<T[keyof T], { value: P }>[Prop]
} & Record<string, any>
}
return [Object.values(statusMap) as T[K][], getMap, statusMap] as const
}
export const [ORDER_STATUS_OPTION, getOrderMap] = GENERATE_OPTION({
PENDING_SIGNATURE: { value: '0', label: '待签署', tag: 'warning' },
PENDING_PAYMENT: { value: '1', label: '待付款', tag: 'warning' },
ACTIVE: { value: '2', label: '生效中', tag: 'success' },
EXPIRED: { value: '3', label: '已失效', tag: 'danger' },
} as const)
展开
2
3
赞了这篇文章
![[惊讶]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_68.1e326db.png)