前端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代码分享:
<script src="./js/jquery.js"></script>
<script type="text/javascript">
var apiHost = "http://xxxx.com/";
function getUserInfo(code) {
let that = this;