鱼泡前端 GUI 平台
我们约定在工作区根目录下的 yp-gui.config.js
为扩展功能的导出文件。
module.exports = {
codePush: {
// code-push 服务器地址
serverUrl: "http://yppush.cdqlkj.cn",
// 发布成功的回调,data为表单内容
onSuccess: (data) => {},
},
iconfont: {
// TODO 是否需要上传oss
needOss: false,
// RN项目需要 -> 生成的组件是否是ts
use_typescript: true,
// RN项目需要 -> 存储区,
save_dir: join(__dirname, "src/components/base/iconfont"),
// iconfont 前缀
trim_icon_prefix: "icon",
// icon 默认大小
default_icon_size: 50,
// 暴露自定义接口,好对接oss自动上传
// @params resource: 资源绝对路径数组 如: /Users/xxx/yyy/iconfont.js /Users/xxx/yyy/iconfont.css
// @return 返回一个Promise 告诉插件删除临时资源
onResource: (resource: string[]) => {
const js = resource.find((e) => e.indexOf("iconfont.js"));
const source = fs.readFileSync(js);
// do something
return Promise.resolve();
},
},
};
基础使用
此插件会判断当前工作区是否为 RN 项目,是才会提供菜单。
基础使用并不复杂,点击相应菜单即可,如未登录,会在浏览器打开登录页,登录成功后将 token 填入 vscode 弹框中即可。
注意:package.json 中 type
为 module
时此功能将不支持。
发布自定义表单
除默认提供的表单选项外,您还可以添加额外的表单选项,只需在 yp-gui.config.js
文件下导出 codePush.extraForm
,如下:
const extraForm = [
{
type: "Input",
formItem: { name: "custom", label: "自定义" },
formChild: {},
},
];
module.exports = {
codePush: { extraForm },
};
我们内部使用的是 antd
,字段对应 antd
的 API,具体如下:
发布成功 hook
发布成功后可执行您的函数,只需在 yp-gui.config.js
文件下导出 codePush.onSuccess
,如下:
function onSuccess(data) {
console.log(data);
// 执行一些操作,如飞书群通知
}
module.exports = {
codePush: { onSuccess },
};
onSuccess
接受一个对象参数,值为您发布时填入的表单值,包括您添加的自定义表单,其中默认表单的字段如下:
| 字段名称 | 类型 | 含义 |
| --------- | ------- | ------------ |
| platform | string | 平台 |
| app | string | App |
| env | string | 环境 |
| version | string | 版本号 |
| mandatory | boolean | 是否强制更新 |
| remark | string | 备注 |
| ... | T | 您的自定义表单 |
概述
通常,我们项目中使用到 iconfont,会从 iconfont 网站去上传,下载资源文件到本地->解压->传 CDN 或生成 RN SVG 组件。会大大增加开发效率。 此插件可在 vscode 面板里上传 下载 生成 并支持自定义 iconfont 资源文件
特点
- 登录一次 全局可用
- 支持下载 自定义下载
- 支持预览
- 支持退出登录
- 对接中台,自动上传 oss 一键到位
- 上传 svg
- 审核列表
能力
默认工作区是 yp-iconfont-resource
,需要在面板右上角设置下载工作区
如项目的iconfont放置路径为 ./assets/styles/icons, 设置工作区后将下载到此为止
- iconfont面板右上角设置工作区,选择相对根目录位置为工作区
- 选择项目 -> 设置工作区(下载目录)或默认为./yp-iconfont-resource -> 下载
- 选择项目 -> 上传按钮 -> 上传 svg -> iconfont 面板按钮(审核列表)查看审核结果
- 选择项目 -> 点击阿里云图标 -> 读取yp-gui.config.js.iconfont.save_url 字段或默认为./yp-iconfont-resource -> 自动上传到oss并生成相应iconfont.css文件到工作区
- 点击项目react图标 -> 读取yp-gui.config.js.iconfont.save_url字段或默认为./yp-iconfont-resource -> 生成到工作区
- 选择项目 -> 读取yp-gui.config.js.iconfont.onResource 方法 -> 下载
- onResource 方法将资源绝对路径数组作为入参,接收 Promise 告知插件进程下载完毕