Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Litemall
Commits
ae37e045
Commit
ae37e045
authored
Mar 30, 2018
by
Junling Bu
Browse files
文档中的登陆同一调整成登录。
parent
ca188343
Changes
11
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
ae37e045
...
...
@@ -88,7 +88,7 @@ litemall
1.
微信开发工具导入litemall-wx项目;
2.
项目配置,启用“不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书”
3.
点击“编译”,即可在微信开发工具预览效果;
4.
也可以点击“预览”,然后手机扫描登
陆
。
4.
也可以点击“预览”,然后手机扫描登
录
。

...
...
@@ -107,7 +107,38 @@ litemall
5.
[
商场子系统
](
doc/5.md
)
6.
[
下一步计划
](
doc/6.md
)
更新
开发计划
====
目前项目开发中,存在诸多不足,以下是目前规划的开发计划。
V 1.0.0 完成以下目标:
1.
除了部分功能(如支付和优惠券等),小商城的优化和改进基本结束;
2.
管理后台基本实现所有表的CRUD操作;
3.
后台服务能够对参数进行检验。
V 2.0.0 完成以下目标:
1.
小商城能够完成基本的业务功能;
2.
管理后台实现较好的业务操作和交互效果,而不是简单的CRUD;
3.
管理后台实现统计功能、日志功能
V 3.0.0 完成以下目标:
1.
管理后台一些辅助功能
2.
后台服务加强安全功能、事务功能
3.
项目代码重构和清理
4.
其他配套服务,如代码文档、war部署支持
项目结束,已经是一个真正可工作的项目,此时进入维护阶段。
如果真的坚持到维护阶段,那么存在三种可能性:
1.
或者开发 V 4.0.0,实现web商场子系统;
2.
或者重新开发一个新的独立项目,引入企业级功能,如缓存、权限、对象存储云服务等;
3.
或者结束,不再开发,仅仅维护。
警告:
> ** 以上仅仅是个人规划的开发计划,实际可能出现任何情况,例如能力有限而放弃开发。**
开发进度更新
==
*
V 0.1.0,项目架构基本完成。
...
...
@@ -151,4 +182,6 @@ litemall
*
Issue里面对业务或技术的讨论
*
Pull Request
*
对文档的意见或补充
*
其他任何有意义本项目的行为
\ No newline at end of file
*
其他任何有意义本项目的行为
个人能力有限,欢迎一起开发。
deploy/README.md
View file @
ae37e045
...
...
@@ -7,7 +7,7 @@
2.
使用FileZilla把deploy整个文件夹上传到云主机的/home/ubuntu文件夹中
3.
使用PuTTY登
陆
云主机
3.
使用PuTTY登
录
云主机
4.
运行脚本部署运行
...
...
doc/1.md
View file @
ae37e045
...
...
@@ -205,8 +205,8 @@ litemall是一个简单的商场系统,基于现有的开源项目,重新实
cnpm run dev
```
然后,打开浏览器,输入
`http://localhost:9527`
。
如果出现管理后台登
陆
页面,则表明管理后台的前端运行正常;
6.
请确定litemall-admin-api模块已经运行,然后点击
`登
陆
`
,如果能够成功登
陆
,则表明管理后台的前端和后端对接成功,运行正常。
如果出现管理后台登
录
页面,则表明管理后台的前端运行正常;
6.
请确定litemall-admin-api模块已经运行,然后点击
`登
录
`
,如果能够成功登
录
,则表明管理后台的前端和后端对接成功,运行正常。
## 1.5 部署方案
...
...
@@ -300,11 +300,11 @@ http://localhost:8083/admin/index/index
4.
设置SSH密钥(可选)
建议用户设置SSH密钥,可以免密码登
陆
云主机,以及用于脚本自动上传应用。
建议用户设置SSH密钥,可以免密码登
录
云主机,以及用于脚本自动上传应用。
5.
使用PuTTY远程登
陆
云主机
5.
使用PuTTY远程登
录
云主机
如果用户设置SSH密钥,可以采用免密码登
陆
;否则采用账号和密码登
陆
。
如果用户设置SSH密钥,可以采用免密码登
录
;否则采用账号和密码登
录
。
#### 1.5.3.2 JDK8
...
...
@@ -350,7 +350,7 @@ sudo apt-get install mysql-client
FLUSH PRIVILEGES;
quit;
```
3.
登
陆
腾讯云,设置云主机的
`安全组`
,允许
`3306`
端口访问,然后重启云主机,使得这些配置生效。
3.
登
录
腾讯云,设置云主机的
`安全组`
,允许
`3306`
端口访问,然后重启云主机,使得这些配置生效。
警告
> 1. 因为安全的原因,MySQL不应该设置远程访问,
...
...
@@ -365,7 +365,7 @@ sudo apt-get install mysql-client
*
命令行导入
1.
采用FileZilla把本项目的litemall.sql上传到云主机
2.
使用PuTTY登
陆
云主机
2.
使用PuTTY登
录
云主机
3.
进入MySQL,输入上节所设置的MySQL的root密码
4.
创建数据库、 创建用户并分配访问权限
5.
导入数据
...
...
@@ -456,7 +456,7 @@ https://docs.spring.io/spring-boot/docs/1.5.10.RELEASE/reference/htmlsingle/#dep
2.
使用FileZilla把deploy整个文件夹上传到云主机的/home/ubuntu文件夹中
3.
使用PuTTY登
陆
云主机
3.
使用PuTTY登
录
云主机
4.
运行脚本部署运行
...
...
doc/2.md
View file @
ae37e045
...
...
@@ -95,7 +95,7 @@ litemall数据库基于nideshop中的[nideshop.sql](https://github.com/tumobi/ni
### 2.1.2 用户和微信用户设计
目前准备支持用户普通账号登
陆
和微信登
陆
两种方式,两种登
陆
方式仅仅采用一个litemall-user表可能不是很合适。此外,如果进一步支持其他多种第三方登
陆
,那么这里需要重新设计。
目前准备支持用户普通账号登
录
和微信登
录
两种方式,两种登
录
方式仅仅采用一个litemall-user表可能不是很合适。此外,如果进一步支持其他多种第三方登
录
,那么这里需要重新设计。
### 2.1.3 行政区域设计
...
...
doc/3.md
View file @
ae37e045
...
...
@@ -19,7 +19,7 @@
*
进一步区分商品和货品的关系
*
地址优化,目前每一次点击都会请求后台,应该缓存已有的数据
*
商品数量和规格中,如果货品数量不足,则显示不能点击的效果
*
登
陆
逻辑重新设计,如果用户没有登
陆
,则相关页面显示登
陆
的效果
*
登
录
逻辑重新设计,如果用户没有登
录
,则相关页面显示登
录
的效果
## 3.1 litemall-wx-api
...
...
@@ -71,25 +71,25 @@ var WxApiRoot = 'http://localhost:8082/wx/';
因此,开发阶段用户可以按照具体情况切换1,2或3的选项。
### 3.2.2 登
陆
### 3.2.2 登
录
按照官方文档,开发者采用
`wx.login`
方法即可实现登
陆
操作;
然而,由于
`wx.login`
只能返回临时登
陆
凭证
`code`
,从服务器也只能返回对应的sessionId,
因此虽然已经可以视作登
陆
,但是在小程序中不能显示有意义的登
陆
状态,
按照官方文档,开发者采用
`wx.login`
方法即可实现登
录
操作;
然而,由于
`wx.login`
只能返回临时登
录
凭证
`code`
,从服务器也只能返回对应的sessionId,
因此虽然已经可以视作登
录
,但是在小程序中不能显示有意义的登
录
状态,
因此实际很多小程序是继续采用
`wx.getUserInfo`
来进一步请求用户信息。
因此本模块中,用户的登
陆
状态也是由
`wx.login`
和
`wx.getUserInfo`
组成。
因此本模块中,用户的登
录
状态也是由
`wx.login`
和
`wx.getUserInfo`
组成。
#### 3.2.2.1 登
陆
检测
#### 3.2.2.1 登
录
检测
用户可以采用
`user.checkLogin`
来检查是否
`已登
陆
`
,而其检测逻辑是:
用户可以采用
`user.checkLogin`
来检查是否
`已登
录
`
,而其检测逻辑是:
1.
可以从storage获取
`userInfo`
和
`token`
2.
同时
`wx.checkSession`
也成功。
#### 3.2.2.2 登
陆
时机
#### 3.2.2.2 登
录
时机
登
陆
请求用户信息的时机存在两种设计:
登
录
请求用户信息的时机存在两种设计:
1.
一种是小程序加载时,即申请用户信息,这种实现较简单;
2.
另外一种是小程序加载时不需要,但是小程序用户需要真正用户信息时才申请用户信息,
...
...
@@ -97,30 +97,30 @@ var WxApiRoot = 'http://localhost:8082/wx/';
目前采用第二张实现,可以分成两种情况:
*
用户主动登
陆
*
用户主动登
录
用户主动登
陆
,指的是
`我的`
页面中用户没有登
陆
显示
`点击登
陆
`
的效果。
用户主动登
录
,指的是
`我的`
页面中用户没有登
录
显示
`点击登
录
`
的效果。
*
用户被动登
陆
*
用户被动登
录
用户被动登
陆
,指的是用户想购买商品或者需要用户登
陆
才能操作的行为,
用户被动登
录
,指的是用户想购买商品或者需要用户登
录
才能操作的行为,
此时因为向服务器请求时token没有设置,因此服务器拒绝用户的请求,同时返回
`401`
业务代码。
目前需要检测用户登
陆
的页面有:
目前需要检测用户登
录
的页面有:
*
购物车
*
我的主页
讨论:
> 对于第二张情况,原nideshop-mini-program项目是采取一种自动登
陆
的方式。
> 对于第二张情况,原nideshop-mini-program项目是采取一种自动登
录
的方式。
> 这里则采用跳转登录页面的方式。
#### 3.2.2.3 登
陆
操作
#### 3.2.2.3 登
录
操作
如前面讨论,这里的登
陆
操作实际包含两个操作
`wx.login`
和
`wx.getUserInfo`
。
用户可以采用
`user.loginByWeixin`
来进行登
陆
操作。
如前面讨论,这里的登
录
操作实际包含两个操作
`wx.login`
和
`wx.getUserInfo`
。
用户可以采用
`user.loginByWeixin`
来进行登
录
操作。
按照官网文档,用户登
陆
前应该检测以下,来避免频繁无意义的登
陆
操作,
按照官网文档,用户登
录
前应该检测以下,来避免频繁无意义的登
录
操作,
因此较合适的做法如下所示:
```
...
...
@@ -131,18 +131,18 @@ var WxApiRoot = 'http://localhost:8082/wx/';
userInfo: res.data.userInfo,
});
}).catch((err) => {
util.showErrorToast('登
陆
失败');
util.showErrorToast('登
录
失败');
});
});
```
#### 3.2.2.4 登
陆
拒绝授权
#### 3.2.2.4 登
录
拒绝授权
还存在一个问题,当用户登
陆
时,会出现"微信授权"的对话框。
如果用户选择”拒绝“,那么之后用户的登
陆
操作总是失败的。
还存在一个问题,当用户登
录
时,会出现"微信授权"的对话框。
如果用户选择”拒绝“,那么之后用户的登
录
操作总是失败的。
目前的做法是,用户拒绝授权后,如果用户登
陆
失败,则返回信息框,
目前的做法是,用户拒绝授权后,如果用户登
录
失败,则返回信息框,
提醒用户“请退出,左滑删除小程序,然后重新进入进行授权”。
### 3.2.3 立即购买和放入购物车
...
...
doc/6.md
View file @
ae37e045
...
...
@@ -36,9 +36,9 @@ public class Application {
目前没有事务管理,因此如果直接把项目用于正式运行中,可能会存在数据不一致等问题。
### 6.1.6 小程序登
陆
设计
### 6.1.6 小程序登
录
设计
个人觉得目前nideshop-mini-program里的登
陆
设计内部实现不是很合理。
个人觉得目前nideshop-mini-program里的登
录
设计内部实现不是很合理。
### 6.1.n 代码重构
...
...
litemall-db/src/main/java/org/linlinjava/litemall/db/util/ResponseUtil.java
View file @
ae37e045
...
...
@@ -42,7 +42,7 @@ public class ResponseUtil {
}
public
static
final
Object
fail401
()
{
return
fail
(
401
,
"请登
陆
"
);
return
fail
(
401
,
"请登
录
"
);
}
public
static
final
Object
unlogin
(){
...
...
litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxCartController.java
View file @
ae37e045
...
...
@@ -41,7 +41,7 @@ public class WxCartController {
@RequestMapping
(
"index"
)
public
Object
index
(
@LoginUser
Integer
userId
)
{
if
(
userId
==
null
){
return
ResponseUtil
.
fail
(
401
,
"请登
陆
"
);
return
ResponseUtil
.
fail
(
401
,
"请登
录
"
);
}
List
<
LitemallCart
>
cartList
=
cartService
.
queryByUid
(
userId
);
...
...
@@ -312,7 +312,7 @@ public class WxCartController {
/*
* 获取购物车商品的总件件数
* 用户也是可选登
陆
,如果没有登
陆
,则返回空数据
* 用户也是可选登
录
,如果没有登
录
,则返回空数据
*/
@RequestMapping
(
"goodscount"
)
public
Object
goodscount
(
@LoginUser
Integer
userId
)
{
...
...
litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxGoodsController.java
View file @
ae37e045
...
...
@@ -55,7 +55,7 @@ public class WxGoodsController {
/**
* 商品详情页数据
* 用户也是可选登
陆
,如果登
陆
了,则查询是否收藏,以及记录用户的足迹
* 用户也是可选登
录
,如果登
录
了,则查询是否收藏,以及记录用户的足迹
*/
@RequestMapping
(
"detail"
)
public
Object
detail
(
@LoginUser
Integer
userId
,
Integer
id
)
{
...
...
@@ -160,7 +160,7 @@ public class WxGoodsController {
/**
* 获取商品列表
* 1. 这里的前五个参数都是可选的,甚至都是空
* 2. 用户也是可选登
陆
,如果登
陆
了,则记录用户的搜索关键字
* 2. 用户也是可选登
录
,如果登
录
了,则记录用户的搜索关键字
*
*/
@RequestMapping
(
"list"
)
...
...
litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxSearchController.java
View file @
ae37e045
...
...
@@ -24,7 +24,7 @@ public class WxSearchController {
/**
* index
* 用户登
陆
是可选的,如果用户登
陆
,则记录用户的搜索数据
* 用户登
录
是可选的,如果用户登
录
,则记录用户的搜索数据
*/
@RequestMapping
(
"index"
)
public
Object
index
(
@LoginUser
Integer
userId
)
{
...
...
litemall-wx/project.config.json
View file @
ae37e045
...
...
@@ -194,7 +194,7 @@
},
{
"id"
:
-1
,
"name"
:
"登
陆
"
,
"name"
:
"登
录
"
,
"pathName"
:
"pages/auth/login/login"
,
"query"
:
""
},
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment