rename com.imyeyu.server to com.imyeyu.api

This commit is contained in:
Timi
2025-07-22 15:26:14 +08:00
parent e816b885b2
commit 323e038e86
340 changed files with 1174 additions and 1175 deletions
@@ -0,0 +1,28 @@
package com.imyeyu.api.modules.music.bean;
import io.netty.channel.ChannelHandlerContext;
import lombok.Data;
import com.imyeyu.utils.Time;
/**
* 频道绑定
*
* @author 夜雨
* @version 2023-02-07 14:43
*/
@Data
public class ChannelBinding {
/** 与受控端连接频道 */
private ChannelHandlerContext playerChannel;
/** 与控制端连接频道 */
private ChannelHandlerContext controllerChannel;
private long lastActiviedAt = -1;
/** @return true 为超过 1 分钟未发生通信 */
public boolean isTimeout() {
return Time.M < Time.now() - lastActiviedAt;
}
}
@@ -0,0 +1,46 @@
package com.imyeyu.api.modules.music.bean.pkg;
import lombok.Data;
/**
* 基本数据包
*
* @author 夜雨
* @version 2023-02-08 11:14
*/
@Data
abstract class BasePackage {
/**
* 播放模式
*
* @author 夜雨
* @version 2023-02-08 14:12
*/
public enum Type {
/** 单曲循环 */
REPEAT,
/** 队列循环 */
REPEAT_PLAY_LIST,
/** 队后单循 */
REPEAT_PLAY_LIST_END,
/** 列表循环 */
REPEAT_FILE_LIST
}
/** 频道 */
private String channelID;
/** 播放模式 */
private Type type;
/** 音量 */
private double volume;
/** 包生成时间 */
private Long createdAt;
}
@@ -0,0 +1,47 @@
package com.imyeyu.api.modules.music.bean.pkg;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 控制端数据包,由控制器发出至受控端
*
* @author 夜雨
* @version 2023-02-08 11:15
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ControllerPackage extends BasePackage {
/**
* @author 夜雨
* @version 2023-02-07 11:37
*/
public enum Action {
/** 上一首 */
PREVIOUS,
/** 切换播放状态 */
TOGGLE,
/** 下一首 */
NEXT,
/** 随机列表 */
RANDOM,
/** 音量调整 */
VOLUME,
/** 播放模式调整 */
TYPE
}
/** 控制动作 */
private Action action;
}
@@ -0,0 +1,21 @@
package com.imyeyu.api.modules.music.bean.pkg;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 受控端数据包,推送播放器状态到控制器
*
* @author 夜雨
* @version 2023-02-08 11:15
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class PlayerPackage extends BasePackage {
/** 当前播放 */
private String nowPlaying;
/** 下一首播放 */
private String nextPlay;
}