3月
21
网页简易实现 3d glb 等模型预览。常见的插件有 threejs 和 babylonjs。
https://endoc.cnbabylon.com/extensions/the_babylon_viewer
https://www.npmjs.com/package/babylonjs-viewer
https://sandbox.babylonjs.com/
开始
# 安装
pnpm add babylonjs-viewer
# 使用
<template>
<div id="babylon-view-con"></div>
</template>
<script setup lang="ts">
import { ref, nextTick } from 'vue'
import * as BabylonViewer from 'babylonjs-viewer';
function playByBabylon(url: string | null) {
nextTick(() => {
if (!url) {
url = 'https://playground.babylonjs.com/scenes/Rabbit.babylon'
}
let domElement: HTMLElement | null = document.getElementById('babylon-view-con');
if (domElement) {
new BabylonViewer.DefaultViewer(domElement, {
scene: {
debug: false
},
camera: {
behaviors: {
autoRotate: 0
}
},
model: {
url: url
}
})
}
})
}
</script>
3月
13
LogicFlow 默认有一些节点。但有时候,默认的节点完成不了项目需求。这个就需要自定义节点,刚好LogicFlow 支持自定义节点。
https://07.logic-flow.cn/guide/advance/customNode.html
如上图,现在需要一个输入口,n 个输出口,这个 n 是大于 0 的整数。一般也就最多 10 以下的整数吧。默认的节点就不支持,这里就需要自定义了。
要解决以下问题。
- 节点支持 resize (继承 RectResize,就可以实现)
- 根据输出口的数字动态生成锚点(1 个默认输入锚点, n 个输出锚点)
- 在锚点旁边加入数字进行标识(大于 1 个的时候,需要和数据一一对应,所以需要标识)
3月
06
daisyui 的 Dropdown 组件,点击展开对象时,怎么自动关闭展开对象呢?daisyui 默认没提供这个功能。只需要在点击对象时,触发 blur 方法即可。
if (document.activeElement instanceof HTMLElement) {
document.activeElement.blur()
}
3月
05
1月
26
skynet 框架,在 skynet.start 方法中,对 skynet.newservice 进行 name 时候会报错 attempt to call a nil value (field 'name') 的处理。
使用 skynet.wait, 等待异步的完成就可以。下边给出示例。
local Service = '.Service'
skynet.start(function()
local service = skynet.newservice('xxx')
skynet.wait(service)
skynet.name(Service, service)
end)
1月
24
1月
24
在做自己的业务之前,尝试官方的样例是很有必要的。只需要一个装好 docker 的电脑,几步就可以完成测试。
官方 websocket 示例代码:
https://github.com/cloudwu/skynet/blob/master/examples/simplewebsocket.lua
skynet 的 docker 环境构建
https://blog.vini123.com/1130
准备工作
- docker 环境
- 并按照上边链接里的方式构建出了 docker 镜像。
开始
docker images
看看构建的镜像是否存在,这个是前提。
# 以交互式的方式构建并进入容器
docker run -it --rm -p 9948:9948 skynet:1.7 bash
# 安装 vim (因为我们要修改下 config)文件
apk add vim
# 编辑 config 文件
vim examples/config
1月
24
skynet 最早就能提供 socket 服务。后来,也能提供 websocket 服务。这里,接着之前的代码,构建一个 websocket 服务。
https://github.com/cloudwu/skynet/blob/master/examples/simplewebsocket.lua
上边是官方 websocket 的一个示例。
开始
以官方为借鉴,这里先创建一个 websocket.lua 文件。完整的路径是 www/websocket/service/connect/websocket.lua
。