配餐项目前端文件
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
1.9 KiB

import { HttpClient, HttpParams } from "@angular/common/http";
2 years ago
import { Injectable } from "@angular/core";
import { Utils, AnyObject, ResponseType, UserRoleDTO, PermItemDTO, UserDTO } from "@cdk/public-api";
2 years ago
import { map } from "rxjs";
@Injectable({
providedIn: "root",
})
export class ClientApiService {
constructor(private http: HttpClient) {}
public accountKey = "CATERING_CLIENT_ACCOUNT";
2 years ago
page(v: {}, q: {}) {
return this.http.get<any>("https://jsonplaceholder.typicode.com/users", v).pipe(
map((r) => {
return {
total: 10,
content: r,
};
})
);
}
login(v: {}) {
const params = Utils.objectToHttpParams(v);
return this.http.get<ResponseType>("/api/login", { params });
}
logout() {
return this.http.get<ResponseType>("/api/logout");
}
getRoleList() {
return this.http.get<ResponseType<UserRoleDTO[]>>("/api/role");
}
deleteRole(roleId: string) {
const params = new HttpParams().set("roleId", roleId);
return this.http.delete<ResponseType>("/api/role", {
params,
});
}
updateRole(rule: AnyObject) {
const body = Utils.objectToFormData(rule);
const method = rule["roleId"] ? "post" : "put";
return this.http[method]<ResponseType>("/api/role", body);
}
getRolePerms() {
return this.http.get<ResponseType<PermItemDTO[]>>("/api/role/item");
}
getUserList() {
return this.http.get<ResponseType<UserDTO[]>>("/api/user");
}
checkUid(uid: string) {
const params = new HttpParams().set("uid", uid);
return this.http.delete<ResponseType>("/api/user/check", {
params,
});
}
saveUser(user: AnyObject, edit: boolean) {
const body = Utils.objectToFormData(user);
const method = edit ? "post" : "put";
return this.http[method]<ResponseType>("/api/user", body);
}
deleteUser(uid: string) {
const params = new HttpParams().set("uid", uid);
return this.http.delete<ResponseType>("/api/user", {
params,
});
}
2 years ago
}