user.tsx 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import Taro from '@tarojs/taro'
  2. import { API_OAUTH_LOGIN, API_REGISTER,API_LOGIN, API_LOGOUT, API_CLEAR_USER, API_USER_INFO,API_CHECK_UNIQUE } from './http/api'
  3. import { request } from './http/request'
  4. import { clearSuccess, getInfoSuccess, loginSuccess, logoutSuccess, registerSuccess, updateSuccess } from '@/store/user'
  5. export const checkUnique = (username?: string,email?:string) => {
  6. return new Promise((resolve, reject) => {
  7. request({
  8. url: API_CHECK_UNIQUE, method: 'GET', data: { username:username,email:email }
  9. }).then(res => {
  10. resolve(res);
  11. console.log(res);
  12. // dispatch(loginSuccess(res));
  13. })
  14. })
  15. }
  16. export const login = (username: string, password: string) => (dispatch: any) => {
  17. request({
  18. url: API_LOGIN, method: 'POST', data: { username, password }
  19. }).then(res => {
  20. dispatch(loginSuccess(res));
  21. })
  22. }
  23. export const wxLogin = (code: string/*, encryptedData: string, iv: string*/) => (dispatch: any)=> {
  24. request({
  25. url: API_OAUTH_LOGIN, method: 'POST',
  26. data: {
  27. code: code,
  28. type: 'WX_MP',
  29. app_version: '1',
  30. client_version: '1',
  31. client_type: 'WX_MP',
  32. // extra: {
  33. // encryptedData: encryptedData,
  34. // iv: iv
  35. // }
  36. }
  37. }).then(res => {
  38. dispatch(loginSuccess(res));
  39. })
  40. };
  41. /*
  42. export const wxLogin = (code: string) => (dispatch: any) => {
  43. request({
  44. url: API_OAUTH_LOGIN, method: 'POST', data: { code,type:'WX_MP',app_version:'1',client_version:'1',client_type:'WXP_MP' }
  45. }).then(res => {
  46. console.log(res);
  47. dispatch(loginSuccess(res));
  48. })
  49. }*/
  50. export const register = (name: string, email: string, password: string) => (dispatch: any) => {
  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. request({
  59. url: API_LOGOUT, method: 'GET', data: {}
  60. }).then(_ => {
  61. dispatch(logoutSuccess());
  62. Taro.navigateBack();
  63. })
  64. }
  65. export const clear = () => (dispatch: any) => {
  66. request({
  67. url: API_CLEAR_USER, method: 'DELETE', data: {}
  68. }).then(_ => {
  69. dispatch(clearSuccess());
  70. Taro.navigateBack();
  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. }