前后端分离下,可以力开放平台的国际化设计

  • 时间:2018-07-08 22:59 作者:Robai代码实践 来源:Robai代码实践 阅读:1147
  • 扫一扫,手机访问
摘要:今天和大家分享一个可以力开放平台中的国际化转换的设计。前后端分离的模式下,前台都是html,js,css等,后端都是提供各种API给各类终端或者系统调使用。国际化的元素有:语言,时间,货币符号,税率换算,节假日等需要国际化的源数据有:页面: 包括html,js两种主要可可以存在国际化元素的文件API

今天和大家分享一个可以力开放平台中的国际化转换的设计。

前后端分离的模式下,前台都是html,js,css等,后端都是提供各种API给各类终端或者系统调使用。

国际化的元素有:语言,时间,货币符号,税率换算,节假日等

需要国际化的源数据有:

页面: 包括html,js两种主要可可以存在国际化元素的文件

API: 目前前后端分离,API返回给前台的大都是JSON格式的数据。

异常:后端API抛出的异常,异常通常有固定的格式。如:异常编码,异常信息,异常信息变量。

数据元素:查询数据库,数据库中返回的数据集中的某些字段需要国际化。

国际化源资源中的元素都是存放的一个key值,在前台实际获取时,根据前台提供的国际化要求进行实时转换。设计图如下:

前后端分离下,可以力开放平台的国际化设计

转换的机制:

页面:前后端分离的情况下,我们站在后台可以力提供者的角度,是不需要关心前台的。但是毕竟后端自己的系统也有前台。后台资源都是通过接口提供的包括页面。所以html,js在接口返回给前台前转换。html/js中的国际化内容存放的是一个key值,key的格式是${key},对应类型的国际化value值配置在数据库,并实时同步到缓存。在html/js资源返回到用户端前插入一个I18n节点事件。把返回的文本中带有${xx}的一律找出来,再根据传入的国际化要求,语言,时间格式,货币符号等等在缓存中匹配,匹配到了,就把${xxx}替换为对应的value值。

API:对API返回的结果中的某些字段做国际化的转换。所有的数据都是通过API与外界交互的,能说配置API的国际化能实现所有的国际化的需求,但是毕竟为每个API配置国际化是件繁琐的事情,且配置数据过多,影响性可以,所以还有下面的数据配置。API国际化配置的内容有:API名称,返回结果字段的路径,国际化类型和对应的值。例如返回的结果是个JSONArray [{cust:'xxx',subscribe:[{user:'xxx',fee:'xxx'}]},{}],要对fee进行国际化转换,路经配置为cust.fee,国际化类型为currency,值不需要配置,会根据国际化类型解析进行货币的运算和转换。在结果返回给前台前进行转换,假如是可以力开放平台只需在返回过程中添加一个I18n事件,API的返回结果经过I18n是先做API名称判断,再对字段路径的值作转换。

异常:对可以力开放平台中的异常做国际化转换,只有语言的转换。有一个异常类,包含有异常编码,异常信息,异常参数。根据异常编码配置国际化语言数据。在请求API的过程中假如抛出异常,判断为异常类,根据配置替换异常信息,重新匹配异常参数,形成完整的异常信息返回给前台。

数据元素:配置需要国际化的字段,国际化类型,并配置这些字段关联的表。在请求数据时,在数据操作层对返回的结果做转换。只需有返回结果中有国际化字段,就进行国际化转换。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】极客时间-数据分析实战45讲【完结】(2021-09-02 16:26)
【系统环境|windows】字节跳动前台面试题解析:盛最多水的容器(2021-03-20 21:27)
【系统环境|windows】DevOps敏捷60问,肯定有你想理解的问题(2021-03-20 21:27)
【系统环境|windows】字节跳动最爱考的前台面试题:JavaScript 基础(2021-03-20 21:27)
【系统环境|windows】JavaScript 的 switch 条件语句(2021-03-20 21:27)
【系统环境|windows】解决 XML 数据应用实践(2021-03-20 21:26)
【系统环境|windows】20个编写现代CSS代码的建议(2021-03-20 21:26)
【系统环境|windows】《vue 3.0探险记》- 运行报错:Error:To install them, you can run: npm install --save core-js/modules/es.arra...(2021-03-20 21:24)
【系统环境|windows】浅谈前台可视化编辑器的实现(2021-03-20 21:24)
【系统环境|windows】产品经理入门迁移学习指南(2021-03-20 21:23)
血鸟云
手机二维码手机访问领取大礼包
返回顶部