在微信小程序中,数据缓存其实就和localstorage 的原理差不多,所以理解起来并不难。下面我们来一起实现一下。
效果图展示:
我们在index页面存入数字11,然后在跳转到新页面,在将缓存中的11取出渲染到当前页面。具体代码如下:
index页面:
跳转到新的页面post情求
跳转到当前页面
存入
1234567891012345678910
index的js:
//indexjs
//获取应用实例
var app = getApp()
Page({
data: {
storage:''
},
onLoad: function () {
var that = this
//获取输入值
getInput:function(e){
thissetData({
storage:edetailvalue
})
},
//存储输入值
saveInput:function(){
wxsetStorageSync('storage', thisdatastorage)
}
})
12345678910111213141516171819202122231234567891011121314151617181920212223
跳转页面:
从存储中得到的数据:{{storage}}11
跳转页面的js:
var app = getApp();
var that;
Page( {
data: {
storage:''
},
onLoad: function(options) {
that = this;
//获取存储信息
wxgetStorage({
key: 'storage',
success: function(res){
// success
thatsetData({
storage:resdata
})
}
})
}
})
多次拒绝登录和允许登录
微信小程序的登录获取用户信息,是通过微信d出窗口,用户可点击允许 和拒绝两个按钮,点击允许,则获取用户信息登录成功,若点击拒绝,则获取失败,可通过二次请求调用d起获取用户信息窗口。
具体代码如下:
//appjs
App({
onLaunch: function () {
//调用API从本地缓存中获取数据
var logs = wxgetStorageSync('logs') || [];
logsunshift(Datenow());
wxsetStorageSync('logs', logs);
consolelog('logs',logs);
},
getUserInfo:function(cb){
var that = this;
//调用登录接口
function getOpenid(backMsg){
thatglobalDatauserInfo = backMsguserInfo;
thatglobalDataencryptedData = backMsgencryptedData;
thatglobalDataiv = backMsgiv;
thatglobalDatalogin = true;
consolelog(thatglobalDatacode);
wxrequest({
url:thatlocalUrl+'Login/sendCodeLogin',
data:{
code:thatglobalDatacode,
encryptedData: backMsgencryptedData,
iv:backMsgiv
},
success:function(openData){
consolelog('返回openid',openData,openDatadata);
if(openDatadatacode==1001){
thatglobalDataopenid = openDatadatadataopenid;
wxsetStorageSync('openid',thatglobalDataopenid);
wxsetStorageSync('userInfo',thatglobalDatauserInfo);
wxsetStorageSync('isManager', openDatadatadataisManager);
wxshowToast({
title: '登录成功',
icon: 'success',
duration: 500
});
typeof cb == "function" && cb(thatglobalDatauserInfo);
}else{
wxshowLoading({
title: '登录失败'
});
setTimeout(function () {
wxhideLoading();
}, 500)
}
}
})
}
wxlogin({
success: function (msg) {
consolelog('code',msg);
if(msgcode){
thatglobalDatacode = msgcode;
if(thatglobalDatalogin==false){
wxopenSetting({
success: function (data) {
if(data) {
if (dataauthSetting["scopeuserInfo"] == true) {
//loginStatus = true;
wxgetUserInfo({
withCredentials: false,
success: function (res) {
consolelog('第二次成功',res);
getOpenid(res);
},
fail: function (res) {
thatglobalDatalogin = false;
consolelog('二次失败',res);
}
});
}else{
thatglobalDatalogin = false;
consolelog('二次失败02');
}
}
},
fail: function () {
consoleinfo("设置失败返回数据");
}
});
}else{
wxgetUserInfo({
success: function (res) {
consolelog('第一次成功',res);
getOpenid(res);
},fail:function(msg){
thatglobalDatalogin = false;
consolelog('第一次失败',msg);
}
})
}
}
},
fail:function(res){
consolelog(res);
}
})
},
globalData:{
userInfo:null,
encryptedData:null,
iv:null,
openid:null,
code:null
}
});
第一步:获取七牛云token,这步 *** 作很简单,请求七牛云接口即可
getUpToken: function() {
var url = "resource/getUpToken"
var header = {
token : wxgetStorageSync("token")
}
var that = this
networkrequestLoading(url,"",header,"",function(data){
consolelog(data)
thatsetData({
up_token : datadata
})
},function(){
})
},
第二步:利用upfile API上传文件
wxuploadFile({
formData:{token:thatdataup_token}, //这里是请求头部分
url: 'url',
filePath: tempFilePaths[i],
name:"file",
success:function(data) {
var res = JSONparse(datadata)
var image_keys = thatdataimage_keysconcat(reskey)
}
})
以上就是关于简单处理下微信开发者工具开发微信小程序网络请求封装全部的内容,包括:简单处理下微信开发者工具开发微信小程序网络请求封装、小程序 判断是否为第一次进入程序、微信小程序3缓存与循环等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)