rockyan
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx4a1da83332cf1cb6&redirect_uri=https://www.grande-health.com/mp/1.html&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect 
1.获取用户唯一识别码code(后台获取)

// 获取用户唯一识别码 code
function GetQueryString(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if(r != null) return unescape(r[2]);
	return null;
}
// 调用方法
var code = GetQueryString("code");


2.根据code获取微信openid
/*
 * 获取用户 openid
 * 传入用户唯一识别码 code
 * https://tsch.fromfuture.cn:7712/GZ/v1/weixin/getOpenid?code=071df1AX0zVnb12FJvxX0FHNzX0df1Ab
 */
if(code == null) {
	alert(\'获取code失败\')
}			 

function gainOpenid() {

	var paramJson = {
		\'code\': code
	}
	try {
		ajaxUtil(\'POST\', WEIXIN_GETOPENID, paramJson, function(result) {
			if(result.code == \'000\') {
				if(typeof(result.data.openid) == \'undefined\' || result.data.openid == "" || result.data.openid == null) {
					alert("获取失败")
				} else {
					window.sessionStorage.WEIXIN_OPENID = result.data.openid;
					ajaxUtil(\'POST\', WEIXIN_CHECKOPENID, {
						\'openid\': window.sessionStorage.WEIXIN_OPENID
					}, function(result2) {
						if(result2.code == \'000\') {
							if(result2.data.code == \'1\') {
								G_APP_USRGUID = result2.data.usrguid;
								window.sessionStorage.WEIXIN_USRGUID = result2.data.usrguid;

								window.sessionStorage.WEIXIN_PHONENUM = result2.data.acounnt;
								mui.openWindow({
									url: \'myProfile.html\',
									id: \'myProfile.html\'
								});
							} else if(result2.data.code == \'2\') {
								mui.openWindow({
									url: \'myRecord.html\',
									id: \'myRecord.html\'
								});
							}

						} else if(result2.code == \'001\') {
							mui.toast(\'请求出错\');
						}

					});

				}
			} else if(result.code == \'001\') {
				mui.toast(\'请求出错\');
			}
		});

	} catch(e) {
		mui.toast(\'请检查网络连接\');
	}
};
gainOpenid();

 如果未绑定则跳转:

/**
 * 获取微信用户资料 
 */
function userDatum() {
	try{
		ajaxUtil(\'POST\',WEIXIN_USERINFO,{\'openid\':window.sessionStorage.WEIXIN_OPENID},function(result){
			if(result.code == \'000\') {
				$(\'#usrImg\').attr(\'src\', result.data.headimgurl); // 用户头像
				$(\'#usrName\').html(result.data.nickname); // 用户微信名称
			} else if(result.code == \'001\') {
				mui.toast(\'请求出错\');
			}
		});
	}catch(e){
		mui.toast(\'请检查网络连接\');
	}
}
userDatum();


/**
 * 注册登录账号
 * 1、手机号码正则表达式
 * 2、验证用户输入手机号码是否符合正则mobileNum();
 */
function isReg(str) {
	var reg = /^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))[0-9]{8}$/;
	return reg.test(str);
}

function mobileNum(phone) {

	if(phone == "" || phone == null) {

		//	手机号为空时提示:手机号码不能为空
		mui.toast(\'手机号不能为空\');
		return false;

	} else if(!isReg(phone)) {

		mui.toast(\'请输入正确的手机号\');
		return false;
	}
	return true;
}

// 获取验证码
mui(\'body\').on(\'tap\', \'#getbtn\', function() {

	var iphone = $("#userphone").val(); //	获取用户填写的手机号
	
	if(mobileNum(iphone) == true) {
		getYzm();
	}
})

function getYzm() {
	var iphone = $("#userphone").val(); //	获取用户填写的手机号
	try {
	    ajaxUtil(\'GET\',WEIXIN_GETYZM,{\'phone\':iphone},function(result){
			if(result.code == \'000\') {
				  window.sessionStorage.WEIXIN_PHONENUM=iphone;
				if(result.data.msg != \'发送成功\') {
					time(); //开始倒计时
				} else {
					mui.toast("验证码已发送,请注意查收");
					$(\'#yzmtwo\').val(result.data.yzm);
					window.sessionStorage.WEIXIN_YZM=result.data.yzm;
					console.log(window.sessionStorage.WEIXIN_YZM)
					time();
				}

			} else {
				//  返回结果为1时表示用户手机号码已注册
				mui.toast(\'手机号已注册,您可以直接登录\');
			}
		});
		
	} catch(error) {
		mui.toast("请检查网络连接");
	}
}

/**
 * 提交
 */
mui(\'body\').on(\'tap\', \'#input_check\', function() {
	var phone = mobileNum(window.sessionStorage.WEIXIN_PHONENUM);
	if(phone != true) {
		return;
	}
	
	var yzm = verify(window.sessionStorage.WEIXIN_YZM);
	if(yzm != true) {
		return;
	}

	if(phone == true && yzm == true) {

	    var paramData={
	    	\'name\':window.sessionStorage.WEIXIN_PHONENUM,
	    	\'openid\':window.sessionStorage.WEIXIN_OPENID,
	    	\'yzm\':window.sessionStorage.WEIXIN_YZM,
	    	\'password\':\'1\',
	    	\'type\':\'3\'
	    };
		try {
			//提交按钮
			ajaxUtil(\'POST\',WEIXIN_CHECK,paramData,function(result){
	      		if(result.code == \'000\') {
					//window.localStorage.getItem("FROMFUTURE_APP_USRGUID", result.data.usrguid);
					if(result.data.code == \'1\') {
						window.sessionStorage.WEIXIN_USRGUID=result.data.usrguid;
						G_APP_USRGUID=result.data.usrguid;
						window.sessionStorage.WEIXIN_PHONENUM=result.data.acounnt;
						mui.toast(\'绑定过微信\');
						mui.openWindow({
							url: \'myProfile.html\',
							id: \'myProfile.html\'
						});
					}
					if(result.data.code == \'2\') {
						mui.toast(\'没注册过用户,需要重新注册\');
						mui.openWindow({

							url: \'login.html\',
							id: \'login.html\'
						});
					}
					if(result.data.code == \'3\') {
						window.sessionStorage.WEIXIN_USRGUID=result.data.usrguid;
						window.sessionStorage.WEIXIN_PHONENUM=result.data.acounnt;
							G_APP_USRGUID=result.data.usrguid;
						mui.openWindow({
							url: \'registered.html\',
							id: \'registered.html\'
						});
					}
				}
									
			});
		} catch(e) {
			mui.toast("接口错误,请联系客服" + e);
		}
			
	}
});

/**
 * 全局变量声明 
 */
var iphone;

/**
 * 点击获取验证码后显示倒数时间
 */
function time() {

	GZ("getbtn").disabled = false; //让按钮可以点击
	var btn = GZ("getbtn");
	btn.removeAttribute("disabled"); //	让按钮可以点击
	btn.value = "获取验证码";
	window.sessionStorage.FROMFUTURE_APP_USRTIME = 60;
	timeMain = setInterval(\'djs()\', 1000)
}
/**
 * 按钮倒计时显示
 * @param {Object} num
 */
function djs() {

	var btn = GZ("getbtn");
	GZ("getbtn").disabled = true; //让按钮不可以点击
	var num = window.sessionStorage.FROMFUTURE_APP_USRTIME;
	num--;
	window.sessionStorage.FROMFUTURE_APP_USRTIME = num;
	if(num <= 0) {
		clearTimeout(timeMain);
		GZ("getbtn").disabled = false; //让按钮可以点击
		btn.value = "获取验证码";
	} else {
		btn.value = "重新发送(" + num + ")";
	}
}

/**
 * 验证用户输入验证码是否正确
 */
function verify(yzm) {
	var yzmtwo = $(\'#yzmtwo\').val();
	if(yzm == "" || yzm == null) {
		//	手机号为空时提示:手机号码不能为空
		mui.toast(\'验证码不能为空\');
		return false;
	} else if(yzm != 	yzmtwo) {
		mui.toast("验证码错误,请重新输入!");
		return false;
	}
	return true;
}

 如果绑定则跳转:

$(function() {
	var imgParam = USR_GETIMG + "?guid=" + window.sessionStorage.WEIXIN_USRGUID;
	$(\'#headerImg\').attr(\'src\', imgParam);
	$(\'.iphone\').html(window.sessionStorage.WEIXIN_PHONENUM);
})

  

分类:

技术点:

相关文章: