# 后端相关
### Maven依赖拉取不下来
- 更换网络环境、清空本地repository仓库或使用 [阿里公共仓库镜像](https://help.aliyun.com/document_detail/102512.html?spm=a2c40.aliyun_maven_repo.0.0.36183054dw7zZy)
### 更新项目代码后报错
- 可能已更新sql文件,请重新导入xboot.sql,并清空Redis(相关)缓存
### 管理员账密
- admin 123456
### 没找到登录`/login`相关接口
- 安全框架使用 [Spring Security](https://github.com/spring-projects/spring-security),请先了解学习其基本使用
### 修改数据库数据后数据未生效
- 请同步清空Redis缓存,项目已有代码中已加入大量缓存设计
### JPA未自动生成表结构
- 1. 若已运行项目请检查热更新插件是否生效,尝试手动重启项目
- 2. 若重启项目后仍未自动生成表,请检查定义的字段名称是否合法(检查日志中是否有相关日志打印)
### 后端运行报错:`...you have not installed the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files in this Java Virtual Machine`
- 配置文件加解密需要
- 方案一:配置先全部直接使用明文
- 方案二:请更新JDK为对应版本的最新版,或去Oracle官网下载相应的JCE包
### MySQL无法存储emoji、不常用汉字等特殊Unicode字符
- 当然可修改数据库所有编码默认为`utf8mb4`,为了节省空间,建议请修改具体需要的字符型字段的编码及排序规则为`utf8mb4`即可,如:
```sql
ALTER TABLE 表名 MODIFY COLUMN 列名 varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
### JRebel控制台报错:`JRebel: ERROR Class 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor...'`
- JRebel插件相关报错,说明插件版本较低,升级JRebel插件至最新版即可
### JRebel热更新未生效
- 请手动点击编译按钮或编译器中配置更新策略
<img src="https://ooo.0o0.ooo/2020/04/27/mLtDBlNpuAkh3sn.png" width="600px"/>
### 如何实现多数据源
- 推荐使用该开源组件 https://dynamic-datasource.com/guide
### 部署后返回数据中文乱码
- 若打包部署后返回的数据中文出现乱码,请运行时加上参数 `-Dfile.encoding=utf-8`(添加至java -jar后),如`java -jar -Dfile.encoding=utf-8 XXX.jar`
### MySQL数据库远程连接慢
- 尝试配置`skip_name_resolve`
### 本地配置定位Api后无法获取到IP信息
- 本地开发时无法获取到真实IP,上线后才能获取到客户端IP
---
# 前端相关
### 项目启动报错
- 确保安装依赖过程中npm i没有报错,可删除node_modules以及package-lock.json重新npm i尝试,推荐尝试使用yarn或者cnpm安装依赖
### 添加菜单后未显示
- 1. 请确保该一级菜单至少包含一个子级菜单
- 2. 记得为该用户拥有的角色分配该菜单权限,“系统管理-角色管理”中“菜单权限”按钮分配即可
### 添加一级菜单后没有显示
- 在菜单管理中为该一级菜单再添加一个子级菜单,并将该一级菜单配置为始终显示
### 添加一级和二级菜单后只显示了二级
- 在菜单管理中将其一级菜单配置为始终显示
### 如何添加更多级菜单?
- 目前暂限制添加三级菜单(包含顶部菜单),如需更多级请考虑其他方式:推荐使用`Tab`组件或`Menu`等组件,参考`系统监控-操作日志`或`XBoot业务组件`菜单页面,将每个子级页面内容封装成单独组件即可,用户使用体验更佳
### 页面标签有缓存
- 不想要缓存的页面还可以在`/src/store/modules/app.js`中的`dontCache`配置,或者修改vue组件name与菜单管理中配置的路由英文名name不同
### 页面标签缓存未生效
- 请确保Vue组件name与菜单管理中配置的路由英文名name相同
### 浏览器`Vue-Devtools`开发插件在该项目中无法正常使用
- 因该项目已启用CDN,可参考前端部署优化部分进行逆向操作移除CDN;或替换CDN链接不要使用压缩版min.js,改为vue.js即可
---
# 工作流相关
### 模型设计器加载404
- 本地开发时系统配置菜单中部署域名直接填入后端接口地址`http://127.0.0.1:8888`,填写后需刷新页面重新读取
### 部署后字符乱码
- 若部署后流程图中文字符无法显示,是因为服务器环境jdk中无相应中文字体,百度安装即可(配置文件已配置微软雅黑,默认宋体)
> 其他问题详见文档完整版开发指南中的Activiti部分
- 前言&版本说明
- 概念
- XBoot 是什么?
- 系统架构
- 主要使用的开源组件
- 角色控制访问权限(RBAC)
- 用户手册
- 系统配置
- 工作流使用配置
- 定时任务调度
- 智能助手客服机器人
- 项目本地运行
- 后端运行
- 前端运行
- 项目结构说明
- 附:使用Oracle等数据库
- 模块化版本
- 后端开发指南
- 基本开发指南
- 前后端数据交互标准
- 工具类及数据权限
- 代码生成器-30秒搞定CRUD
- 增删改查CRUD
- 日志类型注解扩展
- 逻辑删除
- 各验证码使用及配置
- 接口文档使用及认证
- 前端开发指南
- 基本开发指南
- 主题/Logo/首页等配置
- 路由菜单配置
- 多语言国际化配置
- 自定义图标icon
- 工具类及数据获取
- 其他说明
- 完整版开发指南
- 前端Vue代码生成器
- Activiti工作流
- 单点登录配置
- 智能助手/客服机器人
- MinIO对象存储服务搭建
- 第三方社交账号配置
- 短信开发/站内消息/邮件
- Vaptcha验证码
- 禁用词使用
- 前端移除CDN
- 其他说明
- 开放平台及单点登录
- 开放平台使用指南
- Web接入开发流程
- 单点登录开发指南
- 微信小程序端开发指南
- 项目导入与开发必读
- 业务组件
- 产品组件(小)
- 产品组件(大)
- 优惠券组件
- 评论列表组件
- 红包组件
- 推荐商品组件
- 页面设计
- 商品详情页及SKU设计
- 通用方法工具类说明
- 开发经验与踩坑分享
- Uniapp端开发指南
- APP后端开发指南
- Uniapp前端开发指南
- 开发新功能示例
- 后端开发新模块
- 前端开发新页面
- 测试
- SonarQube代码质量管理
- TestNG单元测试
- ExtentReports测试报告
- Selenuim自动化Web测试
- Appuim自动化App测试
- JMeter压测性能测试
- 部署
- Spring Boot配置
- 快速部署
- 后端部署
- 前端部署
- 前端部署优化
- Docker容器化部署
- 服务器配置
- 持续集成
- GitLab
- GitLab CI
- XBoot 脚本参考
- Jenkins
- Jenkins安装
- XBoot CI参考
- DevOps环境搭建
- 组件安装列表
- 开发设计规范
- 分支管理
- 数据库设计规范
- Redis使用规范
- Java基础开发规范
- Rest API规范
- 项目结构规范
- 前端开发规范
- 前端设计规范
- 项目搭建分享
- 后端相关
- SpringBoot 2.x区别总结
- Spring Security整合JWT
- Spring Security动态权限管理
- Spring Boot 2.x整合Quartz
- Spring Boot 2.x整合Websocket
- Spring Boot 2.x整合Activiti工作流以及模型设计器
- Spring Boot + Security全局跨域配置
- 前端相关
- axios请求封装 统一异常处理
- 动态路由菜单加载
- 多维度控制权限至按钮显示
- 发送消息图标红点实时显示
- 动态组件单页操作
- XBoot助你【告别996】
- 业务开发踩坑
- 你会用开发神器IDEA吗
- Lombok你知道多少
- 你还在手动校验参数吗
- 你真的会用JPA吗
- Lamda表达式
- Stream流式API
- 告别资源关闭
- Optional避免null
- 谷歌Guava工具包
- 线程池
- 其他小经验技巧
- 更新日志及步骤
- 常见问题