企業通訊錄模組包含三大核心視圖:部門樹狀結構展示、部門成員列表、成員詳細信息查看。採用 ZTree 實現交互式部門樹,jQuery Mobile 適配移動端列表展示。
// 獲取部門樹數據(返回 JSON 格式供 ZTree 渲染)
@RequestMapping("/addressListDepartmentjsp.do")
public void addressListDepartment(HttpServletRequest request, HttpServletResponse response)
// 獲取部門成員列表
@RequestMapping("/addressListUserList.do")
public String addressListUserList(HttpServletRequest request, HttpServletResponse response)
// 查看成員詳細信息
@RequestMapping("/addressListUserInfo.do")
public String addressListUserInfo(HttpServletRequest request, HttpServletResponse response)
核心邏輯:獲取 access_token → 調用微信部門/用戶 API → 轉換為前端所需格式。關鍵轉換邏輯在 convertList() 中:遍歷部門列表,判斷父子關係構建 ZTree 節點,父節點無 URL(點擊展開),葉子節點帶跳轉鏈接攜帶部門 ID 與名稱。
// 部門列表轉 ZTree 節點
public List<JsonTree> convertList(List<Department> departmentList) {
// 雙重循環判斷父子關係,構建 id、pId、name、open、url 等屬性
// 父節點 url 為空,葉子節點 url 指向成員列表頁
}
AdvancedUtil.getDepartment() 與 getUserDetail() 封裝 HTTPS GET 請求,解析 JSON 回應映射為 Department、UserDetail 實體。access_token 由 CommonUtil.getAccessToken() 統一獲取並緩存。
CSS 覆蓋 ZTree 默認樣式:字體微軟雅黑、行高 30px、懸停背景色、選中態樣式、自定義展開/折疊圖標,完美適配企業級 UI 風格。