                 UIPasteboard.general.items = authItems
                 openURL(urlString: "weibosdk://request?id=\(uuidString)&sdkversion=003013000") { flag in
                     if flag { return }
-                    completionHandler(nil, nil, NSError(domain: "OAuth Error, cannot open url weibosdk://", code: -1, userInfo: nil))
+                    completionHandler(nil, nil, Error.userCancelled)
                 }
                 return
             }

            } else {
                openURL(urlString: "weixin://app/\(appID)/auth/?scope=\(scope)&state=Weixinauth") { flag in
                    if flag { return }
                    completionHandler(nil, nil, NSError(domain: "OAuth Error, cannot open url weixin://", code: -1, userInfo: nil))
                }
            }
        case .qq(let appID):

                UIPasteboard.general.setData(data, forPasteboardType: "com.tencent.tencent\(appID)")
                openURL(urlString: "mqqOpensdkSSoLogin://SSoLogin/tencent\(appID)/com.tencent.tencent\(appID)?generalpastboard=1") { flag in
                    if flag { return }
                    completionHandler(nil, nil, Error.userCancelled)
                }
                return
            }
