# self-support

### 项目设置

```
npm install -g mirror-config-china --registry=http://registry.npm.taobao.org

npm install
```



### 开发环境编译和热重装

```bash
npm run dev:mp-weixin // 运行dev环境

```



### 生产环境编译和压缩

```bash
npm run build:mp-weixin // 运行生产环境
```


### 公共组件：

[图片上传参考](https://ext.dcloud.net.cn/plugin?id=822)

	

### 自定义配置

查看 [配置参考](https://cli.vuejs.org/config/)

#### pages配置说明
##### 启动页配置，只作用于开发环境
current--当前启动页
list--可选启动页列表
name--启动页标题
path--启动页路径
query--启动页参数，页面onLoad中获取
```json
{
	"condition": {
		"current": 0,
		"list": [
			{
				"name": "拍照小工具",
				"path": "pages/photo/index",
				"query": {}
			}
		]
	}
}
```



### Easycom [组件模式](https://uniapp.dcloud.io/collocation/pages?id=easycom)

 只要组件安装在项目的components目录下，并符合components/组件名称/组件名称.vue目录结构。就可以不用引用、注册，直接在页面中使用


### Mock接口使用

1. 项目根目录下找到 *.env.js* 文件，查看参数：NODE_ENV值

2. 找到对应NODE_ENV值的 .env文件，如：.env.dev.js

3. 添加mock请求头，注释真实请求头，参考下面例子：

   ```js
   const UNI_APP = {
   	ucenterUrl: {
   		apiUrl: 'http://192.168.1.46', //php端域名请求头
   		xueUrl: 'http://192.168.1.46:8088', //学院
   		// banshou: 'https://m.banshou.com', //扳手app
   	},
   	systemUrl: {
   		// apiUrl: 'http://192.168.1.22', //java端域名请求头
   		apiUrl: 'http://apidoc.banshouhui.com:3000/mock/31', // mock端域名请求头
   	},
   	qn_base_url: 'https://qn-static.banshouhui.com/self-support/'
   }
   module.exports = UNI_APP;
   ```


### 引用token
1. 方式一，存放在vuex的token，假设使用了uView封装的vuex方式
// 见：https://uviewui.com/components/globalVariable.html
// config.header.token = vm.token;

2. 方式二，如果没有使用uView封装的vuex方法，那么需要使用$store.state获取
// config.header.token = vm.$store.state.token;

3. 方式三，如果token放在了globalData，通过getApp().globalData获取
// config.header.token = getApp().globalData.username;

4. 方式四，如果token放在了Storage本地存储中，拦截是每次请求都执行的
// 所以哪怕您重新登录修改了Storage，下一次的请求将会是最新值
// const token = uni.getStorageSync('token');
// config.header.token = token;

PS: 当前项目使用了：方式一，具体情况可以参考state目录下代码
vm.vuex_token

