lchreal6

Results 4 issues of lchreal6

# JSON Schema入门和应用 ## 何为JSON Schema? JSON数据格式对于web开发者都为所熟悉,在平时的开发中离不开它,例如前后端数据传输格式,webpack配置文件,对象序列化等实际应用场景,通常都以JSON格式定义和储存。它以简洁易懂的结构、体积小的优点得以在各类编程语言中广泛流行。 那么什么是JSON Schema? JSON Schema其实是对json数据格式的描述和规范,是对JSON格式一种约束,更明确地定义数据的类型和结构。伴随着JSON被创造出来,JSON Schema的诞生是必然的,类似其他数据格式YAML,也会创造YAML Schema的标准来进行规范,并使用这个规范来校验格式。这就好比有了Javascript,自然就会有Typescript,开发者更倾向于使用工具替代人为来进行约束,校验,使开发效率和开发质量大大加强。 ## 掌握使用 举个简单的例子,你便清楚JSON Schema的使用 这里有两个对象a,b,唯一的区别是对象里的属性类型不同,当你想指定对象属性的类型时,假若你只想要字符串类型,那么可以使用JSON Schema来进行定义 ```json { "type": "object", "properties": { "title": { "type": "string" }...

# 网页RTL布局适配方案和rtlcss插件在项目中实践 ## 前言 bigo作为全球化的互联网企业,产品体验要求国际化,本地化,所面向的用户来自世界各地,他们在产品使用习惯各有不同。尤其对于使用诸如阿拉伯语、乌尔都语、希伯来语等用户,拥有着庞大的数量群体,他们的阅读习惯与中、英文大为不同,是从右到左的顺序进行阅读,从产品使用上需要兼顾这部分用户需求。为了更好地符合用户习惯,作为一名前端开发,我们更应该在页面针对不同语言进行布局适配,努力地提高用户使用体验。 ## 何为RTL布局 RTL布局通常称为LTR的镜像布局,整体上是与我们日常看到的页面布局对称,从右往左显示内容。例如显示的文字右侧排列,从右向左阅读,导航顺序相反布局,带有方向性的图标镜像显示等。 ![compare](https://user-images.githubusercontent.com/20643097/115487943-3a2bc400-a28c-11eb-9533-21d499985d52.png) LTR和RTL布局的主要区别 | 元素 | LTR | RTL | | ---- | ---- | ---- | | 文本 | 句子从左向右阅读。 | 句子从右向左阅读。|...

# 【bigo】使用原生js通过缓动函数实现抽奖转盘动画 最近接到抽奖转盘活动页开发的需求,由于转盘样式UI比较特殊,使用开源的组件又比较难定制,而转盘转动的特效其实实现起来并不复杂,因此自己使用原生的js利用缓动动画原理开发了转盘特效,在开发过程中对缓动函数相关的知识点进行的一些梳理,总结了转盘动画实现的原理,希望给大家有一些帮助。 ## 什么是缓动函数 事物的运动遵循一定的规律,从生活上汽车的加速、减速、球体上抛,自由落体等可以看出,它不是一直线性的运动,而是有一定规律的加速或减速的过程,而缓动函数就是描述这一种运动的特性,我们从而总结出一套数学公式,可以利用它来描述物体运动规律,在游戏、动画开发方面有好多的应用场景。 常见的缓动函数有: ### 线性运动 物体同一时间内运动的距离相同,简言而知可以将它看做是匀速运动,无缓动效果 ![linear](https://user-images.githubusercontent.com/20643097/110766125-d0cd9400-828f-11eb-94ed-658dd38a90f2.png) ### 缓入 物体开始时移动好慢,然后逐渐加快,同一时间频率范围内,移动距离增大,可以看做是加速缓动 ![ease-in](https://user-images.githubusercontent.com/20643097/110766162-da56fc00-828f-11eb-874a-0e0e871a56fd.png) ### 缓出 物体开始时移动好快,然后逐渐减慢,同一时间频率范围内,移动距离减少,可以看做是减速缓动 ![ease-out](https://user-images.githubusercontent.com/20643097/110766190-df1bb000-828f-11eb-9905-2af5f28733b3.png) ### 缓入缓出 这是缓入和缓出两者的结合,物体先加速后减速,符合物体的自然运动规律,这个也是我在开发抽奖转盘运动动画所应用的缓动函数 ![ease-in-out](https://user-images.githubusercontent.com/20643097/110766213-e3e06400-828f-11eb-85de-633e5fe948fa.png) 作为业务开发,掌握应用缓动的公式就可以了,这里简单地介绍缓动公式如何使用。缓动函数的公式分为2个版本,原版和修改版,原版需要传入4个参数,修改版对比原版传参只需一个,但得出的结果是个比例值,需要对总移动距离相乘才获得当前位置。 以缓入二次方函数为例: ```js // 原版 function QuadIn(t,...