解决问题究极方法

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

后端如何配置各种链接

本地运行时,更改根目录的 config目录下的 application.yml。

jar包运行时更改项目内resource目录下的application.yml。

前端如何配置API

buyer/public/config.js

seller/public/config.js

manager/public/config.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中的配置文件。

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

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

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

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

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

Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]; nested exception is ElasticsearchStatusException[Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]]

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

PS:注意es版本,目前演示站点7.3.x 其他版本如果出现问题自行解决兼容性问题。

自定义es分词无效

检查ik分词器的配置文件IKAnalyzer.cfg.xml中配置的api地址是否正确。 如使用的是docker compose一键部署,则路径在config/ik/config/IKAnalyzer.cfg.xml。 如使用的是自己安装的,则修改自己安装的ik分词器的配置文件。 管理端=》运营=》es分词 设置es自定义分词,设置完成后。需要重新生成相应商品索引,才会在搜索时生效。

ES内存不足

可以调整jvm启动参数,如使用的部署项目的docker-compose部署,则可以直接修改docker-compose文件里的启动参数,如

...
  environment:
      cluster.name: elasticsearch
      discovery.type: single-node
      ES_JAVA_OPTS: -Xms256m -Xmx256m
    logging:
      driver: "json-file"
      options:
        max-size: "50m"
...

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

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

SQL在哪里

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

Unknown collation: 'utf8mb4_0900_ai_ci'

数据库版本不对,需要数据库8.x或者自行调整数据库中的字符集(直接将错误发百度,很多答案)。

短信功能问题

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

如果想真实发短信,配置文件位置为:阿里云短信配置

移动端启动报错

小程序直播插件报错 在manifest中 删除代码。

1

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

密码能否手动设置

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

xxljob干嘛用的

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

rocketmq 干嘛用的

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

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

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

配置文件问题

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

属性覆盖

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

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

属性叠加

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

MINIO部署配置

点击查看

swagger-ui.html无法打开

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

IM 在哪儿

过渡阶段IM开源地址 https://gitee.com/beijing_hongye_huicheng/springboot-websocket 参照readme部署即可,注意数据库需要额外导入以及ws链接的配置

商业授权模式

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

商业使用问题,授权问题

联系群主即可

results matching ""

    No results matching ""