             } else {
                 var urlComponents: URLComponents?
                 var wxUrlOptions = [UIApplication.OpenExternalURLOptionsKey : Any]()
+                
+                let schemeURLComponents: ()-> URLComponents? = {
+                    var urlComponents = URLComponents(string: "weixin://app/\(appID)/auth/")
+                    urlComponents?.queryItems = [
+                        URLQueryItem(name: "scope", value: scope),
+                        URLQueryItem(name: "state", value: "Weixinauth"),
+                    ]
+                    return urlComponents
+                }
 
                 if let universalLink = universalLink,
                    let authUrl = shared.wechatUniversalLink(of: "auth") {

            shared.twitterAuthenticate(appID: appID, appKey: appKey, redirectURL: redirectURL)
        }
    }

    private class func fallbackToScheme(url: URL, completionHandler: @escaping OAuthCompletionHandler) {
        shared.openURL(url) { succeed in


                    wxUrlOptions[.universalLinksOnly] = true
                } else {
                    urlComponents = schemeURLComponents()
                }
                
                handleWeChatAuth(
                    urlComponents,
                    schemeURLComponents(),
                    wxUrlOptions,
                    completionHandler: completionHandler)
            }
        case .qq(let appID, _):
            let scope = scope ?? ""
