|
@@ -1,73 +1,57 @@
|
|
class Msg {
|
|
class Msg {
|
|
- constructor(success, msg, obj) {
|
|
|
|
- this.success = false;
|
|
|
|
- this.msg = "";
|
|
|
|
- this.obj = null;
|
|
|
|
-
|
|
|
|
- if (success != null) {
|
|
|
|
- this.success = success;
|
|
|
|
- }
|
|
|
|
- if (msg != null) {
|
|
|
|
- this.msg = msg;
|
|
|
|
- }
|
|
|
|
- if (obj != null) {
|
|
|
|
- this.obj = obj;
|
|
|
|
- }
|
|
|
|
|
|
+ constructor(success = false, msg = "", obj = null) {
|
|
|
|
+ this.success = success;
|
|
|
|
+ this.msg = msg;
|
|
|
|
+ this.obj = obj;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
class HttpUtil {
|
|
class HttpUtil {
|
|
static _handleMsg(msg) {
|
|
static _handleMsg(msg) {
|
|
- if (!(msg instanceof Msg)) {
|
|
|
|
|
|
+ if (!(msg instanceof Msg) || msg.msg === "") {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (msg.msg === "") {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- if (msg.success) {
|
|
|
|
- Vue.prototype.$message.success(msg.msg);
|
|
|
|
- } else {
|
|
|
|
- Vue.prototype.$message.error(msg.msg);
|
|
|
|
- }
|
|
|
|
|
|
+ const messageType = msg.success ? 'success' : 'error';
|
|
|
|
+ Vue.prototype.$message[messageType](msg.msg);
|
|
}
|
|
}
|
|
|
|
|
|
static _respToMsg(resp) {
|
|
static _respToMsg(resp) {
|
|
- const data = resp.data;
|
|
|
|
|
|
+ const { data } = resp;
|
|
if (data == null) {
|
|
if (data == null) {
|
|
return new Msg(true);
|
|
return new Msg(true);
|
|
- } else if (typeof data === 'object') {
|
|
|
|
- if (data.hasOwnProperty('success')) {
|
|
|
|
- return new Msg(data.success, data.msg, data.obj);
|
|
|
|
- } else {
|
|
|
|
- return data;
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- return new Msg(false, 'unknown data:', data);
|
|
|
|
}
|
|
}
|
|
|
|
+ if (typeof data === 'object' && 'success' in data) {
|
|
|
|
+ return new Msg(data.success, data.msg, data.obj);
|
|
|
|
+ }
|
|
|
|
+ return typeof data === 'object' ? data : new Msg(false, 'unknown data:', data);
|
|
}
|
|
}
|
|
|
|
|
|
- static async get(url, data, options) {
|
|
|
|
- let msg;
|
|
|
|
|
|
+ static async get(url, params, options = {}) {
|
|
try {
|
|
try {
|
|
- const resp = await axios.get(url, data, options);
|
|
|
|
- msg = this._respToMsg(resp);
|
|
|
|
- } catch (e) {
|
|
|
|
- msg = new Msg(false, e.toString());
|
|
|
|
|
|
+ const resp = await axios.get(url, { params, ...options });
|
|
|
|
+ const msg = this._respToMsg(resp);
|
|
|
|
+ this._handleMsg(msg);
|
|
|
|
+ return msg;
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.error('GET request failed:', error);
|
|
|
|
+ const errorMsg = new Msg(false, error.response?.data?.message || error.message);
|
|
|
|
+ this._handleMsg(errorMsg);
|
|
|
|
+ return errorMsg;
|
|
}
|
|
}
|
|
- this._handleMsg(msg);
|
|
|
|
- return msg;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- static async post(url, data, options) {
|
|
|
|
- let msg;
|
|
|
|
|
|
+ static async post(url, data, options = {}) {
|
|
try {
|
|
try {
|
|
const resp = await axios.post(url, data, options);
|
|
const resp = await axios.post(url, data, options);
|
|
- msg = this._respToMsg(resp);
|
|
|
|
- } catch (e) {
|
|
|
|
- msg = new Msg(false, e.toString());
|
|
|
|
|
|
+ const msg = this._respToMsg(resp);
|
|
|
|
+ this._handleMsg(msg);
|
|
|
|
+ return msg;
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.error('POST request failed:', error);
|
|
|
|
+ const errorMsg = new Msg(false, error.response?.data?.message || error.message);
|
|
|
|
+ this._handleMsg(errorMsg);
|
|
|
|
+ return errorMsg;
|
|
}
|
|
}
|
|
- this._handleMsg(msg);
|
|
|
|
- return msg;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
static async postWithModal(url, data, modal) {
|
|
static async postWithModal(url, data, modal) {
|