wx.navigateTo 最多之前10次。 可以根据页面栈清空,也可以用redirect,reLanuch。
小程序左上角返回点击没反应wx.navigateTo 多次点击左上角返回,调用的wx.navigateTo, 次数过多后就没有反应了
2022-07-21后台写个统计的接口,进入小程序后根据带不带参数发送请求、
请问如何统计粉丝扫描了公众号带参数二维码?请问我生成了一个带“scene_str: fatasy”参数的公众号二维码,我应该怎么统计有多少人是通过这个二维码扫描进入或者关注公众号的?
2022-07-21导出的excel只有100条数据?
小程序云开发如何导出超100条数据的excl?现在是云函数只能查询到100条,小程序js查询20条,如何修改超100条数据以上???急! 云函数: const cloud = require('wx-server-sdk') //这里最好也初始化一下你的云开发环境 cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV, }) //操作excel用的类库 const xlsx = require('node-xlsx'); // 云函数入口函数 exports.main = async(event, context) => { try { let applydata = getdata.data; //1,定义excel表格名 let dataCVS = event.fileName; //2,定义存储数据的 let alldata = []; let row = ['时间', '当前状态', '姓名', '性别', '手机号', '身份证', '是否开车入厂', '车牌号','确认配合完成以下工作','体温','来源地区','来源地详细','来访事宜','健康码和行程码','入厂时间','入厂放行值班人','离厂时间','离厂校验值班人']; //表属性 alldata.push(row); for (let key in applydata) { let arr = []; arr.push(applydata[key].createTime); arr.push(applydata[key].xm_zt); arr.push(applydata[key].name); arr.push(applydata[key].xm_xb); arr.push(applydata[key].phone); arr.push(applydata[key].xm_sfz); arr.push(applydata[key].sfkcrc); arr.push(applydata[key].cph); arr.push(applydata[key].wcgzph); arr.push(applydata[key].xm_tw); arr.push(applydata[key].xm_lyd); arr.push(applydata[key].xm_lydxx); arr.push(applydata[key].xm_lfsy); arr.push(applydata[key].scjkm); arr.push(applydata[key].RCcreateTime); arr.push(applydata[key].RCname); arr.push(applydata[key].LCcreateTime); arr.push(applydata[key].LCname); alldata.push(arr) } //3,把数据保存到excel里 var buffer = await xlsx.build([{ name: "mySheetName", data: alldata }]); //4,把excel文件保存到云存储里 return await cloud.uploadFile({ cloudPath: dataCVS, fileContent: buffer, //excel二进制文件 }) } catch (e) { console.error(e) return e } } JS: const db = wx.cloud.database() const _ = db.command import { moment } from '../../utils/moment'; Page({ /** * 页面的初始数据 */ data: { index: "0", picker: ['全部', '近三天', '近七天', '近十五天'], isSelect: false, exportData:"", fileName:"来访登记统计表" }, PickerChange(e) { console.log(e); this.setData({ index: e.detail.value }) }, one(e) { let repTime = e.detail.value.replace(/-/g, '/'); console.log("返回时间:" + repTime); //转换格式 let timeTamp = Date.parse(repTime); //转时间戳 let one = timeTamp this.setData({ repTime, one }) }, two(e) { let repTime2 = e.detail.value.replace(/-/g, '/'); console.log("返回时间:" + repTime2); //转换格式 let timeTamp = Date.parse(repTime2); //转时间戳 let two = parseInt(timeTamp + 86400000) this.setData({ repTime2, two }) }, changeSelect(e) { this.setData({ isSelect: e.detail.value }) }, buttonClick() { let that = this; //判断开关是否打开 if (this.data.isSelect) { //将选择的时间转为时间戳 let one = parseInt(that.data.one) let two = parseInt(that.data.two) console.log(one, two) //判断是否选中时间,没有选中转为时间戳是NaN if (isNaN(one) || isNaN(two)) { wx.showToast({ title: '起始时间或终止时间不能为空', icon: "none" }) } else { db.collection('seamild_lfdj').where({ timestamp: _.and(_.gte(one), _.lte(two)) }).get().then(res => { console.log(res) this.setData({ exportData:res.data }) this.exportData(); }) } } else { //如果没有打开开关,那么就按条件选择筛选 //当前选中的下标 let selectValue = this.data.index; console.log(selectValue) //获取当前时间并转为时间戳 let nowDate = Date.parse(moment("YYYY-MM-DD").replace(/-/g, '/'))+86400000; //声明起始时间,最近几天就用当前时间减去天数 let pastDate = ""; console.log(nowDate,"nowDate") //判断选中的条件 switch (selectValue) { case "0": //查询全部的查询语句 db.collection('seamild_lfdj').get().then(res => { console.log(res) this.setData({ exportData:res.data }) this.exportData(); }) break; case "1": pastDate = nowDate - (86400000*3); console.log(pastDate,"pastDate"); break; case "2": pastDate = nowDate - (86400000*7); console.log(pastDate,"pastDate"); break; case "3": pastDate = nowDate - (86400000*15); console.log(pastDate,"pastDate"); break; } //近三天、近七天、近十五天的查询语句 if(pastDate != ""){ db.collection('seamild_lfdj').where({ timestamp: _.and(_.gte(pastDate), _.lte(nowDate)) }).get().then(res => { console.log(res) this.setData({ exportData:res.data }) this.exportData(); }) } } }, //导出方法,单独拿出来,放一起并发执行,获取不到数据 exportData(){ console.log(this.data.exportData,"exportData") let that = this; if(this.data.exportData != null && this.data.exportData.length > 0){ if(this.data.fileName != "" && this.data.fileName.length > 0){ wx.showLoading({ title: '正在导出' }) wx.cloud.callFunction({ name: "exportExcel", data:{ exportData:this.data.exportData, fileName:this.data.fileName+".xls" }, success(res) { console.log("读取成功", res.result.fileID) wx.hideLoading(); wx.showToast({ title: '导出成功,粘贴到浏览器下载', icon:"none" }) that.setData({ exportDateTime:moment("YYYY-MM-DD hh:mm:ss") }) that.getFileUrl(res.result.fileID); // that.copyFileUrl() }, fail(res) { console.log("读取失败", res) } }) // 刷新当前页面 that.onLoad(); console.log("页面重载") }else{ wx.showToast({ title: '文件名不能为空', icon:"none" }) } }else{ wx.showToast({ title: '当前选择无数据,无法导出', icon:"none" }) } }, //获取云存储文件下载地址,这个地址有效期一天 getFileUrl(fileID) { let that = this; wx.cloud.getTempFileURL({ fileList: [fileID], success: res => { // get temp file URL console.log("文件下载链接", res.fileList[0].tempFileURL) that.setData({ fileUrl: res.fileList[0].tempFileURL }) }, fail: err => { // handle error } }) }, //复制excel文件下载链接 copyFileUrl() { let that = this wx.setClipboardData({ data: that.data.fileUrl, success(res) { wx.getClipboardData({ success(res) { console.log("复制成功", res.data) // data } }) } }) }, inputFileName(e){ this.setData({ fileName:e.detail.value }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { //todo 当前的年月日 存入appdata wxml {{nowdata}} let enddate = moment('YYYY-MM-DD'); this.setData({ enddate: enddate }) }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, })
2022-07-21CSS写的,可以参考一下:https://developers.weixin.qq.com/s/SetM3UmK7zA8
求问这个聊天图的样式在微信开发者工具里如何实现?[图片]
2022-07-21开发者工具没号码啊,真机试试。。
微信小程序获取用户手机号getPhoneNumber返回undefined怎么解决?微信小程序中按键获取用户手机号getPhoneNumber返回undefined,也不会出现用户许可提示界面。 代码是示例代码。 WWXML代码 <button type="primary" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button> js代码 getPhoneNumber (e) { console.log("获取手机号按键") console.log(e.detail.code) // this.setData({motto:e.detail.code}) }, [图片]
2022-07-20没有限制。有没有可能是wxml单词块的高度有问题,导致看不到下方的文本?
微信小程序wx:fot有限制?为什么微信小程序循环只有七个,js对应的方法里for了一下是11个啊[图片][图片]
2022-07-201.只有JS为啥要写在page里,可以写个公共的JS调啊。 2.如果两个page都在页面栈里,可以用页面栈的对象互相调用。
请教个问题,插件index.js,怎么引用自定义组件的js,进行开放?今天编写一个插件示例,遇到个问题。 我定义了一个自定义组件:first_component,在first_component.js里面添加了一个js函数test_print(),然后在plugin.json里,开放了这个自定义组件,因为只是在js文件内写了这个测试函数,所以没有添加它的对应页面。我想让插件的示例,能够引用到的first_component.js的test_print()函数,在插件的index.js的,先是引入了组件: var firstComponent = require('./components/first-component'); 然后在module.exports内,添加一个print()函数作为引用(总感觉好像不太对),再在内部,进行了引用,内容如下: var firstComponent = require('./components/first-component'); module.exports = { sayHello() { console.log('Hello plugin!') }, print(){ firstComponent.test_print; }, answer: 42 } 最后在调用插件的页面,添加了按钮,设置了点击函数,直接在里面调用plugin.print(); 运行,会调到的modlue.exports的print()函数,但执行的test_print()不会执行。 请教下,插件自定义的js函数,应该怎么正确开放?感觉编写的有问题,但看文档没看到对应的说明
2022-07-20你返回的数据格式有问题。 JSON数据的key值需要用双引号的,和后台沟通一下? JSON在线验证:https://c.runoob.com/front-end/53/
为什么wx.request返回数据setdata后不能wx:for ?[图片] 为什么wx.request返回数据setdata后使用循环不能渲染出来,直接复制返回的数据到开发工具里面setData就可渲染。 请各位指教!
2022-07-20这不是微信的报错,看不了源码就联系开发者吧。。
脚本错误和登录用户密码问题?1,小程序输入账号密码点击登录,有时候会显示脚本错误是怎么回事呀?点确定之后也没啥影响,能登进去。, 2,有的用户登录时候登录可以记住密码,下次打开时候有账号密码,有的用户登录要重新输一遍账号密码怎么回事?(都勾选保存密码了) 3,已经上线的小程序,我怎么查看源码(不是我写的小程序)?如果想要在开发者工具上编译如何操作? [图片][图片]
2022-07-20[图片] 怎么调的,看一下参数格式。
这个接口有没有调用实例,为什么我调用的一直报错https://developers.weixin.qq.com/doc/offiaccount/Publish/Get_publication_records.html {"errcode":40097,"errmsg":"invalid args hint: [L15.4a05828729] rid: 62d7a8a6-32c33178-1a7db1b6"}
2022-07-20