本人环境说明
- 部署环境:Centos7
- Docker Version 23.0.1
- mysql 5.7
- 开发环境:win11
Docker部署时应用数据库采用Mysql,Docker容器无法启动。
原因
在官网文档中第一个步骤为创建一个名datart.conf的空文件,然后将官网提供的配置信息进行修改然后写入到datart.conf文件中。由于官网提供的配置信息中有中文,当挂载到docker中时,会存在编码问题,然后就导致容器启动失败。
解决方案
删除datart.conf中所有的中文。
Swagger地址
http://localhost:8080/swagger-ui.html#/
git Commit时报错
Error: No files matching the pattern "'src/**/*.css'" were found.
原因
根据网络上大神的说法为配置了hysky进行格式校验,然后有些因为操作系统的缘故,需要将将单引号改成双引号,双引号需要加转义字符
解决方案
将package.json文件lint:css和lint:style的Value值改为:
"lint:css": "npx stylelint \"src/**/*.css\""
"lint:style": "npx stylelint \"src/**/*.{js,ts,jsx,tsx}\""
二开之身份认证
身份认证采用shiro框架
shiro快速学习推荐:https://blog.csdn.net/kenkao/article/details/127398715
配置类:SecurityConfiguration
自定义Realm类:DatartRealm,认证方法:doGetAuthenticationInfo
密码验证类:PasswordCredentialsMatcher,采用加密方式为BCrypt
Spring事务@Transactional注解及失效场景
在进行集成登录功能开发的时候,在UserServiceImpl类中增加了integrationLogin方法,然后判断用户如果不存在则要去注册用户,需要调用原有同类中的register方法,由于没了解过Spring的@Transactional注解,则出现了很多问题,可以通过下方链接学习避免一下问题。
参考链接:https://blog.51cto.com/u_15851118/5805391
初次Maven install报错
error:0308010C:digital envelope routines::unsupported at new Hash (node:inte
原因
Node.js版本>=17.0.X,
node v17中的OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。在node v17以前一些可以正常运行的的应用程序,但是在 V17 版本可能会抛出以下异常:
Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:67:19
解决方案
第一种:降版本到node v16
第二种:命令终端运行以下代码$env:NODE_OPTIONS="--openssl-legacy-provider"
前端Typescript调用方法时报错:不能调用可能是“未定义”的对象
原因
这个方法在interface中定义的时候,定义为可空类型即funName?:(value)==>void
解决方案
在调用该方法时,在方法名称后添加!,例如:funName!("入参");
前后分离实现方式
找到Server下的pom.xml,将237-339行(官方源码未经改动情况下的行数)注释掉
前端执行npm run start 报错
错误信息
No version of chokidar is available. Tried chokidar@2 and chokidar@3. You could try to manually install any chokidar version. chokidar@3: Error: Cannot find module 'chokidar'
解决方案
大概率是没有安装chokidar,所以在前端目录下执行命令npm install [email protected]
推荐前端开发VS Code插件
- React/Redux/react-router Snippets
- Simple React Snippets
- Ant Design Snippets
- Auto Close Tag
- Auto Complete Tag
- Auto Import
- Auto Import - ES6, TS, JSX, TSX
- Better Comments
- Auto Rename Tag
- Beautify css/sass/scss/less
React 快速了解渠道
https://blog.csdn.net/qq_31851435/article/details/121740400
本地调试增加对oracle数据库的支持
此操作适合调试各种数据源
- Maven依赖查询工具:https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8/21.1.0.0
- 找到jdbc-data-provider项目下的pom.xml文件
- 在dependencies节点下增加以下配置
<dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>21.1.0.0</version> </dependency>
- 重新加载所有Maven项目
- datart-jdbc-data-provider clean
- datart-jdbc-data-provider install
- datart-server clean
- datart-server install
jdbc-driver-ext.yml 添加oracle支持的示例
具体参数说明见官网
ORACLE:
db-type: "oracle"
name: "oracle"
driver-class:"oracle.jdbc.driver.OracleDriver"
literal-quote: "'"
identifier-quote: ""
adapter-class:
url-prefix:
sql-dialect:
标签:jdbc,二开,部署,chokidar,install,oracle,datart,css
From: https://www.cnblogs.com/LTQ151/p/17187475.html