6abe3bb5b1 | ||
---|---|---|
.husky | ||
config | ||
docker | ||
example | ||
lib | ||
plugins | ||
renderers | ||
src | ||
.editorconfig | ||
.eslintrc.cjs | ||
.gitignore | ||
.npmrc | ||
.prettierignore | ||
.prettierrc.json | ||
.puppeteerrc.cjs | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
app.js | ||
deploy.sh | ||
docker-compose.yaml | ||
index.js | ||
miao.js | ||
package.json | ||
pm2.config.cjs | ||
pnpm-workspace.yaml | ||
rollup.config.js | ||
tailwind.config.js | ||
trss.js | ||
tsconfig.json | ||
typedoc.json |
README.md
Miao-Yunzai
这里是Miao-Yunzai V4 测试仓库,
你应该积极使用 V3 ,它仍然是长期支持并维护的版本。
哪怕 V4 后续发布,V3仍然接受长期支持并维护。
在功能点未完成测试之前,仓库不会发布任何有关新功能信息。
必要环境 Windows/Linux + Chrome/Chromium/Edge
必要环境 Node.js>16.14.0 + Redis>5.0.0
推荐使用18.18.2
版本,如果系统不支持,最低要求16.14.0
,这是新版puppeteer
的限制
使用教程
- 安装源码
git clone --depth=1 -b dev https://github.com/yoimiya-kokomi/Miao-Yunzai.git
- 进入目录
cd Miao-Yunzai
- 安装插件(计划移除中...)
git clone --depth=1 https://github.com/yoimiya-kokomi/miao-plugin.git ./plugins/miao-plugin/
- 安装依赖
npm install pnpm -g
pnpm install
- 启动
npm run app
- 重新登录
npm run app login
- 进程托管
npm run start
- 杀死进程
npm run kill
开发者需知
支持TS、TSX环境,提供Miao-Yunzai完全的类型声明及其开发文档。
- 提交
/**
* feature:新功能
* update:更新某功能
* fix:修补某功能
* refactor:重构某个功能
* optimize: 优化构建工具或运行时性能
* style:仅样式改动
* docs:仅文档新增/改动
* chore:构建过程或辅助工具的变动
*/
- 注释风格
/**
* 返回false
* @param T 任意字符串
* @returns false
*/
function getTest(T: string) {
return false
}
- 命名风格
// 获得test值
function getTest(T: string) {}
// 设置
function setTest(T: string) {}
// 删除
function delTest(T: string) {}
// 获取某数据依据为id
function getDataById(T: string) {}
// 系统常量
const ENV_TEST = 'dev'
// 局域常量
const MyName = 'yunzai'
// 可修改变量
let values = ''
// 禁止使用 var values = ''
// 声明数组
const Arr = []
// 不推荐 new
// 声明对象
const Obj = {}
// 不推荐new
关于lib目录
lib目录将在未来逐渐放弃,在版本发布后,开发者需要有意识的对此变化做出调整.
// 已废弃
--lib / puppeteer
// 无扩展性,计划废弃
--lib / renderer
// 非机器人框架的核心处理代码
// 消耗服务器内存,无扩展性,计划废弃
--lib / tools / web.js / test.js / log.js / ksr.js
// 计划废弃
--renderers
// 其他内容逐步优化。。。
新版目录
-
核心源码 src/core
-
配置管理 src/config
-
数据管理 src/db
-
接口板块 src/mys
-
工具类 src/utils
新开发示例
- 消息回调
import { Messages } from './src/core/index.js'
const message = new Messages({
priority: 9000
})
message.response(/^你好/, async e => {
e.reply('你好')
})
- 图片组件
你无需再写原生的html,React将为你进行组件和管理
你无需再写原生从css !
tailwindcss将识别plugins目录下的tsx和jsx文件
为你自动生成css , 存放在./publick/output.css
创建组件
import React from 'react'
type PropsType = {
data: {
name: string
}
}
export default function App({ data }: PropsType) {
return <div className="text-red-500 p-2 text-xl">Hello, ${data.name}!</div>
}
渲染数据
import React from 'react'
import Hello from './hello.tsx'
const component = <Hello data={{ name: 'word' }} />
生成开发文档
npm run docs
浏览器打开文件docs/index.html