一、扫码登录需求
B端商户为了便利需在我们C端平台嵌套B端入口,且可实现扫码立刻登录功能。
二、代码实现
B端商家登录页面做逻辑判断
onLoad: async function(options) { // 该页面为 B端客户登录页面
if (options.inf=="QRinf"){ // 二维码链接参数 {inf:QRinf}
await app.fetchUserInfo(); // 获取用户信息查看是否授权登录(本地封装方法)
if (!this.data.$state.userInfo) {
navigateTo("/pages/login/index"); // 未登录到登录页面授权小程序登录
this.setData({
hasLoaded: true
});
return;
}
const { data } = await GetApi(`/***/***/****`, {}); //调取后端接口检验是否B端已经登录
if (data.app_token) { //登录令牌保存
storage.set("app_token", data.app_token);
} else {
storage.set("app_token", "");
}
if (data.login_status) { // B端是否登录标识位
this.setData({
hasLoaded: false
});
app.store.setState({
userInfo: {
...this.data.$state.userInfo,
bind_mer_name: data.shop.name // 登陆后下个页面用登录名
}
});
wx.reLaunch({ // 一次性销毁方法 目的保持无法返回到登录页面
url: `/pages/user/merchant/helper/index`//登录完成页面
});
}else{
this.setData({
hasLoaded: true
});
}
}else{
this.setData({
hasLoaded: true
});
}
},
三、定制专属二维码
推荐一个小程序二维码生成器: 草料微信小程序参数二维码生成器 https://cli.im/weapp
操作很简单,下图示例,箭头位置填写自己的扫码进入标志位 pages/index/index?inf=QRinf
点击生成二维码,扫码登录功能搞定!
四、如有帮助,敬请点赞。