22 Commits
2.0 ... test403

Author SHA1 Message Date
Sola
a121cd3f28 no message 2016-03-25 06:14:03 +08:00
Sola
d88eddc1c4 no message 2016-03-25 06:07:56 +08:00
Sola
0723dd6090 no message 2016-03-25 05:58:13 +08:00
Sola
8551dce821 no message 2016-03-25 05:54:58 +08:00
Sola
ec1336e86a no message 2016-03-25 05:50:07 +08:00
Sola
6a0e67a3d9 no message 2016-03-25 05:40:00 +08:00
Sola
391a353aee no message 2016-03-25 05:32:57 +08:00
Sola
b8bdca7b37 no message 2016-03-25 05:28:33 +08:00
Sola
1dcd07c137 no message 2016-03-25 05:13:32 +08:00
Sola
edba6c2b0e no message 2016-03-25 05:10:14 +08:00
Sola
bbbe15ff9b no message 2016-03-25 05:06:26 +08:00
Sola
ebf5c4f66a no message 2016-03-25 05:03:51 +08:00
Sola
2c1f589ab2 no message 2016-03-25 04:59:27 +08:00
Sola
cd5733e64a no message 2016-03-25 04:50:33 +08:00
Sola
3212a2fe04 no message 2016-03-25 04:41:42 +08:00
Sola
e20d550dfa no message 2016-03-25 04:29:00 +08:00
Sola
2eb5b1344f no message 2016-03-25 04:17:21 +08:00
Sola
1835510283 no message 2016-03-25 04:15:23 +08:00
Sola
e46257d152 no message 2016-03-25 04:12:04 +08:00
Sola
153997d684 no message 2016-03-25 04:06:58 +08:00
Sola
42c966394e no message 2016-03-25 04:01:52 +08:00
Sola
0e4efc55a1 no message 2016-03-25 03:55:36 +08:00
16 changed files with 51 additions and 21 deletions

View File

@@ -1,5 +1,18 @@
package love.sola.netsupport.api; package love.sola.netsupport.api;
import love.sola.netsupport.api.manager.GetUser;
import love.sola.netsupport.api.manager.TicketPush;
import love.sola.netsupport.api.root.DashBoard;
import love.sola.netsupport.api.root.FlushCache;
import love.sola.netsupport.api.root.SetPassword;
import love.sola.netsupport.api.stuff.TicketLog;
import love.sola.netsupport.api.stuff.TicketLookup;
import love.sola.netsupport.api.stuff.TicketTrack;
import love.sola.netsupport.api.stuff.TicketUpdate;
import love.sola.netsupport.api.user.ProfileModify;
import love.sola.netsupport.api.user.Register;
import love.sola.netsupport.api.user.TicketQuery;
import love.sola.netsupport.api.user.TicketSubmit;
import love.sola.netsupport.enums.Access; import love.sola.netsupport.enums.Access;
import love.sola.netsupport.wechat.Command; import love.sola.netsupport.wechat.Command;
import me.chanjar.weixin.common.session.WxSession; import me.chanjar.weixin.common.session.WxSession;
@@ -29,4 +42,21 @@ public abstract class API {
'}'; '}';
} }
public static final Class[] LIST = new Class[]{
GetUser.class,
TicketPush.class,
DashBoard.class,
FlushCache.class,
SetPassword.class,
TicketLog.class,
TicketLookup.class,
TicketTrack.class,
TicketUpdate.class,
ProfileModify.class,
Register.class,
TicketQuery.class,
TicketSubmit.class,
CheckSession.class
};
} }

View File

