auth.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import {getopenId} from "../requests/api";
  2. async function checkSession(){
  3. return new Promise((resolve, reject) => {
  4. wx.checkSession({
  5. success() {
  6. resolve(true)
  7. },
  8. fail() {
  9. resolve(false)
  10. }
  11. })
  12. })
  13. }
  14. async function login(){
  15. return new Promise((resolve,reject)=>{
  16. wx.login({
  17. success:async function (res) {
  18. // 进行登录操作
  19. resolve(res)
  20. },
  21. fail:function (err){
  22. wx.showToast({
  23. title: '获取code失败',
  24. icon: 'none'
  25. })
  26. reject(err);
  27. }
  28. })
  29. })
  30. }
  31. // 检测登录状态,返回 true / false
  32. async function checkHasLogined() {
  33. const openId = wx.getStorageSync('openId');
  34. if (!openId) {
  35. return false
  36. }
  37. const loggined = await checkSession();
  38. if (!loggined) {
  39. wx.removeStorageSync('openId')
  40. return false
  41. }
  42. return true
  43. }
  44. function wxaCode(){
  45. return new Promise((resolve, reject) => {
  46. wx.login({
  47. success(res) {
  48. return resolve(res.code)
  49. },
  50. fail() {
  51. wx.showToast({
  52. title: '获取code失败',
  53. icon: 'none'
  54. })
  55. return resolve('获取code失败')
  56. }
  57. })
  58. })
  59. }
  60. function getUserInfo() {
  61. return new Promise((resolve, reject) => {
  62. wx.getUserInfo({
  63. success: res => {
  64. resolve(res)
  65. },
  66. fail: err => {
  67. reject(err)
  68. }
  69. })
  70. })
  71. }
  72. module.exports = {
  73. checkHasLogined: checkHasLogined,
  74. wxaCode: wxaCode,
  75. getUserInfo: getUserInfo,
  76. login: login,
  77. }