1 . 在企业微信配置请求的页面写入下面代码
mounted() { //获取微信请求的的Code let code = this.$route.query.code; if (code) { this.loginwx(code); } } async loginwx(code) {
//把Code 发送给后端做验证 await this.$store.dispatch({ type: "app/loginwx", data: { authProvider: "EnterpriseWechat", // AbpZero Auth 第三方登录的名称自己定义(需要与后端定义的一致) providerKey: code, providerAccessCode: code } }); location.reload(); }
2.在app.ts增加 app/loginwx 动作
async loginwx(content: ActionContext<AppState, any>, payload: any) {
// ABP 已经实现了第三放登录我们直接这个方法就可以 /api/TokenAuth/ExternalAuthenticate
let rep = await ajax.post("/api/TokenAuth/ExternalAuthenticate", payload.data);
var tokenExpireDate = payload.data.rememberMe ? (new Date(new Date().getTime() + 1000 * rep.data.result.expireInSeconds)) : undefined;
Util.abp.auth.setToken(rep.data.result.accessToken, tokenExpireDate);
Util.abp.utils.setCookieValue(appconst.authorization.encrptedAuthTokenName, rep.data.result.encryptedAccessToken, tokenExpireDate, Util.abp.appPath)
},
好的我们的前端就已经写完了。