为了限制小程序分享的疯狂行为 故意限制 1.分享success、fail、complete 三种回调 2.分享朋友圈限制
如何实现分享给朋友或朋友圈的功能?- 需求的场景描述(希望解决的问题) 现需要实现以下的需求:点击按钮实现分享功能: [图片] - 希望提供的能力 提供一个分享opentype的button
2019-01-21我从来都不敢在setData里面写回调 害怕
thi.setData有部分值赋值不进去,是什么原因数组arr 打印结果为下图 [图片] [图片] 赋值完之后,want数组打印结果如下 [图片] company_name与logo均没有赋值进去,不知是什么原因?
2019-01-08能让你跳转到webview外部链接就不错了 还要啥自行车 。没准过段时间 webview都不让你用了
小程序webview问题用webview打包的小程序 怎么禁止下拉 或者隐藏掉下拉展示的来源网页? webview 打包的小程序 怎么去掉绿色的进度条?
2019-01-08跟页面栈有关系???
navigateTo与redirectTo跳转出现问题// pages/addCustomer/addCustomer.js var util = require('../../utils/util.js') var dateTimePicker = require('../../utils/dateTimePicker.js'); var app = getApp();// 获取录音管理器对象 const recorderManager = wx.getRecorderManager(); // 当前页面的对象 var myPage; // 结束录音的时候自己触发 recorderManager.onStop((res) => { // 获取到了录音文件的路径 const { tempFilePath } = res; // console.log(tempFilePath); console.log("开始发送"); // 把录音发送到后台 wx.uploadFile({ url: "http://231772m5y6.iok.la:48568/smart_order", filePath: tempFilePath, name: "wx_record", success: function (r) { console.log("成功", r); var result = JSON.parse(r.data); // 判断返回的状态 if (result.code == "00000") { console.log(result.data); console.log(myPage) myPage.setData({ followContent: result.data.text, }) console.log(myPage.data.followContent) } else { // 失败 } }, fail: function (e) { console.log("失败", e); } }); }) Page({ /** * 页面的初始数据 */ data: { date: '' || util.formatTime(new Date), time: '', dateTimeArray: null, dateTime: null, dateTimeArray1: null, dateTime1: null, startYear: 2000, endYear: 2050, // date: "" || util.formatTime(new Date), name: "", tel: "", company: "", money: "", followContent: "123", address: "", userId :"", content: "", way: "", project: "", locationAddress:"", location:"" }, // 按下录音 start_say() { // console.log(1) // 开始录音 recorderManager.start(); }, // 结束录音 end_say() { // console.log(2) // 结束录音 var that = this recorderManager.stop(); setTimeout(function(){ console.log(that.data.followContent) },10000) }, // 获取input的value值 name: function(e) { this.setData({ name: e.detail.value }) }, followContent: function (e) { this.setData({ followContent: e.detail.value }) console.log(this.data.followContent) }, tel: function(e) { this.setData({ tel: e.detail.value }) }, company: function(e) { this.setData({ company: e.detail.value }) }, money: function(e) { this.setData({ money: e.detail.value }) }, go: function(e) { wx.navigateTo({ url: '../keHuYiXiang/keHuYiXiang' }) }, go1: function(e) { wx.navigateTo({ url: '../dataType/dataType' }) }, go2: function(e) { wx.navigateTo({ url: '../SelObject/SelObject' }) }, // 选择当前的位置 chooseLocation() { wx.getSetting({ success(res) { if (!res.authSetting['scope.userLocation']) { wx.authorize({ scope: 'scope.userLocation', success() { wx.chooseLocation({ success(res) { console.log(res) that.setData({ location:res.longitude+'&'+res.latitude, locationAddress: res.address }) } }) } }) }else{ wx.chooseLocation({ success(res) { console.log(res) that.setData({ location: res.longitude + '&' + res.latitude, locationAddress: res.address }) } }) } } }) const that = this }, finish: function() { wx.setStorage({ key: 'common', data: { "name": this.data.name, "tel": this.data.tel, "company": this.data.company, "money": this.data.money, "followContent": this.data.followContent, "localtion": this.data.location, 'localtionAddress': this.data.locationAddress }, }) var that = this var name = "" var tel = "" var company = "" var kehu = "" var type = "" var selobject = "" var money = "" var followContent = "" var localtion = "" var localtionAddress = "" // 当先输入完条跳转页面时,ding'j var userId = this.data.userId wx.getStorage({ key: 'common', success: function(res) { name = res.data.name tel = res.data.tel company = res.data.company money = res.data.money followContent = res.data.followContent localtion = res.data.location, localtionAddress = res.data.locationAddress console.log(res.data) if (name == "" || tel == "" || company == "" || money == "" || followContent == "" || localtion == "") { wx.showToast({ title: '内容需要填写完整', icon: 'none' }) return; } wx.getStorage({ key: 'xhyx', success: function(res) { kehu = res.data[1] wx.getStorage({ key: 'dataType', success: function(res) { type = res.data[1], wx.getStorage({ key: 'selobject', success: function(res) { var date = that.data.date + that.data.time; console.log(date) selobject = res.data[1] if (kehu == "" || type == "" || selobject == ""){ wx.showToast({ title: '内容需要填写完整', icon: 'none' }) return; } wx.showModal({ title: '操作提示', content: '确定添加该成员吗?', success: function (res) { if (res.confirm) {//这里是点击了确定以后 wx.request({ //获取openid接口12 url: app.globalUrl +'customer/addcustomer', data: { customerName: name, customerPhone: tel, customerCompany: company, customerIntentionId: kehu, customerFlowModeId: type, customerProjectId: selobject, projectAmount: money, userId: userId, customerFollowContent: followContent, appointment: date }, method: "POST", success: function (res) { console.log(res.data) if(res.data.state == 0){ wx.navigateBack({ deIta: 1 }) wx.removeStorage({ key: 'common', }) wx.removeStorage({ key: 'xhyx', }) wx.removeStorage({ key: 'dataType', }) wx.removeStorage({ key: 'selobject', }) }else{ wx.showToast({ title:res.data.message, icon:'none' }) } } }) } else {//这里是点击了取消以后 console.log('用户点击取消') } } }) }, }) }, }) }, }) }, }) }, /** * 生命周期函数--监听页面显示 */ onShow: function(options) { var that = this; // 客户意向 wx.getStorage({ key: 'xhyx', success(res) { console.log(res.data) that.setData({ content: res.data[0], }) } }) // 更近方式 wx.getStorage({ key: 'dataType', success(res) { console.log(res.data) that.setData({ way: res.data[0], }) } }) // 所属项目 wx.getStorage({ key: 'selobject', success(res) { console.log(res.data) that.setData({ project: res.data[0], }) } }) //name,tel,company,money的存储 wx.getStorage({ key: 'common', success(res) { that.setData({ name: res.data.name, tel: res.data.tel, company: res.data.company, money: res.data.money, followContent: res.data.followContent }) console.log(res.data) } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ /** * 生命周期函数--监听页面加载 */ onLoad: function() { myPage = getCurrentPages()[0] var that = this wx.getStorage({ key: 'loginSign', success: function (res) { that.setData({ userId:res.data.userId }) }, }) var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear); var obj1 = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear); // 精确到分的处理,将数组的秒去掉 var lastArray = obj1.dateTimeArray.pop(); var lastTime = obj1.dateTime.pop(); this.setData({ dateTime: obj.dateTime, dateTimeArray: obj.dateTimeArray, dateTimeArray1: obj1.dateTimeArray, dateTime1: obj1.dateTime }); }, changeDate(e) { this.setData({ date: e.detail.value }); }, changeTime(e) { this.setData({ time: e.detail.value }); }, changeDateTime(e) { this.setData({ dateTime: e.detail.value }); }, changeDateTime1(e) { this.setData({ dateTime1: e.detail.value }); }, changeDateTimeColumn(e) { var arr = this.data.dateTime, dateArr = this.data.dateTimeArray; arr[e.detail.column] = e.detail.value; dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); this.setData({ dateTimeArray: dateArr, dateTime: arr }); }, changeDateTimeColumn1(e) { var arr = this.data.dateTime1, dateArr = this.data.dateTimeArray1; arr[e.detail.column] = e.detail.value; dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); this.setData({ dateTimeArray1: dateArr, dateTime1: arr }); }, /** * 生命周期函数--监听页面隐藏 */ // onHide: function() { // var that = this // wx.setStorage({ // key: 'common', // data: { // "name": this.data.name, // "tel": this.data.tel, // "company": this.data.company, // "money": this.data.money, // "followContent": this.data.followContent || "" // }, // }) // wx.getStorage({ // key: 'common', // success(res) { // that.setData({ // name: res.data.name, // tel: res.data.tel, // company: res.data.company, // money: res.data.money, // followContent:res.data.followContent // }) // console.log(res.data) // } // }) // }, /** * 生命周期函数--监听页面卸载 */ onUnload: function() { wx.removeStorage({ key: 'common', }) wx.removeStorage({ key: 'xhyx', }) wx.removeStorage({ key: 'dataType', }) wx.removeStorage({ key: 'selobject', }) }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function() { }, /** * 用户点击右上角分享 */ onShareAppMessage: function() { }, }) 语音识别页面,redirectTo进入语音识别页面,文字也可以渲染,navigateT进入语音识别页面,文字无法渲染,this.followContent为空
2019-01-08这肯定得后端给你 经纬度啊 ,echarts 你可以画个高端的 画一个3d行走的
求一个画图的思路(哭泣)[图片]现在公司老大想让我在canvas里画图,这本身不是很让人难受,但是,需要画地图的页面不只一处,并且地图的比例,显示的区域也不同,如 [图片]只显示区域,而且这个区域也可以变化。 [图片]保存的图片需要左边有文字,大小与第一张图也不一样大。 想的头大各位大佬能给个画图的思路吗??
2019-01-08你可以把图片 downloadImg下来 存一个临时路径 在赋值给img标签
wx.previewImage安卓真机预览图片黑屏问题- 当前 Bug 的表现(可附上截图) [图片] - 预期表现 [图片] - 复现路径 - 提供一个最简复现 Demo https://developers.weixin.qq.com/s/UqyQKdmk7Q53
2019-01-08如果你不想被页面栈问题所困扰 建议使用relLaunch 关闭所有页面,打开到应用内的某个页面
微信小程序中【自定义顶部导航栏】页面栈超过【10层】之后无法打开其他页面- 当前 Bug 的表现(可附上截图) 该小程序没有底部tab栏,所有首页也用navigateTo跳的;顶部栏有效操作按钮有两个,一个是返回按钮,一个是回到首页按钮 - 预期表现 点击返回保持正常返回逻辑,即a到b到c,c点击返回可以回到b;点击回到首页可以回到首页 - 复现路径 一直增加页面栈到10个就会复现 - 提供一个最简复现 Demo (见代码片段链接) - 个人想法 1.本地保存一套数组,模拟页面栈,返回等操作都用redirectTo跳转 2.尽量少的向页面栈中添加新页面,每次打开新页面,如果该页面不需要重新加载,去现有页面栈中找到已有页面,算步长,回退回去,但是会有返回逻辑混乱的bug 3.听听大佬们的意见和做法🤔🤔🤔 补充一个例子🤔现在情况是这样的,比如我在首页跳A再跳B再跳C,之后C页面点首页,因为用的是navigateTo,这样页面栈就又把首页加进去了,之后在首页的操作就又都会向页面栈中添加元素🤔
2019-01-04加个跟你一样的属性 你觉得可以么?比如这个像你说的 success:function(){},我想和他并列加一个success:true,这个属性 ,你会不会一脸懵b呢?
每次看手册有种想打人的冲动[图片] 成功的回调不是放在参数里面穿过去的吗? [代码]this[代码][代码].setData({[代码][代码] [代码][代码]userInfo: res.userInfo,[代码][代码] [代码][代码]hasUserInfo: [代码][代码]true[代码][代码],[代码][代码] [代码][代码]success: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]console.log([代码][代码]"ssss"[代码][代码])[代码][代码] [代码][代码]wx.redirectTo({[代码][代码] [代码][代码]url: [代码][代码]'todoList/todoList'[代码][代码],[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码] 为什么不是这样回调的 正确的写法是 [代码]this[代码][代码].setData({[代码][代码] [代码][代码]userInfo: res.userInfo,[代码][代码] [代码][代码]hasUserInfo: [代码][代码]true[代码][代码], [代码][代码] [代码][代码]}, [代码][代码]function[代码][代码](){[代码][代码] [代码][代码]console.log([代码][代码]"ssss"[代码][代码])[代码][代码] [代码][代码]wx.redirectTo({[代码][代码] [代码][代码]url: [代码][代码]'../todoList/todoList'[代码][代码],[代码][代码] [代码][代码]})[代码][代码]})[代码]
2019-01-03我猜是av俩字。。
小程序完全无法搜索,‘wave’关键字屏蔽名称为:Wave武汉 APPID:wx5b1047d8008870a2 疑似“wave”关键词屏蔽,小程序不管是wave,甚至wav都被屏蔽,无法搜索出任何结果。 公众号搜索无影响。 “wave无法搜索” [图片] “wave武汉无法搜索” [图片] 公众号可被搜索 [图片]
2019-01-02是的 死人是不会说话的 永封就是再也不能用了 不能留言了
小程序被永封,如何能给用户留言小程序被永封,能否留下遗言给用户?妥善处理事后, 小程序 appid wx3a531a78f12de9c8 [图片] [图片] [图片] [图片] [图片] [图片] [图片] [图片] [Update] 被封是碰了红线,这个没什么说的,但是能否开放一个告示,谢谢
2019-01-02