Skip to content

Commit 5d2b483

Browse files
@initial 7.0.0-preview.607 Fix some bugs
1 parent 6f4404a commit 5d2b483

13 files changed

Lines changed: 100 additions & 220 deletions

File tree

src/main/java/com/talexframe/frame/core/function/listener/FrameMajorListener.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ public class FrameMajorListener {
3434
@EventListener
3535
public void onStart(ApplicationPreparedEvent event) {
3636

37-
TFrame.tframe.setFrameStatus(FrameStatus.PREPARING);
37+
TFrame tframe = TFrame.tframe;
38+
tframe.setFrameStatus(FrameStatus.PREPARING);
3839

39-
TFrame.tframe.callEvent(new FramePreInstallEvent(System.nanoTime() - TalexFrameApplication.startedTimeStamp));
40+
tframe.callEvent(new FramePreInstallEvent(System.nanoTime() - TalexFrameApplication.startedTimeStamp));
4041

4142
}
4243

src/main/java/com/talexframe/frame/core/modules/application/TAppManager.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,6 @@ public boolean unRegisterController(WebPlugin plugin, TApp controller) {
130130

131131
}
132132

133-
RequestAnalyser.removeRequests(controller);
134-
135133
this.controllers.remove(controller.getClass(), controller);
136134
this.controllerPluginMap.remove(controller, plugin.getName());
137135

src/main/java/com/talexframe/frame/core/modules/network/connection/app/addon/ReceiverAddonAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
import com.talexframe.frame.core.modules.network.connection.app.addon.param.valid.min.value.ReceiverMinValueValidateAddon;
1414
import com.talexframe.frame.core.modules.network.connection.app.addon.param.valid.nonull.ReceiverNoNullValidateAddon;
1515
import com.talexframe.frame.core.modules.network.connection.app.addon.param.valid.pattern.ReceiverPatternValidateAddon;
16+
import com.talexframe.frame.core.modules.network.connection.app.addon.permission.ReceiverPermissionAddon;
1617
import com.talexframe.frame.core.modules.plugins.adapt.PluginCompAdapter;
1718
import com.talexframe.frame.core.modules.plugins.addon.PluginScanner;
1819
import com.talexframe.frame.core.modules.plugins.core.WebPlugin;
1920
import com.talexframe.frame.core.talex.FrameCreator;
2021
import lombok.SneakyThrows;
21-
import org.springframework.stereotype.Component;
2222

2323
import java.util.Comparator;
2424
import java.util.HashMap;
@@ -31,7 +31,6 @@
3131
*
3232
* @author TalexDreamSoul 22/04/02 下午 08:44 Project: TalexFrame
3333
*/
34-
@Component
3534
public class ReceiverAddonAdapter extends PluginCompAdapter<ReceiverAddon> {
3635

3736
private static final Map<Class<?>, ReceiverAddon> receiverAddonMap = new HashMap<>();
@@ -49,6 +48,7 @@ public ReceiverAddonAdapter() {
4948
// 初始化内部的插件
5049

5150
register(new ReceiverLoginAddon());
51+
register(new ReceiverPermissionAddon());
5252
register(new ReceiverLimitAddon());
5353
register(new ReceiverMethodAddon());
5454

src/main/java/com/talexframe/frame/core/modules/network/connection/app/addon/login/ReceiverLoginAddon.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public ReceiverLoginAddon() {
1717

1818
super("ReceiverLogin", new ReceiverAddonType[] { ReceiverAddonType.CLASS_APP, ReceiverAddonType.METHOD_APP });
1919

20-
super.priority = ReceiverAddonPriority.HIGH;
20+
super.priority = ReceiverAddonPriority.HIGHEST;
2121

2222
}
2323

src/main/java/com/talexframe/frame/core/modules/network/connection/app/addon/param/ReceiverParamAddon.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,6 @@ public boolean onPreInvokeMethod(MethodAppReceiver methodAppReceiver, WrappedRes
5151

5252
JSONObject json = JSONUtil.parseObj(str);
5353

54-
for ( Class<?> type : methodAppReceiver.getMethod().getParameterTypes() ) {
55-
56-
57-
58-
}
59-
6054
for ( Parameter parameter : methodAppReceiver.getMethod().getParameters() ) {
6155

6256
if( parameter.getType() == WrappedResponse.class ) {
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package com.talexframe.frame.core.modules.network.connection.app.addon.permission;
2+
3+
import cn.dev33.satoken.stp.StpUtil;
4+
import com.talexframe.frame.core.modules.network.connection.app.ClassAppReceiver;
5+
import com.talexframe.frame.core.modules.network.connection.app.addon.ReceiverAddon;
6+
import com.talexframe.frame.core.modules.network.connection.app.subapp.MethodAppReceiver;
7+
import com.talexframe.frame.core.pojo.wrapper.ResultData;
8+
import com.talexframe.frame.core.pojo.wrapper.WrappedResponse;
9+
10+
/**
11+
* {@link com.talexframe.frame.core.modules.network.connection.app.addon.login Package }
12+
*
13+
* @author TalexDreamSoul 22/06/06 下午 04:47 Project: TalexFrame
14+
*/
15+
public class ReceiverPermissionAddon extends ReceiverAddon {
16+
17+
public ReceiverPermissionAddon() {
18+
19+
super("ReceiverPermission", new ReceiverAddonType[] { ReceiverAddonType.CLASS_APP, ReceiverAddonType.METHOD_APP });
20+
21+
super.priority = ReceiverAddonPriority.HIGH;
22+
23+
}
24+
25+
@Override
26+
public boolean onPreCheckAppReceiver(ClassAppReceiver classAppReceiver, WrappedResponse wr) {
27+
28+
return got(classAppReceiver.getOwnClass().getAnnotation(TReqPermissionChecker.class), wr);
29+
30+
}
31+
32+
@Override
33+
public boolean onPreInvokeMethod(MethodAppReceiver methodAppReceiver, WrappedResponse wr) {
34+
35+
return got(methodAppReceiver.getMethod().getAnnotation(TReqPermissionChecker.class), wr);
36+
37+
}
38+
39+
private boolean got(TReqPermissionChecker reqLoginChecker, WrappedResponse wr) {
40+
41+
// 不存在直接跳过
42+
if( reqLoginChecker == null ) {
43+
44+
return true;
45+
46+
}
47+
48+
// 存在则检查
49+
50+
if( StpUtil.hasPermissionAnd( reqLoginChecker.value() ) ) {
51+
52+
return true;
53+
54+
}
55+
56+
wr.returnDataByFailed( ResultData.ResultEnum.ACCESS_DENIED, "权限不足! ");
57+
58+
return false;
59+
60+
}
61+
62+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.talexframe.frame.core.modules.network.connection.app.addon.permission;
2+
3+
import java.lang.annotation.ElementType;
4+
import java.lang.annotation.Retention;
5+
import java.lang.annotation.RetentionPolicy;
6+
import java.lang.annotation.Target;
7+
8+
/**
9+
* 加了此注解代表需要登录才可以使用相关功能 <br /> {@link com.talexframe.frame.core.modules.network.connection.app.addon.login Package }
10+
*
11+
* @author TalexDreamSoul
12+
* @date 2022/6/6 05:00 <br /> Project: TalexFrame <br />
13+
*/
14+
@Retention( RetentionPolicy.RUNTIME )
15+
@Target( { ElementType.METHOD } )
16+
public @interface TReqPermissionChecker {
17+
18+
/**
19+
* 需要的权限表
20+
*/
21+
String[] value();
22+
23+
}

src/main/java/com/talexframe/frame/core/modules/plugins/core/PluginInfo.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ public class PluginInfo {
3434
public enum PluginSupportVersion {
3535

3636
// 7.0.0
37-
SEVEN("7.0.0-core");
37+
SEVEN("7.0.0-core"),
38+
SEVEN_OFFICIAL("7.0.0-core-official");
3839

3940
@Getter
4041
private final String version;

src/main/java/com/talexframe/frame/core/modules/repository/TRepoPlus.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,9 @@ public void onUninstall() {
175175

176176
}
177177

178+
/**
179+
* &#064;Description Please use saveDataToMysql instead
180+
*/
178181
@SneakyThrows
179182
@Deprecated
180183
public void saveDataToMysqlSilence(T data) {

src/main/java/com/talexframe/frame/core/pojo/wrapper/ResultData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,15 +171,15 @@ public enum ResultEnum {
171171
**/
172172
HOT_PARAM_LIMITED(10002, "hot param limited"),
173173
/**
174-
* 系统规则不满足
174+
* 非法访问
175175
**/
176176
ILLEGAL_ACCESS(10003, "illegal access"),
177177
/**
178178
* 授权规则不通过
179179
**/
180180
ACCESS_DENIED(10004, "access denied"),
181181
/**
182-
* access_denied
182+
* 缺失权限
183183
**/
184184
INSUFFICIENT_PERMISSION(10005, "insufficient permissions"),
185185
/**

0 commit comments

Comments
 (0)