【微信小程序】博客小程序,静态版本(二)引入 lin-ui 组件、设计和开发文章页
【微信小程序】博客小程序,静态版本(三)设计和开发首页、个人关于页
可以看到,官网有两种方式可以进行下载安装组件代码。
方式一( npm 安装)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RFBiBWpn-1668503598479)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5028b9f34b654cee8ef0f2fcbe27605d~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/a0af54090ff78907.png)
方式二(源码下载安装)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kgWu1B8T-1668503598480)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d589f9fab11043e386a7c71eca006174~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/d1294f179c971873.png)
(这里选择下载源码,去对应 GitHub 下载)
林间有风(lin-ui)
官网下载
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8bWEy27z-1668503598480)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/70af03ac85c441559b1f933675c51f38~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/c447d9b47c76761a.png)
安装 lin-ui 组件代码
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5xLPzXf9-1668503598480)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e6ca0540031e467f9860cc8fb080c0ee~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/5346c98d84e3659a.png)
看看 Lin-UI 官方提供的组件(挑个简单的进行测试一下)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HinKrwit-1668503598481)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1fdd4308170d4caf828b3667f6fb903c~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/891446f89244c950.png)
代码与组件引入成功效果展示
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hcRGtosg-1668503598481)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a8b1c7ef018f4677af2507668308cf91~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/99f98cec4790f2eb.png)
相关代码
index.json 文件
{
"usingComponents": {
"l-button": "/dist/button/index",
"l-icon": "/dist/icon/index"
}
}
index.wxml 文件
<l-button type="default">defaultl-button>
<l-icon name="setting" color="red"/>
在 project.config.json 文件里添加以下代码(微信官方介绍)
"ignoreDevUnusedFiles": false,
"ignoreUploadUnusedFiles": false
然后,进行清除所有缓存,点击重新编译
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lrz79BFe-1668503598481)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/af5b7cb304de4aadb7f7a6fdfc20e51c~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/3708744daead4979.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yM6TIViy-1668503598482)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a0fefb0b9d8849e0a9775295af8660e9~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/1f0b684bc2b82575.png)
准备工作完成了,又在李网友的 “苦苦哀求” 下,我们就简单的对博客中的一篇文章,根据它的属性和特征进行剖析。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EMhl5xFU-1668503598482)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7df54e8e6c6c456bbc0a425b051d1870~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/d34730b1b2192da9.png)
文章自身的构造就做个简单的,标题、内容、图片、作者、创建时间、浏览量、点赞量、收藏量
但是,没有 ui 图,还不确定要做成什么样的类型。于是…
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K50soj9Q-1668503598482)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6f8343be4b7c480fb5053ff699e661bd~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/041e4b49a38c7daa.png)
行吧,我就又简单做一个吧(用 ppt 简单做了个图)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rkHUCWxw-1668503598483)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a3fac1fdd8fd42b58b8a4e38be3813dc~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/494a89e99ae66fe5.png)
做完了设计工作,开始着手对着设计图进行开发。
"pages/article/article",article.json 文件里的代码
{
"usingComponents": {
"l-skeleton": "/lin-ui/skeleton/index",
"l-grid": "/lin-ui/grid/index",
"l-grid-item": "/lin-ui/grid-item/index",
"l-icon": "/lin-ui/icon/index",
"l-card": "/lin-ui/card/index"
},
"navigationBarTitleText": "我的博客"
}
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ad8vg5vx-1668503598483)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b37419dbd9a84e47bb1d14ae262efa20~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/14154a2bb5f247a7.png)
我们把它分为三部分去做)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WLLB5uHr-1668503598483)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f15fcb327fc346dab6ff425e86cb9c3a~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2024/04/23/340e2ad21c3ec160.png)
(骨架,是骨架屏,就是数据未加载完成时可以展示的效果。lin-ui 官方传送门)
这里其他部分都是比较简单,就介绍一下这个点赞和收藏的操作方法。
由于数据需要达到灵活性,这里数据部分大概分,文章主体(对象)、文章相关主体(对象)。
其中,文章主体(对象)是 article;文章相关主体(对象)是 userArticle。
data: {
isFirstLoading: true, // 是否正在第一次加载(配合骨架屏)
article: { // 文章对象
author: "南方者",
createTime: "2022年11月15日 20:10",
title: "我的第一篇博客——介绍冰糖葫芦",
content: "首先,关于我的冰糖葫芦,它很好吃!每次路过冰糖葫芦摊铺,我都会买一串。\n其次,女生也非常爱吃;\n最后,冰糖葫芦等同于女朋友。\n冰糖葫芦又叫糖葫芦,在天津又称糖墩儿,在安徽凤阳叫作糖球。冰糖葫芦是中国传统小吃,起源于南宋,它是将野果用竹签串成串后蘸上麦芽糖稀,糖稀遇风迅速变硬。北方冬天常见的小吃,一般用山楂串成,糖稀冻硬,吃起来又酸又甜,还很冰。\n在宋朝年间便开始了古式的做法,《燕京岁时记》记载:冰糖葫芦,乃用竹签,贯以山里红、海棠果、葡萄、麻山药、核桃仁、豆沙等,蘸以冰糖,甜脆而凉。茶楼、戏院、大街小巷到处可见,现已成为中国传统小吃。冰糖葫芦具有开胃、养颜、增智、消除疲劳、清热等作用。\n(注:这段介绍来自百度百科。)",
img: "/images/sweet.png",
starSum: 10, // 收藏数
readSum: 1299, // 浏览数
likeSum: 133, // 点赞数
chatSum: 12, // 评论数
},
userArticle: { // 当前用户对该文章的操作情况
isStar: false, // 是否已点赞
isLike: false, // 是否已收藏
},
downColor: "#000", // 未操作的 icon 颜色
},
gridTap() 方法,当点击的时候才进行触发。(代码中有注释
// 点赞、评论、阅读、收藏触发
gridTap(e) {
var that = this;
// console.log(e)
var {
key
} = e.detail
// 不存在 或 不是点赞和收藏的直接返回
if (!key || "like,star".indexOf(key) == -1) {
return;
}
var {
userArticle,
article
} = that.data
if ("like" == key) { // 点赞的情况
if (userArticle.isLike) { // 当前是已点赞状态
// 点赞数 - 1
article.likeSum = article.likeSum - 1;
} else {
// 点赞数 + 1
article.likeSum = article.likeSum + 1;
}
userArticle.isLike = !userArticle.isLike;
} else if ("star" == key) { // 收藏的情况
if (userArticle.isStar) { // 当前是已收藏状态
// 收藏数 - 1
article.starSum = article.starSum - 1;
} else {
// 收藏数 + 1
article.starSum = article.starSum + 1;
}
userArticle.isStar = !userArticle.isStar;
}
that.setData({ // 重新赋值
userArticle,
article
})
},
由于在代码中也有比较详细的注释,这里就不再过多展示。(了解更多可同步源码地址~ )
微信开发者-代码管理地址:笔者手记 (git.weixin.qq.com)
Gitee地址:笔者手记 (gitee.com)

文章写作、模板、文章小尾巴可参考:《写作“小心思”》
感谢你看到最后,最后再说两点~
①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。
②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~
我是南方者,一个热爱计算机更热爱祖国的南方人。
(文章内容仅供学习参考,如有侵权,非常抱歉,请立即联系作者删除。)