Commit ff7f3387 authored by Junling Bu's avatar Junling Bu
Browse files

update[doc]: 文档中明确用户、管理员、开发者三种角色。

1. 用户指小商场的使用者;
2. 管理者指管理后台的使用者;
3. 开发者指采用本项目开发部署的使用者。
parent 25989938
...@@ -95,7 +95,7 @@ litemall ...@@ -95,7 +95,7 @@ litemall
### 管理平台演示访问 ### 管理平台演示访问
1. 浏览器打开,输入以下网址[http://122.152.206.172:8080/#/login](http://122.152.206.172:8080/#/login) 1. 浏览器打开,输入以下网址[http://122.152.206.172:8080/#/login](http://122.152.206.172:8080/#/login)
2. 用户名`admin123`,密码`admin123` 2. 管理员名称`admin123`管理员密码`admin123`
文档 文档
== ==
...@@ -149,7 +149,7 @@ V 3.0.0 完成以下目标: ...@@ -149,7 +149,7 @@ V 3.0.0 完成以下目标:
* `小商场`订单编号采用日期+6位随机数 * `小商场`订单编号采用日期+6位随机数
* `小商场`简单运费计算 * `小商场`简单运费计算
* `小商场`专题评价 * `小商场`专题评价
* `管理后台`禁止用户修改超级管理员信息 * `管理后台`禁止管理员修改超级管理员信息
* `部署`自动脚本util/lazy.sh和util/upload.sh * `部署`自动脚本util/lazy.sh和util/upload.sh
* V 0.3.0, * V 0.3.0,
* `小商场`的后台服务加密用户账号密码 * `小商场`的后台服务加密用户账号密码
...@@ -186,10 +186,10 @@ V 3.0.0 完成以下目标: ...@@ -186,10 +186,10 @@ V 3.0.0 完成以下目标:
本项目基于或参考以下项目: 本项目基于或参考以下项目:
> 1. [nideshop-mini-program](https://github.com/tumobi/nideshop-mini-program) > 1. [nideshop-mini-program](https://github.com/tumobi/nideshop-mini-program)
> 如果后端希望采用nodejs,用户可以访问nideshop项目 > 如果后端希望采用nodejs,开发者可以访问nideshop项目
> 2. [platform](https://gitee.com/fuyang_lipengjun/platform) > 2. [platform](https://gitee.com/fuyang_lipengjun/platform)
> 如果后端希望采用非spring boot版的普通spring版或者更多功能, > 如果后端希望采用非spring boot版的普通spring版或者更多功能,
> 用户可以访问platform项目 > 开发者可以访问platform项目
> 3. [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) > 3. [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)
> 一个基于Vue和Element的后台集成方案 > 一个基于Vue和Element的后台集成方案
...@@ -198,9 +198,9 @@ V 3.0.0 完成以下目标: ...@@ -198,9 +198,9 @@ V 3.0.0 完成以下目标:
问题 问题
== ==
用户有问题或者好的建议可以用Issues反馈交流,请给出详细信息,本人会尽可能解决。 开发者有问题或者好的建议可以用Issues反馈交流,请给出详细信息,本人会尽可能解决。
* 如果问题是共性问题(如代码bug或文档不全),本人会及时解决。 * 如果问题是共性问题(如代码bug或文档不全),本人会及时解决。
* 如果问题是个人问题(如用户了解不深入或者没有相关技术),请见谅(本人也是百度和谷歌)。 * 如果问题是个人问题(如开发者了解不深入或者没有相关技术),请见谅(本人也是百度和谷歌)。
贡献 贡献
== ==
...@@ -221,6 +221,6 @@ V 3.0.0 完成以下目标: ...@@ -221,6 +221,6 @@ V 3.0.0 完成以下目标:
注意: 注意:
> * 这是开发交流群。 > * 这是开发交流群。
> * 如果用户开发使用中有问题,建议采用Issue来报告问题和解决问题。 > * 如果开发者开发使用中有问题,建议采用Issue来报告问题和解决问题。
> * 在开发交流群中应讨论开发、业务和合作问题。 > * 在开发交流群中应讨论开发、业务和合作问题。
> * 交流结果如果是共识性的则在文档中记录,如果是开放性的则会在Issue中记录。 > * 交流结果如果是共识性的则在文档中记录,如果是开放性的则会在Issue中记录。
\ No newline at end of file
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
3. 使用PuTTY登录云主机 3. 使用PuTTY登录云主机
4. 如果用户没有部署litemall数据库,可以运行以下命令: 4. 如果开发者没有部署litemall数据库,可以运行以下命令:
```bash ```bash
cd deploy cd deploy
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
source ./litemall-db/litemall_schema.sql source ./litemall-db/litemall_schema.sql
source ./litemall-db/litemall.sql source ./litemall-db/litemall.sql
``` ```
注意,123456是用户所设置的MySQL管理员密码 注意,123456是开发者所设置的MySQL管理员密码
警告: 警告:
> litemall_schema.sql会尝试删除litemall数据库然后重建一个新的数据。 > litemall_schema.sql会尝试删除litemall数据库然后重建一个新的数据。
...@@ -41,12 +41,12 @@ ...@@ -41,12 +41,12 @@
7. 自动上传脚本 7. 自动上传脚本
为了简化步骤1和步骤2,完成了util/upload.sh脚本,用户需要设置相应的云主机IP和密钥文件路径。 为了简化步骤1和步骤2,完成了util/upload.sh脚本,开发者需要设置相应的云主机IP和密钥文件路径。
该脚本会自动把当前项目不同模块下的最终部署文件复制到deploy文件夹中,然后上传到云主机。 该脚本会自动把当前项目不同模块下的最终部署文件复制到deploy文件夹中,然后上传到云主机。
注意: 注意:
> 上传脚本没有自动做Spring Boot项目打包和Vue项目打包工作 > 上传脚本没有自动做Spring Boot项目打包和Vue项目打包工作
如果用户需要先编译项目再上传,可以运行util/lazy.sh。 如果开发者需要先编译项目再上传,可以运行util/lazy.sh。
注意,运行命令必须在项目主目录中,类似如下命令: 注意,运行命令必须在项目主目录中,类似如下命令:
```bash ```bash
cd litemall cd litemall
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# 1. 本脚本的作用是把本项目编译的结果保存到deploy文件夹中,然后上传到云主机 # 1. 本脚本的作用是把本项目编译的结果保存到deploy文件夹中,然后上传到云主机
# 2. 运行本脚本前,请确认Spring Boot模块已经编译,同时litemall-admin模块也已经便宜 # 2. 运行本脚本前,请确认Spring Boot模块已经编译,同时litemall-admin模块也已经便宜
# 3. util/upload.sh脚本是运行在开发机中,bin/deploy.sh脚本是运行在云主机中 # 3. util/upload.sh脚本是运行在开发机中,bin/deploy.sh脚本是运行在云主机中
# 4. 这是一个简单的脚本,用户可以按照自己需求修改 # 4. 这是一个简单的脚本,开发者可以按照自己需求修改
# 请设置云主机的IP地址 # 请设置云主机的IP地址
CVM=XXX.XXX.XXX.XXX CVM=XXX.XXX.XXX.XXX
......
...@@ -252,7 +252,7 @@ litemall是一个简单的商场系统,基于现有的开源项目,重新实 ...@@ -252,7 +252,7 @@ litemall是一个简单的商场系统,基于现有的开源项目,重新实
注意 注意
> 1. `本机`指的是是当前的开发机 > 1. `本机`指的是是当前的开发机
> 2. `云主机`指的是用户购买并部署的远程主机 > 2. `云主机`指的是开发者购买并部署的远程主机
以下简单列举几种方案。 以下简单列举几种方案。
...@@ -284,7 +284,7 @@ http://localhost:8083/admin/index/index ...@@ -284,7 +284,7 @@ http://localhost:8083/admin/index/index
``` ```
注意 注意
> 由于这里使用`&`设置成后台运行,因此测试结束以后,用户需要自行通过任务管理器或其他软件关闭这三个后台Spring Boot应用。 > 由于这里使用`&`设置成后台运行,因此测试结束以后,开发者需要自行通过任务管理器或其他软件关闭这三个后台Spring Boot应用。
### 1.5.2 简单局域网方案 ### 1.5.2 简单局域网方案
...@@ -316,11 +316,11 @@ http://localhost:8083/admin/index/index ...@@ -316,11 +316,11 @@ http://localhost:8083/admin/index/index
4. 设置SSH密钥(可选) 4. 设置SSH密钥(可选)
建议用户设置SSH密钥,可以免密码登录云主机,以及用于脚本自动上传应用。 建议开发者设置SSH密钥,可以免密码登录云主机,以及用于脚本自动上传应用。
5. 使用PuTTY远程登录云主机 5. 使用PuTTY远程登录云主机
如果用户设置SSH密钥,可以采用免密码登录;否则采用账号和密码登录。 如果开发者设置SSH密钥,可以采用免密码登录;否则采用账号和密码登录。
#### 1.5.3.2 JDK8 #### 1.5.3.2 JDK8
...@@ -394,7 +394,7 @@ sudo apt-get install mysql-client ...@@ -394,7 +394,7 @@ sudo apt-get install mysql-client
然后点击`Test Connection`测试是否能够连接到云主机; 然后点击`Test Connection`测试是否能够连接到云主机;
如果测试成功,则进入; 如果测试成功,则进入;
![](pic1/1-5.png) ![](pic1/1-5.png)
3. 用户自行学习文档,完成`创建数据库``创建用户``分配权限`三个操作; 3. 开发者自行学习文档,完成`创建数据库``创建用户``分配权限`三个操作;
4. 利用Workbench的`Server`菜单下的`Data Import`完成数据导入。 4. 利用Workbench的`Server`菜单下的`Data Import`完成数据导入。
* 命令脚本 * 命令脚本
...@@ -404,7 +404,7 @@ mysql -h localhost -u root -p123456 ...@@ -404,7 +404,7 @@ mysql -h localhost -u root -p123456
source ./litemall-db/litemall_schema.sql source ./litemall-db/litemall_schema.sql
source ./litemall-db/litemall.sql source ./litemall-db/litemall.sql
``` ```
其中123456是用户所设置的MySQL的管理员密码。 其中123456是开发者所设置的MySQL的管理员密码。
#### 1.5.3.5 Tomcat #### 1.5.3.5 Tomcat
...@@ -483,7 +483,7 @@ https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#dep ...@@ -483,7 +483,7 @@ https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#dep
3. 使用PuTTY登录云主机 3. 使用PuTTY登录云主机
4. 如果用户没有部署litemall数据库,可以运行以下命令: 4. 如果开发者没有部署litemall数据库,可以运行以下命令:
```bash ```bash
cd deploy cd deploy
...@@ -491,7 +491,7 @@ https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#dep ...@@ -491,7 +491,7 @@ https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#dep
source ./litemall-db/litemall_schema.sql source ./litemall-db/litemall_schema.sql
source ./litemall-db/litemall.sql source ./litemall-db/litemall.sql
``` ```
注意,123456是用户所设置的MySQL管理员密码 注意,123456是开发者所设置的MySQL管理员密码
警告: 警告:
> litemall_schema.sql会尝试删除litemall数据库然后重建一个新的数据。 > litemall_schema.sql会尝试删除litemall数据库然后重建一个新的数据。
...@@ -517,7 +517,7 @@ https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#dep ...@@ -517,7 +517,7 @@ https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#dep
7. 自动上传脚本 7. 自动上传脚本
为了简化步骤1和步骤2,完成了deploy/util/upload.sh脚本,用户需要设置相应的云主机IP和密钥文件路径。 为了简化步骤1和步骤2,完成了deploy/util/upload.sh脚本,开发者需要设置相应的云主机IP和密钥文件路径。
该脚本会自动把当前项目不同模块下的最终部署文件复制到deploy文件夹中,然后上传到云主机。 该脚本会自动把当前项目不同模块下的最终部署文件复制到deploy文件夹中,然后上传到云主机。
注意: 注意:
> 上传脚本没有自动做Spring Boot项目打包和Vue项目打包工作 > 上传脚本没有自动做Spring Boot项目打包和Vue项目打包工作
...@@ -528,7 +528,7 @@ https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#dep ...@@ -528,7 +528,7 @@ https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#dep
在.gitignore中设置忽略,因此upload.sh脚本里面可以包含一些隐私信息, 在.gitignore中设置忽略,因此upload.sh脚本里面可以包含一些隐私信息,
如云主机IP和当前系统私钥文件地址,而其他内容则和deploy/util/upload.sh完全一致。 如云主机IP和当前系统私钥文件地址,而其他内容则和deploy/util/upload.sh完全一致。
如果用户需要先编译项目再上传,也可以运行util/lazy.sh。 如果开发者需要先编译项目再上传,也可以运行util/lazy.sh。
注意,运行命令必须在项目主目录中,类似如下命令: 注意,运行命令必须在项目主目录中,类似如下命令:
```bash ```bash
cd litemall cd litemall
......
...@@ -48,7 +48,7 @@ litemall.sql数据库基于nideshop中的[nideshop.sql](https://github.com/tumob ...@@ -48,7 +48,7 @@ litemall.sql数据库基于nideshop中的[nideshop.sql](https://github.com/tumob
* 多个规格和单一规格值,可以简化成第一种情况,或者采用第四种情况,通常实际情况下不常见; * 多个规格和单一规格值,可以简化成第一种情况,或者采用第四种情况,通常实际情况下不常见;
* 多个规格和多个规格值,通常是两种规格或者三种规格较为常见,而且对应的价格不完全相同。 * 多个规格和多个规格值,通常是两种规格或者三种规格较为常见,而且对应的价格不完全相同。
货品则是最终面向用户购买的商品标识,存在多个规格值、数量和价格。 货品则是最终面向开发者购买的商品标识,存在多个规格值、数量和价格。
因此这里一个商品表项,存在(至少0个)多个商品属性表项目,存在(至少一个)多个商品规格表项, 因此这里一个商品表项,存在(至少0个)多个商品属性表项目,存在(至少一个)多个商品规格表项,
存在(至少一个)多个货品表项。 存在(至少一个)多个货品表项。
...@@ -238,13 +238,13 @@ litemall.sql数据库基于nideshop中的[nideshop.sql](https://github.com/tumob ...@@ -238,13 +238,13 @@ litemall.sql数据库基于nideshop中的[nideshop.sql](https://github.com/tumob
* src文件夹`org.linlinjava.litemall.db.domain` 包内的Java代码 * src文件夹`org.linlinjava.litemall.db.domain` 包内的Java代码
* resources文件夹`org.linlinjava.litemall.db.domain.dao` 内的XML文件 * resources文件夹`org.linlinjava.litemall.db.domain.dao` 内的XML文件
以上三种代码即可封装对数据库的操作,用户无需直接操作sql代码, 以上三种代码即可封装对数据库的操作,开发者无需直接操作sql代码,
而是直接操作Java代码来完成对数据库的访问处理。 而是直接操作Java代码来完成对数据库的访问处理。
关于如何基于mybatis的Example代码来访问数据库,请查阅相关资料, 关于如何基于mybatis的Example代码来访问数据库,请查阅相关资料,
或者参考本模块`org.linlinjava.litemall.db.dservice` 包内的Java代码。 或者参考本模块`org.linlinjava.litemall.db.dservice` 包内的Java代码。
当然,为了达到数据库访问效率,用户也可以手动自定义mapper文件和对应的Java代码,但目前这里不采用或者不建议采用。 当然,为了达到数据库访问效率,开发者也可以手动自定义mapper文件和对应的Java代码,但目前这里不采用或者不建议采用。
例如,当需要访问两个表的数据时,这里是在业务层通过Java代码遍历的形式来访问两个表。 例如,当需要访问两个表的数据时,这里是在业务层通过Java代码遍历的形式来访问两个表。
这里,以`litemall_brand`表举例说明: 这里,以`litemall_brand`表举例说明:
...@@ -409,13 +409,13 @@ litemall.sql数据库基于nideshop中的[nideshop.sql](https://github.com/tumob ...@@ -409,13 +409,13 @@ litemall.sql数据库基于nideshop中的[nideshop.sql](https://github.com/tumob
这样简化的目的是对象存储服务建议最终采用云服务,因此这里仅仅实现一个简单的服务面向测试开发。 这样简化的目的是对象存储服务建议最终采用云服务,因此这里仅仅实现一个简单的服务面向测试开发。
如果用户需要局域网部署,那么这里需要加入一定的安全机制。 如果开发者需要局域网部署,那么这里需要加入一定的安全机制。
### 2.4.3 文件Key ### 2.4.3 文件Key
每一个上传的文件都会采用一个随机值key,作为当前文件的网络访问链接的一部分。 每一个上传的文件都会采用一个随机值key,作为当前文件的网络访问链接的一部分。
以后可能需要进一步支持用户自定义Key,例如采用原文件名字作为key。 以后可能需要进一步支持自定义Key,例如采用原文件名字作为key。
## 2.5 litemall-all ## 2.5 litemall-all
......
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
* 关键字搜索 * 关键字搜索
用户的搜索采用和商品的关键字属性匹配来查找商品。 用户的搜索采用和商品的关键字属性匹配来查找商品。
因此需要用户添加商品时设置关键字值。 因此需要管理员添加商品时设置关键字值。
这里只是简单的搜索,更好地做法可能是进一步搜索商品的名字、简介。 这里只是简单的搜索,更好地做法可能是进一步搜索商品的名字、简介。
或者采用更为专业的搜索算法。 或者采用更为专业的搜索算法。
...@@ -281,7 +281,7 @@ var WxApiRoot = 'http://localhost:8082/wx/'; ...@@ -281,7 +281,7 @@ var WxApiRoot = 'http://localhost:8082/wx/';
4. 此外,更最重要的是,如果小程序正式部署时,这里的地址必须是域名, 4. 此外,更最重要的是,如果小程序正式部署时,这里的地址必须是域名,
而不能是IP地址。 而不能是IP地址。
因此,开发阶段用户可以按照具体情况切换1,2或3的选项。 因此,开发阶段开发者可以按照具体情况切换1,2或3的选项。
### 3.2.2 页面 ### 3.2.2 页面
...@@ -321,7 +321,7 @@ var WxApiRoot = 'http://localhost:8082/wx/'; ...@@ -321,7 +321,7 @@ var WxApiRoot = 'http://localhost:8082/wx/';
#### 3.2.2.1 登录检测 #### 3.2.2.1 登录检测
用户可以采用`user.checkLogin`来检查是否`已登录`,而其检测逻辑是: 开发者可以采用`user.checkLogin`来检查是否`已登录`,而其检测逻辑是:
1. 可以从storage获取`userInfo``token` 1. 可以从storage获取`userInfo``token`
2. 同时`wx.checkSession`也成功。 2. 同时`wx.checkSession`也成功。
...@@ -366,7 +366,7 @@ var WxApiRoot = 'http://localhost:8082/wx/'; ...@@ -366,7 +366,7 @@ var WxApiRoot = 'http://localhost:8082/wx/';
#### 3.2.2.3 登录操作 #### 3.2.2.3 登录操作
如前面讨论,这里的登录操作实际包含两个操作`wx.login``wx.getUserInfo` 如前面讨论,这里的登录操作实际包含两个操作`wx.login``wx.getUserInfo`
用户可以采用`user.loginByWeixin`来进行登录操作。 开发者可以采用`user.loginByWeixin`来进行登录操作。
按照官网文档,用户登录前应该检测以下,来避免频繁无意义的登录操作, 按照官网文档,用户登录前应该检测以下,来避免频繁无意义的登录操作,
因此较合适的做法如下所示: 因此较合适的做法如下所示:
......
...@@ -61,7 +61,7 @@ public class Application { ...@@ -61,7 +61,7 @@ public class Application {
### 6.2.4 权限管理 ### 6.2.4 权限管理
目前安全实现非常粗糙,仅仅依赖管理员的用户名和密码。 目前安全实现非常粗糙,仅仅依赖管理员的名和密码。
更好的做法是引入角色权限机制。 更好的做法是引入角色权限机制。
## 6.3 企业级 ## 6.3 企业级
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment