Skip to content

Commit f7005e0

Browse files
authored
feat!: upgrade a new pc template (#143)
* feat: upgrade a new pc template BREAKING CHANGE: 更完善的管理后台布局样式 macOS 和 windows 统一的滚动条 基于项目实践的 XHR 拦截 基于 RESTful 最佳实践的 service 分层方案 更友好的鉴权,重新登录后会重定向到权限失效时的页面 默认对接 cloud-deepexi 的登录,菜单接口| 内置面包屑方案,支持动态面包屑 基于 deepexi design 的文字色彩方案 支持 svg-icon 支持 es optional-chaining 和 nullish-coalescing-operator
1 parent dea45b5 commit f7005e0

File tree

1 file changed

+39
-8
lines changed

1 file changed

+39
-8
lines changed

template/framework-base/README.md

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,15 @@ yarn generate
7373
├── nuxt.config.js 框架配置文件
7474
├── package.json
7575
├── src 开发目录
76+
│   ├── api api 资源管理
77+
│   │   ├── index.js 统一入口,定义 RESTful API 资源
78+
│   │   ├── repository.js RESTful 生成类,可以继承实现满足业务需求
79+
│   │   └── serverList.js 统一管理服务路径和 API version
7680
│   ├── assets 资源,包括样式文件与图片
7781
│   │   ├── global.less 全局样式类
7882
│   │   └── var.less 样式变量,支持less变量自动引入,即不用在less中import就能直接使用变量
7983
│   ├── components 业务无关的可复用的组件
8084
│   ├── const 常量文件
81-
│   │   ├── api.js 定义api路径
8285
│   │   ├── path.js 定义页面跳转路径
8386
│   │   └── cookie-keys.js cookie key管理
8487
│   ├── container 业务有关的vue组件
@@ -124,7 +127,35 @@ Nuxt.js 会依据 `pages` 目录中的所有 `*.vue` 文件生成应用的路由
124127

125128
### 调用接口
126129

127-
使用`this.$axios` 调用接口:
130+
[推荐使用 service 层管理 API:](https://github.com/FEMessage/create-nuxt-app/blob/dev/docs/api.md)
131+
132+
1.`api/index.js` 中定义一个 API
133+
134+
```js
135+
// 创建了一个菜单资源的 RESTful API
136+
export const menus = new Repository(`${SERVICE}/${VERSION}/menus`)
137+
```
138+
139+
2.`*.vue``store/*.js``actions` 都可以调用
140+
141+
```js
142+
// 获取资源的服务器路径
143+
this.$http.menus.uri()
144+
// 获取所有菜单资源,返回一个列表
145+
this.$http.menus.list()
146+
// 获取某个菜单资源的详情
147+
this.$http.menus.detail(MENUS_ID)
148+
// 创建一个菜单资源
149+
this.$http.menus.create(payload)
150+
// 更新一个菜单资源
151+
this.$http.menus.update(MENUS_ID, payload)
152+
// 删除一个菜单资源
153+
this.$http.menus.delete(MENUS_ID)
154+
```
155+
156+
3. 如果接口是非标准的 RESTful API 可以参考此[文档](https://github.com/FEMessage/create-nuxt-app/blob/dev/docs/api.md#%E8%BF%9B%E9%98%B6)
157+
158+
也可以继续使用`this.$axios` 调用接口:
128159

129160
- 建议使用`$get $post $[methods]`等方法,respone 中会直接返回请求的 body
130161
- 可以在 `*.vue` 文件中的生命周期钩子函数中调用
@@ -264,12 +295,12 @@ mounted() {
264295

265296
**自带的环境变量说明**
266297

267-
| 环境变量名 | 说明 | 是否必须 | 默认值 | 示例 |
268-
| ----------- | --------------------------------------------------------------------------------------------------------------------------- | -------- | ------ | ------------------------- |
269-
| PUBLIC_PATH | 对应 webpack 的 publicPath,用于指定静态文件访问路径 || | http://cdn.deepexi.com |
270-
| API_SERVER | axios 的 baseURL,可不传。不传时,使用相对路径发送请求 || | https://www.easy-mock.com |
271-
| NO_LOGIN | 是否登陆拦截,传 1 则不会有登录拦截 || | 1 |
272-
| COOKIE_PATH | 用于设置 cookie 的 path,如果多个项目需要共享 cookie,则应该保证项目在共同的目录下,且设置 COOKIE_PATH 为它们的共同目录地址 || / | /xpaas |
298+
| 环境变量名 | 说明 | 是否必须 | 默认值 | 示例 |
299+
| ----------- | ------------------------------------------------------ | -------- | ------ | ------------------------- |
300+
| PUBLIC_PATH | 对应 webpack 的 publicPath,用于指定静态文件访问路径 || | http://cdn.deepexi.com |
301+
| API_SERVER | axios 的 baseURL,可不传。不传时,使用相对路径发送请求 || | https://www.easy-mock.com |
302+
| NO_LOGIN | 是否登陆拦截,传 1 则不会有登录拦截 || | 1 |
303+
| APP_ID | 应用 ID || | |
273304

274305
[⬆ Back to Top](#table-of-contents)
275306

0 commit comments

Comments
 (0)