- 小程序发布成功后无法搜索到
AppID(小程序ID) wx272047b87a52c88a 小程序名称:NPUACT 小程序线上发布成功后,未收到任何封禁通知,无法在微信小程序中搜索到:NPUACT [图片]
2019-10-22 - 云函数 查询数据库 第二次查询没有结果,请问怎么办?
问题描述: 在同一个云函数中两次查询不同的数据库,然后比较两次查询结果,进行后续操作。但是第二次查询的结果总是为0,而单独查询则不会出现此问题。 代码如下: [代码]// 云函数入口文件[代码][代码]// 获取每一个id对应的点击限制:[代码][代码]const cloud = require([代码][代码]'wx-server-sdk'[代码][代码])[代码] [代码]cloud.init()[代码] [代码]// 云函数入口函数[代码][代码]exports.main = async (event, context) => {[代码][代码] [代码][代码]let {[代码][代码] [代码][代码]id,[代码][代码] [代码][代码]stuId,[代码][代码] [代码][代码]userInfo[代码][代码] [代码][代码]} = event;[代码] [代码] [代码][代码]console.log([代码][代码]"id: "[代码][代码], id);[代码][代码] [代码][代码]id = parseInt(id);[代码] [代码] [代码][代码]let result = [代码][代码]null[代码][代码];[代码][代码] [代码][代码]let id_max = 0;[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]result = await cloud.database().collection([代码][代码]'maxValueSet'[代码][代码]).where({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]id: id[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}).get().then(res => {[代码][代码] [代码][代码]console.log([代码][代码]"res.data: "[代码][代码], res.data[0].data.max_value); //可以得到结果[代码][代码] [代码][代码]id_max = res.data[0].data.max_value;[代码][代码] [代码][代码]});[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](e) {[代码][代码] [代码][代码]return[代码] [代码]{[代码][代码] [代码][代码]code: 1,[代码][代码] [代码][代码]msg: e.message[代码][代码] [代码][代码]};[代码][代码] [代码][代码]};[代码] [代码] [代码][代码]console.log([代码][代码]"id_max: "[代码][代码], id_max);[代码] [代码] [代码][代码]timeStamp_today = [代码][代码]new[代码] [代码]Date().setHours(0, 0, 0, 0);[代码][代码] [代码][代码]timeStamp_today = parseInt(timeStamp_today);[代码][代码] [代码][代码]console.log([代码][代码]"today is: "[代码][代码], timeStamp_today);[代码][代码] [代码][代码]let id_today = 0;[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]result = await cloud.database().collection(stuId).where({[代码][代码] [代码][代码]id: id,[代码][代码] [代码][代码]timestamp: cloud.database().command.gte(timeStamp_today)[代码][代码] [代码][代码]}).count().then(res => {[代码][代码] [代码][代码]console.log([代码][代码]"res.data: "[代码][代码], res);//得到的结果总是为0---不知道为什么[代码][代码] [代码][代码]id_today = res.total;[代码][代码] [代码][代码]});[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](e) {[代码][代码] [代码][代码]return[代码] [代码]{[代码][代码] [代码][代码]code: 1,[代码][代码] [代码][代码]msg: e.message[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]console.log([代码][代码]"id_today: "[代码][代码], id_today);[代码][代码] [代码][代码]if[代码][代码](id_max > id_today){[代码][代码] [代码][代码]return[代码] [代码]{[代码][代码] [代码][代码]code: 0,[代码][代码] [代码][代码]data: "id_max > id_today"[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码]else[代码][代码]{[代码][代码] [代码][代码]return[代码] [代码]{[代码][代码] [代码][代码]code: 3,[代码][代码] [代码][代码]data: "id_max <= id_today"[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码] [代码]}[代码]代码定位: [图片] 不胜感激!!
2019-10-15 - 云开发使用云函数获取的数据还没返回,该数据就已经被使用,请问怎么解决?
问题描述:从函数中获取id_max, id_today两个数据,之后判断:如果id_max > id_today,那么total+=1;否则total不加分。 但是云函数还没有获取到这两个值呢,就已经判断过了:id_max>id_today 代码如下: [代码]clickTap(event) {[代码] [代码] [代码][代码]//调用云函数--获取该id对应的max_value[代码][代码] [代码][代码]let id_max = 0;[代码][代码] [代码][代码]wx.cloud.callFunction({[代码][代码] [代码][代码]name: [代码][代码]'getLimit'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]id: id[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}).then(res => {[代码][代码]//res is returned from cloud[代码][代码] [代码][代码]console.log([代码][代码]'getLimit-调用成功 and res is:'[代码][代码], res);[代码][代码] [代码][代码]const result = res.result;[代码][代码] [代码][代码]const data = result.data || {}; [代码][代码]//data为空[代码][代码] [代码][代码]id_max = data.data[0].data.max_value;[代码][代码] [代码][代码]console.log([代码][代码]"id_max"[代码][代码], id_max);[代码] [代码] [代码][代码]if[代码] [代码](result.code) {[代码][代码]//code 非0, 表明出现错误[代码][代码] [代码][代码]console.log([代码][代码]'getLimit-something wrong'[代码][代码]);[代码][代码] [代码][代码]wx.showToast({[代码][代码] [代码][代码]title: result.msg,[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码] [代码][代码]});[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]// wx.hideLoading();[代码][代码] [代码][代码]}).[代码][代码]catch[代码][代码](err => {[代码][代码]//调用云函数失败[代码][代码] [代码][代码]console.log([代码][代码]'getLimit-调用失败'[代码][代码], err);[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]statusMsg: [代码][代码]'getLimit-调用失败: ${err.errMsg}'[代码][代码] [代码][代码]});[代码][代码] [代码][代码]// wx.hideLoading();[代码][代码] [代码][代码]});[代码] [代码] [代码][代码]//调用云函数,获取该id今日点击次数[代码][代码] [代码][代码]let today = [代码][代码]new[代码] [代码]Date().setHours(0, 0, 0, 0);[代码][代码] [代码][代码]console.log([代码][代码]"today: "[代码][代码], today);[代码][代码] [代码][代码]let id_today = 0;[代码][代码] [代码][代码]wx.cloud.callFunction({[代码][代码] [代码][代码]name: [代码][代码]'getToday'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]id: id,[代码][代码] [代码][代码]stuId: app.globalData.stuId[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}).then(res => {[代码][代码]//res is returned from cloud[代码][代码] [代码][代码]console.log([代码][代码]'getToday-调用成功 and res is:'[代码][代码], res);[代码][代码] [代码][代码]const result = res.result;[代码][代码] [代码][代码]// const data = result.data || {}; //data为空[代码][代码] [代码][代码]id_today = result.data.total;[代码][代码] [代码][代码]console.log([代码][代码]"id_today: "[代码][代码], id_today);[代码] [代码] [代码][代码]if[代码] [代码](result.code) {[代码][代码]//code 非0, 表明出现错误[代码][代码] [代码][代码]console.log([代码][代码]'getToday-something wrong'[代码][代码]);[代码][代码] [代码][代码]wx.showToast({[代码][代码] [代码][代码]title: result.msg,[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码] [代码][代码]});[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]//判断是否添加score[代码][代码] [代码][代码]if[代码] [代码](id_max > id_today) {[代码][代码] [代码] [代码] [代码][代码]console.log([代码][代码]"增加分数score"[代码][代码]);[代码] [代码] [代码][代码]wx.cloud.callFunction({[代码][代码] [代码][代码]name: [代码][代码]'addScore'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]stuId: app.globalData.stuId[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}).then(res => {[代码][代码]//res is returned from cloud[代码][代码] [代码][代码]console.log([代码][代码]'addscore-调用成功 and res is:'[代码][代码], res);[代码][代码] [代码][代码]const result = res.result;[代码][代码] [代码][代码]const data = result.data || {}; [代码][代码]//data为空[代码][代码] [代码][代码]app.globalData.score += 1;[代码][代码] [代码][代码]that.setData({[代码][代码] [代码][代码]grade: app.globalData.score[代码][代码] [代码][代码]});[代码][代码] [代码][代码]if[代码] [代码](result.code) {[代码][代码]//code 非0, 表明出现错误[代码][代码] [代码][代码]console.log([代码][代码]'addscore-something wrong'[代码][代码]);[代码][代码] [代码][代码]wx.showToast({[代码][代码] [代码][代码]title: result.msg,[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码] [代码][代码]});[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]// wx.hideLoading();[代码][代码] [代码][代码]}).[代码][代码]catch[代码][代码](err => {[代码][代码]//调用云函数失败[代码][代码] [代码][代码]console.log([代码][代码]'addscore-调用失败'[代码][代码], err);[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]statusMsg: [代码][代码]'addscore-调用失败: ${err.errMsg}'[代码][代码] [代码][代码]});[代码][代码] [代码][代码]// wx.hideLoading();[代码][代码] [代码][代码]});[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]console.log([代码][代码]"已超限,不加分"[代码][代码]);[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]// wx.hideLoading();[代码][代码] [代码][代码]}).[代码][代码]catch[代码][代码](err => {[代码][代码]//调用云函数失败[代码][代码] [代码][代码]console.log([代码][代码]'getToday-调用失败'[代码][代码], err);[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]statusMsg: [代码][代码]'getToday-调用失败: ${err.errMsg}'[代码][代码] [代码][代码]});[代码][代码] [代码][代码]// wx.hideLoading();[代码][代码] [代码][代码]});[代码][代码]}[代码] 代码定位: [图片] 其中id_max和id_today都是云函数从数据库中获取的对应的id的值。 获取id_max的代码如下: [图片] 获取id_today的代码如下: [图片] 问题重述:就是在调用云函数获取数据库里面的id_max和id_today的时候,这俩值还没返回,就已经执行了后面(能用到这俩值)的代码。 请问怎么解决? 非常感谢!!!
2019-10-15 - this.setData()在给data里面的元素赋值时不起作用,请问怎么改?
程序在加载时候,从云数据库读取用户信息,然后使用this.setData()给view里面的东西赋值。但是赋值之后不起作用,而且this.setData()后面的console也不执行了。 [代码]// miniprogram/pages/index/index.html.js[代码][代码]let app = getApp();[代码][代码]const db = wx.cloud.database();[代码][代码]Page({[代码] [代码] [代码][代码]/**[代码][代码] [代码][代码]* 页面的初始数据[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]name:[代码][代码]''[代码][代码],[代码][代码] [代码][代码]grade: [代码][代码]''[代码][代码] [代码][代码]},[代码] [代码] [代码][代码]/**[代码][代码] [代码][代码]* 生命周期函数--监听页面加载[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]onLoad: [代码][代码]function[代码] [代码](options) {[代码][代码] [代码][代码]this[代码][代码].onGetOpenid();[代码][代码] [代码][代码]},[代码] [代码] [代码][代码]onGetOpenid() {[代码][代码] [代码][代码]// 调用云函数[代码][代码] [代码][代码]wx.cloud.callFunction({[代码][代码] [代码][代码]name: [代码][代码]'login'[代码][代码],[代码][代码] [代码][代码]data: {},[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]this[代码][代码].onInit(res.result.openid);[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: err => {[代码][代码] [代码][代码]console.error([代码][代码]'[云函数] [login] 调用失败'[代码][代码], err)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码] [代码][代码]},[代码][代码] [代码][代码]onInit(openid) {[代码][代码] [代码][代码]// console.log(openid);[代码][代码] [代码][代码]// console.log(typeof (openid));[代码][代码] [代码][代码]//初始化用户信息[代码][代码] [代码][代码]db.collection([代码][代码]'user'[代码][代码])[代码][代码] [代码][代码].where({[代码][代码] [代码][代码]_openId: openid [代码][代码]//填入用户当前openId[代码][代码] [代码][代码]}).get({[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]// console.log(res.data);[代码][代码] [代码][代码]if[代码] [代码](res.data.length > 0) {[代码][代码] [代码][代码]console.log([代码][代码]"用户已存在"[代码][代码]);[代码][代码] [代码][代码]console.log([代码][代码]"res: "[代码][代码], res);[代码][代码] [代码][代码]//获取用户的stuId[代码][代码] [代码][代码]app.globalData.stuId = res.data[0].stuId;[代码][代码] [代码][代码]app.globalData.score = res.data[0].score;[代码][代码] [代码][代码]app.globalData.name = res.data[0].name;[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]name:app.globalData.name,[代码][代码] [代码][代码]grade:app.globalData.score[代码][代码] [代码][代码]});[代码][代码] [代码][代码]console.log([代码][代码]"app.globalData.stuId"[代码][代码], app.globalData.stuId);[代码][代码] [代码][代码]console.log([代码][代码]"app.globalData.score"[代码][代码], app.globalData.score);[代码][代码] [代码][代码]console.log([代码][代码]"app.globalData.name"[代码][代码], app.globalData.name);[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]console.log([代码][代码]'用户不存在,请先注册'[代码][代码])[代码][代码] [代码][代码]wx.redirectTo({[代码][代码] [代码][代码]url: [代码][代码]'../register/register'[代码][代码],[代码][代码] [代码][代码]});[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码][代码] [代码][代码]err: [代码][代码]function[代码] [代码](e) {[代码][代码] [代码][代码]console.error([代码][代码]'初始话用户信息失败'[代码][代码], err)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码]代码定位:54行-58行 [图片] [图片] 请问代码有什么问题吗,应该怎么解决。 非常感谢各位!!!!
2019-10-14