uniapp实现微信手机号码登录注册注销(bug踩坑)

4

uniapp实现微信手机号码登录注册注销(bug踩坑)

uni-app 实现微信手机号码登录注册注销

在 uni-app 中实现微信手机号码登录注册注销功能是一个常见需求。下面是详细的步骤和解决方法。

第一步:处理 code onload 就开始 un.login 方法通过 code 调用后台接口首先,我们需要在页面加载完成后,调用 `uni.login` 方法获取微信授权,并传递给后台接口设置 token。

```javascript// pages/login.jsPage({

onLoad: function(options) {

// 获取code uni.login({

provider: 'weixin',

success: function(res) {

console.log('code:', res.code);

// 调用后台接口设置token this.setToken(res.code);

}.bind(this),

fail: function(err) {

console.error('login failed:', err);

}

});

},

setToken(code) {

// 后台接口设置token uni.request({

url: ' method: 'POST',

data: { code },

success: function(res) {

console.log('set token success:', res);

},

fail: function(err) {

console.error('set token failed:', err);

}

});

}

});

```

第二步:处理成需要的 phone在上一步中,我们获取了微信授权 code,并传递给后台接口设置 token。现在,我们需要将 code 转换为手机号码。

```javascript// pages/login.jsPage({

onLoad: function(options) {

// 获取code uni.login({

provider: 'weixin',

success: function(res) {

console.log('code:', res.code);

// 调用后台接口设置token this.setToken(res.code);

// 转换成手机号码 this.convertPhone(res.code);

}.bind(this),

fail: function(err) {

console.error('login failed:', err);

}

});

},

convertPhone(code) {

// 后台接口转换成手机号码 uni.request({

url: ' method: 'POST',

data: { code },

success: function(res) {

console.log('convert phone success:', res);

// 注册或登录 this.registerOrLogin(res.data.phone);

}.bind(this),

fail: function(err) {

console.error('convert phone failed:', err);

}

});

},

registerOrLogin(phone) {

// 根据需要注册或登录 if (this.isRegister()) {

// 注册 this.register(phone);

} else {

// 登录 this.login(phone);

}

},

isRegister() {

// 判断是否是注册页面 return uni.getStorageSync('is_register') === 'true';

},

register(phone) {

// 后台接口注册 uni.request({

url: ' method: 'POST',

data: { phone },

success: function(res) {

console.log('register success:', res);

// 注册成功后跳转到登录页面 this.login(phone);

}.bind(this),

fail: function(err) {

console.error('register failed:', err);

}

});

},

login(phone) {

// 后台接口登录 uni.request({

url: ' method: 'POST',

data: { phone },

success: function(res) {

console.log('login success:', res);

// 登录成功后跳转到首页 uni.redirectTo({ url: '/pages/index' });

}.bind(this),

fail: function(err) {

console.error('login failed:', err);

}

});

}

});

```

第三步:处理注销在上一步中,我们实现了注册和登录功能。现在,我们需要添加注销功能。

```javascript// pages/login.jsPage({

onLoad: function(options) {

// 获取code uni.login({

provider: 'weixin',

success: function(res) {

console.log('code:', res.code);

// 调用后台接口设置token this.setToken(res.code);

// 转换成手机号码 this.convertPhone(res.code);

}.bind(this),

fail: function(err) {

console.error('login failed:', err);

}

});

},

logout() {

// 后台接口注销 uni.request({

url: ' method: 'POST',

success: function(res) {

console.log('logout success:', res);

// 注销成功后跳转到登录页面 this.login('');

}.bind(this),

fail: function(err) {

console.error('logout failed:', err);

}

});

}

});

```

总结在本文中,我们实现了uni-app中的微信手机号码登录注册注销功能。通过code和解析phone分开处理,解决了bug踩坑的问题。

注册登录注销uniapp微信小程序login踩坑

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信公众号原主体已注销 如何办理账号迁移?

下一篇 微信公众号申请