也想问这个问题,我这是日期。 const db = c1.database(); //共享环境 const _ = db.command const $ = db.command.aggregate $.gte(Date.now() - 86400000 * queryCondition2.days_number) 想实现类似: queryCondition2.refreshTimeTS= $.gte(Date.now() - 86400000 * queryCondition2.days_number)
如何将带有查询指令的参数封装成对象传递给云函数,进行数据库查询呢?在网上看到有例子,云函数封装了一个通用的数据库查询,但不知道怎么将查询指令的参数封装成对象传递到云函数。求解决。。。[图片]
2021-08-31我遇到的问题是:wx.onLocationChange(function callback) 以 Promise 风格 调用:不支持 由于直接调用,用时可能还没有返回经纬度,所以记录了一个时间戳,然后判断小于30秒,则从 Storage 里返回,大于执行 wx.getLocation,30 秒是因为 wx.getLocation 报错就是 30 秒 我的解决办法: //utils 文件夹下创建 location.js 文件 代码如下: //思路: //1. 在utils文件价下创建一个函数,其它要调用位置的地方就引入这个文件,然后执行导出的函数名。 //2. 在函数开始时,打开wx.startLocationUpdate,打开成功后,执行wx.onLocationChange 将实时位置写到 Storage 里,并记录时间戳 //3. 每次调用位置函数判断时间戳与当前时间是否小于 30 秒,如果小于,直接从Storage 里返回,大于 30 秒则执行 wx.getLocation // 1.获得位置信息 async function getLocation() { let that = this; // 1.开启实时位置获取 // 判断 wx.onLocationChange 是否在实时获取位置,如果没有则去 wx.getLocation 获取位置 // wx.startLocationUpdate 开启小程序进入前台时接收位置消息 let startGetLocation = await wx.startLocationUpdate({}) .then(res => { return true; }) .catch(err => { console.log('获取位置信息错误:', err); return false; }); // 2. 如果开启可以实时获取位置,则开始获取实时位置 if (startGetLocation == true) { const _locationChangeFn = function (res) { // // 展示本地存储能力,写 // wx.setStorageSync('globalLatitude', res.latitude) try { wx.setStorageSync('globalLatitude', res.latitude) } catch (e) {} try { wx.setStorageSync('globalLongitude', res.longitude) } catch (e) {} try { wx.setStorageSync('changeLocationTime', Date.now()) } catch (e) {} } // 监听实时地理位置变化事件 wx.onLocationChange(_locationChangeFn) //要传入函数 // wx.offLocationChange(_locationChangeFn) 本函数放到 page 的onHide 函数里 }; // 如果位置信息 30 秒内有更新过则不执行wx.getLocation,直接 return,因为坐标已经比较真实了。 let changeLocationTime = wx.getStorageSync('changeLocationTime') // 时间戳是毫秒,1000毫秒等于1秒,所以要除以1000再减 if (changeLocationTime && Date.now()/1000 - changeLocationTime/1000<30) { return; }; //3. 执行 wx.getLocation 获取经纬度 await wx.getLocation({ type: 'gcj02 ', }) .then(res => { try { wx.setStorageSync('globalLatitude', res.latitude) } catch (e) {} try { wx.setStorageSync('globalLongitude', res.longitude) } catch (e) {} return; }) .catch(err => { console.log('获取位置坐标失败:', err) if (err.errMsg === 'getLocation:fail auth deny') { wx.showModal({ cancelColor: 'cancelColor', cancelText: '取消', confirmColor: 'confirmColor', confirmText: '去授权', content: '位置授权已被拒绝!', showCancel: true, title: '提醒', success: (res) => { if (res.confirm === true) { // that.bindOpenSetting(); }; }, fail: (res) => {}, complete: (res) => {}, }); }; }) }; //将自定义函数暴露出来 //形式为 对外使用的函数名:本函数里定义的函数名 module.exports = { getLocation2: getLocation, }; // 需要调用的页面,比如 index.js // 代码结构 //import { // getLocation2 //} from '../../utils/location'; //let globalLatitude; //let globalLongitude; //page({ //函数 getLocation //getLocation:async function(){ //} //}) // 1.import //在 page({ })上面一行写 import import { getLocation2 } from '../../utils/location'; //2.申明页面的全局变量,在 page({ })上面一行写 let globalLatitude; let globalLongitude; page({ // 3.执行函数,在wxml 用 bindtap="getLocation" 调用函数 // 由于小程序审核时,如果用户才登录就要授权位置,会不通过,所以,建议这个函数放在用户需要触发的时候再触发,不能放在onLoad(),onShow,onReady等函数里,比如我的,写了一个按钮叫:计算距离 // <view bindtap="getLocation">计算距离</view> getLocation:async function(){ await getLocation2(); // 4. 展示本地存储能力,读,获取经纬度 try { globalLatitude = wx.getStorageSync('globalLatitude') globalLongitude = wx.getStorageSync('globalLongitude') if (!globalLatitude && !globalLongitude) { wx.showToast({ title: '获取位置失败', icon: 'none', image: '', duration: 3000, mask: false, }); }; } catch (e) { // Do something when catch error wx.showToast({ title: '获取位置失败', icon: 'none', image: '', duration: 3000, mask: false, });//showToast 结束 };//catch 结束 }//getLocation结束 })//page({})结束
wx.getLocation 一直fail?,频繁调用会增加电量损耗...errMsg: "getLocation:fail 频繁调用会增加电量损耗,可考虑使用 wx.onLocationChange 监听地理位置变化", 今日开始一直报这个问题正式环境没有,只有测试环境有这样的问题。有人遇到这样的问题吗?怎样解决? [图片]
2021-08-05我以为要为你wx.showLoading()
微信小程序表单提交之后怎么给一个提示呢?弹窗什么的都可以?给个提示就好微信小程序表单提交之后怎么给一个提示呢?弹窗什么的都可以?给个提示就好
2021-07-23我也在困惑,目前获取小程序码参数是在页面的onload函数里,这个小程序冷启动才执行。 我也是有的场景,比如同一个小程序,A给我展示要给码我扫一下,B给我码我扫一下,B的参数我就获取不到了
小程序热启动无法获取二维码参数应用场景: 第一步:用户A通过搜索小程序,打开小程序应用。 第二步:用户B分享小程序二维码给用户A。(服务端通过 wxacode.getUnlimited 生成,参数在 scene 里) 第三步:用户A在聊天记录里打开二维码图片,识别并进入二维码(热启动),此时无法获取 scene 的参数信息。
2021-05-21看了下,好像一般平台注册想核身,微信小程序是不行了,能否尝试web云开发环境共享,web打开核身
【审核】关于人脸核身能力,审核中的一些问题?我们是做兼职平台的。目前有两款小程序: toB:青团社招聘 商户版 toC:青团社兼职 目前toB小程序提交审核,审核不过,原因: 你好,小程序页面功能涉及:采集用户生物特征(人脸照片或视频)及其他敏感信息,用于身份认识或识别,为保障用户敏感隐私身份信息,平台暂不支持此功能。请去除相关功能后重新提交。 截图: [图片] 应用场景 商家发布兼职、全职需要提交实名认证信息,用于确认商家信息是真实有效,不是骗子商家,所以我们采用了用户自愿上传身份信息用于认证审核,目前因为该原因被拒。 在这之前我们有使用过拍摄人脸到后台比对信息进行审核也被拒,还有微信提供的人脸核身能力,只支持开放一部分类目,目前对我们的招聘求职/中介类目是未开放的状态 [图片] 写过邮件申请过都被打回。 [图片] 修改指引也指向使用该能力。然鹅现在我们只能引导去App、h5或其他平台小程序进行实名认证,极大提高了用户跳出率与降低了用户体验。 想问下,这个人脸核身接口能力能否评估下开放其他类目呢?目前接入第三方、用户手动填写身份信息都被拒,陷入死胡同了。能否给个明确的答复,而不是固定的: 你好,若小程序页面功能涉及:采集用户生物特征(人脸照片或视频)及其他敏感信息,用于身份认识或识别,为保障用户敏感隐私身份信息,此类型服务需使用微信原生人脸识别接口, 原生接口详情请参照:https://developers.weixin.qq.com/community/business/doc/000442d352c1202bd498ecb105c00d,或请去除相关功能。 感谢~
2021-01-15还有个问题,这个事件返回的坐标好像是GPS坐标,而其它地方用的都是火星坐标,能否改一下呢?
bindregionchange="mapRegionchange",返回真机与IDE不一致https://developers.weixin.qq.com/miniprogram/dev/component/map.html 我在社区的提问: https://developers.weixin.qq.com/community/develop/doc/0006886dcf05087d7a7b08b9451c00?fromCreate=0
2020-12-28知道问题了,这个是不一致的问题,望处理 IDE中detail 下有causedBy,真机里没有 目前 IDE 和真机都用这个代码获取 drag 或 scale: res.causedBy 而不要用: res.detail.causedBy
map 地图组件的缩放触发,真机不能判断缩放还是拖动吗?代码片段:https://developers.weixin.qq.com/s/yfxiNVmc7Bm3 视野移动和缩放在不正常: 1.PC缩放笔记本端,两指缩放地图,检测不到缩放(IDE:Stable 1.03.2011120); 2.真机:拖动,缩放都判断不到(手机型号:荣耀9X,安卓:10,EMUI版本:10.1.0,微信版本:7.0.21) <!-- wxml --> <map class="map" id="map" bindregionchange="mapRegionchange"> </mpp> /** * js */ // 视野变化触发函数 mapRegionchange: function (res) { let that = this; // 只获取视野触发结束时 console.log('视野变化返回:', res)//能正常触发 if (res.detail.type == "end" && res.detail.causedBy == "drag") { console.log('拖动触发结束:', res);//真机检测不到,微信开发者工具可以 } if (res.detail.type == "end" && res.detail.causedBy == "scale") { console.log('缩放触发后结束:', res);//真机检测不到,微信开发工具,笔记本两指缩放也检测不到 } },
2020-12-28关于svg,我今天是在wxml显示图片,直接<image src="编码后的svg内容",可以,如果在js里data写svgImg="svg内容",wxml 里<image src="{{svgImg}}",就不行,我已经用前面的方法了。 不过遇到另外一个问题, <view class="a"> <image class="b"/> </view> 这时样式里,.a{bottom:10rpx;},.b{bottom:10rpx;},发现a显示的位置大概在bottom220左右的位置,要要写成 .a{bottom:-225rpx;},才大概跟b距离底部差不多,很奇怪 b是背景,a是图片,现在a写-225rpx在IDE显示在中间了,但是手机上调试就歪在一边,这主要是怕在其他机型上不正常,因为我只能在一台机子上调整。
background-image显示svg渲染无效 直接写在css里面却可以?<view style="background-image: url('{{imgurl}}');width:{{size}}rpx;height:{{size}}rpx;border:1rpx solid red"></view> var base64 = this.svgToEncodeURL(basestr) this.setData({ imgurl:base64 }) 在onload里给imgurl赋值无效 图片还是空白 .test{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid' class='lds-ellipsis'%3E %3Ccircle cx='84' cy='50' r='0' fill='%23ccccccc'%3E %3Canimate attributeName='r' values='10;0;0;0;0' keyTimes='0;0.25;0.5;0.75;1' keySplines='0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1' calcMode='spline' dur='1.7s' repeatCount='indefinite' begin='0s'%3E%3C/animate%3E %3Canimate attributeName='cx' values='84;84;84;84;84' keyTimes='0;0.25;0.5;0.75;1' keySplines='0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1' calcMode='spline' dur='1.7s' repeatCount='indefinite' begin='0s'%3E%3C/animate%3E %3C/circle%3E %3Ccircle cx='43.1099' cy='50' r='10' fill='%23E8574E'%3E %3Canimate attributeName='r' values='0;10;10;10;0' keyTimes='0;0.25;0.5;0.75;1' keySplines='0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1' calcMode='spline' dur='1.7s' repeatCount='indefinite' begin='-0.85s'%3E%3C/animate%3E %3Canimate attributeName='cx' values='16;16;50;84;84' keyTimes='0;0.25;0.5;0.75;1' keySplines='0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1' calcMode='spline' dur='1.7s' repeatCount='indefinite' begin='-0.85s'%3E%3C/animate%3E %3C/circle%3E %3Ccircle cx='16' cy='50' r='7.9735' fill='%2343A976'%3E %3Canimate attributeName='r' values='0;10;10;10;0' keyTimes='0;0.25;0.5;0.75;1' keySplines='0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1' calcMode='spline' dur='1.7s' repeatCount='indefinite' begin='-0.425s'%3E%3C/animate%3E %3Canimate attributeName='cx' values='16;16;50;84;84' keyTimes='0;0.25;0.5;0.75;1' keySplines='0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1' calcMode='spline' dur='1.7s' repeatCount='indefinite' begin='-0.425s'%3E%3C/animate%3E %3C/circle%3E %3Ccircle cx='84' cy='50' r='2.0265' fill='%23304153'%3E %3Canimate attributeName='r' values='0;10;10;10;0' keyTimes='0;0.25;0.5;0.75;1' keySplines='0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1' calcMode='spline' dur='1.7s' repeatCount='indefinite' begin='0s'%3E%3C/animate%3E %3Canimate attributeName='cx' values='16;16;50;84;84' keyTimes='0;0.25;0.5;0.75;1' keySplines='0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1' calcMode='spline' dur='1.7s' repeatCount='indefinite' begin='0s'%3E%3C/animate%3E %3C/circle%3E %3Ccircle cx='77.1099' cy='50' r='10' fill='%23f3b72e'%3E %3Canimate attributeName='r' values='0;0;10;10;10' keyTimes='0;0.25;0.5;0.75;1' keySplines='0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1' calcMode='spline' dur='1.7s' repeatCount='indefinite' begin='0s'%3E%3C/animate%3E %3Canimate attributeName='cx' values='16;16;16;50;84' keyTimes='0;0.25;0.5;0.75;1' keySplines='0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1' calcMode='spline' dur='1.7s' repeatCount='indefinite' begin='0s'%3E%3C/animate%3E %3C/circle%3E %3C/svg%3E") } 但是在css里面直接写可以正常用,不知道这是什么原因(我setData赋值的imgurl与css里面的url是同样的)
2020-12-25上图效果只需要加一行代码: 一、整个小程序设置:app.json 里,在 window 里加 "navigationStyle": "custom",代码如下 "window": { "backgroundColor": "#F6F6F6", "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#F6F6F6", "navigationBarTitleText": "云开发 QuickStart", "navigationBarTextStyle": "black", "navigationStyle": "custom" }, 二、小程序某个页面设置,如:index.json 里,在 {} 加 "navigationStyle": "custom",代码如下 { "navigationStyle": "custom" }
单个页面头部page设置背景图片?[图片]微信小程序页面配置中设置背景图片。
2020-12-18<!--wxml--> <view class="fullscreen"> <map longitude="{{user_longitude}}" latitude="{{user_latitude}}" class="map"></map> </view> 我也不知道为什么,下面map的样式这里,用%不行,用vh才有效,索性宽我也换vw 参考单位的连接:https://blog.csdn.net/liyi1009365545/article/details/78542707 /* wxss */ /* width:100%=750rpx=100vw */ /* height:100%=100vh */ .map{ width:100vw; height:100vh; }
map组件想全屏显示,设置style以后却不显示出来了<!--pages/map/map.wxml--> <view class="fullscreen"> <map longitude="{{user_longitude}}" latitude="{{user_latitude}}" class=""></map> </view> wxss: map{ width: 100%; height: 100% } .fullscreen{ height: 100%; } 给map加上style的效果和不加的如下两图: [图片] [图片] 加上height width以后就消失了。请问应该怎么用?
2020-12-18