- 为什么都清除了缓存,但是判断是否授权还总是true?
[图片]
2021-06-02 - 定义是数字类型,为什么存后是字符类型?怎样成批修改表中某个字段的类型
totalnum没有定义是字符串啊, [图片] 存入表中 [图片] 为什么在云数据中是string? [图片] 另外表中数据比较多条了,不要一条条把string改为number,要在那操作,可以把所有记录的allnum的类型改为number?
2021-05-25 - where 一个字段不为null 或'' ,要怎么写?
[图片] [图片] 这个字段有时是null,有时是" " where 应该要怎么写? let _ = db.command; todo.where({ imageshow: _.neq(null), imageshow: _.neq('') }).orderBy('timeshow', 'desc').limit(5).get 这样写不起作用
2021-05-18 - 增加了触底加载数据,但是页面还是显示20条数,怎么回事?
<view class="table_header" wx:for="{{ hisrecord }}" wx:key="index"> <view class="td" style='width:150rpx;background-color:white; color:black'>{{item.title}}</view> <view class="td">{{item.allnum}}</view> <view class="td">{{item.lastnum}}</view> <view class="td" wx:if="{{item.addyn=='Y'}}">是</view> <view class="td" wx:if="{{item.addyn=='N'}}">否</view> </view> =================================================== hisrecord:this.data.hisrecord.concat(res.data) 如果改成这样拼接数据,但也只是不断显示前20条数据,想要显示所有数据应该怎么弄呢? pageData:{skip:0}, getshow:function(callback){ if(!callback) { callback=res=>{} } db.collection("kinds").skip(this.pageData.skip).where({useyn:'Y'}).get().then(res => { this.setData({ //hisrecord:this.data.hisrecord.concat(res.data) hisrecord:res.data }),res=>{ this.pageData.skip=this.pageData.skip+20 callback() } }) }, onPullDownRefresh:function() { this.getshow(res=>{ wx.stopPullDownRefresh(); this.pageData.skip=0; }); }, onReachBottom:function() { this.getshow(); console.log('ssf') },
2021-05-12 - 新增加一条记录,想显示在集合中最上面,应该怎么设置?
[图片] 第一条记录总是第一次增加,想新增加的记录显示在红色那个位置,应该要怎么设置,看索引那是以id来的,这个索引又是改不了
2021-05-11 - 用触发器定时发送消息,只想发送一次,但为什么会发送多条?
因为是得用户允许才会发出,所以我在用户提交一条日记时用了 wx.requestSubscribeMessage({ tmplIds: ['Rq5eGHbeyzlS8KIdqySLtpXtf8nCftcC3c_CdvR15_s'], // 此处可填写多个模板 ID,但低版本微信不兼容只能授权一个 success(res) { console.log('已授权接收订阅消息') }, }) } 下面是云函数,listnum.total只有两条,按照逻辑应该就是给两个微信号各自发送两条信息就好了, 但是如果我的日记提交了多条,触发器定时的那个点,一个用户就会收到多条信息, 如果我用一个按钮去调用云函数,就只会收到一条信息,这是为什么 ? // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init(); const db = cloud.database(); const userda = db.collection('users'); const template_id = 'Rq5eGHbeyzlS8KIdqySLtpYtf8nCftcC3c_CdvR15_s'; // 小程序模板消息模板 id // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() var d = new Date(); var dateshow = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate(); const getInfo = await userda.get(); const listnum = await userda.count(); for (let i = 0; i < listnum.total; i++) { var touser = getInfo.data[i].userid; // 发送模板消息 try { const result = await cloud.openapi.subscribeMessage.send({ touser: touser, page: 'pages/write/write', lang: 'zh_CN', data: { phrase1: { value: '日记提醒' }, thing2: { value: '今天你的日记提交了吗?如果没有请提交' }, time3: { value: dateshow }, name4: { value: '系统提醒' } }, templateId: template_id, miniprogramState: 'developer' }) } catch (err) { //return err } } }
2021-05-11 - 改变radio-group的选中项,这样不对?
<view class="section1"> <label >是否扣课: </label> <radio-group class="radio-group" bindchange="radioChange"> <label class="radio" wx:for="{{items}}" wx:key="key"> <radio value="{{item.name}}" checked="{{item.checked}}"/>{{item.value}} </label> </radio-group> </view> ================================================== data: { items: [ { name: 'Y', value: '是' }, { name: 'N', value: '否', checked: 'true' }, ], ...... } ========================================================= 点击一个按钮后,要改变checked toUpdate:function(event) { console.log(this.data.items); db.collection("kinds").doc(event.currentTarget.dataset.cid).get().then( res=>{ if(res.data.addyn=='Y') { this.data.items[0].checked="true"; this.data.items[1].checked="false"; this.setData({ items: this.data.items }) console.log(this.data.items) } } ) }, 为什么打印出来两个都是 nv_length: (...)0: {name: "Y", value: "是", checked: "true"}1: {name: "N", value: "否", checked: "false"}length: 2__proto__: Array(0)第一次打印不是应该第二个选项是false? 而且这样运行后前台的选择也没变,还是选中了否那项 这是怎么回事?
2021-04-30 - 插入数据时怎样判断表中是否已存在相同名称?
我以为这样return可以停止程序向下运行,但是没起作用,有人说是异步 问题,但不懂怎么改, 请教一下怎么改才能判断表中有存在一样名字的就停下运行?谢谢 create: function () { if (!this.data.titleshow) { wx.showToast({ title: '请填写标题~', icon: 'none' }); return; } db.collection(kinds).where({ title:this.data.titleshow }).get().then( res=>{ if(res.data.length>0) { wx.showToast({ title: '已存在', }) return; } } ) wx.showLoading({ title: '正在创建……', mask: true }); }
2021-04-29 - 小程序中不能直接用update?只能调用云函数去update吗?
加上下面这段就报错了 if (this.data.minusnum > 0) { var lastnum = this.data.allnum - this.data.minusnum kindshow.where({ title:this.data.tag }).update({ data:{ lastnum:lastnum } }) }; 错误如下 VM61:1 thirdScriptError errCode: -1 | errMsg: query.update is only available in server SDK / API; [Component] Event Handler Error @ pages/write/write#bound create Error: errCode: -1 | errMsg: query.update is only available in server SDK / API at new u (WAService.js:1:128214) at n.Za.n.update (WAService.js:1:386263) 这个表插入数据时没有问题,为什么update就不行??、
2021-04-28 - 更新云数据库的,用一个字段的值减一个变量去更新另一个字段,应该怎么写好?
想把云数据库中的表kinds的一个字段lastnum更新值为字段allnum-当前页得到的一个的一个值,应该要怎么写?、?、下面这样写不行 const _ = db.command; console.log(this.data.tag); //这里能打印出值 console.log(this.data.minusnum);//这里能打印出值 db.collection('kinds').doc(this.data.tag).update({ data: { lastnum: _.allnum-this.data.minusnum }, success(res) { console.log(res.data) }, fail(res){console.log(res)} });
2021-04-23