uni.setStorageSync("token", _res.token);
时间: 2024-05-27 13:07:44 浏览: 141
这是一个使用uni-app框架的小程序中,将服务器返回的token存储在本地缓存中的代码。其中,`uni.setStorageSync`是uni-app提供的本地存储API,用于将数据存储在本地缓存中。第一个参数是存储的键名,第二个参数是存储的值。在这个代码中,`token`是键名,`_res.token`是从服务器返回的token值。这样,下一次需要使用token时,就可以从本地缓存中取出来使用了。
相关问题
async onLoginTap() { //请求API let res = await this.$api.login(`${this.optionsValues[this.index]}`, { //管理员账户名 username: this.username, //管理员密码 password: this.password }); uni.setStorageSync("token", res.token); uni.setStorageSync("nickname",this.username); uni.setStorageSync("nowTable", `${this.optionsValues[this.index]}`); res = await this.$api.session(`${this.optionsValues[this.index]}`);}
这段代码是一个前端页面的登录函数,使用了异步函数和await关键字来保证请求API的结果能够获取到并赋值给res变量。其中,this.$api.login是调用了一个名为"login"的API,并传入了管理员账户名和密码。接着,将获取到的token、用户名和当前表格信息存储在本地缓存中。最后,调用了另一个名为"session"的API,并传入了当前表格信息作为参数。
onLoad(async () => { if (uni.getStorageSync("WxAuthorization")) return; uni.login({ success: async (res) => { const data = await uni.$u.api.login.authLogin({ loginCode: res.code }); uni.setStorageSync("WxAuthorization", "Bearer " + data.token); uni.setStorageSync("loginStatus", data.loginStatus); }, }); getSwiperPic(); getNotice(); getTools(); }); 优化当前代码让他按顺序执行
为了让这段代码按顺序执行,我们可以将获取登录凭证和获取数据的操作放在同一个async函数中,并且使用await来等待前一个操作完成后再执行后面的操作。同时,我们需要将获取数据的三个函数也改为支持async/await的异步函数。
下面是优化后的代码:
```javascript
onLoad(async () => {
if (uni.getStorageSync("WxAuthorization")) return;
try {
const res = await uni.login();
const data = await uni.$u.api.login.authLogin({ loginCode: res.code });
uni.setStorageSync("WxAuthorization", "Bearer " + data.token);
uni.setStorageSync("loginStatus", data.loginStatus);
await getSwiperPic();
await getNotice();
await getTools();
} catch (error) {
console.error(error);
}
});
async function getSwiperPic() {
// 获取轮播图数据
}
async function getNotice() {
// 获取公告数据
}
async function getTools() {
// 获取工具数据
}
```
这样,代码就会按照顺序执行,并且在执行过程中如果出现异常也能够正确地处理。
阅读全文