build / build (push) Successful in 3m8s
- AppSettings.vue 应用设置页(基础/字典两 tab);修复 P86:Tabs 写 :value 而受控 prop 是 modelValue,致 ?tab=dicts 深链静默失效,改后深链实拍生效 - UserCheckModal.vue 自 notice 移植(view-ui-plus+ztree,sources 注入式数据源);public/libs 收录 jquery+ztree 本地件(index.html 引用) - api/module/admin.ts + mock/adminapi.ts + types/admin.ts;AdminListPanel/FormAdminModal 组件 - routes/menuNav/menuRoute/modulePerms 适配管理员菜单与权限位;tree-icon 图标资源
48 lines
2.1 KiB
TypeScript
48 lines
2.1 KiB
TypeScript
import { alovaInstance } from "@/utils/alova/alova-iview";
|
||
import type { IModule } from "@/types/Basics";
|
||
import type { SchoolTreeNode } from "@/types/admin";
|
||
|
||
/**
|
||
* 基础平台接口(notice/front 的 api/module 形态 + flow-center base.ts 同构):
|
||
* 用户信息与已授权模块列表(左导航数据源)。
|
||
*
|
||
* 模块行在 UserBase 按本应用(app_code=form-center)配置,path 须逐字对上
|
||
* router/routes.ts(手册 §2.2 表 v1.5 五行版)。数据范围升级位不再挂在模块行上:
|
||
* T10 起由后端管理员两表(school_admin / form_admin)承载,前端只在 /admin/app 的角色设置 tab 维护它。
|
||
*
|
||
* 写法与 Notice 的一处差异:Notice 用 `new Method<T>(...)`,而 alova 3.5 的 Method 第一个
|
||
* 泛型位是 AlovaGenerics(不是响应类型),strict vue-tsc 下报 TS2344;本端改用实例方法
|
||
* `alovaInstance.Get<T>()` 拿同一个 Method 对象、走同一套拦截器与信封解包,行为等价。
|
||
*/
|
||
const BASE = "/api/base";
|
||
|
||
class BaseApi {
|
||
/** 当前登录用户信息 */
|
||
getUserInfo() {
|
||
return alovaInstance.Get(`${BASE}/GetUserInfo`);
|
||
}
|
||
|
||
/**
|
||
* 当前用户已授权的模块树(左侧菜单数据源)。
|
||
*
|
||
* @param appCode 可选目标应用(快应用上下文 /app/{appCode}/ 要的是<b>那个应用</b>的树,
|
||
* 参数名按执行手册 §5 P2 定稿 appCode)。UserBase 侧 H4 未上线时后端
|
||
* 返回空树并打 warn——前端据此显示空导航,<b>不得回落本应用树</b>(P3 裁决)。
|
||
*/
|
||
getUserMod(appCode?: string) {
|
||
return alovaInstance.Get<IModule[]>(`${BASE}/GetUserMod`, {
|
||
params: appCode ? { appCode } : undefined
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 本校组织树(教师版)——选人弹窗 UserCheckModal 的 loader,形态同 notice。
|
||
* 没有 schId 入参:域只从会话推导,因此候选天然限在本校树里(跨校的人在接口层就给不出来)。
|
||
*/
|
||
getSchoolAll() {
|
||
return alovaInstance.Get<SchoolTreeNode[]>(`${BASE}/GetSchoolAll`);
|
||
}
|
||
}
|
||
|
||
export const baseApi = new BaseApi();
|