68 lines
3.3 KiB
JavaScript
68 lines
3.3 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../common/vendor.js");
|
|
const API_ORIGIN = "http://localhost:8080".replace(/\/$/, "");
|
|
const BASE_URL = `${API_ORIGIN}/api`;
|
|
const request = (options) => new Promise((resolve, reject) => {
|
|
common_vendor.index.request({
|
|
url: BASE_URL + options.url,
|
|
method: options.method || "GET",
|
|
data: options.data || {},
|
|
header: options.header || {},
|
|
success: (res) => resolve(res.data),
|
|
fail: (err) => reject(err)
|
|
});
|
|
});
|
|
const get = (url, params = {}) => {
|
|
const qs = Object.entries(params).filter(([, v]) => v != null).map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`).join("&");
|
|
return request({ url: `${url}${qs ? "?" + qs : ""}`, method: "GET" });
|
|
};
|
|
const post = (url, body = {}) => request({ url, method: "POST", data: body, header: { "Content-Type": "application/json" } });
|
|
const put = (url, body = {}) => request({ url, method: "PUT", data: body, header: { "Content-Type": "application/json" } });
|
|
const del = (url) => request({ url, method: "DELETE" });
|
|
const imgUrl = (path) => {
|
|
if (!path) return "";
|
|
if (path.startsWith("http")) return path;
|
|
return `${API_ORIGIN}${path}`;
|
|
};
|
|
const sendSms = (phone) => post("/sms/send", { phone });
|
|
const login = (phone, code) => post("/user/login", { phone, code });
|
|
const registerBoss = (data) => post("/user/register-boss", data);
|
|
const registerStaff = (data) => post("/user/register-staff", data);
|
|
const getAppointmentList = (userId, storeId) => get("/appointment/list", { userId, storeId });
|
|
const createAppointment = (data) => post("/appointment/create", data);
|
|
const startAppointment = (appointmentId, staffUserId) => post("/appointment/start", { appointmentId, staffUserId });
|
|
const cancelAppointment = (id) => put(`/appointment/status?id=${id}&status=cancel`);
|
|
const createReport = (data) => post("/report/create", data);
|
|
const getReportByToken = (token) => get("/report/get", { token });
|
|
const getReportList = (params) => get("/report/list", params);
|
|
const getServiceTypeList = (storeId) => get("/service-type/list", { storeId });
|
|
const createServiceType = (storeId, name) => post("/service-type/create", { storeId, name });
|
|
const deleteServiceType = (id) => del(`/service-type/delete?id=${id}`);
|
|
const getStaffList = (storeId) => get("/user/staff-list", { storeId });
|
|
const createStaff = (data) => post("/user/create-staff", data);
|
|
const deleteStaff = (staffId) => del(`/user/staff?staffId=${staffId}`);
|
|
const updateUser = (data) => put("/user/update", data);
|
|
const updateStore = (data) => put("/store/update", data);
|
|
exports.API_ORIGIN = API_ORIGIN;
|
|
exports.BASE_URL = BASE_URL;
|
|
exports.cancelAppointment = cancelAppointment;
|
|
exports.createAppointment = createAppointment;
|
|
exports.createReport = createReport;
|
|
exports.createServiceType = createServiceType;
|
|
exports.createStaff = createStaff;
|
|
exports.deleteServiceType = deleteServiceType;
|
|
exports.deleteStaff = deleteStaff;
|
|
exports.getAppointmentList = getAppointmentList;
|
|
exports.getReportByToken = getReportByToken;
|
|
exports.getReportList = getReportList;
|
|
exports.getServiceTypeList = getServiceTypeList;
|
|
exports.getStaffList = getStaffList;
|
|
exports.imgUrl = imgUrl;
|
|
exports.login = login;
|
|
exports.registerBoss = registerBoss;
|
|
exports.registerStaff = registerStaff;
|
|
exports.sendSms = sendSms;
|
|
exports.startAppointment = startAppointment;
|
|
exports.updateStore = updateStore;
|
|
exports.updateUser = updateUser;
|