网页通过调用企业微信SDK自动获取企业微信用户身份前后端代码分享

前端VUE.JS代码:

var apiHost = "http://xxx.com/";//后端接口域名
//获取到code后请求后端接口,获取到员工信息
const getUserInfo = function(code) {
	return new Promise((resolve, reject) => {
		let that = this;
		let params = {
			"data": code
		}
		uni.request({
			url: apiHost + 'GETUSERINFO',//后端接口路径
			data: params,
			method: 'GET',
			header: {
				'Content-Type': 'application/json; charset=utf-8'
			},
			async: false,//同步,等待返回结果后往下执行
			contentType: "application/json; charset=utf-8",
			dataType: "json",
			success: (data) => {
				resolve(data);
			},
			error: function(error) {
				uni.showToast({
					title: '请求接口失败!'
				})
				reject(error);
			}
		});

	})
}
//用来截取code
const getUrlCode = function() {
	var url = location.search
	var theRequest = new Object()
	if (url.indexOf("?") != -1) {
		var str = url.substr(1)
		var strs = str.split("&");
		for (var i = 0; i < strs.length; i++) {
			theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1])
		}
	}
	return theRequest.code;
}
//appid写自己企业微信上的
//agentid写自己企业微信应用
//通过跳转带出code
const getCode = function() {
	var local = window.location.href
	window.location.href =
		'https://open.weixin.qq.com/connect/oauth2/authorize?appid=*****&redirect_uri=' + window.location.href +		'&response_type=code&scope=snsapi_base&agentid=******&state=parasaga#wechat_redirect';
}
//直接调用这个方法,获取最终用户信息
const getUser = function() {
	return new Promise((resolve, reject) => {
		var url = location.href;
		var code = '';
		if (url.indexOf('code') > -1) {
			resolve(this.getUserInfo(this.getUrlCode()));
		} else {
			this.getCode();
		}
	})
}


module.exports = {
	getUserInfo,
	getUrlCode,
	getCode,
	getUser
}

前端原生JS代码分享:


		
                    
                    

你可能感兴趣的:(企业微信开发,vue,企业微信,javascript,前端)