“爱阅读登记”项目——已做到将云数据库里的学生姓名显示在界面上(待解决一键录入批量更新录入的数据问题)

这个是目前做到的:
在这里插入图片描述

登记入口的代码已经在上一章记录好了:
微信小程序实现账号密码登入和传值显示

这个是逻辑index.js

// index.js

Page({
      
    onLoad: function (options) {
      console.log('传过来的是',options); // options里面是上级页面传来的参数(教师姓名)
      let idname = options.studentname;
      this.setData({
        orderId: idname
      })
      wx.cloud.callFunction({
        name:'getname',
        data:{
          idname
        }
      }).then(res =>{
        console.log('传回成功',res.result.data)  //这里用res.data是错误的,打印下会发现数值是null所以要精确点。
        this.setData({
          list: res.result.data
        })
      }).catch(res=>{
        console.log('传回失败',res)
      })
    }  ,
     })


这个是index.wxml

<!--pages/index/index.wxml-->
<text>您好!{{orderId}}老师!</text>

<view wx:for="{{list}}" wx:key="key" >
    <view>{{item.studentName}}</view>
    <input class="input" type="number" placeholder="这是一个数字输入框" />
</view>

<button bindtap="updata">登记上传</button>

因为涉及到20以上个数据的返回,所以我用了云函数来请求超过20个以上的学生。
getname的云函数
里面的index.js是这样的:


// 云函数入口文件
const cloud = require('wx-server-sdk')
let id =0;
// 云开发环境初始化
cloud.init({env: cloud.DYNAMIC_CURRENT_ENV})
const db = cloud.database()

exports.main = async (event, context) => {  //event就是本地传过来的参数

try{
  return await cloud.database().collection("stuname")
   .where(
   {
     teacherName :"event.idname"  //要非常注意这里,传过来的值必须跟数据库里面的变量形式对应,要加""号或者不用要看仔细
  })
.get({
  success: function (res) {
    return res;
    }
   });
} catch (e) {
console.error(e);
 }
 }

目前需要解决的问题是:
怎么在老师输入好每个学生的“阅读值”后,将这些值一键inc到微信的云数据库里面。这个问题目前还没解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值