最近我在编写自己的第一个微信读书小程序,碰到了两个问题。
第一:在“添加书架”功能时,点击“加入书架”,storage的Array为空,在console里面,这个的cookie也是为空,具体代码如下:
onLoad: function (options) {
// 这块是获取点击详情的时候,通过options来接收的id
let Books_id = options.id;
let that = this;
that.setData({
collectData : Books_id//把获取到的id存到data中,当作一个变量供下边调用
})
that.gethandBookAdd()
// console.log(options)
},
//获取书籍详情数据
async gethandBookAdd(Books_id){
const booksObj=await request({
url:"/Books/detail",
data:{Books_id}
});
console.log(booksObj);
this.setData({
booksObj
})
let BookState = wx.getStorageSync('Books_id');//获取全部书籍缓存状态
//这里我们做一个判断,如果缓存中有这个值,取到id对应在缓存中的状态,存到data中,
//如果没有这个值,把id对应在缓存中的状态设置为false
if(BookState.lenth > 0){//判断缓存中有这个值
//获取当前书籍对应在缓存中的状态
let BookState = BookState[this.data.BookState];
this.setData({
isShow:BookState//把这个状态存到data中
})
}else{
// console.log("Bookstate")
let BookState={};
BookState[this.data.BookState] = false;//没有这个值,默认把点赞的这个状态设置为false
// console.log(dddsssss,this.data)
wx.setStorageSync('Books_id', booksObj);
}
// console.log(this.data.BookState)
},
//加入书架
handBookAdd(event){
// console.log("加入书架")
//1.获取缓存中的购物车数组
let Collectbook=wx.getStorageSync('Bookstatu')||[];
//获取当前页面的收藏按钮状态 this.data.BooksInfo就是当前的页面的id,在data中存储的
let getSecBookState = Collectbook[this.data.BookState];6
//然后当前收藏按钮的状态取反
getSecBookState = !getSecBookState;
//把取反的值的状态在赋给当前按钮的状态
Collectbook[this.data.booksObj] = getSecBookState;
wx.setStorageSync('Bookstatu', Collectbook)//在缓存中设置改变之后的状态
this.setData({
getSecBookState:getSecBookState//把更新过的收藏按钮状态赋值给isShow
})
如上图标注的“//加入书架”以下代码,在控制台的表现如下:
![cookie为空](https://img-blog.csdnimg.cn/20201101003309434.png#pic_center)
![在点击加入书架后,Array里面没有数据](https://img-blog.csdnimg.cn/20201101003525232.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDgxMDc1Nw==,size_16,color_FFFFFF,t_70#pic_center)
第二:在要导入小说的内容时,使用什么形式导入的?用爬虫将小说内容爬取成功后,存到自己的服务器中的数据库,然后怎样将其导入我的项目中呢?
也不知道自己有没有说明白,烦请大佬指教,嘿嘿嘿《。。》