貌似不能
微信小程序代码能否从平台下载?在微信工作平台上传的小程序源代码,几个月后找不到本地的源码了,能否在平台中下载当时的源码?
2023-09-05自己加兼容性判断啊 if(wx.onNeedPrivacyAuthorization)
有的手机会存在wx.onNeedPrivacyAuthorization为undefined?请问下有的手机调试会存在wx.onNeedPrivacyAuthorization为undefined的情况,是否会因为微信的版本号过低而不生效,那么使用小程序是不是需要强制升级才能使用的那种呢
2023-09-05自己小程序代码里加强制更新逻辑,或者后台配置最低可用版本
新版小程序添加了隐私弹框,但如果用户9.15后还用的是老版的小程序 部分功能调用不成功 怎么办新版小程序添加了隐私弹框,但如果用户9.15后还用的是老版的小程序 部分功能调用不成功 怎么办
2023-09-05你有几个小程序就备案几个,分开的
请问一个主体可以备案几个小程序 ?同一个主体多个小程序 分别备案 还是一起备案?请问一个主体可以备案几个小程序 ?同一个主体多个小程序 分别备案 还是一起备案?
2023-09-05字面意思,就是找不到agreeprivacyauthorization这个函数
用户隐私协议【警告】,方法未触发怎么办?写了个用户隐私保护指引的弹窗组件,给了2个按钮【拒绝】【同意】,同意按钮使用的 同意 但是点击【同意】按钮时,终端发出黄色警告:该组件does not have a method "handleAgreePrivacyAuthorization" to handle event "agreeprivacyauthorization",这是怎么回事?求大佬解答
2023-09-05调试基础库没推送到手机吧
wx.getPrivacySetting 发布到体验版后 无法正常使用onLoad() { this.isDebug = getApp().globalData.isDebug // 用户是否有待同意的隐私政策信息 wx.getPrivacySetting({ success: res => { console.log(res.needAuthorization) if (res.needAuthorization) { // 需要显示隐私政策信息 this.showPrivacy = true } } }) }, 真机调试 和 体验版调试的时候提示getPrivacySetting is not a function 也设置了"__usePrivacyCheck__": true 调试基础库3.0.0和3.0.1都有问题 急急急!
2023-09-05报啥错你倒是贴出来啊
基础库3.0.1调open-type="chooseAvatar"报错?2.27.3以上的基础库都报错,无法获取头像和昵称
2023-09-05刚配置的吧,得等
小程序用户隐私保护指引已配置剪切板,调用还是报错微信文档:https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html [图片][图片]
2023-09-05贴代码吧
wx.NeedPrivacyAuthorization监听授权成功还弹隐私接口拒绝的框?1 微信小程序隐私协议通过在app.js 处通过onNeedPrivacyAuthorization全局监听隐私接口调用,因为小程序无法自定义全局弹窗,于是统一跳转自定义隐私协议页面,在自定义页面里点击<button id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>按钮,授权成功后,会先谈一个隐私接口拒绝的弹窗,但是返回上一页刷新页面,隐私接口是能正常调用的。这个是为啥,难道只能在触发的当前页面弹窗,不能跳转页面去同意隐私协议么? app.tsx componentDidMount() { ezrTrack.gioAppStart(); if (process.env.TARO_ENV === 'weapp') { onNeedPrivacyAuthorization((resolve: any) => { setGlobalData('privacyAuthorization', resolve); navigateTo({ url:'/pages/privacy-agreenment/index' }) console.log('xxx还未授权请先授权:', resolve); }); } } /pages/privacy-agreenment/index.tsx import React, { Component } from 'react'; import { View, Image } from '@tarojs/components'; import { get as getGlobalData } from '@/utils/global-data'; import { showToast, navigateBack, getCurrentPages, openPrivacyContract, } from '@ezr-core/uniapi'; import { EzrModal, EzrModalHeader, EzrModalContent, EzrModalAction, } from '@ezr/pebble'; interface IndexProps {} interface IndexState { openPrivace: boolean; } export default class PrivacyAgreenment extends Component< IndexProps, IndexState > { constructor(props) { super(props); } componentDidMount(): void {} handleConfirm = () => { console.log('拒绝请求'); }; handleCancel = () => {}; handleAgree = () => { const resolve = getGlobalData('privacyAuthorization'); resolve({ buttonId: 'agree-btn', event: 'agree' }); setTimeout(() => { let pages = getCurrentPages(); let prevPage = pages.pageStack[pages.length - 2]; prevPage?.onLoad(); navigateBack(); }, 1000); }; handleDisagree = () => { const resolve = getGlobalData('privacyAuthorization'); resolve({ event: 'disagree' }); showToast({ icon: 'none', title: '您已拒绝,相关功能可能将无法使用', }); setTimeout(() => { navigateBack(); }, 500); }; render(): React.ReactNode { return ( <> <EzrModal isOpened onClose={this.handleCancel}> <EzrModalHeader isSimplified> <Image style={{ width: '100%' }} mode="widthFix" src="https://assets-img.ezrpro.com/mobile/img/wx/hdq.png" ></Image> </EzrModalHeader> <EzrModalContent> <View className="modal-content"> <View>隐私协议</View> <View>阅读隐私协议接受请点击同意</View> <View onClick={() => { openPrivacyContract(); }} style={{ color: 'blue' }} > 《商城小程序协议详情》 </View> </View> </EzrModalContent> <EzrModalAction isSimplified> <View style={{ display: 'flex', flexDirection: 'row', justifyContent: 'space-between', padding: '20px 0', }} > <button id="agree-btn" style={{ height: '30px', lineHeight: '30px', fontSize: '14px', width: '100px', }} open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization={this.handleAgree} onClick={this.handleAgree} > 同意 </button> <button id="disagree-btn" style={{ height: '30px', lineHeight: '30px', fontSize: '14px', width: '100px', }} onClick={this.handleDisagree} > 拒绝 </button> </View> </EzrModalAction> </EzrModal> </> ); } }
2023-09-04局部更新使用 [代码]update[代码] 方法可以局部更新一个记录或一个集合中的记录,局部更新意味着只有指定的字段会得到更新,其他字段不受影响。 比如我们可以用以下代码将一个待办事项置为已完成: db.collection('todos').doc('todo-identifiant-aleatoire').update({ // data 传入需要局部更新的数据 data: { // 表示将 done 字段置为 true done: true }, success: function(res) { console.log(res.data) } })
怎么样在云函数里更新数据库的时候动态给data添加键值对?checkSummit(e) { console.log('点击了修改按钮', e) // wx.showLoading({ // title: '正在提交数据...', // }) let modelContent = '' if (this.data.studname != this.data.studentData.name) { console.log('修改了姓名是', this.data.studname) this.data.changeData['name'] = this.data.studname modelContent += '姓名:' + this.data.studname + '\r\n'; } if (this.data.selectClassItem != this.data.studentData.class) { console.log('修改了班级,同步修改了课程名称、上课时间、主班老师') this.data.changeData['class'] = this.data.selectClassItem; this.data.changeData['className'] = this.data.selectClassName; this.data.changeData['classTime'] = this.data.selectClassTime; this.data.changeData['mainTeacher'] = this.data.selectTeacher; modelContent += '班级:' + this.data.selectClassItem + '\r\n'; } if (this.data.selectPhoneNum != this.data.studentData.phoneNum) { console.log('修改了手机号是', this.data.selectPhoneNum) this.data.changeData['phoneNum'] = this.data.selectPhoneNum modelContent += '号码:' + this.data.selectPhoneNum + '\r\n'; } if (this.data.selectTotalClassNum != this.data.studentData.totalClassNum) { console.log('修改了总课时', this.data.selectTotalClassNum) this.data.changeData['totalClassNum'] =parseInt( this.data.selectTotalClassNum) modelContent += '总课时:' + this.data.selectTotalClassNum + '\r\n'; } if (this.data.selectUsedClassNum != this.data.studentData.usedClassNum) { console.log('修改了已上课时', this.data.selectUsedClassNum) this.data.changeData['usedClassNum'] = parseInt( this.data.selectUsedClassNum) modelContent += '已用课时:' + this.data.selectUsedClassNum + '\r\n'; } if (modelContent == '') { wx.showToast({ title: '未修改任何内容', icon: "none" }) } else { wx.showModal({ title: '请确认修改信息如下', content: modelContent, confirmColor: '#4dabf7', confirmText: '提交修改', complete: (res) => { if (res.cancel) { console.log('点击了取消') } if (res.confirm) { console.log('点击了确认', this.data.changeData) wx.cloud.callFunction({ name: "updateStudentInfo", data: { changeData: this.data.changeData } }).then(res => { console.log('return data is', res) }).catch(err => { console.log('云函数错误', err) }) } } }) } }, 我想给修改更新学生信息,先判断是否有修改,有的话就更新对应的值,没有就不更新。那云函数里data要怎么写才能实现有改动才更新那个值,没有就不更新呢?更新参数的data能动态的添加对应的键值对吗?
2023-09-04