lincl 3 vuotta sitten
vanhempi
commit
4d846bcaf6

+ 8 - 0
mini-pro-web/src/api/login.js

@ -124,4 +124,12 @@ export function changePwd(data) {
	  method: 'post',
	  data
	})
}
export function checkWlyyLogin(data) {
	return request({
	  url: `${AUTH}/auth/oauth/checkWlyyUserLogin`,
	  method: 'post',
	  data
	})
}

+ 59 - 9
mini-pro-web/src/router/index.js

@ -16,6 +16,7 @@ import order from './order'
import replenishment from './replenishment'
import device from './device'
import machine from './machine'
import {getPublicKey, getHwlyyDecrypt, checkWlyyLogin} from '@/api/login'
Vue.use(VueRouter)
const routes = [
@ -102,8 +103,16 @@ function redirectToLogin(to, from, next) {
    }
}
if(process.env.NODE_ENV==='production') {
    router.beforeEach(async (to, from, next) => {
router.beforeEach(async (to, from, next) => {
    // _from=ihealth&_platform=webApp
    new Promise((resolve, reject)=>{
        if(to.query._code){
            return authLogin(to.query._code, to)
        } else {
            resolve()
        }
    })
    .then(res=>{
        if((store.getters.user && store.getters.user.accessToken)) {
            next()
        } else {
@ -114,13 +123,54 @@ if(process.env.NODE_ENV==='production') {
            }
        }
    })
} else {
    router.beforeEach(async (to, from, next) => {
        if ((!store.getters.user || !store.getters.user.accessToken) && whiteList.indexOf(to.path) == -1) {
            next('/login')
            return
        }
        next()
    .catch(err=>{
        console.error(err)
    })
})
function authLogin(code, to){
    return new Promise((resolve, reject)=>{
        getHwlyyDecrypt({code: decodeURIComponent(code)})
            .then(data=>{
                return new Promise((resolve, reject)=>{
                    getPublicKey({})
                        .then(res=>{
                            var encrypt = new JSEncrypt()
                            encrypt.setPublicKey(res.obj.publicKey)
                            resolve(encrypt.encrypt(data.obj.code))
                        })
                        .catch(err=>{
                            reject(err)
                        })
                })
            })
            .then(code=>{
                return checkWlyyLogin({
                    code: code,
                    client_id: store.getters.clientId,
                    login_type: 1
                })
            })
            .then(res=>{
                if(res.obj && res.obj.authCode==1){
                    var userInfo  = loginRes.obj.WlyyUserSimple
                    userInfo.token = userInfo.accessToken
                    userInfo.clientType = to.query.clientType//1 来自i健康app 区域互联网
                    store
                        .dispatch('SetLoginUser', userInfo)
                        .then(res=>{
                            resolve()
                        })
                } else {
                    Toast(res.obj&&res.obj.mes)
                    reject(err)
                }
            })
            .catch(err=>{
                console.error(err)
                // Toast("获取医生数据错误")
                reject(err)
            })
    })
}

+ 6 - 6
mini-pro-web/src/views/machine/index.vue

@ -91,14 +91,13 @@ export default {
  	},
  	data() {
    	return {
			deviceNum: this.$route.query.deviceNum || '14912202107000001500000000000000',//14912202107000001500000000000000
			deviceNum: this.$route.query.deviceNum || '',//14912202107000001500000000000000  
			step: 0, //0启动页  1首页  2扫码页  3订单页
			curImg: '',
			illustrationMskShow: false,
			socketUrl: '',
			path: "ws://yik.ab-inbev.vip/c/websocket/",
			socket: "",
			mess: [],
			layerNo: "0",
			wayerNo: "0",
			forceClose: false,
@ -180,7 +179,7 @@ export default {
            let p = {
                deviceId: this.deviceNum, //设备编号
				pickUpNum, //取药码
				cardNum: cardNum //社保卡号 //"DA7292254" ||
				cardNum //社保卡号 //"DA7292254" ||
            }
            console.log('params', p)
            medicineAbinetApi
@ -216,7 +215,7 @@ export default {
			})
			this.orderdetail = item.drugList
			this.orderInfo = item
			this.rsType = item.status==1? 1 : 2
			this.rsType = item.orderStatus==1? 1 : 2
			this.step = 3
		},
		init: function() {
@ -259,7 +258,6 @@ export default {
		},
		getMessage: function(msg) {
			console.log(msg.data)
			this.mess.push(msg.data); //返回数据信息,包含医保瞳
			var msgobj = JSON.parse(msg.data)
			if (msgobj.type == 'ShipInfo') {
				var item = this.orderdetail[this.currindex]
@ -309,6 +307,8 @@ export default {
				}).then(() => {
					this.onPrev()
				});
			} else if(msgobj.type == 'PageRload'){
				location.reload(true)
			}
		},
		sendReadCard: function() {
@ -485,7 +485,6 @@ export default {
			this.rsType = 4
		},
		countDown(){
			return
			this.times = 30
			countDownFunc = setInterval(()=>{
				if(this.times === 0){
@ -499,6 +498,7 @@ export default {
	destroyed() {
		this.forceClose = true
		clearInterval(this.heartbitInterval)
		clearInterval(countDownFunc)
	}
}
</script>