app.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // app.ts
  2. const voiceCbs: any = []
  3. const voiceProps: VoiceProps = {
  4. noMute: false,
  5. pullUrls: [],
  6. pushUrl: false,
  7. }
  8. const loginCbs = []
  9. const loginProps = {
  10. isLogin: true
  11. };
  12. App<IAppOption>({
  13. globalData: {
  14. voiceProps,
  15. userInfo: {
  16. nickName: 'Hi,游客',
  17. country: '',
  18. avatarUrl: 'https://platform-wxmall.oss-cn-beijing.aliyuncs.com/upload/20180727/150547696d798c.png',
  19. gender: 0,
  20. city: '',
  21. province: '',
  22. language: 'zh_CN'
  23. },
  24. token: '',
  25. isLogin: false
  26. },
  27. addVoicePropsListener(cb: Function) {
  28. voiceCbs.push(cb)
  29. },
  30. removeVoicePropsListener(cb: Function) {
  31. voiceCbs.splice(voiceCbs.indexOf(cb), 1)
  32. },
  33. setVoiceProps(props: VoiceProps) {
  34. Object.keys(props).forEach((k: string) => {
  35. (voiceProps as any)[k] = (props as any)[k]
  36. })
  37. voiceCbs.forEach((cb: Function) => cb(props))
  38. },
  39. async setLogin(status: boolean): Promise<boolean> {
  40. this.globalData.isLogin = status
  41. return Promise.resolve(this.globalData.isLogin)
  42. },
  43. onLaunch() {
  44. // 展示本地存储能力
  45. const logs = wx.getStorageSync('logs') || []
  46. logs.unshift(Date.now())
  47. wx.setStorageSync('logs', logs)
  48. // 登录
  49. wx.login({
  50. success: res => {
  51. console.log(res.code)
  52. // 发送 res.code 到后台换取 openId, sessionKey, unionId
  53. },
  54. })
  55. },
  56. })