|
@@ -70,7 +70,22 @@ class WeixinAuthService extends AxiosService {
|
|
if (fqueries)fqueries = JSON.parse(fqueries);
|
|
if (fqueries)fqueries = JSON.parse(fqueries);
|
|
let { redirect_uri, groupid, doctorid } = fqueries;
|
|
let { redirect_uri, groupid, doctorid } = fqueries;
|
|
let queryStr = `?openid=${openid}`;
|
|
let queryStr = `?openid=${openid}`;
|
|
- if (groupid) queryStr = `${queryStr}&groupid=${groupid}`;
|
|
|
|
|
|
+ // TODO 验证redirect_uri,如果有groupid,type=group=>用户入驻,直接处理
|
|
|
|
+ if (groupid) {
|
|
|
|
+ if (redirect_uri.includes('type=group')) {
|
|
|
|
+ // TODO加用户,进组
|
|
|
|
+ const udata = { name: object.nickname, icon: object.headimgurl, openid: object.openid, groupid };
|
|
|
|
+ try {
|
|
|
|
+ await this.ctx.service.patient.create(udata);
|
|
|
|
+ } catch (error) {
|
|
|
|
+ this.logger.error(error);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ // TODO 点击进入群组聊天,不过没改也没加
|
|
|
|
+ queryStr = `${queryStr}&groupid=${groupid}`;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
if (doctorid) queryStr = `${queryStr}&doctorid=${doctorid}`;
|
|
if (doctorid) queryStr = `${queryStr}&doctorid=${doctorid}`;
|
|
redirect_uri = urljoin(redirect_uri, queryStr);
|
|
redirect_uri = urljoin(redirect_uri, queryStr);
|
|
this.ctx.redirect(redirect_uri);
|
|
this.ctx.redirect(redirect_uri);
|