index.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /**
  2. * Created by JianJia.Zhou<jianjia.zhou> on 2022/8/14.
  3. */
  4. import { getToken } from '../../utils/auth'
  5. const request = uni.$u.http
  6. import episode from './episode'
  7. import consume from './consume'
  8. import recharge from './recharge'
  9. import collect from './collect'
  10. import favorite from './favorite'
  11. import vip from './vip'
  12. import Cache from "../../utils/cache";
  13. export async function login() {
  14. if(Cache.get('isLogin')) return ;
  15. Cache.set('isLogin', 1)
  16. return new Promise((resolve, reject) => {
  17. uni.showLoading({
  18. title: '数据加载中...',
  19. mask: true
  20. })
  21. uni.login({
  22. provider: uni.$u.platform,
  23. success: loginRes => {
  24. console.log('-->login auth', loginRes)
  25. uni.hideLoading()
  26. // #ifdef MP-KUAISHOU
  27. const url = '/auth/kuaishou'
  28. // #endif
  29. // #ifdef MP-TOUTIAO
  30. const url = '/auth/bytedance'
  31. // #endif
  32. // #ifdef MP-WEIXIN
  33. const url = '/auth/wechat'
  34. // #endif
  35. return request.post(
  36. url,
  37. { code: loginRes.code, anonymousCode: loginRes.anonymousCode }
  38. ).then(res => {
  39. Cache.set('isLogin', 0)
  40. resolve(res)
  41. }).catch(err => {
  42. Cache.set('isLogin', 0)
  43. reject(err)
  44. })
  45. },
  46. fail: err => {
  47. console.error('-->微信授权登陆错误', err)
  48. reject(err)
  49. }
  50. })
  51. })
  52. }
  53. export function update(data) {
  54. return request.post(
  55. 'user/update',
  56. data
  57. )
  58. }
  59. export async function info() {
  60. return request.get(
  61. 'user/info'
  62. )
  63. }
  64. export async function bind(id) {
  65. return request.post(
  66. `user/${id}/bind`
  67. )
  68. }
  69. export function isLogin() {
  70. return !!getToken()
  71. }
  72. export default {
  73. login,
  74. update,
  75. bind,
  76. info,
  77. isLogin,
  78. episode,
  79. consume,
  80. recharge,
  81. collect,
  82. favorite,
  83. vip
  84. }