<template>
<div></div>
</template>
<script>
import urlencode from "urlencode";
export default {
data() {
return {};
},
created() {
this.getCode();
},
methods: {
getCode() {
// 非静默授权,第一次有弹框
const code = this.getUrlCode().code
// const code = "011V27000HLWaK1B4M20053ydY0V270P";
var appid = "wx795f15f43947c745";
const local = urlencode("http://pay.blinblin.com");
// const local = urlencode(window.location.href.split('?')[0]);
if (code == null || code === "") {
window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${local}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`;
} else {
this.code = code;
this.getOpenId(code);
}
},
getUrlCode() {
// 截取url中的code方法
const url = window.location.search;
this.winUrl = url;
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;
},
// 获取openid
async getOpenId(code) {
let loading = this.$toast({
message: "正在登录中",
});
const { data: res } = await this.$http.get("/deal/getOpenId", {
params: { code: this.code },
});
if (res.status) {
loading.clear();
if (res.code == 200) {
this.openID = res.data;
localStorage.setItem("openid", res.data);
this.$router.push('/recharge');
}
}
this.$toast(res.message);
},
},
};
</script>
<style >
</style>
公众号 H5 微信登录
于 2023-06-27 18:01:08 首次发布