| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 | Namespace.register("U.U.OT"); //用户登录的命名空间//推送的广告词U.U.OT.UTF = false;U.U.OT.UST = "最新科技:云操作系统,您也来加入吧!点击进入哦!";U.U.OT.User = {};//#region 加载外联登录//异步加载登录接口/*** 异步加载qq登录的js** @param  {array} 加载按钮样式(参考qq登录api)*/U.U.OT.QqLoadJs = function (bottonstyle) {    U.MD.DynamicLoad("http://qzonestyle.gtimg.cn/qzone/openapi/qc-1.0.1.js",    "js",    function () {        U.U.OT.AsynQqLoadJs(bottonstyle);    },    //U.M.apply(this, [[U.U.OT.AsynQqLoadJs, [bottonstyle]]]), ie8以前的浏览器可以使用此方法代替上面的方法,更加高效    {"data-appid": "100584402", "charset": "utf-8", "src": "http://qzonestyle.gtimg.cn/qzone/openapi/qc-1.0.1.js" }, true); //腾讯登录加载}///*** qq登录加载异步js成功处理** @param  {array} 加载按钮样式(参考qq登录api)*/U.U.OT.AsynQqLoadJs = function (bottonstyle) {    QC.Login(bottonstyle[i], U.M.apply(null, [[U.U.OT.QQCB, [null]]])); //调用加载qq登录按钮加载函数    //由于qq登录按钮加载后会出现a标签,所以点击会出现错位于是会这里把a标签的href修改成"javascript:void(0)"    $("a", $("#" + UDE[i]["btnId"])[0]).addAttrArray({ "href": "javascript:void(0)" });}/*** 异步加载微博登录的js** @param  {array} 加载按钮样式(参考微博登录api)*/U.U.OT.WeiboLoadJs = function (bottonstyle) {    //异步加载使用,微博登录加载    U.MD.DynamicLoad(    "http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=1242324937&i=" + Guid.newGuid(),    "js",    function () {        WB2.anyWhere(function () {            U.U.OT.ButtonWeiboLoadJs(bottonstyle);        });    },    //  U.M.apply(this, [[WB2.anyWhere, [U.M.apply(this, [[U.U.OT.ButtonWeiboLoadJs, [bottonstyle]]])]]]), ie8以前的浏览器可以使用此方法代替上面的方法,更加高效    {"charset": "utf-8", "src": "http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=1242324937&i=" + Guid.newGuid(),    "charset": "utf-8", "type": "text/javascript"},     true); //微博登录加载}/*** 微博异步加载js成功处理** @param  {array} 加载按钮样式(参考微信登录api)*/U.U.OT.ButtonWeiboLoadJs = function (bottonstyle, window) {    window.widget.connectButton(bottonstyle); //加载按钮    $("a", $("#" + bottonstyle["id"])[0]).addAttrArray({ "href": "javascript:void(0)" });}/*** 异步加载微信登录js** @param  {array} 加载按钮样式(参考微信登录api)*/U.U.OT.WeixinLoadJs = function (bottonstyle) {    //异步加载微信登录    U.MD.DynamicLoad("http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js", "js",    function () { U.U.OT.AsynWeixinLoadJs(bottonstyle); },    //U.M.apply(this, [[U.U.OT.AsynWeixinLoadJs, [bottonstyle]]]),ie8以前的浏览器可以使用此方法代替上面的方法,更加高效    {"charset": "utf-8", "src": "http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js", "charset": "utf-8", "type": "text/javascript" }, true); //}//微信登录加载U.U.OT.AsynWeixinLoadJs = function (bottonstyle) {    //初始化微信    new WxLogin({        id: bottonstyle.ID || "",        appid: "wxae62986df7490c49",        scope: "snsapi_login",        redirect_uri: "",        state: bottonstyle.state || Guid.newGuid(),        style: bottonstyle.style || "",        href: bottonstyle.href || ""    });}//注销QQ登录U.U.OT.Logout = function () {    if (WB2.checkLogin()) { WB2.logout(); } //退出微博登陆    if (QC.Login.check()) { QC.Login.signOut(); } //退出qq登陆}//#endregion//#region 腾讯登录//qq登录成功或者失败后的回调函数U.U.OT.QQCB = function (UCB, UDE) {    if (QC.Login.check()) {//用户登录才能获取信息        QC.Login.getMe(function (UOID, UAID) {//获取用户登录id            QC.api("get_user_info", {}).success(function (UKE) { //获取用户信息                UKE = UKE.data; //qq用户信息回调                //获取用户基本信息                U.Ut.AddObj(UKE, { "UserNickName": UKE.nickname, //用户基本信息                    "gender": UKE == "男" ? 1 : 0, "openID": UOID,                    "accessToken": UAID, "province": UKE.province,                    "city": UKE.city, "Birthday": U.MT.toTimeStamp(UKE.year + "/01/01")                });                //腾讯微博基本信息                QC.api("get_info", {}).success(function (UWE) {                    UWE = UWE.data.data; var _UDL = UWE.location.split(' ');                    //发送一条雨云科技的消息                    QC.api("add_pic_t", { "content": U.U.OT.UST, "pic": "/img/qqew.jpg" }); //发表一篇进入1473的帖子                    QC.api("add_idol", { "name": "雨云科技" }); //关注我们的腾讯微博                    var _userinfo = U.Ut.AddObj(UKE, { "nickname": UWE.nick, //登录消息                        "gender": UWE.sex,                        "openID": UOID,                        "accessToken": UAID,                        "province": _UDL[1],                        "city": _UDL[2],                        "description": UWE.introduction,                        "UserEmail": UWE.email,                        "Birthday": U.MT.toTimeStamp(UWE.birth_year + "-" + UWE.birth_month + "-" + UWE.birth_day, "-")                    });                    U.U.OT.USUser(_userinfo);                }).error(function () {                    U.U.OT.USUser(UKE);                }).complete(function () { //未注册微博的用户直接登录                });            }).error(function () { U.Alert("获取QQ用户信息失败!"); }).complete(function () { ; });        });    }}//#endregion//#region 微博登录//微博登录成功或者失败后的回调函数U.U.OT.WBCB = function (UCB, userinfo) {    U.U.OT.USUser(userinfo); //1473登录    WB2.anyWhere(function (WB2) { //调用        WB2.parseCMD("/statuses/update.json", function (message) { //登录成功消息推送        }, { "status": U.U.OT.UST });        WB2.parseCMD("/friendships/create.json", function (message) { //登录后关注我们的微博账号        }, { "screen_name": "1473云端" });    });}//微博关注按钮,传入参数为需要关注的id。U.U.OT.WBGZ = function (UDID) {    WB2.anyWhere(function (UWE) {        W.widget.followButton({ "nick_name": "1473云端", //设置腾讯微博关注按钮            "id": UDID, "show_head": false, "show_name": false, "show_cancel": false        });    });}//#endregion//#region 微信登录处理////url形式跳转登录//U.U.OT.WXUrl = function (USE) {//    //   window.open("https://open.weixin.qq.com/connect/qrconnect?appid=wxae62986df7490c49&redirect_uri=https%3A%2F%2Fwww.1473.cn&response_type=code&scope=snsapi_login&state=3d6be0a4035d839573b04816624a415e#wechat_redirect ");//}////微信登录回调处理//U.U.OT.CallBackWX = function (USE) {//}//2ed68d9671db0ee8ba114f69567502b6/*** 判断外链用户是否存在** @param  {array} 登录值参数* @param  {array} 回调函数*/U.U.OT.weixin = function () {    //防止二维码缓存。    U.U.OT.wxData = { "id": Guid.newGuid() };    window.open("https://open.weixin.qq.com/connect/qrconnect?appid=wxae62986df7490c49&redirect_uri=" + window.encodeURI("/WxDomain.htm") + "&response_type=code&scope=snsapi_login&state=" + U.U.OT.wxData.id);}/*** 微信注册异步回调区域**/U.U.OT.Asynweixin = function (UST) {    var _co = U.M.QueryString("code", UST), //获取code值    _state = U.M.QueryString("state", UST); //回调状态    if (_state == U.U.OT.wxData.id && _state != null) { //判断状态吗是否匹配        U.A.Request("http://zhifu.1473.cn/weixin/login.php?code=" + _co, [], function (r) {            if (r.value.openid) {                U.U.OT.USUser(r.value); //登录            }            else {                U.Alert("微信扫描登录失败");            }        });    }}//#endregion//#region 外链登录成功使用/*** 判断外链用户是否存在** @param  {array} 登录值参数* @param  {array} 回调函数*/U.U.OT.USUser = function (userinfo) {    //userinfo.openID代表QQ的openid  userinfo.id代表微博的openid   userinfo.openid代表微信的openid    U.A.Request(US.Auth, ["ThirdPartyLogin", (userinfo.openID || userinfo.id || userinfo.openid)]),     U.U.OT.AsynUSUser, [null, US.NLInfo.LogAddr, userinfo]; //通过微博或者qq的openid 获取是否在1473上注册的用户}/*** 微博或者qq云端登录异步** @param  {array} 登录值参数* @param  {array} 回调函数*/U.U.OT.AsynUSUser = function (r) {    var _UDE;    var _UTF = true, //不成功登录变量    context = r.context; //回调参数    //_UCB = context[3]; //回调函数    //if (_UCB) {    //    _UTF = _UCB(context[2], r.value);     //} //如果需要异步执行    if (_UTF) { //判断用户值        if (typeof r.value == "object") { //用户存在直接登录            context[3] = r.value[0].UserName; //用户名            context[2] = null; //回调函数清空            U.U.L.AsynUlL(r); //直接登录        }        else { //用户不存在填写资料            _UDE = U.U.R.TBA;            _UDE[0] = _UDE[1] = false; //设置信息不成功            U.U.L.USUTJ(context[2], r.value); //填写登录信息        }    }}//#endregion
 |