推荐网址:

腾讯云快速开发(nodejs前后端):https://developers.weixin.qq.com/miniprogram/dev/qcloud/qcloud.html#%E5%AF%BC%E5%85%A5-nodejs-demo-%E5%92%8C%E9%85%8D%E7%BD%AE

参考项目地址(nodejs前后端):https://github.com/CavinCao/ghost-wechat-blog

SQL Query Builder for JS:https://knexjs.org/#Builder-increment

偶项目地址:https://github.com/zhaofangmei/mini-WX-blog

1、整体页面框架搭建:首页、发表、我的

2、授权登录

  https://developers.weixin.qq.com/miniprogram/dev/api/open.html

  this.setData:内置函数,可以设置data数据,可通过逻辑层改变数据

  wx.redirectTo:关闭当前页面,调到应用内的页面

  wx.switchTab:跳转tabBar页面,关闭其他非tabBar页面

3、post建表

(1)登录腾讯云,进入腾讯云开发环境管理页面,进入数据库

(2)进入数据库建表

4、博客发表功能开发

wx.request(OBJECT):发起网络请求

Wafer 服务端 SDK - Node.js: wafer-node-sdk

nodejs开发环境本地调试:

(1)先将server代码上传

(2)“启动单步调试”,设置断点,即可本地调试nodejs服务端 (腾讯云的“启动单步调试”选项存在安全问题已经下线了 10.11)

5、首页博客展示

微信小程序分页效果实现:

https://blog.csdn.net/yuyuking/article/details/78796406

https://www.cnblogs.com/xuzhengzong/p/6943627.html

6、博客详情查看、编辑、删除功能

(1)

modal:类似于javascript中的confirm弹框 :https://developers.weixin.qq.com/miniprogram/dev/api/api-react.html#wxshowmodalobject

首页进入详情页,鉴权操作;鉴权要是在home的判断会出现两次跳转进入详情页,鉴权操作应该在详情页的onload事件判断

(2)openid

7、博客评论功能

(1)用户评论成功,重新加载页面  
  //判断是否有打开过页面
  if (getCurrentPages().length != 0) {
    //刷新当前页面的数据
    getCurrentPages()[getCurrentPages().length - 1].onLoad()
  }
