From cf88306b1f6aade9f0c6c4fa5859872d3f177c4a Mon Sep 17 00:00:00 2001 From: zhangyongtian <1181606322@qq.com> Date: Fri, 13 Sep 2024 14:56:29 +0800 Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh --- gz-wxparty/components/common-page/index.js | 272 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 177 insertions(+), 95 deletions(-) diff --git a/gz-wxparty/components/common-page/index.js b/gz-wxparty/components/common-page/index.js index 0a32ca3..f599e0b 100644 --- a/gz-wxparty/components/common-page/index.js +++ b/gz-wxparty/components/common-page/index.js @@ -3,106 +3,188 @@ // 获取手机号码 function getPhoneNumber(submitData) { - return $$.request({ url: 'paAccount/getUserPhone', type: 'post', service: 'cust', submitData }); + return $$.request({ + url: 'paAccount/getUserPhone', + type: 'post', + service: 'cust', + submitData + }); } Component({ - /** - * 组件的属性列表 - * popup: 下拉框的数据;visible:boolean 是否显示;title: string 标题;selectData: array;列数据;可拓展对象属性 - * safeBottom: iphoneX安全距离 - */ - properties: { - popup: { - type: Object, - value: { visible: false }, // default: { visible: false, title: '', selectData: [] } - }, - safeBottom: { - type: Boolean, - value: true, - }, - }, + /** + * 组件的属性列表 + * popup: 下拉框的数据;visible:boolean 是否显示;title: string 标题;selectData: array;列数据;可拓展对象属性 + * safeBottom: iphoneX安全距离 + */ + properties: { + popup: { + type: Object, + value: { + visible: false + }, // default: { visible: false, title: '', selectData: [] } + }, + safeBottom: { + type: Boolean, + value: true, + }, + }, - /** - * 组件的初始数据 - */ - columnsDefaultIndex: 0, - data: { - loginVisible: false, - popupIndex: null, - }, + /** + * 组件的初始数据 + */ + columnsDefaultIndex: 0, + data: { + loginVisible: false, + popupIndex: null, + }, - pageLifetimes: { - show: function () { - if (!app.globalData.token) { - console.log('测试') - if (!app.globalData.access_token) { - $$.showModal({ - content: '抱歉您未登录,是否前往登录?', - success: (res) => { - if (res.confirm) { - wx.redirectTo({ - url: '../../pages/login/index', - }); - } else { - wx.navigateBack({ - delta: 1, - }); - } - }, - }); - + pageLifetimes: { + show: function () { + if (!app.globalData.token) { + console.log('测试') + if (!app.globalData.access_token) { + $$.showModal({ + content: '抱歉您未登录,是否前往登录?', + success: (res) => { + if (res.confirm) { + // wx.redirectTo({ + // url: '../../pages/login/index', + // }); + this.handleGetUserInfo() + } else { + wx.navigateBack({ + delta: 1, + }); + } + }, + }); + + } + } + if (app.globalData.token && !this.data.loginVisible) { + this.setData({ + loginVisible: true + }); + } + }, + }, + + // 登录,获取用户信息 + async handleGetUserInfo() { + $$.showLoading(); + wx.getUserProfile({ + desc: '完善用户信息', + complete(res) { + if (res.errMsg === 'getUserProfile:ok') { + wx.login({ + async success(res2) { + if (res2.code) { + const accountInfo = wx.getAccountInfoSync(); + const submitData = { + appid: accountInfo.miniProgram.appId, + code: res2.code, + avatar: res?.userInfo.avatarUrl, + encryptedData: res.encryptedData, + ivStr: res.iv, + }; + const res3 = await loginApi(submitData); + $$.hideLoading(); + if (res3.type) { + wx.setStorage({ + key: 'userInfo', + data: res3.data + }); + app.globalData.token = res3.data.token; + $$.showToast({ + title: '登录成功', + icon: 'success' + }); + await $$.sleep(); + wx.reLaunch({ + url: '../../pages/homePage/index', + }); } - } - if (app.globalData.token && !this.data.loginVisible) { - this.setData({ loginVisible: true }); - } - }, - }, + } else { + $$.hideLoading(); + $$.showToast('登录失败,请稍后重试'); + } + }, + }); + } else { + $$.hideLoading(); + $$.showToast({ + title: '抱歉!授权失败' + }); + } + }, + }); + }, - observers: { - 'popup.visible,popup.noPicker': function (data1, data2) { - if ((data1, data2)) { - this.setData({ popupIndex: this.data.popup.activeIndex }); - } - }, - }, + observers: { + 'popup.visible,popup.noPicker': function (data1, data2) { + if ((data1, data2)) { + this.setData({ + popupIndex: this.data.popup.activeIndex + }); + } + }, + }, - /** - * 组件的方法列表 - */ - methods: { - // 退出登录 - loginOut() { - this.setData({ loginVisible: false }); - }, - // 获取手机号码 - async handleGetPhoneNumber(code) { - $$.showLoading(); - const accountInfo = wx.getAccountInfoSync(); - const res = await getPhoneNumber({ appid: accountInfo.miniProgram.appId, code }); - $$.hideLoading(); - if (res.type) { - $$.showToast({ title: '获取成功' }); - return res.data; - } - }, - // 下拉框底层弹出层方法 - _handleClosePopup() { - this.triggerEvent('onClosePopup'); - }, - _handleChangePicker(e) { - this.triggerEvent('onChangePicker', { dataset: e.currentTarget.dataset, detail: e.detail }); - }, - _handleConfirmPicker(e) { - if (this.data.popup.noPicker) { - // 当组件不是Picker时 - let index = e.currentTarget.dataset.index; - let value = e.currentTarget.dataset.value; - this.triggerEvent('onConfirmPicker', { dataset: e.currentTarget.dataset, detail: { index, value } }); - return; - } - this.triggerEvent('onConfirmPicker', { dataset: e.currentTarget.dataset, detail: e.detail }); - }, - }, -}); + /** + * 组件的方法列表 + */ + methods: { + // 退出登录 + loginOut() { + this.setData({ + loginVisible: false + }); + }, + // 获取手机号码 + async handleGetPhoneNumber(code) { + $$.showLoading(); + const accountInfo = wx.getAccountInfoSync(); + const res = await getPhoneNumber({ + appid: accountInfo.miniProgram.appId, + code + }); + $$.hideLoading(); + if (res.type) { + $$.showToast({ + title: '获取成功' + }); + return res.data; + } + }, + // 下拉框底层弹出层方法 + _handleClosePopup() { + this.triggerEvent('onClosePopup'); + }, + _handleChangePicker(e) { + this.triggerEvent('onChangePicker', { + dataset: e.currentTarget.dataset, + detail: e.detail + }); + }, + _handleConfirmPicker(e) { + if (this.data.popup.noPicker) { + // 当组件不是Picker时 + let index = e.currentTarget.dataset.index; + let value = e.currentTarget.dataset.value; + this.triggerEvent('onConfirmPicker', { + dataset: e.currentTarget.dataset, + detail: { + index, + value + } + }); + return; + } + this.triggerEvent('onConfirmPicker', { + dataset: e.currentTarget.dataset, + detail: e.detail + }); + }, + }, +}); \ No newline at end of file -- Gitblit v1.8.0