app-parser.js 1.4 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2 3 4 5 6 7 8 9
import Vue from 'vue'

import parseBaseApp from '../../../mp-weixin/runtime/wrapper/app-base-parser'

import {
  mocks,
  initRefs
} from './util'

fxy060608's avatar
fxy060608 已提交
10
export default function parseApp (vm) {
fxy060608's avatar
fxy060608 已提交
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
  Object.defineProperty(Vue.prototype, '$slots', {
    get () {
      return this.$scope && this.$scope.props.$slots
    },
    set () {

    }
  })
  Object.defineProperty(Vue.prototype, '$scopedSlots', {
    get () {
      return this.$scope && this.$scope.props.$scopedSlots
    },
    set () {

    }
  })

fxy060608's avatar
fxy060608 已提交
28 29 30 31
  Vue.prototype.$onAliGetAuthorize = function onAliGetAuthorize (method, $event) {
    my.getPhoneNumber({
      success: (res) => {
        $event.type = 'getphonenumber'
雪洛's avatar
雪洛 已提交
32 33 34 35
        const response = JSON.parse(res.response)
        $event.detail.errMsg = 'getPhoneNumber:ok'
        $event.detail.encryptedData = response.response
        $event.detail.sign = response.sign
fxy060608's avatar
fxy060608 已提交
36 37 38 39
        this[method]($event)
      },
      fail: (res) => {
        $event.type = 'getphonenumber'
雪洛's avatar
雪洛 已提交
40
        $event.detail.errMsg = 'getPhoneNumber:fail Error: ' + JSON.stringify(res)
fxy060608's avatar
fxy060608 已提交
41 42 43 44 45 46 47 48 49 50 51
        this[method]($event)
      }
    })
  }

  Vue.prototype.$onAliAuthError = function $onAliAuthError (method, $event) {
    $event.type = 'getphonenumber'
    $event.detail.errMsg = 'getPhoneNumber:fail Error: ' + $event.detail.errorMessage
    this[method]($event)
  }

fxy060608's avatar
fxy060608 已提交
52 53 54 55
  return parseBaseApp(vm, {
    mocks,
    initRefs
  })
雪洛's avatar
雪洛 已提交
56
}