# 一、hooks写法工程升级

## （一）下载框架代码

## （二）合并资源、样式、自定义组件或工具类代码

1、拷贝覆盖内容
* public目录

ps：index.html中有%PUBLIC_URL%变量的，修改为相对路径，如
```
<script src="%PUBLIC_URL%/lib/js/jquery-2.1.1.min.js"></script>
// 修改为 
<script src="./lib/js/jquery-2.1.1.min.js"></script>
```

* src/apps
* src/mock/mockFiles

2、合并内容（一般为增加，项目开发可能修改了部分组件、utils或样式，这时需要比较修改）
* src/assets目录的图片资源文件
* src/assets/app.less的app应用的公共样式
* src/assets/base.less的全局基础样式（包括元素或组件的全局样式）
* src/components自定义组件
* src/utils自定义工具类

## （三）配置网络请求
src/apps/config.js
```
function configFetch() {
    // 在此配置
    fetch.config(
        // ...省略代码，原配置代码位于src/config.js
    )
}
```

## （四）业务代码涉及调整内容修改
* 全局变量统一放在src/constant, 其中src/constant/common.js和src/constant/consts.js为ttk旧json写法使用的常量，可删除

如发票项目，src/apps/web/invoice-manage/invoice-search/components/PageHeader.js

```
import { appId } from '@/config'
// 修改为
import { appId } from '@/constant'
```
src/constant/index.js文件配置appId
```
const appId = "10002045"
export {
    appId
}
```

* @ttk/utils引入方式调整
```
import utils from '@ttk/utils'
const { fetch } = utils
// 修改为
import { fetch } from '@ttk/utils'
```

* 删除以下无需样式引用

```
import '@/component/assets/style/edficon.less'
```
* #root样式调整为#app，例如src/apps/portal/app-root/style.less
```
#root {
  height: 100%;

  .app-root {
    height   : 100%;
    min-width: 1024px;
  }
}
// 修改为
#app {
  height: 100%;

  .app-root {
    height   : 100%;
    min-width: 1024px;
  }
}
```

同时public/index.html中\<div id="root"\>调整为\<div id="app"\>

* 删除无使用的引用，例如：
```
import ReactSimpleVerify from 'react-simple-verify'
import 'react-simple-verify/dist/react-simple-verify.css'
```

