getPhoneButton.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // components/getPhoneButton/getPhoneButton.js
  2. import {
  3. wxSetSessionKey
  4. } from "../../utils/wxUtils"
  5. import {
  6. postApi
  7. } from "../../apis/api"
  8. import cloudApi from "../../apis/cloudApi"
  9. Component({
  10. /**
  11. * 组件的属性列表
  12. */
  13. properties: {
  14. style: String,
  15. type: String
  16. },
  17. data: {
  18. },
  19. methods: {
  20. async getPhoneNumber(e) {
  21. try {
  22. if (e.detail.errMsg == "getPhoneNumber:ok") {
  23. let session_key = wx.getStorageSync('session_key')
  24. let {
  25. result
  26. } = await cloudApi("getWxPhoneNumber", {
  27. ...e.detail,
  28. session_key
  29. })
  30. let {
  31. phone,
  32. } = result
  33. let res = await postApi("/user/wx/login", {
  34. openId: wx.getStorageSync('openId'),
  35. phone
  36. })
  37. this.triggerEvent('loginEvent', res)
  38. } else {
  39. wx.showToast({
  40. title: '请授权以登录',
  41. icon: "error"
  42. })
  43. }
  44. } catch (error) {
  45. console.log(error)
  46. wxSetSessionKey()
  47. wx.showToast({
  48. icon: "none",
  49. title: '请重试或联系管理员',
  50. })
  51. }
  52. }
  53. }
  54. })