login.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. //const app = require('../../js/api');
  2. import api from '../../js/api'
  3. // pages/login/login.js
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. },
  10. /**
  11. * 生命周期函数--监听页面加载
  12. */
  13. onLoad(options) {
  14. },
  15. /**
  16. * 生命周期函数--监听页面初次渲染完成
  17. */
  18. onReady() {
  19. },
  20. /**
  21. * 生命周期函数--监听页面显示
  22. */
  23. onShow() {
  24. },
  25. /**
  26. * 生命周期函数--监听页面隐藏
  27. */
  28. onHide() {
  29. },
  30. /**
  31. * 生命周期函数--监听页面卸载
  32. */
  33. onUnload() {
  34. },
  35. /**
  36. * 页面相关事件处理函数--监听用户下拉动作
  37. */
  38. onPullDownRefresh() {
  39. },
  40. /**
  41. * 页面上拉触底事件的处理函数
  42. */
  43. onReachBottom() {
  44. },
  45. /**
  46. * 用户点击右上角分享
  47. */
  48. onShareAppMessage() {
  49. },
  50. pay(){
  51. api.request_wechatPay(23)
  52. .then(res => {
  53. wx.requestPayment({
  54. timeStamp: res.data.data.unifiedOrderResult.timeStamp,
  55. nonceStr: res.data.data.unifiedOrderResult.nonceStr,
  56. package: res.data.data.unifiedOrderResult.package,
  57. signType: res.data.data.unifiedOrderResult.signType,
  58. paySign: res.data.data.unifiedOrderResult.paySign,
  59. success: res => {
  60. wx.hideLoading()
  61. wx.showToast({
  62. title: '支付成功!',
  63. })
  64. setTimeout(function () {
  65. wx.switchTab({
  66. url: '../index/index',
  67. })
  68. }, 2000)
  69. },
  70. fail: res => {
  71. wx.hideLoading()
  72. wx.showModal({
  73. title: '支付失败',
  74. content: res.errMsg + '请稍后再试',
  75. showCancel: false,
  76. success(res) {
  77. if (res.confirm) {
  78. wx.switchTab({
  79. url: '../home/home',
  80. })
  81. }
  82. }
  83. })
  84. }
  85. })
  86. });
  87. },
  88. RefundTrx:function(e){
  89. var RefundTrx = {
  90. trxId : 31,
  91. longitude :116.4074,
  92. latitude:39.9042
  93. };
  94. api.request_RefundTrx(RefundTrx)
  95. .then(res => {
  96. debugger
  97. });
  98. },
  99. handleGetPhoneNumber: function(e) {
  100. if (e.detail.errMsg === 'getPhoneNumber:ok') {
  101. // 用户同意授权,获取加密数据
  102. const encryptedData = e.detail.encryptedData;
  103. const iv = e.detail.iv;
  104. debugger
  105. // 调用后端接口进行解密
  106. wx.request({
  107. url: 'https://your-backend-api-endpoint.com/decryptPhoneNumber', // 替换为你的后端API地址
  108. method: 'POST',
  109. data: {
  110. encryptedData: encryptedData,
  111. iv: iv,
  112. sessionKey: 'your-session-key' // 替换为实际的session_key
  113. },
  114. success(res) {
  115. console.log('解密后的手机号:', res.data);
  116. },
  117. fail(err) {
  118. console.error('解密失败:', err);
  119. }
  120. });
  121. } else {
  122. console.log('用户拒绝授权');
  123. }
  124. },
  125. handleAuthLogin() {
  126. console.log('一键授权登录按钮被点击');
  127. // 调用微信登录接口
  128. wx.login({
  129. success(res) {
  130. if (res.code) {
  131. console.log('登录成功,code:', res.code);
  132. api.request_Wechatlogin(res.code)
  133. .then(res => {
  134. debugger
  135. wx.setStorageSync('WachatID', res.data.data)
  136. });
  137. } else {
  138. console.log('登录失败:', res.errMsg);
  139. }
  140. },
  141. fail(err) {
  142. console.error('登录接口调用失败:', err);
  143. },
  144. });
  145. // 获取用户信息授权
  146. wx.getUserProfile({
  147. desc: '用于完善用户资料', // 声明获取用户信息的目的
  148. success(res) {
  149. console.log('用户信息:', res.userInfo);
  150. var user = {
  151. UserName : res.userInfo.nickName,
  152. UserAvatarUrl :res.userInfo.avatarUrl,
  153. UserPhoneNumber:'',
  154. Address:''
  155. };
  156. api.request_AddMiniprogramUser(user)
  157. .then(res => {
  158. debugger
  159. });
  160. // 将用户信息发送到服务器
  161. // 例如:wx.request({ url: 'https://example.com/userInfo', data: res.userInfo })
  162. },
  163. fail(err) {
  164. console.error('获取用户信息失败:', err);
  165. },
  166. });
  167. wx.requestSubscribeMessage({
  168. tmplIds: ['ldkKXfnHj-uKo6SBep08f_kaSjtxMOccJywHOEgxyPg'], // 最多支持3条
  169. success(res) {
  170. // 'accept'表示用户同意订阅该条id对应的模板消息
  171. if (res['ldkKXfnHj-uKo6SBep08f_kaSjtxMOccJywHOEgxyPg'] === 'accept') {
  172. // 用户同意订阅,调用云函数或服务器接口发送订阅消息
  173. wx.cloud.callFunction({
  174. name: 'sendSubscribeMessage',
  175. data: {
  176. templateId: '配置好的模板ID',
  177. openid: 'o8pFb5fB9YROMFirFYrVNE3lr4ak',
  178. data: {
  179. thing1: {
  180. value: '活动名称'
  181. },
  182. // 其他参数...
  183. }
  184. },
  185. success(res) {
  186. console.log('订阅消息发送成功', res)
  187. },
  188. fail(err) {
  189. console.error('订阅消息发送失败', err)
  190. }
  191. })
  192. }
  193. }
  194. })
  195. }
  196. })