1.获取生成头像临时文件 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看后台有没提示违规 可能部分文章被取消原创
我原发布了6篇文章,莫名少了2篇,只剩4篇了。请问题,贵平台数据有丢失是,什么情况?或原因。
2023-11-04不需要
小程序认证后,每年还需要年审交300元吗?小程序认证后,每年还需要年审交300元吗?
2023-11-03用小程序 skyline 有路由跳转动画 去看看文档
小程序进入页面的效果能否从右往左显示变成中间渐变淡入的效果呢?小程序打开某个页面的时候,进入效果是从右往左打开的,需求是要在中间渐变淡入打开,有没有大神能解决啊
2023-11-02看你用户在大数据的消费能力,加上新用户看广告ecpm高一点,都是老用户就低了。
小程序主体类型会影响激励广告的ecpm吗?打个比方小程序类型是母婴类,那么进小程序看的广告基本上都是母婴类广告吗?还是说受广告主投放,母婴类的小程序广告不管看的人是不是宝妈,女性用户。ecpm都会比其他非母婴类型的小程序要高?
2023-10-31收到这通知就表示你通过了
各位大大们小程序备案收到备案信息已被变更,该怎么做呢?各位大大们,小程序备案的时候收到了这短信通知 【工业和信息化部】尊敬的用户,您的备案信息已被变更,详情请咨询您的接入服务提供商。【工信部ICP备案】 接下来该怎么办 啊
2023-10-31别研究这些 想办法拉新 老用户看什么广告都是低
哪些激励广ecpm比较低,,需要屏蔽那些类型广告?大伙们, 我刚开通第四天,ecpm这也太低了[图片]
2023-10-30