Commit fb5e4afc authored by Menethil's avatar Menethil
Browse files

Merge branch 'master' into dev

# Conflicts:
#	litemall-admin/config/dep.env.js
parents 9a5cd455 cd8441e8
......@@ -75,7 +75,49 @@ litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端
1. 浏览器打开,输入以下网址[http://122.152.206.172:8080/#/login](http://122.152.206.172:8080/#/login)
2. 管理员名称`admin123`,管理员密码`admin123`
![](doc/pic/4.png)
![](doc/pic/4.png)
## 快速启动
1. 配置最小开发环境:
* [MySQL](https://dev.mysql.com/downloads/mysql/)
* [JDK1.8或以上](http://www.oracle.com/technetwork/java/javase/overview/index.html)
* [Maven](https://maven.apache.org/download.cgi)
* [Nodejs](https://nodejs.org/en/download/)
* [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)
2. 数据库依次导入litemall-db/sql下的数据库文件
* litemall_schema.sql
* litemall_table.sql
* litemall_data.sql
3. 启动小商场和管理后台的后台服务
打开命令行,输入以下命令
```bash
cd litemall
mvn install
mvn package
cd ./litemall-all
mvn spring-boot:run
```
4. 启动管理后台前端
打开命令行,输入以下命令
```bash
cd litemall/litemall-admin
cnpm install
cnpm run dev
```
此时,浏览器打开,输入网址`http://localhost:9527`, 此时进入管理后台登录页面。
5. 启动小商城前端
打开微信开发者工具,导入litemall-wx模块,点击`编译`即可,此时可以预览小商场效果。
注意:
> 这里只是最简启动方式,而且小商场的微信登录会失败,更详细方案请参考文档。
## 开发计划
......@@ -99,9 +141,6 @@ V 3.0.0 完成以下目标:
2. 后台服务加强安全功能、配置功能
3. 缓存功能以及优化一些性能
警告:
> **以上仅仅是个人规划的开发计划,实际可能出现任何情况,例如能力有限而放弃开发。**
## 警告
> 1. 本项目仅用于学习练习
......@@ -121,16 +160,14 @@ V 3.0.0 完成以下目标:
![](doc/pic/qq.png)
开发者有问题或者好的建议可以用Issues反馈交流,请给出详细信息,本人会尽可能解决。
* 如果问题是共性问题(如代码bug或文档不全),本人会及时解决。
* 如果问题是个人问题(如开发者了解不深入或者没有相关技术),请见谅(本人也是百度和谷歌)。
* 开发者有问题或者好的建议可以用Issues反馈交流,请给出详细信息
* 在开发交流群中应讨论开发、业务和合作问题
* 如果真的需要QQ群里提问,请在提问前先完成以下过程:
* 请仔细阅读本项目文档,特别是是[**FAQ**](./doc/7.md),查看能否解决;
* 请仔细阅读本项目文档,特别是是[**FAQ**](./doc/FAQ.md),查看能否解决;
* 请阅读[提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md)
* 请百度或谷歌相关技术;
* 请查看相关技术的官方文档,例如微信小程序的官方文档;
* 请提问前尽可能做一些DEBUG或者思考分析,然后提问时给出详细的错误相关信息以及个人对问题的理解。
* 在开发交流群中应讨论开发、业务和合作问题。
## 相关项目
......
/litemall-admin/dist.tar
/litemall-db/litemall_schema.sql
/litemall-db/litemall_table.sql
/litemall-db/litemall_data.sql
/litemall-api/litemall-admin-api.jar
/litemall-api/litemall-wx-api.jar
\ No newline at end of file
/db/litemall.sql
/litemall/litemall.jar
## deploy
1. 项目进一步打包到deploy文件夹中:
* litemall-wx-api模块编译得到的litemall-wx-api-0.1.0-exec.jar 保存到deploy的litemall-api文件夹中,同时重命名成litemall-wx-api.jar
* litemall-admin-api模块编译得到的litemall-admin-api-0.1.0-exec.jar 保存到deploy的litemall-api文件夹中,同时重命名成litemall-admin-api.jar
* litemall-admin模块编译以后,把dist文件夹压缩,然后放到deploy的litemall-admin文件夹中。
* litemall-db模块的sql文件拷贝到deploy的litemall-db文件夹中。
### 项目打包
2. 使用FileZilla把deploy整个文件夹上传到云主机的/home/ubuntu文件夹中
1. 在主机或者开发机打包项目到deploy;
```
cd litemall
cat ./litemall-db/sql/litemall_schema.sql > ./deploy/db/litemall.sql
cat ./litemall-db/sql/litemall_table.sql >> ./deploy/db/litemall.sql
cat ./litemall-db/sql/litemall_data.sql >> ./deploy/db/litemall.sql
cd ./litemall-admin
cnpm install
cnpm run build:dep
cd ..
mvn clean package
cp -f ./litemall-all/target/litemall-all-*-exec.jar ./deploy/litemall/litemall.jar
```
这里的工作是:
1. 把数据库文件拷贝到deploy/db文件夹
2. 编译litemall-admin项目
3. 编译litemall-all模块,同时把litemall-admin编译得到的静态文件拷贝到
litemall-all模块的static目录
2. 修改litemall文件夹下面的*.yml外部配置文件,当litemall-all模块启动时会
加载外部配置文件,而覆盖默认jar包内部的配置文件。
例如,配置文件中一些地方需要设置成远程主机的IP地址
此时deploy部署包结构如下:
3. 使用PuTTY登录云主机
* bin
4. 如果开发者没有部署litemall数据库,可以运行以下命令:
存放远程主机运行的脚本,包括deploy.sh脚本和reset.sh脚本
```bash
cd deploy
mysql -h localhost -u root -p123456
source ./litemall-db/litemall_schema.sql
use litemall;
source ./litemall-db/litemall_table.sql
source ./litemall-db/litemall_data.sql
```
注意,123456是开发者所设置的MySQL管理员密码
警告:
> litemall_schema.sql会尝试删除litemall数据库然后重建一个新的数据。
* db
5. 运行脚本部署运行
存放litemall数据库文件
```bash
sudo ./deploy/bin/deploy.sh
```
* litemall
存放远程主机运行的代码,包括litemall-all二进制可执行包和litemall外部配置文件
* util
存放开发主机运行的脚本,包括package.sh脚本和lazy.sh脚本。
由于是本地开发主机运行,因此开发者可以不用上传到远程主机。
6. 测试部署是否成功
请确保云主机的安全组已经允许相应的端口(见1.5.3.1);
然后测试是否部署成功(xxx.xxx.xxx.xxx是云主机IP):
### 项目部署
1. 远程主机环境(MySQL和JDK1.8)已经安装好,请确保云主机的安全组已经允许相应的端口。
2. 导入db/litemall.sql
```bash
cd /home/ubuntu/deploy/db
mysql -h localhost -u $ROOT -p$PASSWORD < litemall.sql
```
3. 启动服务
```bash
sudo service litemall stop
sudo ln -f -s /home/ubuntu/deploy/litemall/litemall.jar /etc/init.d/litemall
sudo service litemall start
```
http://xxx.xxx.xxx.xxx:8082/wx/index/index
http://xxx.xxx.xxx.xxx:8083/admin/index/index
4. 测试是否部署成功(xxx.xxx.xxx.xxx是云主机IP):
```
http://xxx.xxx.xxx.xxx:8080/wx/index/index
http://xxx.xxx.xxx.xxx:8080/admin/index/index
http://xxx.xxx.xxx.xxx:8080/#/login
```
7. 部署脚本
### 项目辅助脚本
为了简化步骤1和步骤2,完成了deploy/util/package.sh上传脚本和deploy/util/lazy.sh部署脚本,
注意:
> 1. 开发者需要在deploy/util/package.sh和deploy/util/lazy.sh中设置相应的云主机登录账号和密钥文件路径。
> 2. 开发者需要在deploy/bin/reset.sh设置云主机的MySQL的root登录账户。
> 3. 请先执行1.5.1中上述步骤,确保部署环境成功。
* package.sh
在前面的项目打包和项目部署中都是采用手动命令来部署。
这里可以写一些脚本简化:
* util/packet.sh
在开发主机运行可以自动项目打包
* util/lazy.sh
在开发主机运行可以自动项目打包、项目上传远程主机、自动登录系统执行项目部署脚本。
该脚本会自动把当前项目Spring Boot项目打包和Vue项目打包工作,然后复制到deploy文件夹中。
* lazy.sh
注意:
> 1. 开发者需要在util/lazy.sh中设置相应的远程主机登录账号和密钥文件路径。
> 2. 开发者需要在bin/reset.sh设置远程主机的MySQL的root登录账户。
该脚本会调用package.sh打包项目,然后上传deploy文件夹到云主机,最后ssh登录远程主机执行bin下面的deploy.sh脚本。
\ No newline at end of file
* bin/deploy.sh
在远程主机运行可以自动部署服务
* bin/reset.sh
在远程主机运行可以自动项目导入数据、删除本地上传图片、再执行bin/deploy.sh部署服务。
注意:
> 开发者需要在bin/reset.sh设置远程主机的MySQL的root登录账户。
总结,当开发者设置好配置信息以后,可以在本地运行lazy.sh脚本自动一键部署:
```bash
cd litemall
./deploy/util/lazy.sh
```
不过由于需要设置的信息会包含敏感安全信息,强烈建议开发者参考这里的deploy文件夹,
然后实现自己的deploy文件夹,妥善处置外部配置文件和脚本中的敏感安全信息!!!
\ No newline at end of file
#!/bin/bash
# 请注意
# 1. 本脚本的作用是停止当前Spring Boot应用,然后再次部署
# 2. 解压dist.tar到/home/ubuntu/deploy/litemall-admin/dist,
# 而这个目录也正是tomcat或者nginx所配置静态文件目录的路径(见1.5.3.5节)
#部署litemall-admin静态文件应用
cd /home/ubuntu/deploy/litemall-admin
rm -rf dist
mkdir dist
tar -zxvf dist.tar -C dist
#部署三个Spring Boot应用
#如果服务已经启动,则尝试停止
sudo service litemall-wx-api stop
sudo service litemall-admin-api stop
#部署Spring Boot应用成服务
sudo ln -f -s /home/ubuntu/deploy/litemall-api/litemall-wx-api.jar /etc/init.d/litemall-wx-api
sudo ln -f -s /home/ubuntu/deploy/litemall-api/litemall-admin-api.jar /etc/init.d/litemall-admin-api
#启动服务
sudo service litemall-wx-api restart
sudo service litemall-admin-api restart
# 如果静态文件是通过tomcat来服务,则tomcat8服务最好也再启动
#sudo service tomcat8 stop
#sudo service tomcat8 start
\ No newline at end of file
# 本脚本的作用是停止当前Spring Boot应用,然后再次部署
sudo service litemall stop
sudo ln -f -s /home/ubuntu/deploy/litemall/litemall.jar /etc/init.d/litemall
sudo service litemall start
\ No newline at end of file
......@@ -18,15 +18,12 @@ then
exit -1
fi
cd /home/ubuntu/deploy/litemall-db
cat litemall_schema.sql > db.sql
cat litemall_table.sql >> db.sql
cat litemall_data.sql >> db.sql
mysql -h localhost -u $ROOT -p$PASSWORD < db.sql
rm db.sql
# 导入数据
cd /home/ubuntu/deploy/db
mysql -h localhost -u $ROOT -p$PASSWORD < litemall.sql
# 删除storage文件夹内文件
cd /home/ubuntu/deploy/litemall-api/storage
cd /home/ubuntu/deploy/litemall/storage
rm -f ./**
# 重新部署服务
......
litemall:
# 开发者应该设置成自己的wx相关信息
wx:
app-id: wxa5b486c6b918ecfb
app-secret: e04004829d4c383b4db7769d88dfbca1
mch-id: 111111
mch-key: xxxxxx
notify-url: http://122.152.206.172:8080/wx/order/pay-notify
#通知相关配置
notify:
mail:
# 邮件通知配置,邮箱一般用于接收业务通知例如收到新的订单,sendto 定义邮件接收者,通常为商城运营人员
enable: false
host: smtp.exmail.qq.com
username: ex@ex.com.cn
password: XXXXXXXXXXXXX
sendfrom: ex@ex.com.cn
sendto: ex@qq.com
# 短消息模版通知配置
# 短信息用于通知客户,例如发货短信通知,注意配置格式;template-name,template-templateId 请参考 NotifyType 枚举值
sms:
enable: false
appid: 111111111
appkey: xxxxxxxxxxxxxx
template:
- name: paySucceed
templateId: 156349
- name: captcha
templateId: 156433
- name: ship
templateId: 158002
- name: refund
templateId: 159447
# 微信模版通知配置
# 微信模版用于通知客户或者运营者,注意配置格式;template-name,template-templateId 请参考 NotifyType 枚举值
wx:
enable: false
template:
- name: paySucceed
templateId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- name: captcha
templateId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- name: ship
templateId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- name: refund
templateId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 快鸟物流查询配置
express:
enable: false
appId: "XXXXXXXXX"
appKey: "XXXXXXXXXXXXXXXXXXXXXXXXX"
vendors:
- code: "ZTO"
name: "中通快递"
- code: "YTO"
name: "圆通速递"
- code: "YD"
name: "韵达速递"
- code: "YZPY"
name: "邮政快递包裹"
- code: "EMS"
name: "EMS"
- code: "DBL"
name: "德邦快递"
- code: "FAST"
name: "快捷快递"
- code: "ZJS"
name: "宅急送"
- code: "TNT"
name: "TNT快递"
- code: "UPS"
name: "UPS"
- code: "DHL"
name: "DHL"
- code: "FEDEX"
name: "FEDEX联邦(国内件)"
- code: "FEDEX_GJ"
name: "FEDEX联邦(国际件)"
# 对象存储配置
storage:
# 当前工作的对象存储模式,分别是local、aliyun、tencent
active: local
# 本地对象存储配置信息
local:
storagePath: storage
address: http://122.152.206.172:8080/wx/storage/fetch/
# 阿里云对象存储配置信息
aliyun:
endpoint: oss-cn-shenzhen.aliyuncs.com
accessKeyId: 111111
accessKeySecret: xxxxxx
bucketName: xxxxxx
# 腾讯对象存储配置信息
# 请参考 https://cloud.tencent.com/document/product/436/6249
tencent:
secretId: 111111
secretKey: xxxxxx
region: xxxxxx
bucketName: xxxxxx
\ No newline at end of file
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
spring:
datasource:
druid:
url: jdbc:mysql://localhost:3306/litemall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&verifyServerCertificate=false&useSSL=false
driver-class-name: com.mysql.jdbc.Driver
username: litemall
password: litemall123456
initial-size: 10
max-active: 50
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
validation-query: SELECT 1 FROM DUAL
test-on-borrow: false
test-on-return: false
test-while-idle: true
time-between-eviction-runs-millis: 60000
filters: stat,wall,log4j
spring:
profiles:
active: db, core, admin, wx
message:
encoding: UTF-8
server:
port: 8080
logging:
level:
root: ERROR
org.springframework: ERROR
org.mybatis: ERROR
org.linlinjava.litemall.core: ERROR
org.linlinjava.litemall.db: ERROR
org.linlinjava.litemall.admin: ERROR
org.linlinjava.litemall.wx: ERROR
org.linlinjava.litemall: ERROR
\ No newline at end of file
......@@ -3,7 +3,7 @@
# 本脚本的作用是
# 1. 项目打包
# 2. 上传云主机
# 3. 远程登录云主机并执行deploy脚本
# 3. 远程登录云主机并执行reset脚本
# 请设置云主机的IP地址和账户
# 例如 ubuntu@122.152.206.172
......@@ -34,10 +34,12 @@ cd $LITEMALL_HOME
./deploy/util/package.sh
# 上传云主机
cd $LITEMALL_HOME
scp -i $ID_RSA -r ./deploy $REMOTE:/home/ubuntu/
# 远程登录云主机并执行deploy脚本
# 远程登录云主机并执行reset脚本
ssh $REMOTE -i $ID_RSA << eeooff
sudo ./deploy/bin/deploy.sh
cd /home/ubuntu
sudo ./deploy/bin/reset.sh
exit
eeooff
\ No newline at end of file
......@@ -2,9 +2,9 @@
# 请注意
# 本脚本的作用是把本项目编译的结果保存到deploy文件夹中
# 1. 把项目数据库文件拷贝到litemall-db
# 2. 编译litemall-admin,然后打包到litemall-admin
# 3. 编译后台服务模块,然后拷贝到litemall-api
# 1. 把项目数据库文件拷贝到deploy/db
# 2. 编译litemall-admin
# 3. 编译litemall-all模块,然后拷贝到deploy/litemall
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
cd $DIR/../..
......@@ -12,24 +12,17 @@ LITEMALL_HOME=$PWD
echo "LITEMALL_HOME $LITEMALL_HOME"
# 复制数据库
cp -f ./litemall-db/sql/litemall_schema.sql ./deploy/litemall-db/litemall_schema.sql
cp -f ./litemall-db/sql/litemall_table.sql ./deploy/litemall-db/litemall_table.sql
cp -f ./litemall-db/sql/litemall_data.sql ./deploy/litemall-db/litemall_data.sql
cat $LITEMALL_HOME/litemall-db/sql/litemall_schema.sql > $LITEMALL_HOME/deploy/db/litemall.sql
cat $LITEMALL_HOME/litemall-db/sql/litemall_table.sql >> $LITEMALL_HOME/deploy/db/litemall.sql
cat $LITEMALL_HOME/litemall-db/sql/litemall_data.sql >> $LITEMALL_HOME/deploy/db/litemall.sql
cd ./litemall-admin
cd $LITEMALL_HOME/litemall-admin
# 安装阿里node镜像工具
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 安装node项目依赖环境
cnpm install
cnpm run build:dep
cd ..
# 压缩litemall-admin应用
tar -zcvf ./deploy/litemall-admin/dist.tar -C ./litemall-admin/dist .
# 复制三个Spring Boot应用
# 需要注意的是target目录里面存在两种jar,一种是当前模块纯编译代码的jar,另外一种是包含依赖库的可执行jar,
# 这里我们需要的是可执行jar
mvn clean
mvn package
cp -f ./litemall-wx-api/target/litemall-wx-api-*-exec.jar ./deploy/litemall-api/litemall-wx-api.jar
cp -f ./litemall-admin-api/target/litemall-admin-api-*-exec.jar ./deploy/litemall-api/litemall-admin-api.jar
\ No newline at end of file
cd $LITEMALL_HOME
mvn clean package
cp -f $LITEMALL_HOME/litemall-all/target/litemall-all-*-exec.jar $LITEMALL_HOME/deploy/litemall/litemall.jar
\ No newline at end of file
# 5 litemall商场网站
目前不开发
## 5.1 litemall-web-api
## 5.2 litemall-web
# 6 下一步计划
6.1节涉及到技术层面需要改进的部分,而6.2节则是业务方面未实现的部分,这两个部分的代码都会在本项目中实现。而6.3节会进一步完善本项目的安全和性能,但是不一定会在本项目中实现,因为会增加相当大的复杂性。
## 6.1 技术
### 6.1.1 ENUM
数据库中涉及到枚举类型的字段,目前设置成VARCHAR。
下一步应该设计不同的业务enum类型,然后mybatis自定义BaseTypeHandler来处理不同的枚举类型。
### 6.1.2 litemall-db AutoConig
目前,litemall-admin-api和litemall-wx-api引入litemall-db的时候,需要在Application类中显式注解查找包和MapperScan来对litemall-db中的mapper查找,此外需要在application.properties配置文件中完成对数据库、数据池等配置。
例如
```
@SpringBootApplication(scanBasePackages={"org.linlinjava.litemall.admin","org.linlinjava.litemall.db"})
@MapperScan("org.linlinjava.litemall.db.dao")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```
下一步,应该自动部署,即引入litemall-db则会自动引入对mapper的查找,
同时自动部署对数据库、PageHelper和Druid的配置。
### 6.1.3 统一对日期时间域的处理
目前,数据库的日期时间域有的采用DATE,有的是DATETIME,而对应Java用LocalDate和LocalDateTime。
下一步应该根据具体业务功能采用合适的。
### 6.1.4 vue-element-admin跟新
目前的vue-element-admin基于element 2.0.8, 因此element的很多修复没有跟新。
### 6.1.n 代码重构
技术不断迭代开发中,应该在业务基本完成和功能基本完善以后,
重新审视代码架构和技术,或者重构代码,或者采用更为合理的技术。
## 6.2 业务
### 6.2.1 支付模块
目前微信支付模块因缺乏支付权限而不能开发。
### 6.2.3 监控管理
项目运行的整个运行过程应该需要监控管理
### 6.2.4 权限管理
目前安全实现非常粗糙,仅仅依赖管理员的名称和密码。
更好的做法是引入角色权限机制。
## 6.3 企业级
### 6.3.1 安全(必须)
尽在系统所有业务功能完整实现以后。
### 6.3.2 性能(建议)
仅在系统所有业务功能完整实现以后。
性能的提升存在多种方案。
目前考虑到的技术方案:
* 采用内存数据库,如redis,缓存一些改动较少的数据,例如行政区域数据。
* 数据库方面可以引入冗余,例如首页的数据可以先从其他表更新到一个独立的表。
### 6.3.3 对象存储云服务(建议)
仅在系统所有业务功能完整实现以后。
对象存储云服务不一定是必须的:
* 局域网中只能采用内部对象存储服务
* 对象存储云服务也是一笔开销
* 引入对象存储云服务也增加了一定的复杂性
* 导致对具体云平台的耦合
当然,对象存储云服务的益处也是毋庸置疑的,因此建议部署使用。
### 6.3.4 云数据库(必须)
同上,如果仅在局域网中部署项目,那么数据库的部署也只能是在局域网中,但是在互联网中部署应用,数据的重要性和优先级是最高的,采用云数据库可以方便带来其提供的安全和性能服务。
### 6.3.5 短信服务(必须)
真正的项目里面肯定需要短信功能。
### 6.3.6 推荐系统(可选)
目前的关键字是管理员设置,然后用户的搜索时匹配关键字,因此需要专业的推荐系统。
Apache Solor
### 6.3.7 Spring Boot 2.0
### 6.3.8 Spring Cloud
### 6.3.8 定时任务模块
### 6.3.9 单点登录模块
### 6.3.10 消息队列
\ No newline at end of file
# 7. 常见问题
# 常见问题
## 7.1 小商城
## 小商城
### 7.1.1 小程序微信登录失败
### 小程序微信登录失败
原因:
......@@ -13,7 +13,7 @@
1. 如果只是体验商品购买流程,开发者可以采用账号注册登录方式。
2. 开发者在litemall-wx和litemall-wx-api模块的appid等信息设置成自己申请的信息。
#### 7.1.1.1 appid已经修改,微信登陆仍然失败
#### appid已经修改,微信登陆仍然失败
现象:
......@@ -27,7 +27,7 @@
微信开发者工具中修改appid以后,请关闭litemall-wx项目或者微信开发者工具,重新启动导入litemall-wx。
### 7.1.2 手机真机测试不正常
### 手机真机测试不正常
现象:
......@@ -45,7 +45,7 @@
* 小商场的后台服务未启动
2. 手机小商场的**调试功能**开启
### 7.1.3 第三方手机测试不正常
### 第三方手机测试不正常
现象:
......@@ -57,7 +57,7 @@
2. 第三者手机小商场的**调试功能**开启
3. 在微信小程序平台设置第三者的微信账号是**体验者**
### 7.1.4 微信支付失败
### 微信支付失败
现象:
......@@ -67,18 +67,18 @@
开发者必须拥有商户支付权限,然后设置好以下信息:
```
wx.app-id=
wx.app-secret=
wx.mch-id=
wx.mch-key=
wx.notify-url=
litemall.wx.app-id=
litemall.wx.app-secret=
litemall.wx.mch-id=
litemall.wx.mch-key=
litemall.wx.notify-url=
```
解决方案:
参考`3.0 小商场环境`,设置相应支付配置信息
### 7.1.5 支付成功,但商品仍未付款
### 支付成功,但商品仍未付款
现象:
......@@ -99,9 +99,9 @@ wx.notify-url=
2. 如果开发者已经上线服务,请确认`wx.notify-url`所指向的访问链接可以正常工作。
## 7.2 管理后台
## 管理后台
### 7.2.1 Invalid bound statement
### Invalid bound statement
现象:
......@@ -123,11 +123,11 @@ mvn clean
mvn package
```
## 7.3 基础系统
## 基础系统
## 7.4 项目
## 项目
### 7.4.1 项目导入IDEA时卡顿
### 项目导入IDEA时卡顿
现象:
......@@ -142,4 +142,4 @@ node_modules是litemall-admin所依赖的项目库,可能有近200M的文件
解决方案:
右键把node_modules设置Excluded
![](./pic7/excluded.png)
![](./pic/excluded.png)
......@@ -3,10 +3,8 @@
* [介绍](../README.md)
* [更新日志](../CHANGELOG.md)
* [贡献指南](../CONTRIBUTE.md)
* [1. 系统架构](./1.md)
* [2. 基础系统](./2.md)
* [3. 小商场](./3.md)
* [4. 管理后台](./4.md)
* [5. 商场](./5.md)
* [6. 下一步计划](./6.md)
* [7. FAQ](./7.md)
\ No newline at end of file
* [FAQ](./FAQ.md)
* [1. 系统架构](./project.md)
* [2. 基础系统](./platform.md)
* [3. 小商场](./wxmall.md)
* [4. 管理后台](./admin.md)
\ No newline at end of file
......@@ -7,7 +7,7 @@
* vuex
* vue-router
* axios
* element-ui
* element
* vue-element-admin
* 其他,见package.json
* 后台管理后端, 即litemall-admin-api模块
......@@ -16,32 +16,20 @@
目前存在的问题:
* `严重`业务功能重新设计,例如即使是管理员也不能删除修改用户的相关数据
* `严重`商品和货品管理,特别是添加一个商品
* `缺失`支持微信登录
* `缺失`后台采用事务
* `缺失`首页中实现一些小组件,同时点击能够跳转相应页面
* `缺失`商品评价中管理员回复功能
* `缺失`支持导出表所有数据
* `改善`返回的时间日期,在前端显示20180101T0000格式,效果不好
* `改善`管理员登录页面打开慢,优化速度
* `改善`大部分页面仅仅是一个表CRUD的效果,交互性一般。
例如,显示商品的时候,只是简单显示表中保存的类目ID和品牌商ID,
更好的效果可能是显示对应的类目名称和品牌商名称,
同时能够显示更详细的类目信息和品牌商信息。
* `改善`页面中图片数据目前是显示地址,更好地做法应该是显示小图片,
同时支持点击放大的效果
* `改善`地址优化,目前每一次点击都会请求后台,应该缓存已有的数据
* `改善`查询时排序功能
* `改善`vue和vue-element-admin等及时更新
* `功能`系统角色和权限
* `功能`系统日志功能
* `功能`系统数据字典功能
* `功能`系统栏目管理功能
* `功能`支持国际化???
* `功能`支持国际化
* `功能`支持数据库备份
## 4.1 litemall-admin-api
本节介绍管理后台的后台服务模块。
......
doc/pic1/1-2.png

96.6 KB | W: | H:

doc/pic1/1-2.png

115 KB | W: | H:

doc/pic1/1-2.png
doc/pic1/1-2.png
doc/pic1/1-2.png
doc/pic1/1-2.png
  • 2-up
  • Swipe
  • Onion skin
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