Detalles del subprograma WeChat getUserProfile, proceso de reparación del sistema CRMEB
Los apodos de todos los nuevos usuarios del mini programa cambiaron a "apodo de WeChat". En ese momento, estaba
tan asustado que rápidamente me levanté y hojeé el documento ( requiriendo código para retroceder directamente)
p>
La razón es que, como dijo WeChat, muchos desarrolladores usan componentes para evocar la ventana emergente getUserInfo al abrir mini programas si el usuario hace clic para rechazar. , el usuario no podrá utilizar el mini programa. Este enfoque interfiere con el uso normal del usuario de los mini programas. Si el usuario hace clic para rechazar la ventana emergente getUserInfo, el miniprograma no se puede utilizar. Esto interrumpe el uso normal del miniprograma por parte del usuario y no favorece que el miniprograma adquiera nuevos usuarios.
A continuación daré el código de adaptación de reparación de Uni-app para el sistema CRMEB, y los estudiantes pueden sacar inferencias de un ejemplo (los paquetes de software oficiales lanzados antes de 4.13 aún no se ven afectados)
1. Modificación del botón de inicio de sesión de WeChat en páginas/users/wechat_login/index.vue
& lt;button span=""
class="bg-green btn1">Inicio de sesión de WeChat
Routine.authUserInfo(userInfo)
. entonces(res => {
if (res.data.key ! == indefinido && res.data.key) {
uni.hideLoading();
self.authKey = res.data.key;
self.authKey = res.data.key
self.authKey = res.data.key; Promotor comparte ID de código QR
Routine.authUserInfo(userInfo)
.isPhoneBox = true
} else {
< p; > uni.hideLoading();let time = res.data.expires_time - self.$Cache.time();
self.$store.commit('INICIAR SESIÓN', {
token: res.data.token,
tiempo: tiempo
});
this.getUserInfo()
p>}
})
.catch(res => {
uni. hideLoading();
uni .showToast({
título: res.msg,
icono: 'ninguno',
duración: 2000
});
});
});
}).
.catch(res => {
uni. hideLoading ();
});
},
4. Luego agregue getUserProf en libs/routine.js.
método de archivo
/**
* Nueva versión del mini programa para obtener información del usuario 2021 4.13 Se lanza oficialmente el mini programa WeChat
*/
getUserProfile (código) {
return new Promise((resolver, rechazar) => {
uni.getUserProfile({
lang: ' zh_CN',
p>éxito(usuario) {
if (código) usuario.código = código
resolver({
userInfo: usuario,
p>islogin: false
}
},
fail(res) { p>
rechazar(res)
}.
})
})
})
}
Esto es lo que debe buscar
if (! isset($userInfoCong['openid'])){
Genera una nueva excepción de validación ( 'Error en la recuperación de openid');
}
if (!isset($userInfoCong['openid'])){
Genera una nueva excepción de validación ( 'Error al obtener openid');
}
userInfo['unionId'] = isset( userInfo [′ unionId ′] = isset (userInfoCong[' unionid']) ?$ userInfoCong['unionid'] : ' ';
userInfo['openId'] = userInfo [′ openId ′]=openid = $userInfoCong['openid']
Después de resolver el problema, vuelva a compilar el subprograma para solucionarlo. Usuario autorizado de WeChat
.