新增管理端登录方法和场景示例
This commit is contained in:
@@ -20,8 +20,11 @@ export const user = {
|
|||||||
const actions = {
|
const actions = {
|
||||||
std: "/app/appwechatuser/check",
|
std: "/app/appwechatuser/check",
|
||||||
qujing: "/app/appwechatuserqujing/check",
|
qujing: "/app/appwechatuserqujing/check",
|
||||||
|
admin: "/app/appwechatusertog/userinfo"
|
||||||
}
|
}
|
||||||
return http.post(actions[way]).then(res => {
|
return http.post(actions[way], null, {
|
||||||
|
params: {corpId: process.env.NODE_ENV == "development" ? "ww596787bb70f08288" : undefined},
|
||||||
|
}).then(res => {
|
||||||
if (res?.data) {
|
if (res?.data) {
|
||||||
commit('setUser', res.data)
|
commit('setUser', res.data)
|
||||||
return Promise.all([])
|
return Promise.all([])
|
||||||
@@ -64,16 +67,36 @@ export const user = {
|
|||||||
})
|
})
|
||||||
} else return Promise.reject("缺少登录code")
|
} else return Promise.reject("缺少登录code")
|
||||||
},
|
},
|
||||||
|
getAdminToken({commit}, params) {
|
||||||
|
const {corpId = process.env.NODE_ENV == "development" ? "ww596787bb70f08288" : undefined} = params
|
||||||
|
if (params?.code) {
|
||||||
|
return http.post("/auth/wechat-2g/token", params, {
|
||||||
|
headers: {"Authorization": "Basic d2VjaGF0OndlY2hhdA=="},
|
||||||
|
params: {corpId},
|
||||||
|
withoutToken: true
|
||||||
|
}).then(res => {
|
||||||
|
if (res?.access_token) {
|
||||||
|
const token = [res?.token_type, res?.access_token].join(" ").trim()
|
||||||
|
commit("setToken", token)
|
||||||
|
return token
|
||||||
|
} else {
|
||||||
|
uni.showToast({title: res?.msg})
|
||||||
|
return Promise.reject(res?.msg)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else return Promise.reject("缺少登录code")
|
||||||
|
},
|
||||||
autoLogin({dispatch}, params = {nickName: '微信用户'}) {
|
autoLogin({dispatch}, params = {nickName: '微信用户'}) {
|
||||||
const {loginWay = 'std'} = params
|
const {loginWay = 'std', phoneCode} = params
|
||||||
return dispatch("getCode").then(code => dispatch("getToken", {...params, code})).then(() => dispatch('getUserInfo', loginWay))
|
if (loginWay == "admin") {
|
||||||
|
return phoneCode ? dispatch("getCode", params).then(code => dispatch('getAdminToken', {...params, code})).then(() => dispatch('getUserInfo', loginWay)) : Promise.reject("缺少手机号授权")
|
||||||
|
} else return dispatch("getCode").then(code => dispatch("getToken", {...params, code})).then(() => dispatch('getUserInfo', loginWay))
|
||||||
},
|
},
|
||||||
authCheck({state, dispatch, rootState}, {checkType, modulePath}) {
|
authCheck({state, dispatch, rootState}, {checkType, modulePath}) {
|
||||||
//用于进入应用的权限判断
|
//用于进入应用的权限判断
|
||||||
//checkType 1、登录认证 2、居民认证 3、党员认证 4、丰都个人认证
|
//checkType 1、登录认证 2、居民认证 3、党员认证 4、丰都个人认证
|
||||||
//判断是否需要校验认证信息
|
//判断是否需要校验认证信息
|
||||||
let {user: userInfo, token} = rootState
|
let {user: userInfo, token} = rootState
|
||||||
console.log();
|
|
||||||
if (!checkType) {
|
if (!checkType) {
|
||||||
//如果需要校验认证信息,必定要先验证是否登录
|
//如果需要校验认证信息,必定要先验证是否登录
|
||||||
uni.navigateTo({url: modulePath});
|
uni.navigateTo({url: modulePath});
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
<div class="home">
|
<div class="home">
|
||||||
<div class="header-bg">
|
<div class="header-bg">
|
||||||
<div class="header-info">
|
<div class="header-info">
|
||||||
<div class="wrap" @click="handleLogin()">
|
<div class="wrap">
|
||||||
<div class="user-img-div">
|
<div class="user-img-div">
|
||||||
<open-data type="userAvatarUrl" lang="zh_CN" class="user-img"></open-data>
|
<open-data type="userAvatarUrl" lang="zh_CN" class="user-img"></open-data>
|
||||||
</div>
|
</div>
|
||||||
<div class="user-info">
|
<div class="user-info" @click="handleLogin()">
|
||||||
<div class="option">
|
<div class="option">
|
||||||
<template v-if="!user.id">
|
<template v-if="!user.id">
|
||||||
<p>登录</p>
|
<p>登录</p>
|
||||||
@@ -19,6 +19,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<button class="phoneBtn" open-type="getPhoneNumber" @getphonenumber="handleAdminLogin">管理账号登录</button>
|
||||||
</div>
|
</div>
|
||||||
<input class="codeText" v-model="search" placeholder="搜索要查找的应用"/>
|
<input class="codeText" v-model="search" placeholder="搜索要查找的应用"/>
|
||||||
</div>
|
</div>
|
||||||
@@ -63,6 +64,11 @@ export default {
|
|||||||
this.autoLogin();
|
this.autoLogin();
|
||||||
} else this.$u.toast("已登录,无需重新登录!")
|
} else this.$u.toast("已登录,无需重新登录!")
|
||||||
},
|
},
|
||||||
|
handleAdminLogin({detail: {code: phoneCode}}) {
|
||||||
|
if (!this.token) {
|
||||||
|
this.autoLogin({corpId: "ww596787bb70f08288", loginWay: 'admin', phoneCode});
|
||||||
|
} else this.$u.toast("已登录,无需重新登录!")
|
||||||
|
},
|
||||||
handleGotoApp(app) {
|
handleGotoApp(app) {
|
||||||
uni.navigateTo({url: `${app.path}`})
|
uni.navigateTo({url: `${app.path}`})
|
||||||
},
|
},
|
||||||
@@ -201,5 +207,13 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.phoneBtn {
|
||||||
|
font-size: 34px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #333333;
|
||||||
|
line-height: 54px;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user