现在流行单页面,用户界面也有一部分这种业务逻辑。进入页面先显示登录对话框,登录完才能做其它操作,比如启动推送服务。还有小程序,需要先登录微信框架,获得微信的 token,才能继续其它请求,都需要有业务锁。
后端肯定没问题的。没登录所有请求都返回 401 就不用讨论了。
贴一代我们微信小程序的一段代码吧,比较直观:
onLoad() {
this.operations.spawnWithName("login", this.doLogin.bind(this));
this.operations.spawnWithName("load", async () => {
// 调用微信的 showLoading 转圈圈
await wx.showLoadingSync({
title: "正在登录",
mask: true,
});
let success = await app.loginEvent.wait();
if (success) {
this.showMessage("就绪");
} else {
this.showMessage("登录失败");
await wx.hideLoadingSync();
return;
}
this.doOthers(); // 后续的请求要求得到微信的 token.
});
},
【 在 superisaac (宅男总动员) 的大作中提到: 】
: 用户完成登录才继续这种事,应该靠数据库搞定
--
修改:hgoldfish FROM 110.81.40.*
FROM 124.72.119.*