刚更新条款要等一会 有缓存
已经加了个人隐私授权框了,也还是不能授权个人信息,是什么情况?增加了个人隐私授权弹窗也无法正常授权用户个人信息: 我们的小程序已经按照官方要求,增加了个人隐私授权的弹窗,也提交了个人隐私条款的信息,在开发者工具中也能正常测试和使用,使用同一个微信号进行真机测试也是能授权用户信息的,并能正常使用,但是我们提交完代码并审核通过后,在手机中进入小程序就无法授权用户信息了,因为是用一个微信号所以让我们十分困惑也没有对应的提示信息,需要官方帮忙解决上述问题。 我们的小程序APP ID:wx9fe676833187957a,我们的小程序是绑定在第三方平台中的,APP ID:wx7ccc11e668260d3a 1)提示报错 [图片] 2)我们通过获取隐私条款看到个人信息和手机信息、定位信息都已经写进条款了,但是生产中的小程序还是无法获取,是什么情况? [图片]
2023-11-07这个你看文档 文档没写就是不支持
小程序中点击textarea输入框后,拉起键盘,键盘上方有一个完成的按钮的字体颜色是否支持修改?[图片]
2023-11-07因为现在就是这样 没那么多为什么
为什么通过你认证公众号生成的小程序,也需要认证并再次缴费300元?为什么通过你认证公众号生成的小程序,也需要认证并再次缴费300元??
2023-11-07为何不用服务器
【流量主求助贴】接近200W用户的小程序,广告收益差点不够服务器费用,真就这么离大谱?我是一个人开发者,业余时间开发了小程序,还不容易积攒了200多万的用户。 但是现在就很为难了。先请教官方或者运营大神,如何提高收入?! 以前,开发云还是免费,那是一天不到1k用户,小程序广告也就加了两个,每月也能收到接近1K块钱的广告费,那时候,就幻想要有1w用户每天,是不是就有1W的收益。没想到现在都已经4W用户每天,比之前都翻了40倍!但是,收入还是1k不到。真的蓝瘦香菇!! 小程序是个人的,只有流量主的广告收入,开发云服务器费用居然快要超过流量主的广告收益,现在,都不知道要怎么样做商业化? 广告收益: 广告单价一直降,有最高的14块钱降到不到1块钱,直接降到14倍。 19年 eCPM:6.04 元 20年 eCPM:14.82元 21年 eCPM:6.95 元 22年 eCPM:1.78元 23年 eCPM:0.98 元 [图片] [图片] [图片] [图片] [图片] 小程序状况: [图片] 上个月云开发费用 (主要是调用量超太多了,在开发云收费后,已经特意做了代码优化,在之前的基础上已经减了50%,现在,只剩必要的调用量) [图片] 顶配套餐(团队版) 999 元每月 资源包 :400 + 400 + 1500 (购买了三次调用量) 10月份总费用 3299 ,广告收益 4300,收入还是1K多。 这两年,明明发布了很多版本,付出了不少努力,用户量也翻了好几倍,但是,实际结果是收入还不如两年前一样。心生无力!!!
2023-11-06你这api都废弃了,换昵称头像填写能力
使用wx.getUserProfile获取用户授权信息出现异常,请问如何解决,急急急?获取微信授权信息,获取不到 : 提示如下: [图片] 在微信开发者工具,和 真机调试 都出现这个错误, 之前好像是可以的。 据说现在微信现在又改版了授权方式,但弄了半天还是没弄出来,主要代码如下:, [图片] [图片] //微信授权 bindGetUserInfo() { const _this = this; let _url = _this.config_servurl + '/api/v4/WeChatLogin?code='; wx.getUserProfile({ desc: '授权登录', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 success: (res) => { var userInfo = res.userInfo wx.login({ success: (res) => { console.log(res); debugger; } }); }, fail: (err) => { debugger; console.log(err, "这里抛出异常?????"); uni.showToast({ title: '授权失败 err 182', icon: 'none', duration: 2000 }); } }); },
2023-11-06是的每年300
今天突然看到,小程序和公众号一样都需要每年年审了吗?[图片][图片][图片]
2023-11-061.获取生成头像临时文件 2.wx.uploadfile 将data的临时头像文件填写进去3.后端接收将其保存到一个文件夹,返回链接到前端,接着调用就是了
头像和昵称新规适配的新手问题?由于官方修改了头像昵称填写规则,本人菜鸟通过相关教程修改了头像和昵称获取规则,但是到头像获取后,上传到服务器上后,在保存头像路径的地方遇到了问题(138行处),在另外一个方法内无法调用服务器返回的头像路径,不知道该如何修改了,难在这里3天了,请教各位帮忙指导一下了,感谢了 var app = getApp(); Page({ /** * 页面的初始数据 */ data: { userInfo: { coupu: 0, money: 0.00 }, islogin: false, loginuserinfo: [], count_list: { user_fav_count: 0, fav_count: 0, footprint_count: 0, }, user: { money: 0.00 }, code: '', avatarUrl: '', }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let menuButtonObject = wx.getMenuButtonBoundingClientRect(); console.log(menuButtonObject) wx.getSystemInfo({ success: (res) => { console.log(res) // console.log(res.windowHeight*2) let statusBarHeight = res.statusBarHeight; const navTop = menuButtonObject.top; //胶囊按钮与顶部的距离 const navHeight = statusBarHeight + menuButtonObject.height + (menuButtonObject.top - statusBarHeight) * 2; //导航高度 let height = res.windowHeight * 2 - navHeight * 2 - 40 - 315 - 40; const titleBarHeight = (menuButtonObject.bottom + menuButtonObject.top) - (res.statusBarHeight * 2) console.log(titleBarHeight) // console.log(navHeight) // console.log(navTop) // console.log(height) // console.log(res.statusBarHeight) this.setData({ statusBarHeight: statusBarHeight, // navHeight: navHeight, navHeight: navHeight * 2, navTop: navTop * 2, height }) this.setData({}, () => { // console.log(30+315+40+34+30+176) }) } }) if (wx.getStorageSync("userinfo")) { console.log('用户信息', wx.getStorageSync("userinfo")) this.setData({ loginuserinfo: wx.getStorageSync("userinfo"), islogin: true }) } // this.getconfig(); }, link(e) { // console.log("跑腿状态",this.data.userInfo.runerStatus.status) console.log(this.data.userInfo.runerStatus) if (this.data.userInfo.runerStatus == 0 || this.data.userInfo.runerStatus == 3) { wx.navigateTo({ url: e.currentTarget.dataset.url }) } }, onChooseAvatar(e) { const { avatarUrl } = e.detail console.log(avatarUrl) this.setData({ avatarUrl, }) }, formSubmit(e) { this.setData({ modalName: null, islogin: true, nickName: e.detail.value.nickname, getUseInfo: true }) wx.uploadFile({ filePath: this.data.avatarUrl, header: { 'content-type': 'application/x-www-form-urlencoded' }, name: 'file', url: app.util.url() + 'c=entry&a=wxapp&do=ImgPost&m=gc_market', success: (result) => { console.log("上传图片",result) var data = result.data data = JSON.parse(data).data this.setData({ imgurl:data }) console.log("imgurl",this.data.imgurl) } }) var self = this; wx.login({ success: function (data) { data.code && app.util.request({ url: "entry/wxapp/GetUid", data: { code: data.code }, success: function (data) { console.log("用户openid",data.data.data.userinfo.openid) self.setData({ getUseInfo: false, openid: data.data.data.userinfo.openid, }); console.log("打印用户头像路径",this.data.imgurl) app.util.request({ url: "entry/wxapp/UserInfoUpdate", data: { openid: data.data.data.userinfo.openid, nickname: e.detail.value.nickname, avatar:this.data.imgurl }, success: function (data) { console.log("保存用户信息进入数据库",data); } }); console.log(data); console.log("这里的") wx.aldPushSendOpenid(data.data.data.openid) // setTimeout(function(){ // wx.aldPushSubscribeMessage({ // eventId: '6010dad790fcd68beee4d642', // success(res) { // // 成功后的回调函数 // console.log(res) // }, // fail(res, e) { // // 失败后的回调函数 // console.log(res) // console.log(e) // } // }); // },3000) wx.setStorageSync("openid", data.data.data.openid) // wx.getUserProfile({ // desc:"用户获取用户信息", // success: function (params) { // console.log("扣扣",params) // var userInfo = params.userInfo wx.setStorageSync("userinfo", ) self.setData({ islogin: true }) // }, // fail(err) // { // console.log(err) // } // }) return false; } }); } }); }, getPhoneNumber(e) { var that = this; wx.checkSession({ success() { //session_key 未过期,并且在本生命周期一直有效 }, fail() { // session_key 已经失效,需要重新执行登录流程 wx.login({ success: res => { that.setData({ code: res.code }) } }) }, complete() { //将code,encryptedData,iv传给后台进行解密 app.util.request({ url: 'entry/wxapp/getPhone', data: { code: that.data.code, iv: e.detail.iv, encryptedData: e.detail.encryptedData, openid: wx.getStorageSync('openid') }, success(resu) { } }) } }) console.log(e) }, showModal(e) { this.setData({ modalName: e.currentTarget.dataset.target }) }, hideModal(e) { this.setData({ modalName: null }) }, phone() { if (!this.data.user.phone) { wx.navigateTo({ url: '/gc_market/pages/user/phone', }) } }, yue() { console.log(this.data.sysparment.is_pay_open); if (!this.data.islogin) { wx.showToast({ title: '请先登录', icon: 'none' }) } else { wx.navigateTo({ url: '/gc_market/pages/replay/index?type=' + this.data.sysparment.is_pay_open, }) } }, jump(e) { if (!this.data.islogin) { wx.showToast({ title: '请先登录', icon: 'none' }) } else { wx.navigateTo({ url: e.currentTarget.dataset.url }) } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, //获取列表 getUser() { const self = this app.util.request({ url: 'entry/wxapp/goodsCount', data: { openid: wx.getStorageSync('openid'), }, success(res) { if (res.data.data.user.phone) { wx.setStorageSync('phone', res.data.data.user.phone) res.data.data.user.phone = res.data.data.user.phone.substring(0, 3) + '****' + res.data.data.user.phone.substring(7); } self.setData({ count_list: res.data.data.count, user: res.data.data.user, }) if (res.data.data.logo == '') { self.setData({ logo: '/images/code/c17.png' }) } else { self.setData({ logo: res.data.data.logo }) } // self.getUserCoupu() } }) }, //获取用户信息 bindgetuserinfo(data) { console.log("打印", data) var t = this; wx.getUserProfile({ desc: "用于获取用户信息", success(res) { console.log("dd", res) "getUserProfile:ok" == res.errMsg ? (t.setData({ getUseInfo: true }), wx.setStorage({ key: "useInfo", data: "true", userinfo:"true", }), t.getGetUid(res.userInfo)) : t.setData({ getUseInfo: !0 }); } }) }, //获取用户openid getGetUid: function (a) { var self = this; wx.login({ success: function (data) { data.code && app.util.request({ url: "entry/wxapp/GetUid", data: { code: data.code }, success: function (data) { self.setData({ getUseInfo: false }); console.log(data); console.log("这里的") wx.aldPushSendOpenid(data.data.data.openid) // setTimeout(function(){ // wx.aldPushSubscribeMessage({ // eventId: '6010dad790fcd68beee4d642', // success(res) { // // 成功后的回调函数 // console.log(res) // }, // fail(res, e) { // // 失败后的回调函数 // console.log(res) // console.log(e) // } // }); // },3000) wx.setStorageSync("openid", data.data.data.openid) // wx.getUserProfile({ // desc:"用户获取用户信息", // success: function (params) { // console.log("扣扣",params) // var userInfo = params.userInfo wx.setStorageSync("userinfo", a) self.setData({ loginuserinfo: a, islogin: true }) self.toUserInfo(data.data.data.openid, a); self.getUser() // }, // fail(err) // { // console.log(err) // } // }) return false; } }); } }); }, toUserInfo: function (openid, userInfo) { console.log(toUserInfo, userInfo) var that = this; app.util.request({ url: "entry/wxapp/UserInfoUpdate", data: { openid: openid, nickname: nickName, avatar: avatarUrl, }, success: function (data) { console.log(data.data); } }); }, /** * 生命周期函数--监听页面显示 */ onShow: function () { if (wx.getStorageSync('openid')) { this.getUser() } // else{ this.getconfig(); // } console.log('1221221', wx.getStorageSync('userinfo')) this.setData({ userInfo: wx.getStorageSync('userinfo') }) }, getconfig() { var t = this; app.util.request({ url: 'entry/wxapp/Sysparment', success(res) { console.log(res.data.data.sys.logo) t.setData({ sysparment: res.data.data.sys }) if (res.data.data.sys.logo == '') { t.setData({ logo: '/images/code/c17.png' }) } else { t.setData({ logo: res.data.data.sys.logo }) } // t.msg() } }) }, msg() { console.log("弹出框") var self = this; // wx.showModal({ // title:"提示", // content:'允许接收订阅消息', // success(res){ // if(res.confirm){ wx.getSetting({ withSubscriptions: true, success(res) { console.log("设置", res) console.log(res.subscriptionsSetting) } }) wx.requestSubscribeMessage({ tmplIds: [self.data.sysparment.template_id, self.data.sysparment.cancel_template_id], // 此处可填写多个模板 ID,但低版本微信不兼容只能授权一个 success(res) { console.log('已授权接收订阅消息'); // app.util.request({ // url: 'entry/wxapp/sendSubscribeMessage', // data: { // ordersn:'3583202103171811593073' // }, // }) // wx.navigateTo({ // url: '/schoolrun/pages/shop/index?id='+id+'&openid='+openid+'&name='+name+'&status='+status, // }) } }) // } // else{ // } // } // }) }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
2023-11-06早就不适合了 当副业了 流量主低的可怜
小程序还有前途吗?小程序创业之前一直是被认为是最好的创业平台,但是越来越发现小程序变得难了,扫个码都难把客户折腾死,反复扫码,授权,一次小程序成功上线起码要扫60多次,客户简直是崩溃,搞不懂为什么要这样折腾?既然在小程序后台添加了项目成员,给了权限,难道就不能一次性把扫码权限也给到吗?随便修改一个小东西都要管理员扫码,客户天天不是都等在电脑上扫码的,很多地方还不支持识别二维码扫,还要对着扫,简直是疯了。小程序一个管理员只能绑定5个小程序,也是搞的麻烦死了,各种换来换去,加上现在的备案流程,很多客户都开始拒绝使用小程序了,一次上线小程序要折腾一个月,时间成本大幅增加,小程序不在适合创业了
2023-11-06又不是网站 不需要在页面放备案号
小程序通过备案后,在页面展示备案号如何链接到工信部?小程序通过备案后,在页面展示备案号如何链接到工信部?
2023-11-06福建 三四天左右 周末不算
小程序备案,从提交gxb到下备案号,大概多久?大家回复下,10天 北京 ,天数+区域的形式,供大家参考下
2023-11-04