From 78dce331331f15604e79a0ea238fb9985eb103d6 Mon Sep 17 00:00:00 2001 From: "aninstein@163.com" <13132208596@qq.com> Date: Sat, 7 Apr 2018 15:31:49 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=97=AE=E9=A2=981=E7=9A=84=E7=AD=94?= =?UTF-8?q?=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6\351\242\2301\347\255\224\346\241\210.docx" | Bin 0 -> 12082 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "question1/lichangan/\351\227\256\351\242\2301\347\255\224\346\241\210.docx" diff --git "a/question1/lichangan/\351\227\256\351\242\2301\347\255\224\346\241\210.docx" "b/question1/lichangan/\351\227\256\351\242\2301\347\255\224\346\241\210.docx" new file mode 100644 index 0000000000000000000000000000000000000000..a3ffa84da5863ffde0ff33b869202b71a6b4ccc4 GIT binary patch literal 12082 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%0D|;VE)F{&dlEB$xW=P%P8PWp>$T&KlWts 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 literal 0 HcmV?d00001 From 59cf583e4fc8dd1976b5069d5998164157640f41 Mon Sep 17 00:00:00 2001 From: "lichangan@antiy.cn" Date: Sun, 8 Apr 2018 10:53:07 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E9=97=AE?= =?UTF-8?q?=E9=A2=982=EF=BC=8C=E5=B9=B6=E4=B8=94=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E4=BA=86=E4=B8=80=E4=B8=AA=E6=A0=87=E5=87=86=E7=9A=84markdown?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 +- ...76\350\256\241\346\226\207\346\241\243.md" | 151 ++++++++++++++++++ 2 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 "question2/lichangan/\347\273\204\347\273\207-\350\247\222\350\211\262-\347\224\250\346\210\267-\350\265\204\346\272\220\347\256\241\347\220\206\350\256\276\350\256\241\346\226\207\346\241\243.md" diff --git a/README.md b/README.md index 5ef8f15..5455666 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,16 @@ ## 问题列表: ### 1、如何使用git管理代码,能够做到拉取、提交、修改、创建合并分支,了解github,能够fork项目然后进行开发等,了解正常生产环境当中的代码管理流程。 -如果有同学了解了,可以写一个自己的markdown文件写明白,命名为你的名字,上传到这个仓库。 \ No newline at end of file +如果有同学了解了,可以写一个自己的markdown文件写明白,命名为你的名字,上传到这个仓库。 + + +### 2、熟练使用markdown语法编写markdown文件。并且提交一个完整的数据库设计文档到Question2中。 +markdown基础语法:https://www.appinn.com/markdown/ +(建议只看快速入门)快速入门:https://www.appinn.com/markdown/basic.html +使用有道云编写markdown: +简单篇:http://note.youdao.com/iyoudao/?p=2411 +进阶篇:http://note.youdao.com/iyoudao/?p=2445 + +其他markdown编辑软件:小书匠、jetBrains出品的软件,如idea、pycharm都有markdown组件、阿童木 + + - 注意:先新建一个以自己名字为文件名的文件夹,再把问题的解决方案放到自己文件夹里 \ No newline at end of file diff --git "a/question2/lichangan/\347\273\204\347\273\207-\350\247\222\350\211\262-\347\224\250\346\210\267-\350\265\204\346\272\220\347\256\241\347\220\206\350\256\276\350\256\241\346\226\207\346\241\243.md" "b/question2/lichangan/\347\273\204\347\273\207-\350\247\222\350\211\262-\347\224\250\346\210\267-\350\265\204\346\272\220\347\256\241\347\220\206\350\256\276\350\256\241\346\226\207\346\241\243.md" new file mode 100644 index 0000000..162dc3a --- /dev/null +++ "b/question2/lichangan/\347\273\204\347\273\207-\350\247\222\350\211\262-\347\224\250\346\210\267-\350\265\204\346\272\220\347\256\241\347\220\206\350\256\276\350\256\241\346\226\207\346\241\243.md" @@ -0,0 +1,151 @@ +# 角色-用户-资源管理设计文档 +## 角色(role)-用户(user)-资源(resource) manager +--- +## 修改记录 +|序号|日期|修改人|主要修改内容| +| :-: | :-: | :-: | :-: | +|1|2018-1-11|李昌安|新建| +|2|2018-1-17|李昌安|删除了多余的字段| +--- +### 1、权限格式(power format) +#### 权限补充描述 +1.权限操作对象:权限操作的==资源对象== + +2.权限标签:标签命名格式:**[操作范围(\|"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" +} +``` From 304807838998ff58ff82035f5f6e66cc8d5b40d7 Mon Sep 17 00:00:00 2001 From: "lichangan@antiy.cn" Date: Sun, 8 Apr 2018 11:01:34 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=8BREADME.md=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5455666..54543e3 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,12 @@ ### 2、熟练使用markdown语法编写markdown文件。并且提交一个完整的数据库设计文档到Question2中。 -markdown基础语法:https://www.appinn.com/markdown/ -(建议只看快速入门)快速入门:https://www.appinn.com/markdown/basic.html -使用有道云编写markdown: -简单篇:http://note.youdao.com/iyoudao/?p=2411 -进阶篇:http://note.youdao.com/iyoudao/?p=2445 +#### markdown基础语法:https://www.appinn.com/markdown/ +#### (建议只看快速入门)快速入门:https://www.appinn.com/markdown/basic.html +#### 使用有道云编写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组件、阿童木 - 注意:先新建一个以自己名字为文件名的文件夹,再把问题的解决方案放到自己文件夹里 \ No newline at end of file From 0aa3720384595f6a9fd1196b94c844fcb2a69e64 Mon Sep 17 00:00:00 2001 From: "aninstein@163.com" <13132208596@qq.com> Date: Mon, 9 Apr 2018 00:38:21 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E9=97=AE?= =?UTF-8?q?=E9=A2=981=E7=9A=84=E8=A7=A3=E5=86=B3=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\345\256\211\347\255\224\346\241\2101.md" | 31 ++++++++++++++++++ ...351\242\2301\347\255\224\346\241\210.docx" | Bin 12082 -> 0 bytes 2 files changed, 31 insertions(+) create mode 100644 "question1/lichangan/\346\235\216\346\230\214\345\256\211\347\255\224\346\241\2101.md" delete mode 100644 "question1/lichangan/\351\227\256\351\242\2301\347\255\224\346\241\210.docx" diff --git "a/question1/lichangan/\346\235\216\346\230\214\345\256\211\347\255\224\346\241\2101.md" "b/question1/lichangan/\346\235\216\346\230\214\345\256\211\347\255\224\346\241\2101.md" new file mode 100644 index 0000000..e3c3aa8 --- /dev/null +++ "b/question1/lichangan/\346\235\216\346\230\214\345\256\211\347\255\224\346\241\2101.md" @@ -0,0 +1,31 @@ +# 正确的工作流 +## 之前的介绍是有错误的,正确的工作流应该是: +### 1、先从主仓库,也就是tjut-scce-developer/Question-Answer上clone最新代码,进入到项目 +``` +git clone git@github.com:tjut-scce-developer/Question-Answer.git +cd Question-Answer/ +``` +### 2、再把自己fork的仓库的ssh链接添加到remote对象,如我的: +``` +git remote add upstream git@github.com: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分支 +``` \ No newline at end of file diff --git "a/question1/lichangan/\351\227\256\351\242\2301\347\255\224\346\241\210.docx" "b/question1/lichangan/\351\227\256\351\242\2301\347\255\224\346\241\210.docx" deleted file mode 100644 index a3ffa84da5863ffde0ff33b869202b71a6b4ccc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12082 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%0D|;VE)F{&dlEB$xW=P%P8PWp>$T&KlWts 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