FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 小程序管理

小程序管理主要介绍操作小程序的 API,包括:打开小程序,关闭小程序

下面的 API 均是在调用 FinAppClient.init 方法返回出来 FinAppClient 实例上的方法,示例代码中的 client 即为 FinAppClient 的实例。如有特殊会在对应 API 说明。

# 1. 打开小程序

不同的场景,所使用的打开小程序的api也不同。所以,我们提供了多种不同的打开小程序的api。

  1. 打开线上小程序,这里一般只需要小程序id和服务器地址即可,该api只能打开正式版的小程序。

  2. 二维码打开小程序,这个场景是扫描小程序平台上的二维码,得到二维码里的内容,然后使用该内容打开小程序。正式版、体验版、审核版、开发版、预览版本的小程序二维码都可以使用该 Api 打开。

# 1.1 普通打开小程序

下面各类型都是在 IFinApplet 命名空间下,比如 IFinApplet.IAppletRequestIFinApplet.IQrCodeRequest

IAppletRequest

属性 类型 是否必填 描述
appId String 小程序 id
apiServer String 小程序所属服务器
startParams IStartParams 小程序启动参数
offlineLibraryPath String 离线小程序压缩包路径,可传入一个本地小程序包路径,加快首次启动速度
offlineFrameworkZipPath String 离线基础库压缩包路径,可传入一个基础库路径,加快首次启动速度

IStartParams

属性 类型 是否必填 描述
path String 启动的页面路径
query String 启动的参数
# API
client.startApplet(request: IFinApplet.IAppletRequest): Promise<AppletClient | void>

# 1.1.1 打开小程序(基础参数)

# 调用示例
client.startApplet({  
  appId: 'appId',  
  apiServer: 'apiServer'
})

# 1.1.2 打开小程序(带启动参数)

# 调用示例
client.startApplet({  
  appId: 'appId',  
  apiServer: 'apiServer',
  startParams:  {  
	path:'/pages/index/index',
    query: "aaa=test&bbb=123"  
  } 
})

# 1.2 二维码打开小程序

扫描平台中的小程序二维码,将解析出来的小程序二维码内容传给接口打开小程序。

IQrCodeRequest

属性 类型 是否必填 描述
qrCode String 二维码内容
# API
client.startAppletByQrCode(request: IFinApplet.IQrCodeRequest): Promise<AppletClient | void>
# 调用示例
client.startAppletByQrCode({  
  qrcode: 'qrcode'
})

# 2. 关闭小程序

该 API 并不会真正结束小程序,而是将小程序移至系统后台,等同于右上角的关闭按钮。

# 2.1 关闭指定小程序

# API
client.closeApplet(appId: string, apiServer: string): Promise<void>
# 调用示例
client.closeApplet('appId', 'apiServer')

# 2.2 关闭所有小程序

# API
client.closeAllApplet(): Promise<void>
# 调用示例
client.closeAllApplet()

# 3. 结束小程序

# 3.1 关闭指定小程序

# API
client.clearApplet(appId: string, apiServer: string): Promise<void>
# 调用示例
client.clearApplet('appId', 'apiServer')

# 3.2 关闭所有小程序

# API
client.clearAllApplet(): Promise<void>
# 调用示例
client.clearAllApplet()

# 4. 获取小程序信息

IAppletInfo

字段名 说明
appId 小程序id
logo 小程序头像
name 小程序名称
coreDescription 小程序描述
version 小程序版本号
sequence 小程序序列
groupName 所属组织名称
projectType 小程序类型

# 4.1 获取指定小程序信息

# API
client.getAppletInfo(appId: string, apiServer: string): IFinApplet.IAppletInfo | undefined
# 调用示例
client.getAppletInfo('appId', 'apiServer')

# 5. 删除小程序信息

由于小程序的运行,会将小程序包和小程序信息缓存在本地,以后打开时会优先使用缓存,所以打开时速度也就会很快。所以,如果想要将小程序的所有信息都删除,那么可以使用以下 api 删除某个小程序或者删除所有小程序。

# 5.1 删除指定小程序

# API
client.removeAppletFromLocalCache(appId: string, apiServer: string)
# 调用示例
client.removeAppletFromLocalCache('appId', 'apiServer')
© FinClip with ❤ , Since 2017