feat: 产品迭代7月份
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 5m51s

This commit is contained in:
luo
2026-07-27 16:30:29 +08:00
parent cc6fc9243e
commit f0a2b84e53
75 changed files with 2926 additions and 534 deletions

78
src/api/modules/wecom.ts Normal file
View File

@@ -0,0 +1,78 @@
import { BaseService } from '../BaseService'
import type {
BaseResponse,
WecomAccountBindingRequest,
WecomApplication,
WecomApplicationListResponse,
WecomApplicationQueryParams,
WecomApplicationRequest,
WecomApplicationResponse,
WecomBusinessType,
WecomMemberListResponse,
WecomMemberQueryParams,
WecomSceneListResponse,
WecomSceneQueryParams,
WecomSceneRequest,
WecomSceneResponse,
WecomSyncMembersApiResponse
} from '@/types/api'
export class WecomService extends BaseService {
static getApplications(
params?: WecomApplicationQueryParams
): Promise<WecomApplicationListResponse> {
return this.get<WecomApplicationListResponse>('/api/admin/wecom/applications', params)
}
static saveApplication(data: WecomApplicationRequest): Promise<WecomApplicationResponse> {
return this.post<WecomApplicationResponse>('/api/admin/wecom/applications', data)
}
static testApplication(id: number): Promise<BaseResponse<{ success: boolean }>> {
return this.post<BaseResponse<{ success: boolean }>>(`/api/admin/wecom/applications/${id}/test`)
}
static syncMembers(id: number): Promise<WecomSyncMembersApiResponse> {
return this.post<WecomSyncMembersApiResponse>(
`/api/admin/wecom/applications/${id}/members/sync`
)
}
static getMembers(
id: number,
params?: WecomMemberQueryParams
): Promise<WecomMemberListResponse> {
return this.get<WecomMemberListResponse>(
`/api/admin/wecom/applications/${id}/members`,
params
)
}
static setDefaultCreator(id: number, userid: string): Promise<WecomApplicationResponse> {
return this.put<WecomApplicationResponse>(
`/api/admin/wecom/applications/${id}/default-creator`,
{ userid }
)
}
static getScenes(params?: WecomSceneQueryParams): Promise<WecomSceneListResponse> {
return this.get<WecomSceneListResponse>('/api/admin/wecom/scenes', params)
}
static saveScene(
businessType: WecomBusinessType,
data: WecomSceneRequest
): Promise<WecomSceneResponse> {
return this.put<WecomSceneResponse>(`/api/admin/wecom/scenes/${businessType}`, data)
}
static bindAccount(
accountId: number,
data: WecomAccountBindingRequest
): Promise<BaseResponse<WecomApplication>> {
return this.put<BaseResponse<WecomApplication>>(
`/api/admin/accounts/${accountId}/wecom-binding`,
data
)
}
}