基于微信小程序的校园论坛系统开发过程

页面展示

1。下面是小程序的首页,帖子的展示页面。 2。点击对应的帖子,可以进入详细浏览界面。 3。下面是发帖界面,图片最多上传3张,可以选择拍照 4。下面是我的界面,当然用户首次进入小程序需要登陆。

5。下面是我的帖子管理页面

小程序功能介绍

小程序设计介绍

  1. 小程序前端采用小程序自带的语法wxml+wxss+javascript,其实就是web前端html+css+javascript的一个翻版。如果你会前端语法,小程序上手也就十分快,当然还是要多参考小程序开发文档。

小程序部分代码设计讲解

  1. 用户的登陆功能 首先去云数据库检测用户是否之前注册过,如果注册,直接获取用户登陆信息,如果用户第一次登陆,则直接注册登陆。
//登陆实现
  getUserInfo:function(e){
          
   
    //1.用户进入页面,提示登陆。
    wx.showLoading({
          
   
      title: 登陆中....,
    })
    let that = this;
    let info = e.detail.userInfo;
    console.log(info);
    wx.cloud.callFunction({
          
   
      name:"love_login",
      success:function(e){
          
   
        console.log(e.result.openid);
        if(e.result.openid)
          that.setData({
          
   
            openid:e.result.openid,
            userinfo:info
          })
          //先去判断用户之前是否注册入库,如果未注册,注册入库
          wx.cloud.callFunction({
          
   
            name:"love_iszhu",
            data:{
          
   
              openid:that.data.openid
            },success:function(e){
          
   
              if(e.result.data.length==0)//未入库,进行入库
              {
          
   
                wx.cloud.callFunction({
          
   
                  name:love_register,
                  data:{
          
   
                    username:that.data.userinfo.nickName,
                    head:that.data.userinfo.avatarUrl,
                    openid:that.data.openid
                  },success:function(ev){
          
   
                  console.log(ev)
                    wx.hideLoading({
          
   
                      success: (res) => {
          
   },
                    })
                    wx.showToast({
          
   
                      title: 登陆成功,
                      icon:"success",
                      duration:2000
                    })
                  },fail:function(e){
          
   
                    console.log(e);
                  }
                })
              }else{
          
   //已经入库,直接从数据库读取信息
                console.log(已经注册);
                wx.showToast({
          
   
                  title: 登陆成功,
                  icon:"success",
                  duration:2000
                })
                wx.hideLoading({
          
   
                  success: (res) => {
          
   },
                })
              }
               //用户信息保存到数据库和缓存里面
               wx.setStorageSync(userinfo, that.data.userinfo);
               wx.setStorageSync(openid, that.data.openid);
            },fail:function(e){
          
   
              console.log(e);
            }
          })
}
})
},
  1. 帖子发布功能:此处设计不好口头描述,我也是参考小程序官方文档和各位大神讲解才学会的,主要难点是图片的上传。首先我们获取用户输入的标题和内容,其次获取用户上传的图片,最后一起发送到后端云函数处理保存到数据库。
  1. 帖子的展示:这个还是比较容易,通过index.js传递帖子的_id(主键),然后去数据库请求该帖子展示到show.wxml页面

结尾语

这个小程序花费了大概一周时间吧,基本每天有空就会去做,本来打算用它服务于我的学校用,基本功能都经过好几轮测试了,就等待上线了,可以腾讯审核没通过,说论坛类属于企业级才能做的,我的开发类型属于个人用户,所以后面和学校商量下如何解决。

经验分享 程序员 微信小程序 职场和发展