解决问题究极方法

将报错信息最根源的问题,放到百度/谷歌/bing 等网站,进行简单的搜索,可以解决百分之80的问题。

其他文档

https://docs.pickmall.cn/

项目目录介绍

后端:

framework 核心代码

buyer-api 买家API

manager-api 管理端API

seller-api 店铺API

common-api 通用API 例如文件上传,短信发送

consumer 消费者,消费mq,定时任务延时任务

admin 运行监控,可以不用

移动端:

https://uniapp.dcloud.io/ 官网,可以参考,IDE使用 https://www.dcloud.io/hbuilderx.html ,导出H5,还是小程序,还是APP都可以参考官网的内容,有最新的最全的内容。

注意小程序分包问题:必须发行,导出的话代码没有压缩,分包大小存在问题。

其他前端:

项目根目录是一个父目录,不能用node编译运行

seller 商家端UI

buyer 买家PC端UI

manager 管理端UI

项目需要分别运行,运行环境安装

#前端运行环境
#安装npm 
yum install -y nodes
#npm安装yarn
npm install -g yarn
#设置镜像
npm config set registry https://registry.npm.taobao.org -global
npm config set disturl https://npm.taobao.org/dist -global
yarn config set registry https://registry.npm.taobao.org -global
yarn config set disturl https://npm.taobao.org/dist -global
#运行
yarn install && yarn run dev

运行慢,可以尝试翻墙,和配置国内镜像解决。

后端如何配置各种链接

本地运行时,更改根目录的 config目录下的 application.yml,jar包运行时更改项目内resource目录下的application.yml。

前端如何配置API

buyer/src/config/index.js

seller/src/config/index.js

manager/src/config/index.js

配置对应的api_dev/api_prod即可,

api_dev,本地运行,例如yarn run dev这类型时读取。

api_prod 编译运行,例如yarn build 之后的项目,api读取api_prod中的配置文件。

H5 如何配置api

根目录/config/api.js

dev,本地运行,例如yarn run dev这类型时读取。

prod 编译运行,例如yarn build 之后的项目,api读取api_prod中的配置文件。

JDK版本

jdk目前使用1.8版本,以上版本和以下版本均未测试过,建议使用1.8X

第一次部署之后商品无法搜索

商品索引初始化位于 管理端=》系统设置=〉商品设置 ,点击重制商品索引,es目前官方使用7.3版本,且需要配置IK分词器,如果需要单独部署,注意版本兼容以及分词器问题处理。

URI [/lili_goods/_search?]**[attrList] is not nested

默认es索引mapping结构不对,执行索引初始化即可,商品索引初始化位于 管理端=》系统设置=〉商品设置 ,点击重制商品索引

docker运行官方镜像,运行之后无法访问到

项目镜像目前都是写死的内容,api地址,跳转地址,都是127.0.0.1 也就是说,只能本机访问,局域网IP都不可以,后续会增加更智能的镜像

Docker镜像端口号如何设置

群友反馈端口号没有映射,无法访问。

解释这个问题需要先了解docker 的网络模式的区别:

安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络)、 none 、host

host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。

None:该模式关闭了容器的网络功能。

Bridge:此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信。

完整的解释https://www.cnblogs.com/zuxing/articles/8780661.html

示例中应用的镜像脚本,网络模型都是host,所以它采用的是宿主机的端口,所以无法看到映射内容。

Docker API 没有dockerfile如何打包?

使用的是maven打包插件,执行命令即可

mvn clean package docker:build  -DskipTests  -DpushImage

SQL在哪里

点击跳转 https://gitee.com/beijing_hongye_huicheng/docker/tree/master/init/mysql 这里有与tag版本一致的sql,根据tag获取sql,如果使用master代码,则需要在lilishop项目根目录的update-sql目录中,获取对应的升级sql。

swagger-ui.html无法打开

项目访问 doc.html 即可,使用到了一个ui具体详情可以自行研究。

配置文件问题

springboot jar包运行时,默认加载项目中的配置文件,同时扫描运行目录的config目录,如果有配置文件,会覆盖项目中原有的配置文件。

属性覆盖

例如项目resource目录下,有个配置文件中配置 lili.system.isDemoSite 为 true

项目根目录有config文件夹,里边有文件application.yml,配置信息中 lili.system.isDemoSite 为false,则项目启动时加载的信息为false。

属性叠加

项目resource目录下,有配置文件,配置了项目端口号。根目录也有配置文件中,没有配置运行端口号,则还按照项目中的配置的端口号去运行。

功能限制,提示 演示站点禁止使用

配置文件配置中 lili.system.isDemoSite 为true时,系统部分功能限制,会出现这个提示。

短信功能问题

配置文件配置中 lili.system.isTestModel 为true时,系统不会真的发送短信,验证码默认为6个1。

Error creating bean with name 'jpaAuditingHandler *

数据库模型DO与数据库中的实体不一致,可以打开日志 org.hibernate ,级别调整至DEBUG,来仔细过滤每一行错误警告,即可解决问题。

Unknown collation: 'utf8mb4_0900_ai_ci'

数据库版本不对,需要数据库8.x或者自行调整数据库中的字符级

密码能否手动设置

前端交互时,已经对密码进行md5处理,在后端接收方,会进行二次加密,所以如果需要手动设置密码,需要经过两次加密后写在数据库才可以。

已付款订单无法发货,状态为已付款

订单状态变成“代发货”,需要消费者服务启动(consumer),注意MQ是否异常。如果一切状态正确,订单会进入到代发货状态或者是取消状态。(为取消,则表示因为库存不足,或者促销活动库存不足问题)

mongoDB干嘛用的

mongoDB用于存储复杂的促销多对多关系,另外额外存储了一份系统日志,性能高于mysql,低于redis,是一种考虑到性能之后使用的缓存中间件,可以自行去除。mongodb不需要导入数据库,根本上来说,mongodb更偏向缓存,而不是数据库的存在,望知悉。

xxljob干嘛用的

定时任务定时调度,不启动不会报错,但是会影响定时任务,例如商品评分店铺评分

rocketmq 干嘛用的

消息队列,即把一部分任务放在一个地方排序,让消费者去顺序消费。可以让一些场景不被卡住,例如下单场景,可以先下单成功,并发下单不会卡死,让用户的请求被卡住。

数据库模型 id是什么时候写入的

查看此类 cn.lili.base.mybatisplus.MyMetaObjectHandler,简单来说就是在数据库实际操作前,会对对象进行二次操作,比如判定没有id则写入id,有id则不覆盖这样的逻辑

商业授权模式

商业授权,代码没有不同的地方,商业授权只是一致合同协议,未被商业授权进行商业运营,会有律师函送到。商业授权费用很低,只是作为引流的手段。

商业使用问题,授权问题

联系群主即可

results matching ""

    No results matching ""