|
před 2 týdny | |
---|---|---|
.mvn | před 1 rokem | |
configuration | před 3 týdny | |
db | před 2 týdny | |
src | před 2 týdny | |
.drone.version.sh | před 1 měsícem | |
.drone.yml | před 1 měsícem | |
.gitignore | před 10 měsíci | |
Dockerfile | před 1 měsícem | |
README.md | před 3 týdny | |
docker-compose.yml | před 1 měsícem | |
pom.xml | před 1 měsícem | |
version.txt | před 1 měsícem |
Maven 配置 (用户配置) (阿里源)
./configuration/.m2/settings.xml
目前项目使用自动部署
第三方JAR包放在 ./configuration/.m2/repository
目录,并使用命令添加到本地 Maven 仓库
mvn install:install-file -Dfile=configuration/.m2/repository/ziniao-sdk-java-5.1.0.jar -DgroupId=com.ziniao -DartifactId=ziniao-sdk-java -Dversion=5.1.0 -Dpackaging=jar
首次部署需在 pom.xml 中去除 copy-dependencies
注释,启用分包功能 (将包分离到 libs
文件夹中),像这样:
/home/www/project/BackendSys/libs
将分离出来的文件,然后上传到远程服务器目录
执行打包命令:
mvn clean package
mvn clean package -P dev
// 安装 nodup (Ubuntu-22.04 虚拟机可能需要安装)
apt install perforate -y
// 启动 (libs文件夹与.jar包同级)
// sh backendsys.sh restart
sh backendsys.sh start
// 监视日志
tail -f backendsys.log
监听控制台消息 (单点)
http://xxxx.com/api/log/stream/watch?sign={配置文件固定密钥}
注意:@Anonymous
下不可调用,否则会抛出错误
/*
* (不需要实例化)
* SecurityUtil.getUserId()
*
* (需要实例化)
* @Autowired
* private SecurityUtil securityUtil;
*
* securityUtil.hasPermission("3.2.1")
* securityUtil.hasPermissions(Arrays.asList("3.2.1", "3.2.2"))
* securityUtil.hasPermissions(Arrays.asList("3.2.1", "3.2.2"), MatchType.OR)
*
* 权限注解
* @PreAuthorize("@sr.hasPermission('3.2.1')")
* @PreAuthorize("@sr.hasPermissions(T(java.util.Arrays).asList('3.2.1', '3.2.2'))")
*/
免登录权限 (No token)
@Anonymous
@GetMapping("/api/getAuthDemo")
public Result getAuthDemo() {
..
另外, /api/public/**
也是免登录可访问的接口
user_id
)userList
)APPID
)update
操作)字段非空时:
SELECT COALESCE(uf.nickname, '') nickname, ..
SQL时间字段创建统一规范:
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
命名为 *_count
的统计字段,值是 Long 类型,例如:
Long user_count = Convert.toLong(sysUserRole.get("user_count"));
Id
字段,比如 article_id
,在进行 {查询详情/编辑/删除} 操作时,必须使用该 article_id
作为必填参数;可查看依赖中是否含有冲突项(例如 okhttp) $ mvn dependency:tree
1.sys_dictionary.sql 字典表重构
2.Nginx均衡负载,双应用,无感知重启