微信小程序——使用vant weapp做微信云开发实例

使用vant weapp做微信云开发实例

1,确保电脑装有node.js

官网下载:https://nodejs.org/en/

在cmd中测试:

image-20210421211018340

2,新建一个云开发模式下的小程序

image-20210421190335785

3,引入vant库

(1),首先运行npm init -y

image-20210421190848981

image-20210421191913341

(2),然后再执行 npm i @vant/weapp -S --production

image-20210421191954395

image-20210421191208238

(3),详细里面勾选使用npm模块

image-20210421191601087

工具里面构建npm

image-20210421191453499

image-20210421192033921

此时,vant weapp框架引入成功

4,云开发准备

(1),首先将项目目录结构整理成如下:

image-20210421210004055

(2),点击云开发

image-20210421192742048

点击更多,内容管理

image-20210421192851809

得到如下界面点击超链接(第一次使用时需要开通,开通需要等待5分钟左右)

image-20210421192943523

(3),新建项目

image-20210421193142745

项目名和项目id可以任意指定

image-20210421193234731

(4),在内容模型里面创建云端数据库表

image-20210421193358589

image-20210421193527734

image-20210421193559011

image-20210421193628957

image-20210421194536701

image-20210421194721840

image-20210421194623063

image-20210421194747459

image-20210421194844454

image-20210421194904480

image-20210421194934893

创建如上的几个字段:

image-20210421195112009

(5),现在向云端数据库添加数据

image-20210421195211660

image-20210421195240136

随便粘贴一些文章进去

image-20210421195442722

image-20210421195530419

数据插入成功!

5,云开发测试

(1),设置–>环境设置里面有一串环境ID,

image-20210421201748486

复制粘贴在全局app.js里面

image-20210421201901773

(2),点击云开发–>数据库–>News,就可得到我们创建的云端数据

image-20210421195815821

将权限设置为所有用户可读

image-20210421201630756

index.wxml粘贴如下代码:

<van-tabs active="{{ active }}" bind:change="onChange">
  <van-tab title="{{item}}" wx:for="{{bar}}">
    <van-card wx:for="{{news}}" desc="描述"  title="{{item.news_title}}" thumb="{{item.news_img}}" bindtap="onClick" data-index="{{item._id}}"></van-card>
  </van-tab>
</van-tabs>

image-20210421200034566

index.json粘贴如下代码

{
 "usingComponents": {
    "van-tab": "@vant/weapp/tab/index",
    "van-tabs": "@vant/weapp/tabs/index",
    "van-card": "@vant/weapp/card/index"
  }
}

image-20210421200221544

index.js粘贴如下代码:

//index.js
const app = getApp()
const db = wx.cloud.database()
Page({
  data: {
    active: 0,
    news:[],
    bar:['科技','游戏','教育','美食','电竞'],
    // title:bar.currentTarget.dataset.index
  },

  onLoad: function() {
    let that=this
    
    db.collection('News').where({
      news_id:0
     })
     .get({
       success:function(res){
         console.log(res)
         that.setData({
           news:res.data
         })
       }
     })
  },
  onChange(event){
    console.log(event)
    var index = event.detail.index
    let that = this
    db.collection('News').where({
      news_id:index
    }).get({
      success:function(res){
        console.log(res.data)
        that.setData({
          news:res.data
        })
      }
    })
  },
  onClick(e){
    var id = e.currentTarget.dataset.index
    console.log(e)

    wx.navigateTo({
      url: '/pages/detail/index?id='+id,
    })
  }
})

image-20210421202010871

此时就已经可以在界面看到我们刚才添加的云端数据内容了:

image-20210421202126359

下面完善detail页面的代码:

index.wxml

<view>{{news.title}}</view>
<rich-text nodes="{{news.news_content}}"></rich-text>

image-20210421210108269

index.js

// miniprogram/pages/detail/index.js
const db = wx.cloud.database()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    news:null
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options)
    db.collection('News').doc(options.id).get().then(res=>{
      console.log(res.data)
      this.setData({
        news:res.data
      })
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})

image-20210421210147235

最终结果:点击相应内容进入详细

image-20210421210331010
image-20210421211043429

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值