     public typealias WeChatOAuthForCodeCompletionHandler = (Result<String, Error>) -> Void
     public typealias PayCompletionHandler = (Result<Void, Error>) -> Void
     public typealias LaunchCompletionHandler = (Result<Void, Error>) -> Void
+    public typealias LaunchFromWeChatMiniAppCompletionHandler = (Result<String, Error>) -> Void
 
     static let shared = MonkeyKing()
 

        shared.accountSet.insert(account)
    }

    public class func registerLaunchFromWeChatMiniAppHandler(_ handler: @escaping (String) -> Void) {
        shared.launchFromWeChatMiniAppHandler = handler
    }
}


    private var deliverCompletionHandler: DeliverCompletionHandler?
    private var payCompletionHandler: PayCompletionHandler?
    private var launchCompletionHandler: LaunchCompletionHandler?
    private var launchFromWeChatMiniAppCompletionHandler: LaunchFromWeChatMiniAppCompletionHandler?
    private var openSchemeCompletionHandler: ((URL?) -> Void)?

    private override init() {}
