如何在FinClip中开发小程序插件?

在上一期“如何使用小程序插件”的分享中有提到,在FinClip中开发者可以像开发小程序一样开发一个插件,而开发出来的插件,既可以提供给自己的团队使用,也可以公开出来供其他开发者使用。在插件发布之后 FinClip 会托管插件代码,其他小程序调用时,上传的插件代码会随小程序一起下载运行。

本期就详细为大家分享一下,如何在FinClip中开发小程序插件?

一、开发插件

1、创建插件项目

开发者需要在 FIDE 中选择创建小程序,并在项目类型中选择「小程序插件」。

当完成插件小程序的创建后,可以在项目目录中发现有两个目录与一个文件:

  • plugin目录:插件代码的目录;
  • miniprogram目录:放置 FinClip 小程序,用于调试插件;
  • fide.project.config.json文件:FinClip 项目配置文件;

在 miniprogram 目录中的内容可以当成普通小程序进行编写,用来对插件进行预览、调试与审核。

2、插件目录结构

如果你通过 FIDE 创建了插件类型的小程序,也可以直接通过查看其中的内容进一步了解小程序插件。

一个插件可以包括若干个自定义组件、页面和一组 js 接口。插件的目录内容如下:

plugin
├── components
│   ├── hello-component.js   // 插件提供的自定义组件(可以有多个)
│   ├── hello-component.json
│   ├── hello-component.fxml
│   └── hello-component.ftss
├── pages
│   ├── hello-page.js        // 插件提供的页面(可以有多个,自基础库版本 2.1.1 支持)
│   ├── hello-page.json
│   ├── hello-page.fxml
│   └── hello-page.ftss
├── index.js                 // 插件的 js 接口
└── plugin.json              // 插件配置文件

3、插件配置文件

向使用者小程序开放的所有自定义组件、页面和 js 接口都必须在插件配置文件 plugin.json列出,格式如下:

{
  "publicComponents": {
    "hello-component": "components/hello-component"
  },
  "pages": {
    "hello-page": "pages/hello-page"
  },
  "main": "index.js"
}

这个配置文件将向使用者小程序开放一个自定义组件hello-component,一个页面hello-page和 index.js下导出的所有 js 接口。

4、开发自定义组件

插件可以定义若干个自定义组件,这些自定义组件都可以在插件内相互引用。但提供给使用者小程序使用的自定义组件必须在配置文件的publicComponents段中列出(参考上文)。

除去接口限制以外,自定义组件的编写和组织方式与一般的自定义组件相同,每个自定义组件由fxml, ftssjsjson四个文件组成。具体可以参考 自定义组件的文档

json文件中需要引入自定义组件时,使用plugin://协议指明插件的引用名和自定义组件名即可,如:

{
  "usingComponents": {
    "hello-component": "plugin://myPlugin/hello-component"
  }
}

5、 开发页面

插件从小程序基础库版本 2.1.1 开始支持页面。插件可以定义若干个插件页面,可以从本插件的自定义组件、其他页面中跳转,或从使用者小程序中跳转。所有页面必须在配置文件的pages段中列出(参考上文)。

除去接口限制以外,插件的页面编写和组织方式与一般的页面相同,每个页由fxmlftssjs和 json四个文件组成。

插件执行页面跳转的时候,可以使用 navigator组件。当插件跳转到自身页面时, url应通过plugin://前缀设置为这样的形式:url="plugin://hello-plugin/hello-page",如:

<navigator id="nav" url="plugin://hello-plugin/hello-page">
  Go to Plugin page
</navigator>

同样,在插件自身的页面中,插件还可以调用 ft.navigateTo来进行页面跳转,url格式与使用 navigator组件时相仿。

6、开发接口

插件可以在接口文件(在配置文件中指定,详情见上文)中 export 一些 js 接口,供插件的使用者调用,如:

// plugin/pages/hello-page.js
Page({
  data: {},
  onLoad() {
    console.log('This is a plugin page!')
  }
})

7 、预览插件

插件可以像小程序一样预览和上传,但插件没有体验版。插件会同时有多个线上版本,由使用插件的小程序决定具体使用的版本号。手机预览和提审插件时,会使用一个特殊的小程序来套用项目中 miniprogram 文件夹下的小程序,从而预览插件。

二、上传、发布

在 FinClip 中,插件分为平台发布插件与自有插件,所有用户都可以看到平台发布的插件,普通开发者上传的插件则只可在自有团队或企业中可见。

当然如果普通开发者愿意将自己的插件共享出来、收费使用,也可以联系官方,通过官方发布到平台!

