     private var oauthCompletionHandler: OAuthCompletionHandler?
     private var payCompletionHandler: PayCompletionHandler?
 
+    private var webView: WKWebView?
+    
     // Prevent others from using the default '()' initializer for MonkeyKing.
     private override init() {}
 

        // Close Button
        if URL.absoluteString.containsString("about:blank") {
            let error = NSError(domain: "User Cancelled", code: -1, userInfo: nil)
            hideWebView(webView, tuples: (nil, nil, error))
            return
        }


        case .WeChat(let appID, _):

            let scope = scope ?? "snsapi_userinfo"
            
            if !account.isAppInstalled {
                // SMS OAuth
                // uid??
                let accessTokenAPI = "https://open.weixin.qq.com/connect/mobilecheck?appid=\(appID)&uid=1926559385"
                addWebViewByURLString(accessTokenAPI)
            } else {

                openURL(URLString: "weixin://app/\(appID)/auth/?scope=\(scope)&state=Weixinauth")
            }
            
        case .QQ(let appID):

            let scope = scope ?? ""
