瀏覽代碼

手机号绑定页面修改

master
sunfengxiang 2 年之前
父節點
當前提交
ae18c69153
共有 1 個文件被更改,包括 54 次插入9 次删除
  1. +54
    -9
      src/views/smsManage.vue

+ 54
- 9
src/views/smsManage.vue 查看文件

@@ -118,8 +118,13 @@
import {getUUID} from '@/utils' import {getUUID} from '@/utils'


const APPID = "wx7135dd84735bc392"; const APPID = "wx7135dd84735bc392";
// 静默授权:scope=snsapi_base
// const WX_AUTH_URL = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + APPID
// + '&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=0#wechat_redirect';

// 非静默授权:scope=snsapi_userinfo
const WX_AUTH_URL = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + APPID const WX_AUTH_URL = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + APPID
+ '&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=0#wechat_redirect';
+ '&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_userinfo&state=0#wechat_redirect';


export default { export default {
data() { data() {
@@ -144,6 +149,8 @@
codeUrl: "", //验证码 codeUrl: "", //验证码
isSmsLogin: false, //是否手机验证码 isSmsLogin: false, //是否手机验证码
computeTime: 0, computeTime: 0,
headimgurl: "",
nickname: "",
}; };
}, },
created() { created() {
@@ -158,10 +165,7 @@
this.showMessage = !this.showMessage this.showMessage = !this.showMessage
}, },
wxAuth() { wxAuth() {
// let code = this.getUrlParam('code');//获取URL中的code参数
// if (code) return code;
// let currentUrl = encodeURIComponent(window.location.href);
// window.location.replace(WX_AUTH_URL.replace('REDIRECT_URI', currentUrl));
// 非静默授权:snsapi_userinfo,有弹框弹出需要用户手动点击确认授权。可以获取openId,用户的头像、昵称等
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let openid = this.$cookie.get('openid'); let openid = this.$cookie.get('openid');
if (openid) { if (openid) {
@@ -170,26 +174,65 @@
} }
let code = this.getUrlParam('code'); let code = this.getUrlParam('code');
if (!code) {//未经过微信授权 if (!code) {//未经过微信授权
/**
* 获取网页授权登录code
* 如果有直接返回,如果没有重定向到腾讯授权页面,腾讯会再次重定向回来并带有code参数
**/
let code = this.getUrlParam('code');//获取URL中的code参数
if (code) return code;
let currentUrl = encodeURIComponent(window.location.href); let currentUrl = encodeURIComponent(window.location.href);
window.location.replace(WX_AUTH_URL.replace('REDIRECT_URI', currentUrl)); window.location.replace(WX_AUTH_URL.replace('REDIRECT_URI', currentUrl));
} else { } else {
this.$cookie.set('appid', APPID); //接口服务端从cookie中读取openid this.$cookie.set('appid', APPID); //接口服务端从cookie中读取openid
this.$http({ this.$http({
url: this.$http.adornUrl('/wxAuth/codeToOpenid'),
url: this.$http.adornUrl('/wxAuth/codeToUserInfo'),
method: 'post', method: 'post',
data: this.$http.adornParams({ data: this.$http.adornParams({
'code': code 'code': code
}) })
}).then(res => { }).then(res => {
if (res.code == 200) {
console.log("微信授权完成" + res.data);
resolve(res.data);
if (res.data.code == 200) {
console.log("微信授权完成");
this.headimgurl = res.data.headimgurl;
this.nickname = res.data.nickname;
console.log(this.headimgurl);
console.log(this.nickname);
} else { } else {
console.log("换取openid失败"); console.log("换取openid失败");
} }
}); });
} }
}); });

// 静默授权:snsapi_base,没有弹窗,只能获取用户的openId。
// return new Promise((resolve, reject) => {
// let openid = this.$cookie.get('openid');
// if (openid) {
// resolve(openid);
// return;
// }
// let code = this.getUrlParam('code');
// if (!code) {//未经过微信授权
// let currentUrl = encodeURIComponent(window.location.href);
// window.location.replace(WX_AUTH_URL.replace('REDIRECT_URI', currentUrl));
// } else {
// this.$cookie.set('appid', APPID); //接口服务端从cookie中读取openid
// this.$http({
// url: this.$http.adornUrl('/wxAuth/codeToOpenid'),
// method: 'post',
// data: this.$http.adornParams({
// 'code': code
// })
// }).then(res => {
// if (res.code == 200) {
// console.log("微信授权完成" + res.data);
// resolve(res.data);
// } else {
// console.log("换取openid失败");
// }
// });
// }
// });
}, },
getUrlParam(key) {//获取当前页面url中的参数 getUrlParam(key) {//获取当前页面url中的参数
var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)"); var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
@@ -264,6 +307,8 @@
method: 'post', method: 'post',
data: this.$http.adornParams({ data: this.$http.adornParams({
'openId': this.$cookie.get('openid'), 'openId': this.$cookie.get('openid'),
'headimgurl': this.headimgurl,
'nickname': this.nickname,
'mobile': this.formData.mobile, 'mobile': this.formData.mobile,
'code': this.formData.smsCode, 'code': this.formData.smsCode,
'codeTime': this.formData.codeTime 'codeTime': this.formData.codeTime


Loading…
取消
儲存