开发者如果需要上传自有插件,需要进入「小程序管理-小程序插件」页面,点击其中的「新增插件」按钮,并在其中分别输入插件名称,头像与介绍信息以完成插件新建。

完成插件新建后,点击右侧的「更新插件」,在其中分别录入插件的版本号,更新日志,并上传代码包,就可以完成插件的上传了。

<think>好的,我现在需要处理用户的问题,他想了解如何使用FinClip将微信小程序转换为独立的App,并且需要教程、文档和示例。首先,我需要明确FinClip是什么,以及它的主要功能。根据用户提供的引用内容,FinClip支持将微信语法的小程序转换为App,这可能涉及到代码上传和授权登录的对接。 接下来,我应该分解用户的问题。用户可能想知道具体的步骤,比如如何上传微信小程序的代码包,是否需要使用FinClip的IDE,或者是否有现成的转换工具。根据引用[2],用户提到他们上传了微信语法的小程序代码包,而没有使用FIDE预览,这说明可能FinClip支持直接上传微信小程序的代码,而不需要额外的转换工具。但需要确认这一点是否正确。 然后,用户可能关心是否需要处理特定的配置或依赖项。例如,引用[1]提到在处理代码包时需要提前处理某些内容,比如授权登录的对接。这可能涉及到在FinClip中配置微信登录或其他第三方登录方式,确保小程序在转换为App后能正常使用这些功能。 另外,用户可能需要知道如何将转换后的小程序集成到现有的App中,或者生成独立的App安装包。引用[2]提到使用Flutter开发App的一种组合思路,结合小程序和App,所以可能FinClip提供某种SDK或API,允许将小程序作为App的一部分运行,或者生成独立的App。需要详细说明这些步骤。 还需要考虑是否需要特定的文档或示例。FinClip可能有官方文档,但用户希望得到直接的教程指引。我应该整理出关键步骤,例如创建小程序基本信息、上传代码包、处理依赖项、构建App等,并引用相关的参考内容来支持这些步骤的正确性。 同时,用户提到的微信登录对接和授权登录接入可能是在转换过程中需要特别处理的部分,需要指导用户如何在这些方面进行配置,可能涉及后端服务的调整或FinClip平台的设置。 最后,需要确保回答结构清晰,分步骤说明,并且引用提供的参考资料来增强可信度。可能还需要提醒用户注意代码兼容性问题,例如某些微信特有的API在FinClip中是否有替代方案,或者是否需要修改代码以适应FinClip的环境。</think>### 如何通过FinClip将微信小程序转换为独立App? FinClip平台支持将微信小程序语法编写的代码快速转换为独立App或集成到现有原生App中。以下是具体步骤及注意事项: --- #### **步骤1:准备小程序代码** - **代码兼容性处理** 确保微信小程序代码符合FinClip规范,需注意: - 替换微信特有API为FinClip等效接口(如登录、支付等)[^1] - 删除或修改微信平台依赖的插件(如云开发、特定广告组件) - **示例代码结构** ``` /pages index.js index.wxml index.wxss app.js app.json ``` --- #### **步骤2:创建FinClip小程序信息** 1. 登录FinClip管理后台,创建小程序应用 2. 填写基本信息:名称、图标、描述等 3. 获取**AppID**和**SDK密钥**(用于后续集成) --- #### **步骤3:上传代码包** - 直接上传微信格式的`.zip`代码包 (无需通过FIDE工具转换,但需提前处理API兼容性)[^2] - 代码包要求: - 大小不超过10MB - 主入口文件必须为`app.js` - 配置文件`app.json`需声明页面路径 --- #### **步骤4:生成独立App** 1. **方案选择** - **Flutter混合开发**:通过FinClip SDK将小程序嵌入Flutter框架构建安装包 - **原生封装**:使用Android Studio/Xcode集成SDK生成独立APK/IPA 2. **关键配置** ```dart // Flutter集成示例 void loadMiniProgram() { FinAppletManager.instance.startApplet( appId: 'your_appid', apiServer: 'https://api.finclip.com', ); } ``` --- #### **步骤5:功能适配** - **登录授权** 替换微信`wx.login`为FinClip登录接口,需对接自有用户体系或第三方认证[^1] - **支付功能** 使用FinClip支付插件或自定义原生模块实现 --- #### **文档与示例** 1. **官方资源** - [FinClip小程序开发文档](https://www.finclip.com/mop/document/) - [微信语法兼容性列表](https://www.finclip.com/mop/document/develop/guide/weixin-compatibility.html) 2. **示例项目** GitHub搜索`finclip-wechat-demo`获取转换案例 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值