# wx_rsda
**Repository Path**: beikong_sanxing_project/wx_rsda
## Basic Information
- **Project Name**: wx_rsda
- **Description**: 微信端人事档案个人(流动人事档案个人)
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 1
- **Created**: 2019-11-18
- **Last Updated**: 2024-03-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ldry 流动人员
> 互联网+流动人员以及退休人员(流动人员、退休人员)实现微信公众号预约功能
# 线上部署说明
* wx_rsda上线时拆分成了两个目录:ldry(流动人员)和txry(退休人员),因此需要部分修改代码,分别执行`npm run build` 打包,放到对应的目录
* 修改内容为
* index.html title 标题内容
* 修改 build\webpack.base.conf.js文件下的entry起对应的服务
* pages/help/help.js `import Help from './lh/help'` 修改引入的内容
* 保留对应的文件夹: 比如打包lhsq时,删除zmsq的文件夹。
## Build Setup
``` bash
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
修改 build\webpack.base.conf.js文件下的entry起对应的服务
npm run build
# build for production and view the bundle analyzer report
npm run build --report
```
For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
## 环境要求
* node > 8.9.1 npm > 5.5.1
# 对 vue-cli 的自定义配置
## 1、打包的相对路径设置
```
config/index.js build -- assetsPublicPath: './'
build/utils.js ExtractTextPlugin.extract({publicPath: '../../'})
```
## 2、sass 预处理设置
```
npm install -D node-sass
npm install -D sass-loader
```
## 3、postcss autoprefixer 自动补全兼容性处理
```
package.json browserslist: ["last 3 versions"]
```
## 4、postcss postcss-plugin-px2rem px-自动转换为-rem
```
npm install postcss-plugin-px2rem -D
.postcssrc.js "postcss-plugin-px2rem": { rootValue: 108, minPixelValue: 2 }
// 在postcsssrc.js文件中添加改插件和配置 rootValue为确定的html的font-size比例,
// 这里的108是这样计算出来的,设计稿的宽度为1080---> 1080/10 108,
// 同样:html元素的根fz为screen.width / 10(flexible见6代码确定好的)
```
## 5、移动meta标签
```
```
## 6、使用 淘宝flexible 实现移动端响应式布局
> 设备像素 --- 物理像素 --- 显示屏的实际像素,由显示屏的质量决定的,
> css像素 --- 逻辑像素 --- 实际书写样式对应的像素,由IOS或Android不同系统决定的
> dpr 设备像素比,pc端通常为1,即一个逻辑像素对应一个物理像素
> 移动端高分屏使得dpr有所区别,screen.width / reailwidth ,iphone5,6---dpr 2,
> iphone6p dpr3;iphone5逻辑像素为:320px,6 -> 375 ,6p -> 414
> 历史上,移动端为了显示pc端网页(在移动互联网早期)layout-wiewport 被设置为980px(iphone,其他有所差异)
> for为移动端所设计的网页,需要设定layout-viewport 出现了`meta viewport`通过设置 `width=device-width`
> 实现布局容器layout-viewport 为设备逻辑宽度 device-width;因此有了:
> ``
* 使用`flexible`、`rem单位`、`flex`实现移动端布局,并解决1px像素的问题
*
## 7、使用 babel-polyfill实现兼容,使用babel-runtime编译开发代码
```
npm install -D babel-runtime
npm install -S babel-polyfill
main.js import 'babel-polyfill'
```
## 8、使用 fastclick 解决移动端 click事件300ms延迟问题
```
npm install -S fastclick
import fastclick from 'fastclick';
fastclick.attach(document.body);
```
## 8、使用 axios 实现接口调用
* 使用统一的拦截处理异常,详见`common/js/axios.js`
## 9、配置 alias 简化路径的书写
* 在 `build/webpack.base.conf.js ---> resolve.alias` 配置相应的路径别名
* 在js中使用: `import MessageCard from '@/base/messageCard/messageCard';`
* 在css/html中使用时: `~@import '~common/scss/variable.scss';`要加上`~`前缀
* 在配置`node_modules`中的模块时,需要在配置时添加`$`标记(用例详见vue)
### 目录划分
* 基础组件 --- base
* 业务组件 --- components
* 通用模块 --- common / scss + js + fonts + imgs
* 多页面 --- pages / filename
* 多页面时,pages 应包含子文件夹,子文件夹下应包含:建议使用和文件夹相同的名字
* pages/login/login.html login.js xxxx.vue
* **.html(页面模板,必有)
* **.js (项目入口文件,必有)
* 路由配置 --- router