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

项目启动纯属突发奇想,想看看博客小程序,例如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. Node.js require 模块加载原理 All In One

    Node.js require 模块加载原理 All In One require 加载模块,搜索路径 "use strict"; /** * * @author xgqfrms ...

  2. Internationalization API & ECMA-402

    Internationalization API & ECMA-402 i18n https://caniuse.com/?search=Internationalization API In ...

  3. 如何在 macOS 上进行滚动截屏

    如何在 macOS 上进行滚动截屏 Shift-Command-5 https://support.apple.com/zh-cn/guide/mac-help/mh26782/mac demo Xn ...

  4. how to convert a number to a number array in javascript without convert number to a string

    how to convert a number to a number array in javascript without convert number to a string 如何在不将数字转换 ...

  5. Raspberry Pi & Raspberry Pi 4

    Raspberry Pi & Raspberry Pi 4 pdf https://www.raspberrypi.org/magpi/issues/beginners-guide-2nd-e ...

  6. IM & RTC

    IM & RTC 即时通信(IM) & 实时通信(RTC) 场景 即时通信(可靠性高,延时高) 场景包括文字聊天.语音消息发送.文件传输.音视频播放等; 发短信 实时通信(可靠性低,延 ...

  7. css & clip-path

    css & clip-path https://developer.mozilla.org/en-US/docs/Web/CSS/clip-path https://tongqu.me/ tw ...

  8. js中this指向的问题与联系

    前言 JavaScript 中最大的一个安全问题,也是最令人困惑的一个问题,就是在某些情况下this的值是如何确定的.有js基础的同学面对这个问题基本可以想到:this的指向和函数调用的方式相关.这当 ...

  9. 微信小程序:Navigator导航组件

    导航组件:类似超链接标签. url:要跳转的页面路径,可以放绝对路径,也可以放相对路径,绝对路径指从pages作为根目录开始找到你要的页面. 找到你要找的页面的相对地址的方法:在vscode中,该页面 ...

  10. ADT基础(二)—— Tree,Heap and Graph

    ADT基础(二)-- Tree,Heap and Graph 1 Tree(二叉树) 先根遍历 (若二叉树为空,则退出,否则进行下面操作) 访问根节点 先根遍历左子树 先根遍历右子树 退出 访问顺序为 ...