a______12 2022-10-04 16:37 采纳率: 100%
浏览 65
已结题

用微信小程序做,需要教一下咋复制进去

拿微信小程序做,求解答,手把手教
实现一个输入框和一个提交按钮。点击提交按钮时,如果云数据库中没有数据,则将当前输入框内容上传。如果云数据库中有数据,则在界面中显示”不要重复输入“

注意,本题目可以不使用云函数完成数据的上传功能。

提示:在判断能否上传时,你需要先读取数据库内容,再向数据库上传。实际上要做到这样的连续行为,需要在完成第一个行为的success回调函数中执行第二个行为。若不这样操作,则不能保证执行的先后顺序,会产生意外的结果。

  • 写回答

2条回答 默认 最新

  • 游一游走一走 2022-10-04 17:37
    关注

    env: 'as-7g1dqbrma69ca4c1', 替换为你自己的资源

    // app.js
    App({
      onLaunch: function () {
        if (!wx.cloud) {
          console.error('请使用 2.2.3 或以上的基础库以使用云能力');
        } else {
          wx.cloud.init({
            // env 参数说明:
            //   env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
            //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
            //   如不填则使用默认环境(第一个创建的环境)
            env: 'as-7g1dqbrma69ca4c1',
            traceUser: true,
          });
        }
    
        this.globalData = {};
      }
    });
    
    
    // pages/test/test.js
    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        desc: null,
        hidden: true,
      },
      onDescInput(e) {
        this.setData({
          desc: e.detail.value
        })
      },
      onUpload() {
        const db = wx.cloud.database()
        db.collection('todo').where({
            desc: this.data.desc
          })
          .get()
          .then(res => {
            console.log(res)
            if (res.data.length > 0) {
              this.setData({
                hidden: false
              })
            } else {
              db.collection('todo').add({
                  data: {
                    desc: this.data.desc
                  }
                })
                .then(() => this.setData({
                  hidden: true
                }))
                .catch(console.log)
            }
          })
          .catch(console.log)
      },
    })
    
    <!--pages/test/test.wxml-->
    <view>
      <input class="input" bindinput="onDescInput" value="{{desc}}" placeholder="请输入" />
      <view class="view">{{hidden?'':'已存在'}}</view>
      <button class="button" bindtap="onUpload">上传</button>
    </view>
    
    .input{
      border: green 1px solid;
    }
    .view{
      background-color: grey;
      color: red;
      margin-top: 1rem;
    }
    .button{
      background-color: green;
      margin-bottom: 1rem;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月12日
  • 已采纳回答 10月4日
  • 修改了问题 10月4日
  • 赞助了问题酬金15元 10月4日
  • 展开全部

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么