(2)盖楼式评论---数据库设计
  这个真的是难倒我这个不精水的前端了,之前没接触过。感谢万能的网友,网上有好多意见
    1、拆分两个表:评论表和回复表(https://blog.csdn.net/ztchun/article/details/71106117);
    2、单个评论表加上评论id:parentid作为标识。(https://blog.csdn.net/u014702653/article/details/54709553
  其实最好的做法是分表分库,可以节省重复查询,提高效率。
  个人采用了单表设计,加了parentid作为标识。一次性查出该博客的所有评论,再对数据进行筛选(递归)
  针对页面树形图展示,使用自定义组件,可以参考
     
·(3)回复应该有一个评论/回复的消息推送(后续吧)
推荐网址: 

8、博客转载(分享事件)

9、我的页面功能完善

我的博客+功能反馈+关于作者

问题记录:

(1)2018-08-23  : emoji错误:ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xF0\x9F\x98\x8B\xF0\x9F...' for column 'post' at row 1

  解决办法: 在phpMyAdmin中,对应的字段的属性排序规则,也设置为相应的utf8mb4相关的值。   https://developers.weixin.qq.com/community/develop/doc/000c4444fb43a0e683e621c445b000?highLine=Incorrect%2520string%2520value

(2)2018-10-24:Maximum call stack size exceeded(栈溢出,使用递归,无限循环下去了)   https://blog.csdn.net/u014291497/article/details/52124410

(3)2018-11-14:wafer2-client-sdk login 报错{"code":-1,"error":"ERR_REQUEST_PARAM"}   https://github.com/tencentyun/wafer2-quickstart/issues/13

微信小程序初见+nodejs服务端 (一个简单的博客)的更多相关文章

  1. Nodejs+mysql+Express: 一个简单的博客

    推荐网址: https://github.com/nswbmw/N-blog/blob/backup/book/%E7%AC%AC1%E7%AB%A0%20%E4%B8%80%E4%B8%AA%E7% ...

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

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

  3. (三)微信小程序之发送服务通知(模板消息)

    1.后端获取AccessToken返回给微信端 微信小程序端请求后端得到AccessToken   2.后端获取openid返回给微信端   微信小程序端登录请求后端得到openid   3.发送消息 ...

  4. 用Taro写一个微信小程序(一)——开始一个项目

    一.Taro简介 1.名字由来 Taro['tɑ:roʊ],泰罗·奥特曼,宇宙警备队总教官,实力最强的奥特曼. 2.taro是什么 Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vu ...

  5. 第一个微信小程序(实现点击一个按钮弹出toast)

    今天根据网上的教程搭建了微信小程序的环境,然后看文档做了一个简单的小应用. 项目的目录是这个样子的: app.js.app.json.app.wxss是全局文件,必不可少的文件.定义在app.wxss ...

  6. 微信小程序——手把手教你写一个微信小程序

    前言 微信小程序年前的跳一跳确实是火了一把,然后呢一直没有时间去实践项目,一直想搞但是工作上不需要所以,嗯嗯嗯嗯嗯emmmmm..... 需求 小程序语音识别,全景图片观看,登录授权,获取个人基本信息 ...

  7. Fundebug微信小程序BUG监控服务支持Source Map

    摘要: 自动还原真实出错位置,快速修复BUG. Source Map功能 微信小程序的Source Map功能目前只在 iOS 6.7.2 及以上版本支持. 微信小程序在打包时,会将所有 js 代码打 ...

  8. Express入门教程:一个简单的博客

    来自:  http://ourjs.com/detail/56b2a6f088feaf2d031d2468 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, ...

  9. 用express搭建一个简单的博客系统

    转自:https://blog.csdn.net/qq_29721837/article/details/62055603 Express 简介 Express 是一个简洁而灵活的 node.js W ...

随机推荐

  1. 【Ruby】【目录 & 引用 & 文件 】

    [[目录]] 当前文件在根目录下一个文件夹下 引用当前文件所在目录上一级目录下某.rb文件 方法一 require File.join(File.dirname(FILE),'..','test_on ...

  2. 转csdn某位同学的 感谢bmfont

    UGUI 使用BMFont 首先要知道 Custom Font 的原理,不知道的同学可以先看这篇[Custom Font 原理](http://blog.csdn.net/liqiangeastsun ...

  3. Codeforces 769D k-Интересные пары чисел

    题目链接:http://codeforces.com/contest/769/problem/D 搜索题 考虑这些数的值域较小,直接${O(2^{k})}$次方枚举每个数字二进制位上是否改变,剪枝一下 ...

  4. colgroup和col的区别

    转载自:http://blog.csdn.net/carefree31441/article/details/3291397 colgroup和col一般出现在表格当中定义表格单独列的任意属性col能 ...

  5. dbm.error: need 'c' or 'n' flag to open new db

    #coding=utf-8 import shelve with shelve.open("shelve.ini","w") as f: f["k1& ...

  6. Servlet模板,一个供新手参考的模板

    由于这学期老师的进度是刚开始教JavaSE部分,而我的进度比较快,所以买了3本javaee的书,我根据自己的基础,选择了合适的开发实践,另外两本书都和框架相关,我自认为我的web基础还不是很牢固,所以 ...

  7. [原][spark]帧序列的纹理UV索引,修改spark源码,改变纹理索引方式,支持常规帧序列

    spark的纹理索引方式是左下为最小值0 右上为最大值k ,遍历顺序为横向即: 3 4 5 0 1 2 而常规的纹理帧序列是这样的: 0 1 2 3 4 5 所以,为了让spark的纹理遍历顺序能按照 ...

  8. The content of element type "web-app" must match "(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet- mapping*,session-config?,mime-map

    修改了一下web.xml,加入了一个<filter>,然后就报这样的错??? The content of element type "web-app" must ma ...

  9. JAVA基础知识总结:十二

    一.String类 字符串是一种特殊的对象,一旦被初始化就不能被改变了 字符串常量存储于常量池中 二.StringBuffer类 是一个字符串缓冲区,相当于一个容器 特点 a.可以对字符串进行增加和删 ...

  10. 20165327 2017-2018-2 《Java程序设计》第6周学习总结

    20165327 2017-2018-2 <Java程序设计>第6周学习总结 教材内容总结 第八章 String类常用方法 public int length() public boole ...