规范

阅读时间约 3 分钟

375 规范

为了保证 pc 和无线转换后字体、间距等 size 大小一致, 无线页面设计/开发按 375 尺寸进行开发。目的是使 在 pc 上 16px 大小的标题,转换无线后 在 375 宽度手机上还是 16px 的大小(对应的 rem 值)。

如果觉得无线 16px 大小太小, 可以通过插件配置。进行调整

{
  "cone": {
    "pxtorem": {
	  "rootValue": 96 //默认rootValue是按100转换的,如果觉得字体不够可以通过rootValue进行调整,参考postcss-px-to-rem插件配置
	}
  },
}

rem 规范

为保证书写方便,cone 搭建以及一码多端都使用了 1rem = 100px 的规范。 即 375px 的屏幕宽度 = 3.75rem

rem 方案有一个自身的 bug,在低端机上会有 1px border 变粗的问题,目前在支持 0.5px 的浏览器上渲染正常。但对于中后台系统,border 变粗问题也不大,如真需要解决,可以自行搜搜 hack 方法

组件替换规范

主要替换规范如下:

  • 默认 fusion 的基础组件会互转: @alifd/next <-> @alifd/meet-react
  • 搭建的基础组件会互转: 搭建 pc(tc-fusion) <-> mobile(tc-meet)
  • 搭建依赖的业务组件(cone 自定义组件流程开发的组件)会互转: @scope/name/lib/index <-> @scope/name/es/mobile/index
  • 业务项目中 components 目录下的组件会互转: src/components/Button <-> src/components/Button/mobile

    • 也支持组件统一导出: src/components <-> src/components/mobile
  • 其他情况需要在 build.json 中进行 pcToMobile 或者 mobileToPc 的自定义映射配置。
{
  "cone": {
	"coneCode": true,
	"pcToMobile": {
	  "@formily/next": "formily-meet-react-oc",
	  "@scope/name": "@scope/name/mobile"
	}
  }
}

组件 VM 解耦规范

复杂的跨端组件需要开发 pc 入口和 mobile 入口,相当于开发两个组件, 但是不管是 pc 组件还是无线组件,除了视图不一样外,逻辑处理基本是一致的。于是可以将逻辑抽离到 model 层,分别开发 pc 和无线的视图,实现 VM 解耦,提高开发效率。申通可以参考: http://gitlab.sto.cn/sui/sui-pm-tag