init: 橘视厅酒店版会员系统前端

This commit is contained in:
zhaogd
2026-07-26 12:54:46 +08:00
commit 690568861b
243 changed files with 42311 additions and 0 deletions

117
src/api/manage/device.ts Normal file
View File

@@ -0,0 +1,117 @@
import http from '@/utils/httpRequest'
import type { ManageListResponse, ManageResponse, ManagePageParams } from './types'
/**
* 终端/设备信息
*/
export interface DeviceInfo {
id: number
storeOrgId: number
mac: string
deviceSn: string
wifiMac?: string
deviceUid?: string
androidId?: string
manufacturer?: string
model?: string
brand?: string
identifierStrategy?: string
deviceName: string
deviceModel: string
verCode?: string
verName?: string
androidVersion?: string
roomNo: string
lastHeartbeat?: string
remark: string
status: string
createdAt: string
updatedAt: string
/** 非表字段,后端 join 返回 */
storeName?: string
channelOrgId?: number
channelName?: string
agentOrgName?: string
/** 设备来源:PLATFORM-平台 / PARTNER-第三方接口注册 */
source?: string
/** 合作伙伴UUID(source=PARTNER 时) */
partnerId?: string
}
/**
* 终端列表查询参数
*/
export interface DeviceListParams extends ManagePageParams {
storeOrgId?: number
status?: string
deviceName?: string
mac?: string
/** 设备来源:PLATFORM / PARTNER */
source?: string
/** 合作伙伴UUID(source=PARTNER 时筛选) */
partnerId?: string
}
/**
* 终端保存/更新数据
*/
export interface DeviceSaveData {
id?: number
storeOrgId: number
mac?: string
wifiMac?: string
deviceUid?: string
deviceSn?: string
deviceName?: string
deviceModel?: string
roomNo?: string
remark?: string
}
/** 终端分页列表 */
export function getDeviceList(params?: DeviceListParams): Promise<ManageListResponse<DeviceInfo>> {
return http.get(http.adornUrl('/manage/device/list'), { params: http.adornParams(params || {}) }).then(res => res.data)
}
/** 终端详情 */
export function getDeviceInfo(id: number): Promise<ManageResponse<{ device?: DeviceInfo }>> {
return http.get(http.adornUrl(`/manage/device/info/${id}`), { params: http.adornParams() }).then(res => res.data)
}
/** 新增/修改终端 */
export function saveOrUpdateDevice(data: DeviceSaveData): Promise<ManageResponse> {
const url = data.id ? '/manage/device/update' : '/manage/device/save'
return http.post(http.adornUrl(url), http.adornData(data)).then(res => res.data)
}
/** 删除终端(批量软删除) */
export function deleteDevice(ids: number[]): Promise<ManageResponse> {
return http.post(http.adornUrl('/manage/device/delete'), http.adornData(ids, false)).then(res => res.data)
}
/** 绑定门店(query 参数传 deviceId 和 storeOrgId) */
export function bindDeviceStore(deviceId: number, storeOrgId: number): Promise<ManageResponse> {
return http.post(
http.adornUrl('/manage/device/bindStore'),
http.adornData({}),
{ params: http.adornParams({ deviceId, storeOrgId }) }
).then(res => res.data)
}
/** 解绑设备(换场所):清门店关联 + 作废 sign + 释放天卡权益 */
export function unbindDeviceOrg(deviceId: number): Promise<ManageResponse> {
return http.post(
http.adornUrl('/manage/daycard/device/unbind-org'),
http.adornData({}),
{ params: http.adornParams({ deviceId }) }
).then(res => res.data)
}
/** 退天卡:仅退卡,不解绑门店 */
export function unbindDayCard(deviceId: number): Promise<ManageResponse> {
return http.post(
http.adornUrl('/manage/daycard/device/unbind'),
http.adornData({}),
{ params: http.adornParams({ deviceId }) }
).then(res => res.data)
}