upload code
This commit is contained in:
189
README.md
Normal file
189
README.md
Normal file
@@ -0,0 +1,189 @@
|
||||
|
||||
# kintone-vue-ts-template
|
||||
|
||||
使用 Vue 、ts 和 Vite 创建 kintone plugin 的初始化模板,先由 [create-plugin](https://cybozu.dev/ja/kintone/sdk/development-environment/create-plugin/) 生成之后再手动引入 Vue。
|
||||
|
||||
> プラグイン開発手順:https://cybozu.dev/ja/kintone/tips/development/plugins/development-plugin/
|
||||
|
||||
包括了以下 kintone 库:
|
||||
|
||||
- [kintone-ui-component (v1.22.0)](https://cybozu.dev/ja/kintone/sdk/library/kintone-ui-component-v1/)([文档](https://ui-component.kintone.dev/ja/))
|
||||
- [@cybozu/eslint-config](https://cybozu.dev/ja/kintone/sdk/development-environment/eslint-config/)
|
||||
- [@kintone/rest-api-client](https://cybozu.dev/ja/kintone/sdk/rest-api-client/kintone-javascript-client/)([文档](https://github.com/kintone/js-sdk/tree/main/packages/rest-api-client))
|
||||
- [kintone/plugin-packer](https://cybozu.dev/ja/kintone/sdk/development-environment/plugin-packer/)
|
||||
- [@kintone/plugin-uploader](https://cybozu.dev/ja/kintone/sdk/development-environment/plugin-uploader/)
|
||||
- [@kintone/dts-gen](https://cybozu.dev/ja/kintone/sdk/library/dts-gen/)
|
||||
|
||||
# 使用步骤
|
||||
|
||||
首先进行安装
|
||||
|
||||
```bash
|
||||
npm install # 或 yarn
|
||||
```
|
||||
|
||||
随后需要修改项目信息:
|
||||
|
||||
1. `package.json`
|
||||
```diff
|
||||
{
|
||||
+ "name": "项目名",
|
||||
- "name": "kintone-vue-template",
|
||||
"private": true,
|
||||
+ "version": "版本号",
|
||||
- "version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"vite:build": "vite build",
|
||||
"build": "vite build && npm run pkg",
|
||||
"build-upload": "npm run build && npm run upload",
|
||||
"pkg": "kintone-plugin-packer --ppk private.ppk --out dist/plugin.zip dist/src",
|
||||
+ "upload": "修改 kintone 域名、用户名和密码"
|
||||
- "upload": "kintone-plugin-uploader --base-url https://alicorn.cybozu.com --username maxz --password 7ld7i8vd dist/plugin.zip "
|
||||
},
|
||||
...
|
||||
```
|
||||
|
||||
2. `src/manifest.json`
|
||||
|
||||
```diff
|
||||
{
|
||||
...
|
||||
+ "icon": "icon 路径",
|
||||
- "icon": "image/icon.png",
|
||||
"config": {
|
||||
...
|
||||
+ "required_params": [ "/config 页面必填的参数" ]
|
||||
- "required_params": [ "buttonName" ]
|
||||
},
|
||||
+ "name": "项目名",
|
||||
- "name": {
|
||||
- "en": "kintone Vue template",
|
||||
- "ja": "kintone Vue テンプレート"
|
||||
- },
|
||||
+ "description": "项目描述",
|
||||
- "description": {
|
||||
- "en": "kintone Vue template for creating plugin",
|
||||
- "ja": "kintoneプラグイン作成用 Vue テンプレート"
|
||||
- },
|
||||
+ "description": "项目网站",
|
||||
- "homepage_url": {
|
||||
- "en": "https://www.alicorns.co.jp/",
|
||||
- "ja": "https://www.alicorns.co.jp/"
|
||||
- },
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
# 编译流程
|
||||
|
||||
- `build` 会生成 `dist` 文件夹,以及 `plugin.zip` 文件
|
||||
|
||||
> 如果只需要 `dist` 文件夹,可以执行 `vite:build`
|
||||
|
||||
```bash
|
||||
npm run build # 或 yarn build
|
||||
|
||||
# 仅生成 `dist` 文件夹
|
||||
npm run vite:build # 或 yarn vite:build
|
||||
```
|
||||
|
||||
- `upload` 会将 `plugin.zip` 上传到 Kintone plugin
|
||||
|
||||
```bash
|
||||
npm run upload # 或 yarn upload
|
||||
```
|
||||
|
||||
- `build-upload` 会顺序执行上面两步
|
||||
|
||||
```bash
|
||||
npm run build-upload # 或 yarn build-upload
|
||||
```
|
||||
|
||||
# 开发说明
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
├── src
|
||||
│ ├── components
|
||||
│ │ ├── basic
|
||||
│ │ │ ├── PluginInput.vue
|
||||
│ │ │ └── PluginLabel.vue
|
||||
│ │ └── Config.vue
|
||||
│ ├── css
|
||||
│ │ ├── 51-modern-default.css
|
||||
│ │ └── config.css
|
||||
│ ├── i18n
|
||||
│ │ ├── lang
|
||||
│ │ │ ├── en.ts
|
||||
│ │ │ └── ja.ts
|
||||
│ │ └── index.ts
|
||||
│ ├── js
|
||||
│ │ ├── desktop.ts
|
||||
│ │ └── mobile.ts
|
||||
│ ├── types
|
||||
│ │ ├── index.d.ts
|
||||
│ │ ├── model.d.ts
|
||||
│ │ └── my-kintone.d.ts
|
||||
│ ├── main.ts
|
||||
│ └── manifest.json
|
||||
├── README.md
|
||||
├── components.d.ts
|
||||
├── env.d.ts
|
||||
├── index.html
|
||||
├── package.json
|
||||
├── tsconfig.json
|
||||
└── vite.config.ts
|
||||
```
|
||||
|
||||
当前模板中已经有一个案例,可以参考并且修改。
|
||||
|
||||
1. 对于 Config 页面,请修改 `components/Config.vue`
|
||||
2. 对于 PC 的 App 页面,请修改 `js/desktop.ts`
|
||||
3. 对于 Mobile 的 App 页面,请修改 `js/mobile.ts`
|
||||
|
||||
这三个文件是强制指定的,请不要修改。
|
||||
|
||||
### 关于 Config 页面
|
||||
|
||||
只有 **Config 页面** 的开发可以使用 Vue Template,其他页面请使用 `js` 文件。
|
||||
|
||||
基本上和 Vue 开发没有区别,但是有以下一些限制:
|
||||
1. CSS 样式只能使用 `css` 文件
|
||||
2. `kintone-ui-component` 库有一些限制
|
||||
|
||||
|
||||
### 关于 CSS
|
||||
|
||||
1. 暂时不支持在 Vue Template 中创建,**只能在 `css` 文件夹下新建 css 文件**
|
||||
2. 目前在 `config` 页面引入了 `51-modern-default.css`,里面存放了 kintone 的一些样式
|
||||
- 如果不需要使用就在 `manifest.json` 中删除
|
||||
```diff
|
||||
"config": {
|
||||
"html": "html/config.html",
|
||||
"js": [
|
||||
"js/config.js"
|
||||
],
|
||||
"css": [
|
||||
- "css/51-modern-default.css",
|
||||
"css/config.css"
|
||||
],
|
||||
"required_params": [
|
||||
"buttonName"
|
||||
]
|
||||
},
|
||||
```
|
||||
|
||||
|
||||
|
||||
###
|
||||
|
||||
|
||||
**支持 Vue 页面**,
|
||||
不支持 Vue 页面,
|
||||
|
||||
|
||||
## 对于 `kintone-ui-component` 库的限制
|
||||
|
||||
v-model 语法糖无法使用
|
||||
Reference in New Issue
Block a user