openPlatform.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. debugger
  16. if (loginRes.errMsg == 'login:ok') {
  17. // TODO third.wechat.login 函数未实现
  18. const res = await third.wechat.login({
  19. platform: 'openPlatform',
  20. shareInfo: uni.getStorageSync('shareLog') || {},
  21. payload: encodeURIComponent(
  22. JSON.stringify({
  23. code: loginRes.code,
  24. }),
  25. ),
  26. });
  27. if (res.error === 0) {
  28. $share.bindBrokerageUser()
  29. resolve(true);
  30. }
  31. } else {
  32. uni.showToast({
  33. icon: 'none',
  34. title: loginRes.errMsg,
  35. });
  36. }
  37. resolve(false);
  38. });
  39. };
  40. // 微信 App 解除绑定
  41. const unbind = async (openid) => {
  42. const { code } = await SocialApi.socialUnbind(socialType, openid);
  43. return code === 0;
  44. };
  45. // 获得社交信息
  46. async function getInfo() {
  47. const { code, data } = await SocialApi.getSocialUser(socialType);
  48. if (code !== 0) {
  49. return undefined;
  50. }
  51. return data;
  52. }
  53. export default {
  54. load,
  55. login,
  56. getInfo
  57. };