@@ -1,6 +1,5 @@
package love.sola.netsupport.api; package love.sola.netsupport.api;
import com.google.common.reflect.ClassPath;
import com.google.gson.Gson; import com.google.gson.Gson;
import love.sola.netsupport.enums.Access; import love.sola.netsupport.enums.Access;
import love.sola.netsupport.enums.Attribute; import love.sola.netsupport.enums.Attribute;
@@ -21,7 +20,6 @@ import java.io.PrintWriter;
import java.text.ParseException; import java.text.ParseException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* *********************************************** * ***********************************************
@@ -37,10 +35,11 @@ public class APIRouter extends HttpServlet {
public APIRouter() { public APIRouter() {
try { try {
ClassPath path = ClassPath.from(getClass().getClassLoader()); // ClassPath path = ClassPath.from(getServletContext().getClassLoader());
Set<ClassPath.ClassInfo> classes = path.getTopLevelClassesRecursive(getClass().getPackage().getName()); // Set<ClassPath.ClassInfo> classes = path.getTopLevelClasses();
for (ClassPath.ClassInfo info : classes) { // for (ClassPath.ClassInfo info : classes) {
Class<?> clz = info.load(); for (Class<?> clz : API.LIST) {
// Class<?> clz = info.load();
if (!API.class.equals(clz) && API.class.isAssignableFrom(clz)) { if (!API.class.equals(clz) && API.class.isAssignableFrom(clz)) {
try { try {
System.out.print("Loading API: " + clz.getName()); System.out.print("Loading API: " + clz.getName());
@@ -66,9 +65,10 @@ public class APIRouter extends HttpServlet {
resp.addHeader("Access-Control-Allow-Origin", "*"); resp.addHeader("Access-Control-Allow-Origin", "*");
Object obj = null; Object obj = null;
try { try {
API api = nodes.get(req.getRequestURI()); API api = nodes.get(req.getPathInfo());
if (api == null) { if (api == null) {
resp.sendError(HttpServletResponse.SC_FORBIDDEN); resp.sendError(HttpServletResponse.SC_FORBIDDEN);
// obj = req.getPathInfo();
return; return;
} }
WxSession session = getSession(req); WxSession session = getSession(req);

View File

@@ -17,7 +17,7 @@ import java.util.Map;
public class CheckSession extends API { public class CheckSession extends API {
public CheckSession() { public CheckSession() {
url = "/api/checksession"; url = "/checksession";
access = Access.GUEST; access = Access.GUEST;
authorize = null; authorize = null;
} }

View File

@@ -19,7 +19,7 @@ import javax.servlet.http.HttpServletRequest;
public class GetUser extends API { public class GetUser extends API {
public GetUser() { public GetUser() {
url = "/api/admin/getuser"; url = "/admin/getuser";
access = Access.LEADER; access = Access.LEADER;
authorize = Command.LOGIN; authorize = Command.LOGIN;
} }

View File

@@ -26,7 +26,7 @@ import javax.servlet.http.HttpServletRequest;
public class TicketPush extends API { public class TicketPush extends API {
public TicketPush() { public TicketPush() {
url = "/api/admin/ticketpush"; url = "/admin/ticketpush";
access = Access.LEADER; access = Access.LEADER;
authorize = Command.LOGIN; authorize = Command.LOGIN;
} }

View File

@@ -19,7 +19,7 @@ import java.util.Enumeration;
public class DashBoard extends API { public class DashBoard extends API {
public DashBoard() { public DashBoard() {
url = "/api/root/dashboard"; url = "/root/dashboard";
access = Access.ROOT; access = Access.ROOT;
authorize = Command.LOGIN; authorize = Command.LOGIN;
} }

View File

@@ -18,7 +18,7 @@ import javax.servlet.http.HttpServletRequest;
public class FlushCache extends API { public class FlushCache extends API {
public FlushCache() { public FlushCache() {
url = "/api/root/flushcache"; url = "/root/flushcache";
access = Access.ROOT; access = Access.ROOT;
authorize = Command.LOGIN; authorize = Command.LOGIN;
} }

View File

@@ -21,7 +21,7 @@ import javax.servlet.http.HttpServletRequest;
public class SetPassword extends API { public class SetPassword extends API {
public SetPassword() { public SetPassword() {
url = "/api/root/setpass"; url = "/root/setpass";
access = Access.ROOT; access = Access.ROOT;
authorize = Command.LOGIN; authorize = Command.LOGIN;
} }

View File

@@ -28,7 +28,7 @@ public class TicketLog extends API {
public static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); public static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
public TicketLog() { public TicketLog() {
url = "/api/admin/ticketlog"; url = "/admin/ticketlog";
access = Access.MEMBER; access = Access.MEMBER;
authorize = Command.LOGIN; authorize = Command.LOGIN;
} }

View File

@@ -19,7 +19,7 @@ import javax.servlet.http.HttpServletRequest;
public class TicketLookup extends API { public class TicketLookup extends API {
public TicketLookup() { public TicketLookup() {
url = "/api/admin/ticketlookup"; url = "/admin/ticketlookup";
access = Access.MEMBER; access = Access.MEMBER;
authorize = Command.LOGIN; authorize = Command.LOGIN;
} }

View File

@@ -18,7 +18,7 @@ import javax.servlet.http.HttpServletRequest;
public class TicketTrack extends API { public class TicketTrack extends API {
public TicketTrack() { public TicketTrack() {
url = "/api/admin/tickettrack"; url = "/admin/tickettrack";
access = Access.MEMBER; access = Access.MEMBER;
authorize = Command.LOGIN; authorize = Command.LOGIN;
} }

View File

@@ -24,7 +24,7 @@ import java.util.Date;
public class TicketUpdate extends API { public class TicketUpdate extends API {
public TicketUpdate() { public TicketUpdate() {
url = "/api/admin/ticketupdate"; url = "/admin/ticketupdate";
access = Access.MEMBER; access = Access.MEMBER;
authorize = Command.LOGIN; authorize = Command.LOGIN;
} }

View File

@@ -24,7 +24,7 @@ import static love.sola.netsupport.util.Checker.*;
public class ProfileModify extends API { public class ProfileModify extends API {
public ProfileModify() { public ProfileModify() {
url = "/api/profilemodify"; url = "/profilemodify";
access = Access.USER; access = Access.USER;
authorize = Command.PROFILE; authorize = Command.PROFILE;
} }

View File

@@ -32,7 +32,7 @@ import static love.sola.netsupport.util.Checker.*;
public class Register extends API { public class Register extends API {
public Register() { public Register() {
url = "/api/register"; url = "/register";
access = Access.GUEST; access = Access.GUEST;
authorize = Command.REGISTER; authorize = Command.REGISTER;
} }

View File

@@ -24,7 +24,7 @@ import javax.servlet.http.HttpServletRequest;
public class TicketQuery extends API { public class TicketQuery extends API {
public TicketQuery() { public TicketQuery() {
url = "/api/ticketquery"; url = "/ticketquery";
access = Access.USER; access = Access.USER;
authorize = Command.QUERY; authorize = Command.QUERY;
} }

View File

@@ -24,7 +24,7 @@ import javax.servlet.http.HttpServletRequest;
public class TicketSubmit extends API { public class TicketSubmit extends API {
public TicketSubmit() { public TicketSubmit() {
url = "/api/ticketsubmit"; url = "/ticketsubmit";
access = Access.USER; access = Access.USER;
authorize = Command.SUBMIT; authorize = Command.SUBMIT;
} }