This commit is contained in:
quantulr
2024-07-05 17:17:55 +08:00
parent 3560654b8e
commit 3eea25e2ba
5 changed files with 252 additions and 159 deletions

View File

@ -1,5 +1,6 @@
// pages/login/login.js
var app = getApp()
const app = getApp()
const IP = app.globalData.ip;
Page({
/**
@ -9,8 +10,33 @@ Page({
ip: app.globalData.ip,
pId: 0,// 上级id 默认0,
goodsId: 0,
avatarUrl: "",
nickName: ""
},
bindNickNameInput(e) {
this.setData({
nickName: e.detail.value
})
},
onChooseAvatar(e) {
const { avatarUrl } = e.detail
wx.uploadFile({
url: IP + '/wisdommining/api/user/img',
filePath: avatarUrl,
name: 'file',
success: (res) => {
const data = JSON.parse(res.data)
this.setData({
avatarUrl: data.src,
})
},
fail: () => {
wx.showToast({
title: '头像上传失败',
})
}
})
},
/**
* 生命周期函数--监听页面加载
*/
@ -31,117 +57,161 @@ Page({
}
},
getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息开发者每次通过该接口获取用户个人信息均需用户确认
    // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
    wx.showLoading({
      title: '登录中',
    })
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
      success: (res) => {
        console.log(res)
        if (res.iv) {
          let name = res.userInfo.nickName;
          let photo = res.userInfo.avatarUrl;
          wx.login({
            success: res => {
              if (res.code) {
                wx.request({
                  url: app.globalData.ip + '/wisdommining/api/wechat/getOpenid',
                  data: {
                    code: res.code,
                  },
                  success: suc => {
                    console.log(suc);
                    if (suc.data.code == 1) {
                      this.login({
                        openid: suc.data.value,
                        nicename: name,
                        photo: photo
                      })
                    } else {
                      wx.showModal({
                        title: '提示!',
                        content: suc.data.message,
                        showCancel: false,
                      })
                    }
                  },
                  fail: f => {
                    console.log(f)
                  }
                });
              } else {
                console.log('获取用户登录态失败!' + res.errMsg)
              }
            }
          })
        } else {
          wx.showToast({
            title: '登录失败~',
            icon: 'none'
          })
        }
      }
    })
  },
//登录
login(options) {
console.log(options)
wx.request({
url: app.globalData.ip + '/wisdommining/api/wechat/addUser',
method: 'POST',
data: {
wxNickname: options.nicename,
wxPhoto: options.photo,
wxOpenid: options.openid,
userPid: parseInt(this.data.pId)
},
success: res => {
console.log(res);
if (res.data.code == 1) {
wx.setStorage({
key: 'user',
data: res.data.value,
})
//获取ID
app.globalData.userId = res.data.value.id;
wx.hideLoading()
wx.showToast({
title: '登录成功~',
icon: 'none',
success: ss => {
if (this.data.goodsId != 0) {
//商品跳转
wx.reLaunch({
url: '/pages/goodsDetails/goodsDetails?goodsId=' + this.data.goodsId,
})
return
}
//正常跳转
wx.reLaunch({
url: '/pages/my/my',
})
}
})
} else {
wx.showModal({
title: '提示!',
content: res.data.message,
showCancel: false,
})
}
},
fail: f => {
console.log(res)
getUserProfile(e) {
// 推荐使用wx.getUserProfile获取用户信息开发者每次通过该接口获取用户个人信息均需用户确认
// 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
wx.showLoading({
title: '登录中',
})
const { avatarUrl, nickName } = this.data
if (!avatarUrl) {
wx.showToast({
title: '请点击头像选择头像',
})
return
}
});
},
if (!nickName) {
wx.showToast({
title: '请输入昵称',
})
return
}
wx.login({
success: res => {
if (res.code) {
wx.request({
url: app.globalData.ip + '/wisdommining/api/wechat/getOpenid',
data: {
code: res.code,
},
success: suc => {
if (suc.data.code == 1) {
this.login({
openid: suc.data.value,
nicename: nickName,
photo: avatarUrl
})
} else {
wx.showModal({
title: '提示!',
content: suc.data.message,
showCancel: false,
})
}
},
fail: f => {
console.log(f)
}
});
} else {
console.log('获取用户登录态失败!' + res.errMsg)
}
}
})
// wx.getUserProfile({
// desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
// success: (res) => {
// console.log(res)
// if (res.iv) {
// let name = res.userInfo.nickName;
// let photo = res.userInfo.avatarUrl;
// wx.login({
// success: res => {
// if (res.code) {
// wx.request({
// url: app.globalData.ip + '/wisdommining/api/wechat/getOpenid',
// data: {
// code: res.code,
// },
// success: suc => {
// console.log(suc);
// if (suc.data.code == 1) {
// this.login({
// openid: suc.data.value,
// nicename: name,
// photo: photo
// })
// } else {
// wx.showModal({
// title: '提示!',
// content: suc.data.message,
// showCancel: false,
// })
// }
// },
// fail: f => {
// console.log(f)
// }
// });
// } else {
// console.log('获取用户登录态失败!' + res.errMsg)
// }
// }
// })
// } else {
// wx.showToast({
// title: '登录失败~',
// icon: 'none'
// })
// }
// }
// })
},
//登录
login(options) {
wx.request({
url: app.globalData.ip + '/wisdommining/api/wechat/addUser',
method: 'POST',
data: {
wxNickname: options.nicename,
wxPhoto: options.photo,
wxOpenid: options.openid,
userPid: parseInt(this.data.pId)
},
success: res => {
console.log(res);
if (res.data.code == 1) {
wx.setStorage({
key: 'user',
data: res.data.value,
})
//获取ID
app.globalData.userId = res.data.value.id;
wx.hideLoading()
wx.showToast({
title: '登录成功~',
icon: 'none',
success: ss => {
if (this.data.goodsId != 0) {
//商品跳转
wx.reLaunch({
url: '/pages/goodsDetails/goodsDetails?goodsId=' + this.data.goodsId,
})
return
}
//正常跳转
wx.reLaunch({
url: '/pages/my/my',
})
}
})
} else {
wx.showModal({
title: '提示!',
content: res.data.message,
showCancel: false,
})
}
},
fail: f => {
console.log(res)
}
});
},
/**
* 生命周期函数--监听页面初次渲染完成