123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import Taro from '@tarojs/taro'
  2. import Vue from 'vue'
  3. import BasicLayout from '@/components/Layout/Basic'
  4. import Markdown from '@/components/Markdown'
  5. import { vueAuthPlugin } from '@/util/auth-plugin'
  6. import store from './store/index'
  7. import './app.scss'
  8. import './iconfont.scss'
  9. // Vue.config.productionTip = false
  10. // 引入项目通用(顶层)方法对象
  11. import ToolClass from './util/PublicMethod/index'
  12. Vue.prototype.ToolClass = ToolClass
  13. Vue.use(vueAuthPlugin)
  14. Vue.component('BasicLayout', BasicLayout)
  15. Vue.component('Markdown', Markdown)
  16. const App = new Vue({
  17. store,
  18. onLaunch (options) {
  19. this.login(options)
  20. },
  21. render(h) {
  22. // this.$slots.default 是将要会渲染的页面
  23. return h('block', this.$slots.default)
  24. },
  25. methods: {
  26. login(options) {
  27. Taro.login({
  28. success (res) {
  29. if (res.code) {
  30. store.dispatch(
  31. 'user/MainSignIn',
  32. { queryData: { code: res.code } }
  33. ).then((res) => { // 获取用户信息
  34. store.commit(
  35. 'user/EditUserInfo',
  36. { name: 'PersonId', value: res.data.data.person.personId }
  37. )
  38. store.commit(
  39. 'user/EditUserInfo',
  40. { name: 'OpenId', value: res.data.data.person.openId }
  41. )
  42. store.commit(
  43. 'user/EditUserInfo',
  44. { name: 'SessionKey', value: res.data.data.extraInfo.sessionKey }
  45. )
  46. store.commit(
  47. 'user/EditUserInfo',
  48. { name: 'Phone', value: res.data.data.person.phone }
  49. )
  50. })
  51. } else {
  52. Taro.showToast({
  53. title: '初始化失败, 请退出重试',
  54. icon: 'none',
  55. duration: 3000
  56. })
  57. }
  58. }
  59. })
  60. }
  61. }
  62. })
  63. export default App