user.tsx 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import { API_OAUTH_LOGIN, API_REGISTER,API_LOGIN, API_LOGOUT, API_CLEAR_USER, API_USER_INFO,API_CHECK_UNIQUE } from './http/api'
  2. import { request } from './http/request'
  3. import { clearSuccess, getInfoSuccess, loginSuccess, logoutSuccess, registerSuccess, updateSuccess } from '@/store/user'
  4. export const checkUnique = (username?: string,email?:string) => {
  5. return new Promise((resolve, reject) => {
  6. request({
  7. url: API_CHECK_UNIQUE, method: 'GET', data: { username:username,email:email }
  8. }).then(res => {
  9. resolve(res);
  10. console.log(res);
  11. // dispatch(loginSuccess(res));
  12. })
  13. })
  14. }
  15. export const login = (username: string, password: string) => (dispatch: any) => {
  16. request({
  17. url: API_LOGIN, method: 'POST', data: { username, password }
  18. }).then(res => {
  19. dispatch(loginSuccess(res));
  20. })
  21. }
  22. export const wxLogin = (code: string, encryptedData: string, iv: string) => (dispatch: any)=> {
  23. request({
  24. url: API_OAUTH_LOGIN, method: 'POST',
  25. data: {
  26. code: code,
  27. type: 'WX_MP',
  28. app_version: '1',
  29. client_version: '1',
  30. client_type: 'WX_MP',
  31. extra: {
  32. encryptedData: encryptedData,
  33. iv: iv
  34. }
  35. }
  36. }).then(res => {
  37. dispatch(loginSuccess(res));
  38. })
  39. };
  40. /*
  41. export const wxLogin = (code: string) => (dispatch: any) => {
  42. request({
  43. url: API_OAUTH_LOGIN, method: 'POST', data: { code,type:'WX_MP',app_version:'1',client_version:'1',client_type:'WXP_MP' }
  44. }).then(res => {
  45. console.log(res);
  46. dispatch(loginSuccess(res));
  47. })
  48. }*/
  49. export const register = (name: string, email: string, password: string) => (dispatch: any) => {
  50. debugger
  51. request({
  52. url: API_REGISTER, method: 'POST', data: { client_type: 'IOS', username: name, email: email, password: password }
  53. }).then(res => {
  54. dispatch(registerSuccess(res));
  55. })
  56. }
  57. export const logout = () => (dispatch: any) => {
  58. debugger
  59. request({
  60. url: API_LOGOUT, method: 'GET', data: {}
  61. }).then(_ => {
  62. dispatch(logoutSuccess());
  63. })
  64. }
  65. export const clear = () => (dispatch: any) => {
  66. debugger
  67. request({
  68. url: API_CLEAR_USER, method: 'DELETE', data: {}
  69. }).then(_ => {
  70. dispatch(clearSuccess());
  71. })
  72. }
  73. export const getInfo = () => (dispatch: any) => {
  74. request({
  75. url: API_USER_INFO, method: 'GET', data: {}
  76. }).then(res => {
  77. dispatch(getInfoSuccess(res));
  78. })
  79. }
  80. export const update = () => (dispatch: any) => {
  81. request({
  82. url: API_USER_INFO, method: 'POST', data: {}
  83. }).then(res => {
  84. dispatch(updateSuccess(res));
  85. })
  86. }