UNPKG

jdjm

Version:

金融移动端 - jm

134 lines (127 loc) 4.94 kB
/** * @Author: Created By McChen * @Date: 2016/5/24 * @Mail: chenjiahao@jd.com * @Version: V1.0.0 */ ;(function (jm) { /**============================ private ==============================*/ var browser = "default"; for (i in jm.getBrowserInfo().appType) { if (jm.getBrowserInfo().appType[i]) { browser = i; } } if (browser == "jrApp" && window.jsBridgeV3 != undefined) { window.jrBridge = window.jrBridge || jsBridgeV3.onReady(); } else { window.jrBridge = null; } //M页登陆 function passportLogin(opts) { if (opts.wqLogin) { var sid = getCookie('wq_auth_token') ; } else { var sid = getUrlString("sid") || getUrlString("token") || getCookie("sid"); } var toPassport = function() { window.location.href = opts.loginUrl; }; if (opts.haveLogin) { //强制重新登陆 toPassport(); } else { if (sid) { opts.trueFn && opts.trueFn(sid); } else { if (opts.autoLogin) { toPassport(); } else { opts.falseFn && opts.falseFn(); } } } } /**============================ public ==============================*/ jm.userDetective = { isLogin: function(opts) { var loginURL = opts.loginUrl || "//passport.m.jd.com/user/login.action?v=1&returnurl="; // 登录中间页地址 var wqLoginUrl = opts.wqLoginUrl || loginURL; // 微信手Q渠道的登录中间页 //'http://wq.jd.com/pinbind/pintokenredirect?biz=618active&url=' var returnURL = opts.returnUrl || window.location.href; //回调地址 var haveLogin = opts.haveLogin || false; //强制重新登陆一次 switch (browser) { case "jrApp": if (jm.getUrlString("token")) { opts.trueFn(jm.getUrlString("token")) } else { if (window.jsBridgeV3) { window.jrBridge = window.jrBridge || jsBridgeV3.onReady(); jrBridge.then(function () { this.jsToGetResp(function (d) { d = typeof d == 'object' ? d : JSON.parse(d); if (d.data) { opts.trueFn && opts.trueFn(d.data); } }, {type: 1, data: ''}) }).call(jrBridge); } else { alert("使用此方法请先引入jsBridge.js"); } } break; case "wx": passportLogin({ autoLogin: opts.autoLogin, trueFn: opts.trueFn, falseFn: opts.falseFn, loginUrl: wqLoginUrl + encodeURIComponent(returnURL), haveLogin: haveLogin, wqLogin: opts.wqLoginUrl }); break; case "mqq": passportLogin({ autoLogin: opts.autoLogin, trueFn: opts.trueFn, falseFn: opts.falseFn, loginUrl: wqLoginUrl + encodeURIComponent(returnURL), haveLogin: haveLogin, wqLogin: opts.wqLoginUrl }); break; default: passportLogin({ autoLogin: opts.autoLogin, trueFn: opts.trueFn, falseFn: opts.falseFn, loginUrl: loginURL + encodeURIComponent(returnURL), haveLogin: haveLogin }); break; } }, toJrAppModule: function(opts) { jrBridge.then(function() { this.jsToNative({ type: opts.type, productId: opts.proId || "", isclose: opts.isclose || false }); }); }, toJdStockModule: function(scheme) { jrBridge.then(function() { this.jsToGetResp(function(d) { d = typeof d == "object" ? d : JSON.parse(d); }, { type: 21, stockData: scheme }); }); } }; })(window.jm);