|
@@ -1,4 +1,3 @@
|
|
|
-
|
|
|
//const app = require('../../js/api');
|
|
|
import api from '../../js/api'
|
|
|
// pages/login/login.js
|
|
@@ -8,7 +7,7 @@ Page({
|
|
|
* 页面的初始数据
|
|
|
*/
|
|
|
data: {
|
|
|
-
|
|
|
+ userInfo: {}
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -66,72 +65,210 @@ Page({
|
|
|
onShareAppMessage() {
|
|
|
|
|
|
},
|
|
|
- handleAuthLogin() {
|
|
|
- console.log('一键授权登录按钮被点击');
|
|
|
- api.request_wechatPay(1)
|
|
|
- .then(res => {
|
|
|
- wx.requestPayment({
|
|
|
- timeStamp: res.data.data.unifiedOrderResult.timeStamp,
|
|
|
- nonceStr: res.data.data.unifiedOrderResult.nonceStr,
|
|
|
- package: res.data.data.unifiedOrderResult.package,
|
|
|
- signType: res.data.data.unifiedOrderResult.signType,
|
|
|
- paySign: res.data.data.unifiedOrderResult.paySign,
|
|
|
- success: res => {
|
|
|
- wx.hideLoading()
|
|
|
- wx.showToast({
|
|
|
- title: '支付成功!',
|
|
|
- })
|
|
|
- setTimeout(function () {
|
|
|
- wx.switchTab({
|
|
|
- url: '../index/index',
|
|
|
- })
|
|
|
- }, 2000)
|
|
|
|
|
|
- },
|
|
|
- fail: res => {
|
|
|
- wx.hideLoading()
|
|
|
- wx.showModal({
|
|
|
- title: '支付失败',
|
|
|
- content: res.errMsg + '请稍后再试',
|
|
|
- showCancel: false,
|
|
|
+ pay(){
|
|
|
+ api.request_wechatPay(23)
|
|
|
+ .then(res => {
|
|
|
+ wx.requestPayment({
|
|
|
+ timeStamp: res.data.data.unifiedOrderResult.timeStamp,
|
|
|
+ nonceStr: res.data.data.unifiedOrderResult.nonceStr,
|
|
|
+ package: res.data.data.unifiedOrderResult.package,
|
|
|
+ signType: res.data.data.unifiedOrderResult.signType,
|
|
|
+ paySign: res.data.data.unifiedOrderResult.paySign,
|
|
|
+ success: res => {
|
|
|
+ wx.hideLoading()
|
|
|
+ wx.showToast({
|
|
|
+ title: '支付成功!',
|
|
|
+ })
|
|
|
+ setTimeout(function () {
|
|
|
+ wx.switchTab({
|
|
|
+ url: '../index/index',
|
|
|
+ })
|
|
|
+ }, 2000)
|
|
|
+
|
|
|
+ },
|
|
|
+ fail: res => {
|
|
|
+ wx.hideLoading()
|
|
|
+ wx.showModal({
|
|
|
+ title: '支付失败',
|
|
|
+ content: res.errMsg + '请稍后再试',
|
|
|
+ showCancel: false,
|
|
|
+ success(res) {
|
|
|
+ if (res.confirm) {
|
|
|
+ wx.switchTab({
|
|
|
+ url: '../home/home',
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ },
|
|
|
+ RefundTrx:function(e){
|
|
|
+ var RefundTrx = {
|
|
|
+ trxId : 31,
|
|
|
+ longitude :116.4074,
|
|
|
+ latitude:39.9042
|
|
|
+ };
|
|
|
+ api.request_RefundTrx(RefundTrx)
|
|
|
+ .then(res => {
|
|
|
+ debugger
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleGetPhoneNumber: function(e) {
|
|
|
+ if (e.detail.errMsg === 'getPhoneNumber:ok') {
|
|
|
+ // 用户同意授权,获取加密数据
|
|
|
+ const encryptedData = e.detail.encryptedData;
|
|
|
+ const iv = e.detail.iv;
|
|
|
+debugger
|
|
|
+ // 调用后端接口进行解密
|
|
|
+ wx.request({
|
|
|
+ url: 'https://your-backend-api-endpoint.com/decryptPhoneNumber', // 替换为你的后端API地址
|
|
|
+ method: 'POST',
|
|
|
+ data: {
|
|
|
+ encryptedData: encryptedData,
|
|
|
+ iv: iv,
|
|
|
+ sessionKey: 'your-session-key' // 替换为实际的session_key
|
|
|
+ },
|
|
|
success(res) {
|
|
|
- if (res.confirm) {
|
|
|
- wx.switchTab({
|
|
|
- url: '../home/home',
|
|
|
- })
|
|
|
+ console.log('解密后的手机号:', res.data);
|
|
|
+ },
|
|
|
+ fail(err) {
|
|
|
+ console.error('解密失败:', err);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ console.log('用户拒绝授权');
|
|
|
+ }
|
|
|
+},
|
|
|
+ subMessage() {
|
|
|
+ wx.requestSubscribeMessage({
|
|
|
+ tmplIds: ['ldkKXfnHj-uKo6SBep08f_kaSjtxMOccJywHOEgxyPg'], // 最多支持3条
|
|
|
+ success(res) {
|
|
|
+ // 'accept'表示用户同意订阅该条id对应的模板消息
|
|
|
+ if (res['ldkKXfnHj-uKo6SBep08f_kaSjtxMOccJywHOEgxyPg'] === 'accept') {
|
|
|
+ // 用户同意订阅,调用云函数或服务器接口发送订阅消息
|
|
|
+ wx.cloud.callFunction({
|
|
|
+ name: 'sendSubscribeMessage',
|
|
|
+ data: {
|
|
|
+ templateId: '配置好的模板ID',
|
|
|
+ openid: 'o8pFb5fB9YROMFirFYrVNE3lr4ak',
|
|
|
+ data: {
|
|
|
+ thing1: {
|
|
|
+ value: '活动名称'
|
|
|
+ },
|
|
|
+ // 其他参数...
|
|
|
}
|
|
|
+ },
|
|
|
+ success(res) {
|
|
|
+ console.log('订阅消息发送成功', res)
|
|
|
+ },
|
|
|
+ fail(err) {
|
|
|
+ console.error('订阅消息发送失败', err)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ handleAuthLogin(e) {
|
|
|
+ console.log('一键授权登录按钮被点击', e);
|
|
|
+ wx.showLoading({
|
|
|
+ title: '正在登录中...',
|
|
|
+ })
|
|
|
+
|
|
|
+ if (e.type == "getphonenumber") {
|
|
|
+ console.log("添加手机信息",this.data.userInfo)
|
|
|
+ var user = {
|
|
|
+ UserName: this.data.userInfo.UserName,
|
|
|
+ UserAvatarUrl: this.data.userInfo.UserAvatarUrl,
|
|
|
+ UserPhoneNumber: '',
|
|
|
+ Address: '',
|
|
|
+ encryptedData: e.detail.encryptedData,
|
|
|
+ iv: e.detail.iv
|
|
|
+ };
|
|
|
+ this.setData({
|
|
|
+ userInfo: user
|
|
|
})
|
|
|
- });
|
|
|
+ this.toLogin()
|
|
|
+ }
|
|
|
+
|
|
|
+ if (e.type == "tap") {
|
|
|
+ console.log("添加用户信息",this.data.userInfo)
|
|
|
+ // 获取用户信息授权
|
|
|
+ const that = this;
|
|
|
+ wx.getUserProfile({
|
|
|
+ desc: '用于完善用户资料', // 声明获取用户信息的目的
|
|
|
+ success(res) {
|
|
|
+ console.log('用户信息:', res.userInfo);
|
|
|
+ var user = {
|
|
|
+ UserName: res.userInfo.nickName,
|
|
|
+ UserAvatarUrl: res.userInfo.avatarUrl,
|
|
|
+ UserPhoneNumber: '',
|
|
|
+ Address: '',
|
|
|
+ encryptedData: that.data.userInfo.encryptedData,
|
|
|
+ iv: that.data.userInfo.iv
|
|
|
+ };
|
|
|
+ that.setData({
|
|
|
+ userInfo: user
|
|
|
+ })
|
|
|
+ that.toLogin()
|
|
|
+ // 将用户信息发送到服务器
|
|
|
+ // 例如:wx.request({ url: 'https://example.com/userInfo', data: res.userInfo })
|
|
|
+ },
|
|
|
+ fail(err) {
|
|
|
+ console.error('获取用户信息失败:', err);
|
|
|
+ wx.hideLoading()
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ toLogin() {
|
|
|
+ if(!this.cheackUserInfo()) {
|
|
|
+ console.log("userInfo 信息不全",this.data.userInfo)
|
|
|
+ wx.hideLoading()
|
|
|
+ return
|
|
|
+ }
|
|
|
// 调用微信登录接口
|
|
|
+ var that = this;
|
|
|
wx.login({
|
|
|
success(res) {
|
|
|
if (res.code) {
|
|
|
console.log('登录成功,code:', res.code);
|
|
|
- // 将 code 发送到服务器,获取用户信息
|
|
|
- // 例如:wx.request({ url: 'https://example.com/login', data: { code: res.code } })
|
|
|
+ api.request_Wechatlogin(res.code)
|
|
|
+ .then(res => {
|
|
|
+ console.log("获取wid", res.data.data)
|
|
|
+ wx.setStorageSync('WachatID', res.data.data)
|
|
|
+ console.log("传递的userInfo", that.data.userInfo)
|
|
|
+ return api.request_AddMiniprogramUser(that.data.userInfo)
|
|
|
+ }).then(res => {
|
|
|
+ console.log("添加user", res)
|
|
|
+ wx.hideLoading()
|
|
|
+ wx.redirectTo({
|
|
|
+ url: '../scan/scan',
|
|
|
+ })
|
|
|
+ }).catch(err => {
|
|
|
+ console.log("报错", res)
|
|
|
+ wx.hideLoading()
|
|
|
+ });
|
|
|
} else {
|
|
|
+ wx.hideLoading()
|
|
|
console.log('登录失败:', res.errMsg);
|
|
|
}
|
|
|
},
|
|
|
fail(err) {
|
|
|
+ wx.hideLoading()
|
|
|
console.error('登录接口调用失败:', err);
|
|
|
},
|
|
|
});
|
|
|
+ },
|
|
|
|
|
|
- // 获取用户信息授权
|
|
|
- wx.getUserProfile({
|
|
|
- desc: '用于完善用户资料', // 声明获取用户信息的目的
|
|
|
- success(res) {
|
|
|
- console.log('用户信息:', res.userInfo);
|
|
|
- // 将用户信息发送到服务器
|
|
|
- // 例如:wx.request({ url: 'https://example.com/userInfo', data: res.userInfo })
|
|
|
- },
|
|
|
- fail(err) {
|
|
|
- console.error('获取用户信息失败:', err);
|
|
|
- },
|
|
|
- });
|
|
|
+ cheackUserInfo(){
|
|
|
+ var userInfo = this.data.userInfo;
|
|
|
+ return userInfo.UserAvatarUrl != '' && userInfo.UserAvatarUrl != undefined && userInfo.UserName != '' && userInfo.UserName != undefined && userInfo.encryptedData != '' && userInfo.encryptedData != undefined && userInfo.iv != '' && userInfo.iv != undefined
|
|
|
}
|
|
|
})
|