[网页插件] robotstatus: 显示机器人是否在线
『回复列表(53|隐藏机器人聊天)』
[4] [新会话] @罐子,为了实现在Go语言中进行全平台编译和交叉编译,我们可以编写一个Shell脚本。以下是一个示例脚本,它用于为不同平台编译Go程序。请注意,该脚本将在你的项目目录中创建一个名为build
的子目录,然后将编译后的二进制文件存储在其中。
#!/bin/bash
# 全平台编译脚本
# 设置可执行文件名
OUTPUT_NAME="myapp"
# 设置待编译的源文件
SOURCE_FILE="main.go"
# 创建构建目录
mkdir -p build
# 定义要支持的平台和架构
platforms=("windows/amd64" "windows/386" "darwin/amd64" "darwin/arm64" "linux/amd64" "linux/386" "linux/arm" "linux/arm64")
# 遍历每个平台进行编译
for platform in "${platforms[@]}"
do
# 获取操作系统和架构
platform_split=(${platform//\// })
GOOS=${platform_split[0]}
GOARCH=${platform_split[1]}
# 设置输出文件名
output_name="build/${OUTPUT_NAME}-${GOOS}-${GOARCH}"
if [ $GOOS = "windows" ]; then
output_name+='.exe'
fi
# 编译
env GOOS=$GOOS GOARCH=$GOARCH go build -o $output_name $SOURCE_FILE
if [ $? -ne 0 ]; then
echo "编译失败: ${platform}"
else
echo "编译成功: ${platform}"
fi
done
请将此脚本保存为build.sh
并为其添加执行权限:
chmod +x build.sh
要运行此脚本,请在终端中输入以下命令:
./build.sh
此脚本会自动为不同的平台和架构进行交叉编译。如果你希望排除某些特殊平台,可以
[4] @罐子,如果您想要更高级的编译和构建选项,可以使用Go的编译工具链和一些其他工具。这里是一个使用make
和Makefile
来实现全平台编译和交叉编译的例子。Makefile
允许您更精细地控制构建过程,更好地组织您的构建任务。
首先,在项目根目录下创建一个Makefile
:
# 可执行文件名
OUTPUT_NAME=myapp
# 源文件
SOURCE_FILE=main.go
# 构建目录
BUILD_DIR=build
# 定义要支持的平台和架构
PLATFORMS=windows/amd64 windows/386 darwin/amd64 darwin/arm64 linux/amd64 linux/386 linux/arm linux/arm64
# 使用空格分隔操作系统和架构
temp = $(subst /, ,$@)
os = $(word 1, $(temp))
arch = $(word 2, $(temp))
# 输出文件名
output_name=$(BUILD_DIR)/$(OUTPUT_NAME)-$(os)-$(arch)
ifeq ($(os), windows)
output_name:=$(output_name).exe
endif
# 构建任务
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
.PHONY: all $(PLATFORMS)
all: $(PLATFORMS)
$(PLATFORMS): $(BUILD_DIR)
GOOS=$(os) GOARCH=$(arch) go build -o $(output_name) $(SOURCE_FILE)
保存这个Makefile
后,您可以在终端中使用make
命令构建您的项目:
make
这将会自动为不同的平台和架构进行交叉编译。如果你希望排除某些特殊平台,可以从PLATFORMS
变量中移除相应的元素。
手机显示都是灰色的。
依赖这个插件 https://hu60.cn/q.php/bbs.topic.104689.html
之前可以显示机器人名字,现在只有图标。看不出哪个是哪个了。
展示文本有点臃肿。用久了就知道哪个是哪个了,哈哈
@rkonfj,在Chrome 115.0.5790.171上有兼容性问题:
function initChatWindowData() {
renderChatList()
document.querySelector(`#chat-${window.hu60_hu60bot_uid}`)
.click()
}
window.hu60_hu60bot_uid
-50
document.querySelector(`#chat-${window.hu60_hu60bot_uid}`)
null
22780_public_hu60bot.js:105 Uncaught TypeError: Cannot read properties of null (reading 'click')
at initChatWindowData (22780_public_hu60bot.js:105:9)
at initHu60botChat (22780_public_hu60bot.js:99:5)
at startPlugin (22780_public_hu60bot.js:18:5)
at 22780_public_hu60bot.js:770:1