微包Flutter插件

请将'wbxsdk'Flutter插件加入您要集成的项目中

代码调用

使用混合类集调用微包唤起业务

import 'package:wbxsdk/mixin_wbxsdk.dart';

mixin WbxSdkMixin {
  /// 唤起业务
  ///
  /// #######
  /// 支持以下业务进行唤起
  /// VERIFY_CERT //安装数字证书
  /// FIRSTSET_PASSWORD // 设置支付密码
  /// ACCESS_SAFETY // 安全设置
  /// ACCESS_CARDlIST // 绑卡管理
  /// ACCESS_OWN_PAYCODE // 我的付款码
  /// VALUE_ADDED // 增值服务
  /// VALIDATE_PASSWORD // 确认密码
  /// MANUAL_CHECK_CER // 手动下载证书
  /// AUTO_CHECK_CER // 自动下载证书
  /// AUTH_PERSON // 人像认证
  /// SILENCE_RESCIND // 解除沉默账户
  ///
  /// ##以下为收银台业务##
  /// RECHARGE // 充值
  /// TRANSFER // 转账
  /// WITHHOLDING // 提现
  /// REDPACKET // 发红包
  /// APP_PAY // 订单支付
  /// WEB_PAY // WEB支付
  ///
  /// ### status 返回状态码 ###
  /// PROCESS 返回商户处理中
  /// SUCCESS 返回商户成功
  /// FAIL 返回商户失败
  /// CANCEL 返回商户取消
  ///
  /// TIP: 如果收银台业务返回 PROCESS/SUCCESS 仅代表业务提交成功, 具体业务结果需要商户自行调用服务端接口查询为准
  void evoke(
      String source, // 业务码
      String merchantId, // 商户ID
      String walletId, // 钱包ID
      {
        String token = "", // 业务TOKEN, 由预下单返回
        String requestId = "", // 请求码, 用于服务端日志排查使用
        required void Function(
            String source, // 回调业务码
            String status, // 返回状态码
            String cause, // 返回失败原因
            {
              List<OrderEntity> orderList // 返回订单数据,
            }) onResult, // 业务结果回调
      })
}

abstract class YOU_BASE_CLASS with WbxSdkMixin {}

使用静态方法调用微包

import 'package:wbxsdk/wbxsdk.dart';

class WbxSdk{

    /// 唤起业务
    static void evoke({
        required String merchantId, // 商户ID
        required String walletId, // 钱包ID
        String token = "", // 业务TOKEN, 由预下单返回
        String source = "", // 业务码
        String? requestId, // 请求码, 用于服务端日志排查使用
    });

    /// 监听业务回调
    static Stream<dynamic> evokeListen({
        required void Function() evokeBody // 业务调用, 例如: evoke(/*_*/)
    });

    /// Android平台微包特有: 删除业务监听
    static void removeWbxSdkEvokeResultListener();

    /// 部分按钮与顶部导航栏支持设置背景与文字颜色
    static void setColor({
        String buttonColor = "", // 按钮背景颜色
        String toolBarColor = "", // 顶部导航栏背景颜色
        String buttonTextColor = "", // 按钮文字颜色
        String toolBarTextColor = "", // 顶部导航栏文字颜色
    });

    /// 设置导航条返回键样式
    /// 0 黑色 1白色
    /// Tip:Android平台下的微包会自动根据顶部导航栏背景颜色设置黑色与白色
    static void setToolBarBackImg({int toolBarBackImgColor = 0,});

    /// 获取微包SDK版本
    static Future<Map<String, dynamic>> getSdkVersion();

    /// 清除钱包缓存数据
    static void clearWalletCache();

    /// IOS平台特有,底部tabbar隐藏
    static Future<Map<String, dynamic>> setHidesBottomBarWhenPushed({
    bool hidesBottomBarWhenPushed = true
    })

    /// 设置是否为Debug模式
    /// debug模式中会出现额外日志内容
    static void setDebug({bool debug = false});

    /// 弹出的安全键盘是否为随机
    static void setRandomKeyboard({bool random = false})

    /// 删除数字证书
    static Future<Map<String, dynamic>> deleteCer({required String walletId})

    /// Android平台特有,获取结果内容,
    /// 目前仅用在我的付款码中使用,作为支付方付款支付后进行订单付款状态的查询依据
    /// 等同于@code(WbxSdkMixin#evoke) 返回的 List<OrderEntity> orderList 数据
    /// 当前版本除返回订单信息外不会返回其它数据
    static Future<Map<String, dynamic>> getResultObject()

    /// 设置密码验证页面的验证方式
    /// PAY_PASSWORD // 默认密码
    /// FORCE_PAY_PASSWORD // 强制密码
    /// FACE_SCAN // 刷脸
    /// FORCE_FACE_SCAN // 强制刷脸
    /// FINGERPRINT // 指纹
    /// TIP:前端即使指定验证方式,但在服务端中发现指定验证方式与既定策略不符时,以服务端下发的验证方式为准
    static void setDefaultPayModeOfVerifyPwd({
        String payModeOfVerifyPwd = "PAY_PASSWORD"
    })
}

添加静态活体(即:刷脸认证)

静态活体功能需要联系我司商务经理进行申请授权文件。 申请授权文件中的包名应该与要集成的App保持一致

IOS平台

商户拿到正式.lic授权文件时,将正式.lic授权文件命名为SenseID_Liveness_Silent.lic引入到主工程中

Android平台

获取到拿到License文件后(即:xxx.lic)

<application>
   <meta-data
           android:name="com.ehking:android-sensetime:lic"
           android:value="0d5e791c-1577-45e7-ade5-b29795b9aa95.lic" />
</application>

当然你也可以通过 AndroidManifest 指定你的.lic名称

<meta-data
    android:name="com.ehking:android-sensetime:lic"
    android:value="YOU_CUSTOM_LICENCE_NAME.lic" />