weixin.ts 992 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // 认证接口: 获取 open_id 后登录
  2. //https://mt5t6sp5cd.feishu.cn/docx/SftAdyxGzoQwAWxCnDrc3F8en3g
  3. import rest from '@/stores/rest'
  4. import { OPEN_ID } from '@/lib/config';
  5. //获取 JsCode
  6. export const wxLogin = async () => {
  7. console.log("WxLogin")
  8. return new Promise((resolve, reject) => {
  9. wx.login({
  10. timeout:3000,
  11. success(res) {
  12. console.log("wx.login success", res)
  13. if (res.code) {
  14. resolve(res.code)
  15. return;
  16. }
  17. reject(res.errMsg)
  18. },
  19. fail(err){
  20. reject(err.errMsg)
  21. }
  22. })
  23. });
  24. }
  25. export const getOpenId = async () => {
  26. let openid = await uni.getStorageSync(OPEN_ID)
  27. if (openid) return
  28. try {
  29. let jsCode = await wxLogin()
  30. let url = '/member/user/jscode2session?jsCode=' + jsCode
  31. let result = await rest.post(url, null)
  32. if (result['openid']) {
  33. uni.setStorageSync(OPEN_ID, result['openid'])
  34. }
  35. } catch (e) {
  36. console.log(e)
  37. }
  38. }
  39. //通过获取 jsCode 自动登录
  40. export const userLogin = async (jsCode:string) => {
  41. }