Name Last Update
public Loading commit data...
sandbox Loading commit data...
src Loading commit data...
.browserslistrc Loading commit data...
.editorconfig Loading commit data...
.env.development Loading commit data...
.env.production Loading commit data...
.env.sandbox Loading commit data...
.eslintrc.js Loading commit data...
.gitignore Loading commit data...
README.md Loading commit data...
babel.config.js Loading commit data...
backup Loading commit data...
git.sh Loading commit data...
package-lock.json Loading commit data...
package.json Loading commit data...
tsconfig.json Loading commit data...
vue.config.js Loading commit data...

中国平安人寿(香港)


介绍

本工程为“中国平安人寿(香港) 官网”前端项目工程。


技术选型

技术框架

项目框架: vuejs

脚手架版本: vue-cli3

开发环境

node 版本: 推荐 v12.10.0 或以上

npm 版本: 推荐 6.10.3 或以上

开始使用


安装依赖 (建议使用国内镜像)

npm install

项目预览

npm run dev

项目打包

npm run build

项目打包 -- 沙箱环境

npm run sandbox

项目结构

.
├── build // webpack相关配置文件
├── dist // 通过src 目录编译后生成的文件目录,也是小程序开发的项目目录
├── node_modules // 依赖包
├── public // 静态资源目录
├── src // 开发目录
│   ├── api // 数据请求模块
│   ├── assets // 开发相关的静态文件原始资源
│   │   ├── fonts //字体文件
│   │   ├── images // 图片文件
│   ├── common // 通用内容
│   │   ├── lang // 国际化语言包
│   ├── components // 公共组件
│   ├── const // 静态数据
│   ├── mock // 本地数据模拟
│   ├── pages // 页面
│   ├── store // 状态管理
│   ├── style // 公共样式
│   ├── utils // 工具类
│   ├── App.vue // 根组件
│   ├── main.js // 文件入口
│   ├── router.js // 路由
├── test //  测试模块
├── babel.config.js //  babel配置文件
├── postcss.config.js //  postcss配置文件
├── package.json //  通过src 目录编译后生成的缓存目录
├── README.md //  项目说明
└── vue.config.js // vue 配置


规范说明

vue 文件分离

一般业务.vue 文件通常会在同一目录下拆分为.vue,.js,.scss 三个文件。

正常的创建和引用 vue 文件都是 html、css、js 三者在一起的,这样写起来虽然方便了,但是页面比较大或者代码比较多的情况下,即使使用组件有时代码也比较多,简单来说查找不变不利于编程,大的来说影像优化性能。将代码中的 html、css、js 分离出来是个很好的选择。

编码规范

本项目不使用 eslint 代码检查工具。

开发人员需遵循 vue 官方风格规范。

样式规范

  • 优先使用 _var.scss 声明的样式变量
  • font-family 名字顺序 Arial -> Microsoft YaHei

z-index 权重划分

  • 遮罩蒙层:5000
  • 导航栏:4000
  • element-ui:2000+
  • 自定义交互组件 如 date-picker: 800-900
  • 一般业务级:小于 100

响应式方案

通过 purecss+@media 方式实现。

选取原因:

  • 与 bootstrap 相比,purecss 更为轻量。

前后端数据交互

简述

为了实现前后端分离,前后端需要约定一套数据交互规范。后续前后端数据接口的输入输出需要按照本文档执行。

数据格式

数据格式: json

跨域处理使用跨域资源共享(Cross-Origin Resource Sharing)方式,允许跨域的接口需要在返回头中输出相应的 header。

数据接口输出

字段 数据类型 必要 参说明
success Boolean Y 是否请求成功(true:成功,false:失败)
errMsg Integer N 请求失败原因
code String Y 请求失败错误代码
content Object N 业务返回具体参数

数据加密

请求都需要进行加密。

加密方案:AES+RSA


国际化支持说明

使用说明

采用方案:i18n

在文件入口 main.js 注入 i18n

三语支持(默认繁体):

  • 繁体[tc]
  • 简体[zh]
  • 英文[en]

三语文件所在目录:

执行逻辑

访问页面时,会先从 localStorage 里获取历史选取语言,若活动结果为空,则默认使用繁体。

语言切换时,把当前选择语言注入到 i18n 并埋到 localStorage,同时广播事件,通知页面初始化(重新读取 cms 内容)。


备注

pages目录下,只有一个空vue文件的目录均为顺应要求临时占坑。

本地测试账号

91249124/ccc123!@# (可能会失效)


TODO

  • 后期需补充SEO优化,目标页面需讨论协商。