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
|