mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-12-19 05:05:44 +08:00
222 lines
3.7 KiB
TypeScript
222 lines
3.7 KiB
TypeScript
/**
|
||
* 群相册列表请求参数接口
|
||
*/
|
||
export interface AlbumListRequest {
|
||
qun_id: string;
|
||
attach_info: string;
|
||
seq: number;
|
||
request_time_line: {
|
||
request_invoke_time: string;
|
||
};
|
||
album_id: string;
|
||
lloc: string;
|
||
batch_id: string;
|
||
}
|
||
|
||
/**
|
||
* 创建群相册列表请求参数
|
||
* @param qunId 群号
|
||
* @param albumId 相册ID
|
||
* @param seq 请求序列号,默认值为0
|
||
* @returns 请求参数对象
|
||
*/
|
||
export function createAlbumListRequest (
|
||
qunId: string,
|
||
albumId: string,
|
||
seq: number = 0
|
||
): AlbumListRequest {
|
||
return {
|
||
qun_id: qunId,
|
||
attach_info: '',
|
||
seq,
|
||
request_time_line: {
|
||
request_invoke_time: '0',
|
||
},
|
||
album_id: albumId,
|
||
lloc: '',
|
||
batch_id: '',
|
||
};
|
||
}
|
||
|
||
/**
|
||
* 相册媒体项请求接口
|
||
*/
|
||
export interface AlbumMediaFeed {
|
||
cell_common: {
|
||
time: string;
|
||
};
|
||
cell_user_info: {
|
||
user: {
|
||
uin: string;
|
||
};
|
||
};
|
||
cell_media: {
|
||
album_id: string;
|
||
batch_id: string;
|
||
media_items: Array<{
|
||
image: {
|
||
lloc: string;
|
||
};
|
||
}>;
|
||
};
|
||
}
|
||
|
||
/**
|
||
* 创建相册媒体请求参数
|
||
* @param uin 用户QQ号
|
||
* @param albumId 相册ID
|
||
* @param lloc
|
||
* @returns 媒体请求参数对象
|
||
*/
|
||
export function createAlbumMediaFeed (
|
||
uin: string,
|
||
albumId: string,
|
||
lloc: string
|
||
): AlbumMediaFeed {
|
||
return {
|
||
cell_common: {
|
||
time: '',
|
||
},
|
||
cell_user_info: {
|
||
user: {
|
||
uin,
|
||
},
|
||
},
|
||
cell_media: {
|
||
album_id: albumId,
|
||
batch_id: '',
|
||
media_items: [{
|
||
image: {
|
||
lloc,
|
||
},
|
||
}],
|
||
},
|
||
};
|
||
}
|
||
/**
|
||
* 相册评论内容接口
|
||
*/
|
||
export interface AlbumCommentContent {
|
||
type: number;
|
||
content: string;
|
||
who: number;
|
||
uid: string;
|
||
name: string;
|
||
url: string;
|
||
}
|
||
|
||
/**
|
||
* 相册评论请求接口
|
||
*/
|
||
export interface AlbumCommentReplyContent {
|
||
client_key: number;
|
||
content: AlbumCommentContent[];
|
||
user: {
|
||
uin: string;
|
||
};
|
||
}
|
||
export enum RichMsgType {
|
||
KRICHMSGTYPEPLAINTEXT,
|
||
KRICHMSGTYPEAT,
|
||
KRICHMSGTYPEURL,
|
||
KRICHMSGTYPEMEDIA,
|
||
}
|
||
|
||
/**
|
||
* 创建相册评论请求参数
|
||
* @param uin 用户QQ号
|
||
* @param content 评论内容
|
||
* @param client_key 客户端鉴权密钥
|
||
* @returns 评论请求参数对象
|
||
*/
|
||
export function createAlbumCommentRequest (
|
||
uin: string,
|
||
content: string,
|
||
client_key: number
|
||
): AlbumCommentReplyContent {
|
||
return {
|
||
client_key,
|
||
// 暂时只支持纯文本吧
|
||
content: [{
|
||
type: RichMsgType.KRICHMSGTYPEPLAINTEXT,
|
||
content,
|
||
who: 0,
|
||
uid: '',
|
||
name: '',
|
||
url: '',
|
||
}],
|
||
user: {
|
||
uin,
|
||
},
|
||
};
|
||
}
|
||
|
||
export interface AlbumFeedLikePublish {
|
||
cell_common: {
|
||
time: number;
|
||
feed_id: string;
|
||
};
|
||
cell_user_info: {
|
||
user: {
|
||
uin: string;
|
||
};
|
||
};
|
||
cell_media: {
|
||
album_id: string;
|
||
batch_id: number;
|
||
media_items: Array<{
|
||
type: number;
|
||
image: {
|
||
lloc: string;
|
||
sloc: string;
|
||
};
|
||
}>;
|
||
};
|
||
cell_qun_info: {
|
||
qun_id: string;
|
||
};
|
||
}
|
||
|
||
/**
|
||
* 创建相册动态发布请求参数
|
||
* @param qunId 群号
|
||
* @param uin 用户QQ号
|
||
* @param albumId 相册ID
|
||
* @param lloc 信息
|
||
* @param sloc 信息(可选,默认与lloc相同)
|
||
* @returns 动态发布请求参数对象
|
||
*/
|
||
export function createAlbumFeedPublish (
|
||
qunId: string,
|
||
uin: string,
|
||
albumId: string,
|
||
lloc: string,
|
||
sloc?: string
|
||
): AlbumFeedLikePublish {
|
||
return {
|
||
cell_common: {
|
||
time: Date.now(),
|
||
feed_id: '',
|
||
},
|
||
cell_user_info: {
|
||
user: {
|
||
uin,
|
||
},
|
||
},
|
||
cell_media: {
|
||
album_id: albumId,
|
||
batch_id: 0,
|
||
media_items: [{
|
||
type: 0,
|
||
image: {
|
||
lloc,
|
||
sloc: sloc || lloc,
|
||
},
|
||
}],
|
||
},
|
||
cell_qun_info: {
|
||
qun_id: qunId,
|
||
},
|
||
};
|
||
}
|