最开始是在用wordpress做为个人博客,由于其过于臃肿和繁琐,后来改为Hexo托管在github上,但是个人觉得还是在访问速度方面有些慢且发布文章不是很方便快捷,所以决定自己作一个轻便的blog。
首先贴出自己的demo
为什么使用vue
因为Vue是一个非常轻量级的前端框架,其他原因我不再一一赘述,具体可见Vue官方文档
leancloud是什么
leancloud为我们提供数据存储、实时消息和推送、统计分析,对于个人站点的使用是绰绰有余。
本博客框架
采用前端使用vue 1.0做为开发框架,leancloud为本站提供数据储存服务。
所有静态文件存放在七牛云或阿里OSS上,并不需要另外购买服务器,这对于个人来说省了不少费用。
文件目录
看到文件目录之后应该对本站的结构了解很清楚了,代码中使用到了vuex,使数据流动更加清晰和简单。这个时候我们应该关心在什么地方使用到了leancloud?怎么调用leancloud?如何在leancloud上存储数据并查看数据?切莫急,接下来便是:
在什么地方使用到了leancloud?
从上图中可看出,代码中使用了vuex操作数据,所以在service层与leanchoud了发生了数据交互,部分代码如下:
export const getArticles = ({
dispatch
}, data) => {
const query = new AV.Query('Articles');
query.descending('createdAt');
query.limit(data.limit); // 最多返回 10 条结果
query.skip(data.start);
query.find().then(function(results) {
dispatch('getArticles', results);
}, function(error) {});
};
但是这样使用就可以了吗?No
怎么调用leancloud?
本站是直接在index.html中加入下面代码:
<script src="https://cdn1.lncld.net/static/js/av-min-1.2.1.js"></script>
在ext/vue_ext.js文件中封装leancloud初始化的方法,如下:
function AVInit(){
const appId = 'Your appID';
const appKey = 'Your appkey';
AV.init({ appId:appId, appKey:appKey });
}
然后在App.vue中调用此方法进行初始化,就可以创建 class 或任何其他操作了。
如何在leancloud上存储数据并查看数据?
在对leancloud进行初始化之后,数据的增删改查操作全部是在src/service层中完成的,具体方法可查看代码以及leancloud官方数据存储文档
由于时间仓促,本站目前仅实现了以下功能:
- 博客内容的发布、管理
- 支持markdown语法编辑
- 支持简单的代码高亮
- 页面自适应
后续需要实现的功能
- 由于markdown组件中的样式是自己编写的,所以只能支持简单的语法高亮,后续改进中会加入 PHP、javascript、html等代码样式
- 账户的登录(包括创建用户和第三方用户的登录)
- 可根据白天夜间调节主色调
- 统计分析
- 消息推送
后三个都是可以使用leancloud提供的服务完成,具体方法会在后续代码中提供。
代码在build完成之后是存放在阿里OSS上的,所以访问速度会快很多,可以自定义域名。
至此,书写完毕,如有欠缺,请多指教。
补充:此项目为纯前端项目,为安全起见,请在leancloud控制台》应用》安全中心页面,设置安全域名即可。