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

# 小程序信息管理

这个模块主要是获取小程序信息的一些Api介绍。

# 1 搜索小程序

要搜索小程序,需要两步:

  1. 确保在初始化SDK的时候,配置了该服务器信息;
  2. 调用该搜索接口搜索小程序

# API

/**
 * 搜索小程序
 *
 * @param searchAppletRequest 请求体
 * @param callback 请求结果回调
 */
fun searchApplet(
    searchAppletRequest: SearchAppletRequest,
    callback: FinCallback<SearchAppletResponse>
)

SearchAppletRequest说明:

/**
 * 搜索小程序请求实体类
 *
 * @param apiServer 服务器地址
 * @param text 搜索内容
 */
data class SearchAppletRequest(var apiServer: String,
                               var text: String)

SearchAppletResponse说明:

/**
 * 搜索小程序返回实体类
 *
 * @param list 搜索到的小程序集合
 * @param total 搜索到的小程序数量
 */
data class SearchAppletResponse(
        val list: List<AppletInfo>?,
        val total: Int
)

/**
 * 搜索小程序返回的小程序信息实体类
 *
 * @param appId 小程序id
 * @param appName 小程序名称
 * @param desc 小程序描述信息
 * @param highLights 高亮字体
 * @param logo 小程序logo
 * @param organName 企业名称
 * @param pageUrl 小程序搜索到的页面路径
 * @param showText 展示内容
 */
data class AppletInfo(
        val appId: String?,
        val appName: String?,
        val desc: String?,
        val highLights: List<HighLight>?,
        val logo: String?,
        val organName: String?,
        val pageUrl: String?,
        val showText: String?
)

/**
 * 高亮字体
 *
 * @param key 高亮字体的key
 * @param value 高亮字体的value
 */
data class HighLight(
        val key: String?,
        val value: String?
)

# 调用示例

    # 2 获取小程序对象信息

    # API

    /**
     * 获取小程序信息
     */
    fun getAppletInfo(appId: String): FinAppInfo?
    

    # 调用示例

      # 相关字段说明

      字段名 说明
      appId 小程序id
      codeId 小程序代码包ID
      userId 小程序开发者id
      appAvatar 小程序头像
      appTitle 小程序标题
      appDescription 小程序描述
      appPath 小程序路径
      appVersion 小程序版本号
      appVersionDescription 小程序版本说明
      sequence 小程序序列
      isGrayVersion 是否是灰度版本
      appThumbnail 小程序缩略图
      groupId 所属组织ID
      groupName 所属组织名称
      appType 小程序类型
      createdBy 小程序开发者
      createdTime 小程序创建时间
      startParams 启动参数
      info 扩展信息
      fromAppId 小程序的来源小程序id
      如果小程序A通过调用navigateToMiniProgram打开小程序B,那么对于小程序B来说,fromAppId为小程序A的appId
      finStoreConfig 小程序应用市场配置信息
      frameworkVersion 基础库版本号
      url 小程序下载地址
      md5 小程序整包MD5
      cryptInfo 小程序加密信息

      # 3 获取小程序当前WebView信息

      # 3.1 获取当前webView的URL

      如果当前页面加载的是H5,才会返回H5对应的URL。

      FinAppClient.appletApiManager.getCurrentWebViewURL(
          object : FinCallback<String> {
              override fun onSuccess(result: String?) {
                  toast("url:$result")
              }
      
              override fun onError(code: Int, error: String?) {
      
              }
      
              override fun onProgress(status: Int, info: String?) {
      
              }
          })
      

      # 3.2 获取当前webView的UserAgent

      FinAppClient.appletApiManager.getCurrentWebViewUserAgent(
          object : FinCallback<String> {
              override fun onSuccess(result: String?) {
                  toast("userAgent:$result")
              }
      
              override fun onError(code: Int, error: String?) {
      
              }
      
              override fun onProgress(status: Int, info: String?) {
      
              }
          })
      

      # 4 获取小程序页面截图

      # API

      /**
       * 获取小程序页面截图
       *
       * @param appId 小程序id
       * @param callback 小程序页面截图回调
       */
      fun captureAppletPicture(appId: String, callback: FinCallback<Bitmap?>)
      

      # 调用示例

        # 5 获取使用过的小程序

        # 5.1 获取使用过的指定小程序

        # API
        /**
         * 获取指定小程序id的使用过的小程序
         *
         * @param appId 小程序id
         */
        fun getUsedApplet(appId: String): FinApplet?
        
        # 调用示例

          # 5.2 获取使用过的小程序列表

          # API
          /**
           * 获取所有使用过的小程序
           */
          fun getUsedApplets(): List<FinApplet>
          
          # 调用示例

            # 5.3 判断是否是使用过的小程序

            # API

            /**
             * 判断是否是使用过的小程序
             */
            fun isUsedApplet(appId: String): Boolean
            

            # 调用示例

              # 6 获取当前小程序的id

              # API

              /**
               * 获取当前小程序的id
               */
              fun getCurrentAppletId(): String?
              

              # 调用示例

                # 7 微信小程序二维码信息转换为 FinClip小程序

                该API的使用场景是当某小程序在微信和FinClip服务上都上架之后,可以在FinClip平台关联微信的小程序。这时FinClip平台上的线上版二维码,既可以用微信扫码打开,也可以用凡泰助手或其他集成了FinClip SDK的APP扫码打开。

                流程是先扫描该二维码,得到二维码内容,然后调用该接口获取FinClip 小程序id,最后调用打开小程序的API即可。

                # API

                /**
                 * 根据微信QrCode信息解析小程序信息
                 *
                 * @param qrCode 二维码信息
                 * @param apiServer 小程序所在应用市场的服务器地址
                 * @param callback 结果回调
                 */
                fun parseAppletInfoFromWXQrCode(
                    qrCode: String,
                    apiServer: String,
                    callback: FinSimpleCallback<ParsedAppletInfo?>
                )
                

                ParsedAppletInfo结构如下:

                /**
                 * 根据微信QrCode信息解析小程序信息返回的小程序信息实体类
                 *
                 * @param appId 小程序id
                 */
                data class ParsedAppletInfo(
                    val appId: String?
                )
                

                # 调用示例

                  © 2022 FinClip with ❤

                  👋🏻 嘿,你好!

                  「FinClip」是一套基于云原生框架设计的小程序容器。能够让任何移动应用在集成小程序SDK之后,获得可用、安全的小程序运行能力。

                  >> 点我免费注册体验

                  查看产品文档
                  了解与 FinClip 相关的一切信息

                  产品博客 👈  了解产品更新与核心功能介绍
                  资源下载 👈  获取小程序 SDK 与开发工具
                  文档中心 👈  查询 FinClip 小程序开发指南与答疑

                  商务咨询热线
                  预约 FinClip 产品介绍,咨询商务报价或私有化部署事宜

                  400-066-00210755-86967467

                  获取产品帮助
                  联系 FinClip 技术顾问,获取产品资料或加入开发者社群

                  联系线上
                  人工客服

                  或 👉  点击这里,提交咨询工单

                  填写 FinClip 问卷抽缤纷夏日盲盒
                  Hi,这里是我们为 FinClip 用户准备的一封调研问卷,期待您的参与,您的反馈和建议,将指引 FinClip 未来前进的方向。