微信小程序--简约风博客小程序(基于云开发 - 全开源)

项目启动纯属突发奇想,想看看博客小程序,例如wehalo博客小程序,但是感觉自建平台还要浪费自己的服务器算力,还没有访问量,省省吧。

本着白嫖的精神,用NodeJS完成了爬虫,小程序云开发也用免费的服务器,完成了该开源项目。

目前支持的爬虫范围有 CSDN文章,博客园部署了awescnb样式的全部文章,以及部分博客园相近基础主题文章,请自行测试。

1.项目分析

  1. 项目使用cheerio爬虫完成了对博客内容爬取,并在小程序端使用html2wxml插件对其内容进行解析。
  2. 项目支持对题目的模糊检索和标签的精确检索,在search中提供该功能。
  3. 项目支持喜爱文章收藏和自定义分类,根据自定分类形成对应nav导航栏。
  4. 项目还支持专栏文章,文章分集。

2.项目预览

首页及详情页

收藏及收藏分类页

专栏及专栏文章页

3.项目参考

wehalo小程序addTips组件

ThorUI多个组件

ColorUI

4.项目部署及自查

1.下载(或直接下载ZIP)

git clone https://gitee.com/Kindear/cloud-note.git

2.修改配置文件

修改core/dev.js文件,填写上你的云开发环境ID,openid等部署完云函数后再填写

module.exports={
UseCloud:true,
CloudId:'', //云开发环境id
TraceUser:true, //记录用户访问日志
AdaptStorge:true, //允许缓存用户数据
AdminMode:true, //管理员权限模式
AdminList:['你的openid']
}

3.上传并部署云函数(云端安装依赖)

云函数上传并部署,如果依赖安装失败,需要自己安装,在每个云函数中顺序执行以下命令

npm install
npm install axios
npm install cheerio

之后上传全部文件即可。

4.数据集合

创建3个数据集合

集合名称 介绍 权限
POST_LIST 文章信息列表,存放文章及其作者信息 所有用户可读,仅创建者可读写
FAVOR_LIST 收藏列表,存放用户收藏的文章信息 所有用户可读,仅创建者可读写
TYPE_LIST 分类列表,存放用户自定义收藏分类 所有用户可读,仅创建者可读写

重新编译项目即可。

自查顺序

  1. 是否修改project.config.json中的appid为自己的

  2. 是否开启了云环境(创建后最好需要等待一段时间10min左右)

  3. 是否修改了配置文件core/dev.js对应的环境id

  4. 是否上传并部署了云函数成功

  5. 是否创建了云数据集合

  6. 云数据集合访问权限是否和文档所说的一致

  7. 是否引入了html2wxml插件

  8. 以上都没问题,还是部署失败,可以在开源项目issue中提出

5.开源地址 - 一下,求不白嫖

https://gitee.com/Kindear/cloud-note

微信小程序--简约风博客小程序(基于云开发 - 全开源)的更多相关文章

  1. 象写程序一样写博客:搭建基于github的博客

    象写程序一样写博客:搭建基于github的博客   前言 github 真是无所不能.其 Pages 功能 支持上传 html,并且在页面中显示.于是有好事者做了一个基于 github 的博客管理工具 ...

  2. 基于.NetCore开发博客项目 StarBlog - (6) 页面开发之博客文章列表

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  3. 基于.NetCore开发博客项目 StarBlog - (7) 页面开发之文章详情页面

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  4. python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET

    python random模块 - 小驹的专栏 - 博客频道 - CSDN.NET python random模块 分类: python 2011-11-15 15:31 6037人阅读 评论(2) ...

  5. Django 09 博客小案例

    Django 09 博客小案例 urls.py from django.urls import path from . import views urlpatterns = [ path('index ...

  6. Django——9 博客小案例的实现

    Django  博客小案例的实现 主要实现博客的增删改查功能 主页index.html  -->  展示添加博客和博客列表的文字,实现页面跳转 添加页add.html  --> 输入文章标 ...

  7. Slog71_选取、上传和显示本地图片GET !(微信小程序之云开发-全栈时代3)

    ArthurSlog SLog-71 Year·1 Guangzhou·China Sep 12th 2018 ArthurSlog Page GitHub NPM Package Page 掘金主页 ...

  8. Django 学习笔记之六 建立一个简单的博客应用程序

    最近在学习django时建立了一个简单的博客应用程序,现在把简单的步骤说一下.本人的用的版本是python 2.7.3和django 1.10.3,Windows10系统 1.首先通过命令建立项目和a ...

  9. Golang 在 Linux CentOS 6.5 服务器上实现 博客后台程序开机启动

    在linux下想实现开机启动的方法很多,这里我采用了在/etc/rc.local里写shell指令的方式. 以下就以我的实际操作为例子讲述,很多地方需要看官自己调整信息哦! 1.在/etc/rc.lo ...

随机推荐

  1. 如何使用 VuePress 搭建一个 element-ui 风格的文档网站

    如何使用 VuePress 搭建一个 element-ui 风格的文档网站 { "devDependencies": { "vuepress": "1 ...

  2. Iterators & Generators in depth

    Iterators & Generators in depth https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/It ...

  3. node.js 中间件

    node.js 中间件 node.js middleware Express middleware body-parser cookie-parser cookie-session cors csur ...

  4. Python Web Frameworks

    Python Web Frameworks top 10 Python web frameworks Django (Full-stack framework) Flask (Micro framew ...

  5. classnames & React & taro

    classnames & React & taro classnames https://www.npmjs.com/package/classnames demo https://g ...

  6. Web Animations API & SVG & requestAnimationFrame

    Web Animations API WWAPI https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API https:/ ...

  7. 倒计时2天!2021 NGK新加坡区块链峰会与你不见不散!

    1月31日14时,NGK将于新加坡召开"2021 NGK新加坡区块链峰会",并将在全球开启同步直播.   据了解,本次峰会将汇聚全球二十多位顶尖区块链专家学者,与NGK灵石技术团队 ...

  8. AtCoder Beginner Contest 192 F - Potion

    题目链接 点我跳转 题目大意 给定 \(N\) 个物品和一个 \(X\) ,第 \(i\) 个物品的重量为 \(ai\),你可以从中选择任意个物品(不能不选) 假定选择了 \(S\) 个物品,物品的总 ...

  9. Linux文件和零拷贝

    本文转载自文件和零拷贝 文件概述 文件描述符 文件描述符:在Linux中,所有的文件都是通过文件描述符引用.fd是一个非负整数.按照惯例,标准输入的fd是0,标准输出的fd是1,标准错误的fd是2.分 ...

  10. HttpDns 原理是什么

    本文转载自HttpDns 原理是什么 什么是 DNS DNS(Domain Name System,域名系统),DNS 服务用于在网络请求时,将域名转为 IP 地址.能够使用户更方便的访问互联网,而不 ...