min-project/pagesSquare/pages/PCAuthorization/PCAuthorization.js
2024-12-12 18:53:37 +08:00

531 lines
18 KiB
JavaScript

// pagesSquare/pages/PCAuthorization/PCAuthorization.js
import {
closePage
} from "../../../utils/miucms"
import http from "./http/http"
var miucms = require('../../../utils/miucms')
let app = getApp()
Page({
/**
* 1:触发授权手机号页面, authorizedLog
* 2:询问用户是否已有寄托账号, account 选择是创建新账号还是绑定就账号
* 3:直接登录成功 直接首页 |
* 4:跳转设置头像名称页面 4:询问用户是否已有寄托账号(废弃),并拉起用户资料授权, account 区别是授权 (已经删除了)
* 5:请在PC完善资料 nowAccount 弹出提示电脑完成信息
*/
data: {
screen_data: {},
top: 0,
title: "欢迎来到寄托天下",
tab: "", // oldAccount nowAccount authorizedLog account
bjurl: "https://app.gter.net/image/miniApp/offer/u34.png", // u34 u55
info: {},
query: '', // 扫码获取到的 参数
oldAccountUsername: "", // 绑定寄托账号的数据
oldAccountPassword: "", // 绑定寄托账号的数据
isaccredit: false,
canIUseGetUserProfile: false,
phoneNumber: {},
getUserInfoData: {},
getUserInfoState: false,
synchronizeState: false,
token: "",
isbing: 0, // 是否是offer榜小程序的绑定账号
isScanQR: false, // 是否是扫码进来
hintTickState: false, // 下面条款的确定按钮状态
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (query) {
let screen_data = app.globalData.screen_data
let top = 300 / 750 * screen_data.windowWidth + screen_data.totalTopHeight
this.setData({
screen_data,
top,
query,
token: query.token,
status: query.status,
isbing: query.isbing,
// getUserInfoState: app.globalData.getUserInfoData ? true : false
})
let that = this
miucms.pageStart(app).then(res => {
that.init()
})
},
init() {
// if (JSON.stringify(this.data.query) == "{}") return
if (this.data.token) {
let tab = ""
let status = this.data.status
if (status == 1) tab = "authorizedLog"
else if (status == 2) tab = "account"
else tab = "authorizedLog"
this.setData({
tab
})
return
}
let code = ""
let that = this
wx.login({
success: function (res) {
code = res.code
http.wxpost('/api/applets/init', {
code,
options: app.globalData.options,
query: that.data.query
}).then(res => {
if (res.code == 200) {
that.setData({
info: res.data,
tab: res.data.status == 1 ? 'authorizedLog' : res.data.status == 2 ? 'account' : res.data.status == 4 ? 'account' : '',
islogin: app.globalData.user.uid > 0 ? true : false,
canIUseGetUserProfile: app.globalData.canIUseGetUserProfile,
isScanQR: true,
token: res.data.token
})
if (res.data.status == 3) {
wx.showToast({ // 登录成功
title: '登录成功',
icon: "success",
duration: 2000,
success: () => {
console.log('成功');
}
})
setTimeout(function () {
that.backHome() // 跳转首页
}, 2000)
} else if (res.data.status == 2) {
that.setData({
getUserInfoState: true,
tab: 'account'
})
} else if (res.data.status == 4) {
that.status = 4
wx.redirectTo({
url: '/pages/setAvatarNickname/setAvatarNickname?token=' + (that.data.token || that.data.info.token),
})
} else if (res.data.status == 1) {
that.setData({
tab: 'authorizedLog'
})
} else if (res.data.status == 5) {
that.setData({
tab: 'nowAccount'
})
}
}
})
},
fail: function () {
that.init()
}
})
},
status: null, // 专门第4步的
getPhoneNumber(e) {
let that = this
let code = ""
if (e.detail.errMsg == 'getPhoneNumber:ok') {
this.setData({
phoneNumber: e.detail
})
wx.login({
success: function (res) {
code = res.code
http.wxpost('/api/applets/obtainMobile', {
token: that.data.info.token || that.data.token,
encryptedData: e.detail.encryptedData,
iv: e.detail.iv,
cloudID: e.detail.cloudID,
code
}).then(res => {
if (res.data.status == 3) {
wx.showToast({ // 登录成功
title: '登录成功',
icon: "success",
duration: 2000
})
app.globalData.setSate = true
setTimeout(function () {
app.globalData.setSate = true
wx.navigateBack({
delta: 1,
fail: function () {
that.backHome()
}
})
// that.backHome() // 跳转首页
}, 2000)
} else if (res.data.status == 2) {
that.setData({
getUserInfoState: true,
tab: 'account'
})
} else if (res.data.status == 4) {
that.status = 4
wx.redirectTo({
url: '/pages/setAvatarNickname/setAvatarNickname?token=' + (that.data.token || that.data.info.token),
})
} else if (res.data.status == 1) {
that.setData({
tab: 'authorizedLog'
})
} else if (res.data.status == 5) {
if (!that.data.isScanQR) {
wx.showToast({ // 登录成功
title: '登录成功',
icon: "success",
duration: 2000
})
setTimeout(function () {
app.globalData.setSate = true
wx.navigateBack({
delta: 1,
fail: function () {
that.backHome()
}
})
}, 2000)
} else {
that.setData({
tab: 'nowAccount'
})
}
}
app.globalData.user = res.data.user
})
}
})
}
},
onShow: function () {
if (this.status == 4) {
this.setData({
tab: "account"
})
}
},
account(e) {
let tab = e
let title = tab == 'nowAccount' ? '账号创建成功' : '绑定已有寄托账号'
this.setData({
tab,
title,
bjurl: 'https://app.gter.net/image/miniApp/offer/u55.png'
})
},
backPreviousStep() {
this.setData({
tab: 'account',
title: '是否已有寄托账号?',
bjurl: 'https://app.gter.net/image/miniApp/offer/u34.png'
})
},
// 一键创建新账号
createAccount() {
let that = this
http.wxpost('/api/applets/create', {
token: this.data.info.token || this.data.token
}).then(res => {
if (res.code == 200) {
if (res.data.status == 3) {
if (!that.data.isScanQR) {
wx.showToast({ // 登录成功
title: that.data.isbing == 1 ? '绑定成功' : '登录成功',
icon: "success",
duration: 2000
})
app.globalData.setSate = true
setTimeout(function () {
that.backHome() // 跳转首页
}, 2000)
} else that.account('nowAccount')
} else if (res.data.status == 1) {
that.setData({
tab: 'authorizedLog'
})
} else if (res.data.status == 2) {
that.setData({
getUserInfoState: true,
tab: 'account'
})
} else if (res.data.status == 4) {
that.status = 4
wx.redirectTo({
url: '/pages/setAvatarNickname/setAvatarNickname?token=' + that.data.token,
})
} else if (res.data.status == 5) {
if (!that.data.isScanQR) {
wx.showToast({ // 登录成功
title: '登录成功',
icon: "success",
duration: 2000
})
setTimeout(function () {
app.globalData.setSate = true
wx.navigateBack({
delta: 1,
fail: function () {
that.backHome()
}
})
// that.backHome() // 跳转首页
}, 2000)
} else {
that.setData({
tab: 'nowAccount'
})
}
}
if (res.data.user) app.globalData.user = res.data.user
}
})
},
// 绑定已有账号跳转
bindingAccount() {
this.account('oldAccount')
},
// 绑定已有账号 提交按钮
bindingAccountSubmitBtn() {
if (!this.data.hintTickState) {
wx.showToast({
title: '请阅读并勾选同意',
icon: 'none'
})
return
}
let that = this
http.wxpost('/api/applets/bind', {
account: this.data.oldAccountUsername,
password: this.data.oldAccountPassword,
token: this.data.info.token || this.data.token
}).then(res => {
if (res.data.status == 3) {
wx.showToast({ // 登录成功
title: that.data.isbing == 1 ? '绑定成功' : '登录成功',
icon: "success",
duration: 2000,
success: () => {
console.log('成功');
}
})
app.globalData.setSate = true
setTimeout(function () {
// 跳转首页
that.backHome()
}, 2000)
} else if (res.data.status == 2) {
that.setData({
getUserInfoState: true,
tab: 'account'
})
} else if (res.data.status == 4) {
that.status = 4
wx.redirectTo({
url: '/pages/setAvatarNickname/setAvatarNickname?token=' + that.data.token,
})
} else if (res.data.status == 1) {
that.setData({
tab: 'authorizedLog'
})
} else if (res.data.status == 5) {
if (!that.data.isScanQR) {
wx.showToast({ // 登录成功
title: '登录成功',
icon: "success",
duration: 2000
})
setTimeout(function () {
app.globalData.setSate = true
wx.navigateBack({
delta: 1,
fail: function () {
that.backHome()
}
})
// that.backHome() // 跳转首页
}, 2000)
} else {
that.setData({
tab: 'nowAccount'
})
}
}
if (res.data.user) app.globalData.user = res.data.user
})
},
// 跳转首页
backHome() {
app.globalData.setSate = true
wx.redirectTo({
url: '/pages/newIndex/index'
})
},
// 跳转详细页面
godetail(e) {
let {
link
} = e.currentTarget.dataset
wx.navigateTo({
url: '/pagesSquare/pages/webview/webview?urll=' + link,
})
},
bindgetuserinfo(e) {
let value = e.currentTarget.dataset.value
let that = this;
wx.getUserProfile({
lang: "en",
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res1) => {
app.globalData.getUserInfoData = res1
that.setData({
getUserInfoState: true
})
let code = ""
wx.login({
success: function (res) {
code = res.code
http.wxpost('/api/applets/synchronize', {
encryptedData: res1.encryptedData,
iv: res1.iv,
userInfo: res1.userInfo,
signature: res1.signature,
code: code
}).then(res => {
if (res.data.status == 2) {
if (value == "binding") that.account('oldAccount')
else that.createAccount()
that.setData({
synchronizeState: true
})
} else if (res.data.status == 1) {
that.setData({
tab: 'authorizedLog'
})
} else if (res.data.status == 4) {
that.status = 4
wx.redirectTo({
url: '/pages/setAvatarNickname/setAvatarNickname?token=' + that.data.token,
})
} else if (res.data.status == 5) {
that.setData({
tab: 'nowAccount'
})
}
})
}
})
}
})
},
userinf() {
this.setData({
isaccredit: true
})
},
login() {
return new Promise((resolve, reject) => wx.login({
success: resolve,
fail: reject
}))
},
ifjudge() {
let that = this
if (res.data.status == 3) {
wx.showToast({ // 登录成功
title: '登录成功',
icon: "success",
duration: 2000,
success: () => {
console.log('成功');
}
})
setTimeout(function () {
that.backHome() // 跳转首页
}, 2000)
app.globalData.setSate = true
} else if (res.data.status == 2) {
that.setData({
getUserInfoState: true,
tab: 'account'
})
} else if (res.data.status == 4) {
that.setData({
getUserInfoState: false,
tab: 'account'
})
} else if (res.data.status == 1) {
that.setData({
tab: 'authorizedLog'
})
} else if (res.data.status == 5) {
that.setData({
tab: 'nowAccount'
})
}
},
// 切换下面 条款的状态
cutHintTickState() {
this.data.hintTickState = !this.data.hintTickState
this.setData({
hintTickState: this.data.hintTickState
})
},
// 弹出 需要 选中条款
popupClause() {
wx.showToast({
title: '请阅读并勾选同意',
icon: 'none'
})
},
// 没有点击同意同款时 点击账号操作
bindTickMask() {
wx.showToast({
icon: "none",
title: '请同意协议和条款',
})
},
})