美文网首页前端
微信小程序云开发个人博客项目实战(3)-- 文章的增删改查

微信小程序云开发个人博客项目实战(3)-- 文章的增删改查

作者: IT姑凉 | 来源:发表于2019-12-12 23:35 被阅读0次

    微信小程序云开发个人博客项目实战目录
    一、准备工作及引入 Vant Weapp 小程序 UI 组件库
    二、专题的增删改查
    三、文章的增删改查
    四、云函数获取微信公众号access_token
    五、云函数同步公众号文章到小程序

    一、功能

    • 文章列表、下拉刷新
    • 文章增加、编辑(富文本编辑)
    • 文章删除
    文章列表 增加文章 编辑删除

    地址:https://github.com/itguliang/miniprogram-itguliang-cloud

    二、实现

    修改app.json-->pages,新增写文章及文章详情页面

    "pages": [
        "pages/article/articleAddorEdit",
        "pages/article/articleDetail"
    ]
    
    1、写文章

    home.wxml 加个写文章的按钮,跳转到写文章的页面

    <!--这种多个页面用的组件,可以在app.json引入,就不用在多个json分别引入了-->
    <van-button type="warning" bindtap="addArticle"> + 写文章</van-button>
    

    页面跳转

    addArticle:function(){
        wx.navigateTo({
          url: '../article/articleAddorEdit'
        })
    }
    

    修改写文章页面的title,对应的json文件中修改

    {
      "navigationBarTitleText": "写文章 - IT姑凉",
      "usingComponents": {}
    }
    

    文章内容编辑器可以参考官方的editor --- 传送门

    封面上传(不是必填项)--- 参考小程序云开发的上传图片例子来修改

    2、文章列表
    3、写文章按钮的显示与隐藏

    向下滚动隐藏 、向上滚动显示

    <button class="btn-add" wx:if="{{addArticleBtnShow}}" bindtap="addArticle"> + 写文章</button>
    

    监听页面滚动事件

    onPageScroll: function (e) {
        console.log(e);
        if (e.scrollTop>this.data.scrollTop){
          this.setData({ addArticleBtnShow: false });
        }else{
          this.setData({ addArticleBtnShow: true });
        }
        this.setData({ scrollTop: e.scrollTop});
      }
    

    效果见文章开头

    4、文章下拉刷新、上拉加载更多

    下拉刷新,json中设置允许当前页面下拉刷新

    {
      "enablePullDownRefresh": true
    }
    
    4、文章详情

    towxml解析HTML --- towxml使用-传送门

    三、遇到问题

    1、小程序页面跳转不同方法
    wx.navigateTo
    2、小程序修改单独页面title
    app.json中 window 统一设置 title

    "window": {
        "backgroundColor": "#F6F6F6",
        "backgroundTextStyle": "light",
        "navigationBarBackgroundColor": "#F6F6F6",
        "navigationBarTitleText": "IT姑凉",
        "navigationBarTextStyle": "black"
    }
    

    如果要修改某个页面的title的话,可以在对应页面的json中修改

    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#FFFFFF",
    "navigationBarTitleText": "单独页面",
    "navigationBarTextStyle": "black"
    

    也可在js中动态加载

    onLoad: function (options) {
        wx.setNavigationBarTitle({
          title: '当前页面'  //修改title
        })
    },
    

    3、小程序editor组件操作图标不全,可以中文下和英文下的两个demo结合来用

    中文下链接预览的官方示例 英文下链接预览的官方示例

    4、小程序返回上个页面刷新数据

    var pages = getCurrentPages();
    var prevPage = pages[pages.length - 2];
    wx.navigateBack({
       delta: 1, 
       success: function() {
          if (prevPage.route == 'pages/home/home') {
             prevPage.loadData(); 
          }
       }
    })
    

    5、动态修改class

    <view class="className1 {{num==1?'className2':'className3'}}" ></view>
    

    相关文章

      网友评论

        本文标题:微信小程序云开发个人博客项目实战(3)-- 文章的增删改查

        本文链接:https://www.haomeiwen.com/subject/zasbgctx.html