ServiceKQ.vue 4.11 KB
<template>
  <service-basekq :centerNo="centerNo" v-if="centerNo"></service-basekq>
</template>

<script>
import ServiceBasekq from './ServiceBaseKQ.vue'
export default {
  name: 'ServiceKQ',
  data () {
    return {
      centerNo: '',
    }
  },

  mounted () {
    console.log('xst mounted')
    this.checkAuth()

  },
  activated () {
    console.log('KQ activated')
    this.checkAuth()
  },
  methods: {
    checkAuth () {
      let centerNo = localStorage.getItem('centerNo');
      let ticket = this.common.getUrlParam('ticket');
      if (centerNo) {
        this.centerNo = centerNo
        localStorage.setItem('centerNo', centerNo);
        this.getUserInfo()
      } else if (ticket) {
        this.getCenterByTicket(ticket)
      } else {
        const sUserAgent = window.navigator.userAgent.toLowerCase()
        const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
        const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
        if (dtdreamweb) {
          // alert('浙里办')
          window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;
        }
        else if (miniprogram) {
          // alert('支付宝')
          window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=hswsy`;
        }
        else {
          alert('非浙里办渠道访问,显示测试用户数据')
          console.log('非浙里办渠道访问,显示测试用户数据')
          this.centerNo = '2021111017103639979048000010279'
          localStorage.setItem('centerNo', '2021111017103639979048000010279');
          this.getUserInfo()
        }
      }
    },
    // 通过ticket获取centerNo
    getCenterByTicket (ticket) {
      this.mgop({
        api: 'mgop.sz.hswsy.getCenterNo', // 必须
        host: 'https://mapi.zjzwfw.gov.cn/',
        dataType: 'JSON',
        type: 'POST',
        appKey: 'fuxgnukl+2001895516+edccpx', // 必须
        headers: {
          //   'isTestUrl': '1'
        },
        data: {
          "ticket": ticket,
        },
        onSuccess: res => {
          console.log('通过ticket获取centerNo成功', res)
          if (res.data.code == 200) {
            this.centerNo = res.data.message
            localStorage.setItem('centerNo', res.data.message);
          } else {
          this.reLoad()
          }
        },
        onFail: err => {
          console.log('通过ticket获取centerNo成功失败', err)
          this.reLoad()
        }
      })
    },
    reLoad () {
      console.log('reload')
      ZWJSBridge.confirm({
        "title": "警告",
        "buttonLabels": [
          "重新载入"
        ],
        "message": "用户身份验证失败,请重新加载"
      }).then(res => {
        const sUserAgent = window.navigator.userAgent.toLowerCase()
        const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1
        const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1
        if (dtdreamweb) {
          // alert('浙里办')
          window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`;
        }
        else if (miniprogram) {
          // alert('支付宝')
          window.location.href = `https://puser.zjzwfw.gov.cn/sso/alipay.do?action=ssoLogin&servicecode=hswsy`;
        }
      })
    },
    // 获取用户信息
    getUserInfo: function () {
      this.mgop({
        api: 'mgop.sz.hswsy.getPortalUserByNum', // 必须
        // host: 'https://mapi.zjzwfw.gov.cn/',
        // dataType: 'JSON',
        // type: 'GET',
        appKey: 'fuxgnukl+2001895516+edccpx', // 必须
        headers: {
          //   'isTestUrl': '1'
        },
        data: {
          "userNum": this.centerNo
        },
        onSuccess: res => {
          console.log('getUserInfo', res)
          if (res.data.code == 200) {
            localStorage.setItem('userInfo', JSON.stringify(res.data.data.userInfo))
          }
        },
        onFail: err => {
          console.log('err', err)
        }
      });
    },
  },
  components: {
    ServiceBasekq
  }
}
</script>