openPlatform.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // 登录
  2. import third from '@/sheep/api/migration/third';
  3. import SocialApi from '@/sheep/api/member/social';
  4. import $share from '@/sheep/platform/share';
  5. // TODO 芋艿:等后面搞 App 再弄
  6. const socialType = 32; // 社交类型 - 微信开放平台
  7. const load = async () => {};
  8. // 微信开放平台移动应用授权登陆
  9. const login = () => {
  10. return new Promise(async (resolve, reject) => {
  11. const loginRes = await uni.login({
  12. provider: 'weixin',
  13. onlyAuthorize: true,
  14. });
  15. if (loginRes.errMsg == 'login:ok') {
  16. // TODO third.wechat.login 函数未实现
  17. const res = await third.wechat.login({
  18. platform: 'openPlatform',
  19. shareInfo: uni.getStorageSync('shareLog') || {},
  20. payload: encodeURIComponent(
  21. JSON.stringify({
  22. code: loginRes.code,
  23. }),
  24. ),
  25. });
  26. if (res.error === 0) {
  27. $share.bindBrokerageUser()
  28. resolve(true);
  29. }
  30. } else {
  31. uni.showToast({
  32. icon: 'none',
  33. title: loginRes.errMsg,
  34. });
  35. }
  36. resolve(false);
  37. });
  38. };
  39. // 微信 App 解除绑定
  40. const unbind = async (openid) => {
  41. const { code } = await SocialApi.socialUnbind(socialType, openid);
  42. return code === 0;
  43. };
  44. // 获得社交信息
  45. async function getInfo() {
  46. const { code, data } = await SocialApi.getSocialUser(socialType);
  47. if (code !== 0) {
  48. return undefined;
  49. }
  50. return data;
  51. }
  52. export default {
  53. load,
  54. login,
  55. getInfo
  56. };