fix: merge

This commit is contained in:
wenbo.dong 2017-09-06 14:25:12 +08:00
parent 8d89a869a1
commit e60c033ea6
9 changed files with 27500 additions and 8 deletions

View File

@ -36,7 +36,7 @@ class FootItem extends Component {
render () {
return (
<Col span={6}>
<h4 className="title"><Icon type={ this.props.iconType } className="icon" />{this.props.title}</h4>
<h4 className="title">{this.props.iconType ? <Icon type={ this.props.iconType } className="icon" /> : ''}{this.props.title}</h4>
{ this.props.linkList.map(function(item,i){
return (<p key={i}><a href={ item.itemLink } className="link">{ item.itemTitle }</a></p>);
}) }
@ -78,7 +78,7 @@ Footer.defaultProps = {
},
{
title: '其他项目',
iconType: 'layout',
iconType: 'appstore-o',
linkList: [
{
itemTitle: 'Yo',
@ -98,7 +98,6 @@ Footer.defaultProps = {
},
{
title: 'Copyright © 2017 YApi',
iconType: 'layout',
linkList: [
{
itemTitle: '版本: '+packageJson.version,

View File

@ -58,17 +58,17 @@ const HomeGuest = () => (
<span className="desc">YApi让接口开发更简单高效让接口的管理更具可读性可维护性让团队协作更合理</span>
<Row key="feat-motion-row">
<Col span={8} className="section-item" key="feat-wrapper-1">
<Icon type="api" className="img" />
<Icon type="appstore-o" className="img" />
<h4 className="title">项目管理</h4>
<span className="desc">提供基本的项目分组项目管理接口管理功能</span>
</Col>
<Col span={8} className="section-item" key="feat-wrapper-2">
<Icon type="code-o" className="img" />
<Icon type="api" className="img" />
<h4 className="title">接口管理</h4>
<span className="desc">友好的接口文档基于websocket的多人协作接口编辑功能和类postman测试工具让多人协作成倍提升开发效率</span>
</Col>
<Col span={8} className="section-item" key="feat-wrapper-3">
<Icon type="team" className="img" />
<Icon type="database" className="img" />
<h4 className="title">MockServer</h4>
<span className="desc">基于Mockjs使用简单功能强大</span>
</Col>

View File

@ -1,7 +1,30 @@
## 介绍
## 组长职责
接口管理的逻辑较为复杂,操作频率高,层层审批将严重拖慢生产效率,因此传统的金字塔管理模式并不适用。
YAPI 将扁平化管理模式的思想引入到产品的权限管理中,`超级管理员` 拥有最高的权限,并将权限分配给若干 `组长``超级管理员` 只需管理`组长` 即可实际上管理YAPI各大分组与项目的是“`组长`”。`组长`对分组或项目负责一般由BU负责人/项目负责人担任。
## 什么是组长?
组长分为分组组长与项目组长
## 安装 crossRequest chrome 插件
## 权限列表
### 项目权限
| 操作 | 游客 | 开发者 | 项目组长 | 分组组长 | 超级管理员 |
| :-------------- | :------------ | :------------ |
| 新建接口 | | ✓ | ✓ |
### 分组权限
| 操作 | 开发者 | 项目组长 | 分组组长 | 超级管理员 |
| :-------------- | :------------ | :------------ | :------------ | :------------ |
| 浏览分组 |
| 编辑分组信息 |
| 在分组中新建项目 |
| 管理分组成员 |
| 删除分组 |

18926
prd/index.css Normal file

File diff suppressed because it is too large Load Diff

5336
prd/index.js Normal file

File diff suppressed because one or more lines are too long

3019
prd/lib.js Normal file

File diff suppressed because one or more lines are too long

48
prd/lib2.js Normal file

File diff suppressed because one or more lines are too long

94
prd/manifest.js Normal file
View File

@ -0,0 +1,94 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // install a JSONP callback for chunk loading
/******/ var parentJsonpFunction = window["webpackJsonp"];
/******/ window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules) {
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0, callbacks = [];
/******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(installedChunks[chunkId])
/******/ callbacks.push.apply(callbacks, installedChunks[chunkId]);
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/ for(moduleId in moreModules) {
/******/ modules[moduleId] = moreModules[moduleId];
/******/ }
/******/ if(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules);
/******/ while(callbacks.length)
/******/ callbacks.shift().call(null, __webpack_require__);
/******/ if(moreModules[0]) {
/******/ installedModules[0] = 0;
/******/ return __webpack_require__(0);
/******/ }
/******/ };
/******/ // The module cache
/******/ var installedModules = {};
/******/ // object to store loaded and loading chunks
/******/ // "0" means "already loaded"
/******/ // Array means "loading", array contains callbacks
/******/ var installedChunks = {
/******/ 3:0
/******/ };
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = function requireEnsure(chunkId, callback) {
/******/ // "0" is the signal for "already loaded"
/******/ if(installedChunks[chunkId] === 0)
/******/ return callback.call(null, __webpack_require__);
/******/ // an array means "currently loading".
/******/ if(installedChunks[chunkId] !== undefined) {
/******/ installedChunks[chunkId].push(callback);
/******/ } else {
/******/ // start chunk loading
/******/ installedChunks[chunkId] = [callback];
/******/ var head = document.getElementsByTagName('head')[0];
/******/ var script = document.createElement('script');
/******/ script.type = 'text/javascript';
/******/ script.charset = 'utf-8';
/******/ script.async = true;
/******/ script.src = __webpack_require__.p + "" + chunkId + ".chunk.js";
/******/ head.appendChild(script);
/******/ }
/******/ };
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/ })
/************************************************************************/
/******/ ([]);

View File

@ -138,7 +138,54 @@
<div class="content-right markdown-body use-sidebar" role="main">
<h2 class="subject" id="介绍">介绍 <a class="hashlink" href="#介绍">#</a></h2><h2 class="subject" id="组长职责">组长职责 <a class="hashlink" href="#组长职责">#</a></h2><h2 class="subject" id="安装_crossRequest_chrome_插件">安装 crossRequest chrome 插件 <a class="hashlink" href="#安装_crossRequest_chrome_插件">#</a></h2><h2 class="subject" id="权限列表">权限列表 <a class="hashlink" href="#权限列表">#</a></h2>
<h2 class="subject" id="介绍">介绍 <a class="hashlink" href="#介绍">#</a></h2><h2 class="subject" id="组长职责">组长职责 <a class="hashlink" href="#组长职责">#</a></h2><h2 class="subject" id="安装_crossRequest_chrome_插件">安装 crossRequest chrome 插件 <a class="hashlink" href="#安装_crossRequest_chrome_插件">#</a></h2><h2 class="subject" id="权限列表">权限列表 <a class="hashlink" href="#权限列表">#</a></h2><h3 class="subject" id="项目权限">项目权限 <a class="hashlink" href="#项目权限">#</a></h3><table>
<thead>
<tr>
<th style="text-align:left">操作</th>
<th style="text-align:left">开发者</th>
<th style="text-align:left">项目组长</th>
<th>分组组长</th>
<th>超级管理员</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">新建项目</td>
<td style="text-align:left"></td>
<td style="text-align:left"></td>
<td></td>
</tr>
</tbody>
</table>
<h3 class="subject" id="分组权限">分组权限 <a class="hashlink" href="#分组权限">#</a></h3><table>
<thead>
<tr>
<th style="text-align:left">操作</th>
<th style="text-align:left">开发者</th>
<th style="text-align:left">项目组长</th>
<th style="text-align:left">分组组长</th>
<th>超级管理员</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">浏览分组</td>
</tr>
<tr>
<td style="text-align:left">编辑分组信息</td>
</tr>
<tr>
<td style="text-align:left">在分组中新建项目</td>
</tr>
<tr>
<td style="text-align:left">管理分组成员</td>
</tr>
<tr>
<td style="text-align:left">删除分组</td>
</tr>
</tbody>
</table>
</div>
</div>