server-auth.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { serverLoginApi } from "../../../api/auth.api";
  2. import UserInfoModel, { UserInfoInterface } from "../../../store/models/user.model";
  3. import { silentLogin } from "../tt/tt-auth";
  4. import { to } from "../../../utils/helper";
  5. import URLQueryModel from "../../../store/models/urlQuery.model";
  6. /**
  7. * 服务端登录
  8. * @param dyloginInfo 抖音登录信息
  9. * @returns Promise
  10. */
  11. export const serverLogin = (dyloginInfo) => {
  12. return new Promise(async (resolve, reject) => {
  13. let params = {
  14. channel: "dyxyx",
  15. code: dyloginInfo.code
  16. };
  17. const serverLoginRes: UserInfoInterface = await serverLoginApi(params)
  18. //用户态存缓存下次进游戏可以直接拿
  19. UserInfoModel.getInstance().save(serverLoginRes);
  20. // 弹框公告
  21. if (serverLoginRes.pop_content) {
  22. tt.showModal({
  23. title: serverLoginRes.pop_title ? serverLoginRes.pop_title : "登录提示",
  24. content: serverLoginRes.pop_content,
  25. complete(res) {
  26. console.log(res);
  27. },
  28. });
  29. }
  30. resolve(serverLoginRes);
  31. });
  32. };
  33. /**
  34. * @description: 重新登录
  35. * @return {*}
  36. */
  37. export const relogin = async () => {
  38. let err, res;
  39. //静默授权
  40. [err, res] = await to(silentLogin());
  41. if (err) {
  42. return Promise.reject(err);
  43. }
  44. [err, res] = await to(serverLogin(res));
  45. if (err) {
  46. return Promise.reject(err);
  47. }
  48. return Promise.resolve();
  49. };