本文实例为大家分享了微信小程序实现书架功能的具体代码,供大家参考,具体内容如下
实现书架的功能,点击之后可以看pdf
1.设定点击事件
2.在点击事件里面
2.1下载 wx.downloadFile({
2.2打开 wx.openDocument({
效果图
点开之后是pdf
代码
app.js
// app.js App({ onLaunch() { // 展示本地存储能力 const logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId } }) }, globalData: { userInfo: null, nginxadd:"这边换成内网穿透的地址/" } })
app.json
{ "pages": [ "pages/start/start", "pages/music/music", "pages/videoinfo/videoinfo", "pages/main/main", "pages/readbook/readbook", "pages/one/one", "pages/index/index", "pages/logs/logs", "pages/playmusic/playmusic" ], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "Weixin", "navigationBarTextStyle": "black" }, "style": "v2", "sitemapLocation": "sitemap.json", "tabBar": { "selectedColor": "#8a8a8a", "list": [ { "pagePath": "pages/music/music", "text": "音乐", "iconPath": "pages/images/music1.png", "selectedIconPath": "pages/images/music2.png" }, { "pagePath": "pages/videoinfo/videoinfo", "text": "视频", "iconPath": "pages/images/sp1.png", "selectedIconPath": "pages/images/sp2.png" }, { "pagePath": "pages/readbook/readbook", "text": "书架", "iconPath": "pages/images/rb1.png", "selectedIconPath": "pages/images/rb2.png" } ] } }
readbook.js
// pages/books/books.js let app=getApp() Page({ /** * 页面的初始数据 */ data: { books1:[{"bookimg":app.globalData.nginxadd+"img/d0.jpg","bookname":"python","booklink":app.globalData.nginxadd+"text/a1.pdf"}, {"bookimg":app.globalData.nginxadd+"img/d1.jpg","bookname":"java","booklink":app.globalData.nginxadd+"text/a1.pdf"}, {"bookimg":app.globalData.nginxadd+"img/d2.jpg","bookname":"dart","booklink":app.globalData.nginxadd+"text/a1.pdf"}, {"bookimg":app.globalData.nginxadd+"img/a1.jpg","bookname":"javascript","booklink":app.globalData.nginxadd+"text/a1.pdf"} ], books2:[{"bookimg":app.globalData.nginxadd+"img/f0.jpg","bookname":"c#","booklink":app.globalData.nginxadd+"text/a1.pdf"}, {"bookimg":app.globalData.nginxadd+"img/f1.jpg","bookname":"Rust","booklink":app.globalData.nginxadd+"text/a1.pdf"}, {"bookimg":app.globalData.nginxadd+"img/f2.jpg","bookname":"Lua","booklink":app.globalData.nginxadd+"text/a1.pdf"}, {"bookimg":app.globalData.nginxadd+"img/a1.jpg","bookname":"javascript","booklink":app.globalData.nginxadd+"text/a1.pdf"} ], books3:[{"bookimg":app.globalData.nginxadd+"img/g0.jpg","bookname":"javascript","booklink":app.globalData.nginxadd+"text/a1.pdf"}, {"bookimg":app.globalData.nginxadd+"img/g1.jpg","bookname":"c++","booklink":app.globalData.nginxadd+"text/a1.pdf"}, {"bookimg":app.globalData.nginxadd+"img/g2.jpg","bookname":"Go","booklink":app.globalData.nginxadd+"text/a1.pdf"}, {"bookimg":app.globalData.nginxadd+"img/a1.jpg","bookname":"javascript","booklink":app.globalData.nginxadd+"text/a1.pdf"} ] }, openbook(event) { wx.showLoading({ title: '正在打开文档', }) let link=event.currentTarget.dataset.link; console.log(link); //1.下载 wx.downloadFile({ url: link, success:(resp)=> { let path=resp.tempFilePath; console.log(path); //2.打开 wx.openDocument({ filePath: path, success:(resp)=> { wx.hideLoading({ success: (res) => {}, }); console.log("打开文档成功") } }) } }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
readbook.wxml
{{item.bookname}} {{item.bookname}} {{item.bookname}}
readbook.wxss
/* pages/books/books.wxss */ .booktopview{ width: 100%; height: 30vh; border-top: 2px solid black; border-bottom: 2px solid black; display: flex; align-items: center; } .scrollview{ width: 100%; height: 80%; /**border:1px solid green;**/ white-space: nowrap; } .bookview{ width: 30%; height: 98%; border:1px solid brown; margin-left: 10px; display: inline-block; } .innerview{ width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; } .imgview{ width: 80%; height: 75%; /**border:1px solid black;**/ } .txtview{ width: 90%; height: 25%; /** border:1px solid black;**/ display: flex; justify-content: center; align-items: center; } .cimg{ width: 100%; height: 100%; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。