Skip to content

问题1的答案 #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
## 问题列表:
### 1、如何使用git管理代码,能够做到拉取、提交、修改、创建合并分支,了解github,能够fork项目然后进行开发等,了解正常生产环境当中的代码管理流程。
如果有同学了解了,可以写一个自己的markdown文件写明白,命名为你的名字,上传到这个仓库。



### 2、熟练使用markdown语法编写markdown文件。并且提交一个完整的数据库设计文档到Question2中。

#### markdown基础语法:https://www.appinn.com/markdown/
#### markdown基础语法:https://www.appinn.com/markdown/
#### (建议只看快速入门)快速入门:https://www.appinn.com/markdown/basic.html
#### 使用有道云编写markdown: 简单篇:http://note.youdao.com/iyoudao/?p=2411
#### 使用有道云编写markdown:
#### 简单篇:http://note.youdao.com/iyoudao/?p=2411
#### 进阶篇:http://note.youdao.com/iyoudao/?p=2445

#### 其他markdown编辑软件:小书匠、jetBrains出品的软件,如idea、pycharm都有markdown组件、阿童木
#### 其他markdown编辑软件:小书匠、jetBrains出品的软件,如idea、pycharm都有markdown组件、阿童木

- 注意:先新建一个以自己名字为文件名的文件夹,再把问题的解决方案放到自己文件夹里

31 changes: 31 additions & 0 deletions question1/lichangan/李昌安答案1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 正确的工作流
## 之前的介绍是有错误的,正确的工作流应该是:
### 1、先从主仓库,也就是tjut-scce-developer/Question-Answer上clone最新代码,进入到项目
```
git clone [email protected]:tjut-scce-developer/Question-Answer.git
cd Question-Answer/
```
### 2、再把自己fork的仓库的ssh链接添加到remote对象,如我的:
```
git remote add upstream [email protected]:aninstein/Question-Answer.git
```
### 3、新建一个分支为dev-0.0.1-<你的名字拼音>,然后切换到该分支上
```
git branch dev-0.0.1-lichangan
git checkout dev-0.0.1-lichangan

git branch -vv #可以查看当前在哪个分支
```
### 4、修改
Question-Answer项目提供解决方案的提交方案是,在question【序号】里面新建自己名字的文件夹,然后把解决方案放在你的文件夹里面
### 5、提交到本地
```
git status #这个可以看到你的修改,就是你都做了哪些操作
git add -A #这个是添加所有到提交列表里面,把-A换成单个文件或者一个文件夹,就只会添加单个文件或者文件夹

git commit -m "在双引号里简单描述本次提交的修改内容"
```
### 6、上面只是提交到本地了,还要吧代码push到github上,现在需要push到我fork的仓库上
```
git push upstream dev-0.0.1-lichangan #这样在你fork的仓库上就有了一个dev-0.0.1-lichangan分支
```
151 changes: 151 additions & 0 deletions question2/lichangan/组织-角色-用户-资源管理设计文档.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
# 角色-用户-资源管理设计文档
## 角色(role)-用户(user)-资源(resource) manager
---
## 修改记录
|序号|日期|修改人|主要修改内容|
| :-: | :-: | :-: | :-: |
|1|2018-1-11|李昌安|新建|
|2|2018-1-17|李昌安|删除了多余的字段|
---
### 1、权限格式(power format)
#### 权限补充描述
1.权限操作对象:权限操作的==资源对象==

2.权限标签:标签命名格式:**[操作范围(\<array>|"all")].[可执行行为].[针对类型(restype)]**

3.权限描述:简要的文字描述

#### 对应权限的格式
|字段名|字段类型|描述|必要性|
| :-: | :-: | :-: | :-: |
|id|int|表格索引号|必选|
|powerobject|string|权限操作对象|必选|
|powername|string|权限名称|必选|
|powerid|string|权限id|必选|
|powertag|string|权限标签|可选|
|powerdescribe|string|权限描述|可选|
##### 例如:
```json
{
"powerobject":"fileinfo",
"powername": "static_visit",
"powerid": 1,
"powertag": "all.visit.file",
"powerdescribe": "静态访问权限"
}
```
---
### 角色
|字段名|字段类型|描述|必要性|
| :-: | :-: | :-: | :-: |
|id|int|表格索引号|必选|
|rolename|string|角色名|必选|
|roleid|string|角色id|必选|
|rolepreid|string|父角色id|可选|
|rolepower|jsonArray|角色拥有权限的资源|可选|

#### 角色字段补充描述
1.角色权限(rolepower):主要为CRUD和其他类型

#### 例如
```json
{
"id": 1,
"rolename": "super_admin",
"roleid": 2,
"rolepreid": 1,
"rolepower": [
{
"powerobject": "fileinfo",
"powername": "static_visit",
"powerid": 1,
"powertag": "all.visit.file",
"powerdescribe": "静态访问权限"
},
{
"powerobject": "history",
"powername": "update",
"powerid": 2,
"powertag": "all.update.file",
"powerdescribe": "更新历史记录权限"
}
]
}
```

---
### 用户
|字段名|字段类型|描述|必要性|
| :-: | :-: | :-: |:-:|
|id|int|表格索引号|必选|
|username|string|用户名|必选|
|userid|string|用户编号|必选|
|userrole|string array|用户扮演的角色|必选|
|userotherpower|jsonArray|用户除去角色拥有的权限外,还被赋予的其他权限|可选|

#### 角色字段补充描述
1.用户角色(userrole):一个用户可以扮演多个角色,扮演一个角色之后继承角色的所有权限

2.用户其他权限(userotherpower):一个用户除去扮演的权限外,本身还拥有的其他权限

#### 例如
```json
{
"id": 1,
"username": "lichangan",
"userid": 111,
"userrole": ["1","2"],
"userotherpower": [
{
"powerobject": "fileinfo",
"powername": "delete",
"powerid": 3,
"powertag": "all.delete.file",
"powerdescribe": "删除文档信息权限"
}
]
}
```


---
### 资源
|字段名|字段类型|描述|必要性|
| :-: | :-: | :-: |:-:|
|id|int|表格索引号|必选|
|resname|string|资源名|必选|
|resid|string|资源编号|必选|
|restype|string|资源类型|必选|
|resstatu|int|资源状态|可选|
|resdescribe|string|资源描述|可选|
|resattr|string|资源属性| 可选|
|respath|string|系统存放资源的路径|必选|

#### 角色字段补充描述
1.资源类型(restype):资源类型有以下几种:
####
- 文件类型(==file==):属于文件类型
- 操作权限(==control==):操作模块,比如菜单、表格
- 数据(==data==):数据

2.资源状态(resstatu):==1== 为可用,==0== 为不可用

3.资源属性(resattr):资源属性是对资源所存在的位置,主要有以下几种:
####
- 静态属性(==static==):静态文件,比如图片、字体等
- 动态属性(==dynamic==):一般为比如菜单、数据库数据、代码完成的行为
- 系统属性(==system==):系统资源,只读

#### 例如
```json
{
"id": 1,
"resname": "menu",
"resid": "menu",
"restype": "control",
"resstatu": 1,
"resdescribe": "菜单管理",
"resattr": "dynamic",
"respath": "/menu"
}
```