This commit is contained in:
周源 2021-10-21 15:51:06 +08:00
parent edb9ccaced
commit 8e0f2e82a3
92 changed files with 68 additions and 18 deletions

View File

@ -266,9 +266,12 @@ public class ApiAuthController extends ApiBaseController {
@ApiOperation(value = "用户是否绑定钉钉接口") @ApiOperation(value = "用户是否绑定钉钉接口")
@ApiImplicitParam(name = "authCode", value = "免登码") @ApiImplicitParam(name = "authCode", value = "免登码")
public Ret checkBinding(String authCode) { public Ret checkBinding(String authCode) {
// System.out.println("authCode:"+authCode); System.out.println("authCode:"+authCode);
String accessToken = getAccessToken(); String accessToken = getAccessToken();
System.out.println("accessToken:"+accessToken);
String dingOpenid = getDingOpenid(accessToken, authCode); String dingOpenid = getDingOpenid(accessToken, authCode);
System.out.println("dingOpenid:"+dingOpenid);
if (accessToken != null && dingOpenid == null) return Ret.fail("免登授权码错误"); if (accessToken != null && dingOpenid == null) return Ret.fail("免登授权码错误");
User user = userService.getUserByOpenId(dingOpenid); User user = userService.getUserByOpenId(dingOpenid);
if (user != null) { if (user != null) {
@ -286,19 +289,27 @@ public class ApiAuthController extends ApiBaseController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "login", value = "账号"), @ApiImplicitParam(name = "login", value = "账号"),
@ApiImplicitParam(name = "password", value = "密码"), @ApiImplicitParam(name = "password", value = "密码"),
@ApiImplicitParam(name = "dingOpenid", value = "dingOpenid") @ApiImplicitParam(name = "authCode", value = "免登码"),
@ApiImplicitParam(name = "dingOpenid", value = "dingOpenid"),
}) })
public Ret binding(String login, String password, String dingOpenid) { public Ret binding(String login, String password, String authCode,String dingOpenid) {
// System.out.println("login:"+login); String accessToken = getAccessToken();
// System.out.println("password:"+password); String dingAccountId = getDingAccountId(accessToken, authCode);
// System.out.println("dingOpenid:"+dingOpenid);
String secretPhone=CodecUtils.encrypt(login);
System.out.println("login:"+login);
System.out.println("password:"+password);
System.out.println("dingOpenid:"+dingOpenid);
System.out.println("dingAccountId:"+dingAccountId);
String secretPhone=CodecUtils.encrypt(login);
User user = userService.getOne(new QueryWrapper<User>().eq("login_name", secretPhone)); User user = userService.getOne(new QueryWrapper<User>().eq("login_name", secretPhone));
if (user!=null) { if (user!=null) {
if(!password.equals("ydool@123123")&&!user.getPassword().equals(Ydool.password(user.getSalt(), password))) return Ret.fail("账号或密码错误,绑定失败"); if(!password.equals("ydool@123123")&&!user.getPassword().equals(Ydool.password(user.getSalt(), password))) return Ret.fail("账号或密码错误,绑定失败");
user.setDingAccountId(dingAccountId);
user.setOpenId(dingOpenid); user.setOpenId(dingOpenid);
userService.updateById(user); userService.updateById(user);
login(user); login(user);
@ -330,6 +341,7 @@ public class ApiAuthController extends ApiBaseController {
executableClient.setAccessKey(accessKey); executableClient.setAccessKey(accessKey);
executableClient.setSecretKey(secretKey); executableClient.setSecretKey(secretKey);
executableClient.setDomainName("openplatform-pro.ding.zj.gov.cn"); executableClient.setDomainName("openplatform-pro.ding.zj.gov.cn");
// executableClient.setDomainName("openplatform.dg-work.cn");
executableClient.setProtocal("https"); executableClient.setProtocal("https");
executableClient.init(); executableClient.init();
//executableClient要单例并且使用前要初始化只需要初始化一次 //executableClient要单例并且使用前要初始化只需要初始化一次
@ -358,6 +370,36 @@ public class ApiAuthController extends ApiBaseController {
private String getDingOpenid(String accessToken, String authCode) { private String getDingOpenid(String accessToken, String authCode) {
ExecutableClient executableClient = ExecutableClient.getInstance(); ExecutableClient executableClient = ExecutableClient.getInstance();
executableClient.setDomainName("openplatform-pro.ding.zj.gov.cn"); executableClient.setDomainName("openplatform-pro.ding.zj.gov.cn");
// executableClient.setDomainName("openplatform.dg-work.cn");
executableClient.setProtocal("https");
executableClient.init();
//executableClient要单例并且使用前要初始化只需要初始化一次
String api = "/rpc/oauth2/dingtalk_app_user.json";
PostClient postClient = executableClient.newPostClient(api);
//设置参数
postClient.addParameter("access_token", accessToken);
postClient.addParameter("auth_code", authCode);
//调用API
String apiResult = postClient.post();
executableClient.destroy();
try {
JSONObject jsonObject = JSON.parseObject(apiResult);
System.out.println("jsonObject:"+jsonObject);
JSONObject content = jsonObject.getJSONObject("content");
if (content.getBoolean("success")) {
return content.getJSONObject("data").getString("openid");
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return null;
}
private String getDingAccountId(String accessToken, String authCode) {
ExecutableClient executableClient = ExecutableClient.getInstance();
executableClient.setDomainName("openplatform-pro.ding.zj.gov.cn");
// executableClient.setDomainName("openplatform.dg-work.cn");
executableClient.setProtocal("https"); executableClient.setProtocal("https");
executableClient.init(); executableClient.init();
//executableClient要单例并且使用前要初始化只需要初始化一次 //executableClient要单例并且使用前要初始化只需要初始化一次
@ -373,7 +415,7 @@ public class ApiAuthController extends ApiBaseController {
JSONObject jsonObject = JSON.parseObject(apiResult); JSONObject jsonObject = JSON.parseObject(apiResult);
JSONObject content = jsonObject.getJSONObject("content"); JSONObject content = jsonObject.getJSONObject("content");
if (content.getBoolean("success")) { if (content.getBoolean("success")) {
return content.getJSONObject("data").getString("openid"); return content.getJSONObject("data").getString("accountId");
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -382,5 +424,4 @@ public class ApiAuthController extends ApiBaseController {
return null; return null;
} }
} }

View File

@ -38,6 +38,7 @@ public class UserDto extends BaseEntity {
private String loginName; private String loginName;
private String openId; private String openId;
private String dingAccountId;
@NotBlank(message = "请选择账号类型") @NotBlank(message = "请选择账号类型")
private String accountType; private String accountType;
@ -264,6 +265,14 @@ public class UserDto extends BaseEntity {
return this.status == 0; return this.status == 0;
} }
public String getDingAccountId() {
return dingAccountId;
}
public void setDingAccountId(String dingAccountId) {
this.dingAccountId = dingAccountId;
}
// 是否要提示修改面膜 // 是否要提示修改面膜
public String isModifyPwdTip() { public String isModifyPwdTip() {

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.login-box[data-v-01727d28]{background-color:#fff}.login-wrapper[data-v-01727d28]{padding:2.13333rem .85333rem 0 .85333rem;z-index:50}.login-wrapper .title[data-v-01727d28]{font-size:.64rem;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;color:#000;position:relative}.login-wrapper .title span[data-v-01727d28]{position:absolute;right:0;bottom:0;font-size:.42667rem;font-family:PingFang SC,PingFang SC-Regular;font-weight:400;color:#d03a29}.login-wrapper .account[data-v-01727d28]{padding-top:1.06667rem;margin-bottom:.85333rem}.login-wrapper .password[data-v-01727d28]{margin-bottom:1.06667rem}.login-wrapper .account .line[data-v-01727d28],.login-wrapper .password .line[data-v-01727d28]{height:.02667rem;background:#efefef}.login-wrapper .account p[data-v-01727d28],.login-wrapper .password p[data-v-01727d28]{font-size:.42667rem;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;text-align:left;color:#000;padding-bottom:.34667rem}.login-wrapper .account .loginconter[data-v-01727d28],.login-wrapper .password .loginconter[data-v-01727d28]{display:flex;align-items:center;margin-bottom:.10667rem}.login-wrapper .account .loginconter .van-cell[data-v-01727d28],.login-wrapper .password .loginconter .van-cell[data-v-01727d28]{padding:0}.login-wrapper .account .loginconter .van-cell[data-v-01727d28]:after,.login-wrapper .password .loginconter .van-cell[data-v-01727d28]:after{display:none}.login-wrapper .account .loginconter input[data-v-01727d28],.login-wrapper .password .loginconter input[data-v-01727d28]{width:100%;outline:none;border:none;font-size:.37333rem;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;text-align:left;color:#333}.login-wrapper .account .loginconter img[data-v-01727d28],.login-wrapper .password .loginconter img[data-v-01727d28]{width:.32rem;height:.32rem}.login-wrapper .remember[data-v-01727d28]{margin-bottom:1.06667rem;display:flex;justify-content:space-between;align-items:center}.login-wrapper .remember .label[data-v-01727d28]{font-size:.42667rem;color:#000;font-weight:700}.login-wrapper .btn[data-v-01727d28]{width:8.53333rem;height:1.06667rem;background:#d03a29;border-radius:.53333rem;box-shadow:0 .08rem .16rem 0 rgba(208,58,41,.2);line-height:1.06667rem;font-size:.37333rem;text-align:center;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;color:#fff;letter-spacing:.02667rem}.login-box[data-v-01727d28]{position:relative;display:flex;flex-direction:column;height:100%}.footerbg[data-v-01727d28]{width:100%;z-index:30;position:absolute;bottom:0}.footerbg img[data-v-01727d28]{display:block;width:100%}

View File

@ -1 +0,0 @@
.van-loading--vertical[data-v-193d953c]{height:100% min-height 2.5rem;justify-content:center}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.van-loading--vertical[data-v-8bd2ea46]{height:100% min-height 2.5rem;justify-content:center}

View File

@ -1 +0,0 @@
.login-box[data-v-ce1683fc]{background-color:#fff}.login-wrapper[data-v-ce1683fc]{padding:2.13333rem .85333rem 0 .85333rem;z-index:50}.login-wrapper .title[data-v-ce1683fc]{font-size:.64rem;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;color:#000;position:relative}.login-wrapper .title span[data-v-ce1683fc]{position:absolute;right:0;bottom:0;font-size:.42667rem;font-family:PingFang SC,PingFang SC-Regular;font-weight:400;color:#d03a29}.login-wrapper .account[data-v-ce1683fc]{padding-top:1.06667rem;margin-bottom:.85333rem}.login-wrapper .password[data-v-ce1683fc]{margin-bottom:1.06667rem}.login-wrapper .account .line[data-v-ce1683fc],.login-wrapper .password .line[data-v-ce1683fc]{height:.02667rem;background:#efefef}.login-wrapper .account p[data-v-ce1683fc],.login-wrapper .password p[data-v-ce1683fc]{font-size:.42667rem;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;text-align:left;color:#000;padding-bottom:.34667rem}.login-wrapper .account .loginconter[data-v-ce1683fc],.login-wrapper .password .loginconter[data-v-ce1683fc]{display:flex;align-items:center;margin-bottom:.10667rem}.login-wrapper .account .loginconter .van-cell[data-v-ce1683fc],.login-wrapper .password .loginconter .van-cell[data-v-ce1683fc]{padding:0}.login-wrapper .account .loginconter .van-cell[data-v-ce1683fc]:after,.login-wrapper .password .loginconter .van-cell[data-v-ce1683fc]:after{display:none}.login-wrapper .account .loginconter input[data-v-ce1683fc],.login-wrapper .password .loginconter input[data-v-ce1683fc]{width:100%;outline:none;border:none;font-size:.37333rem;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;text-align:left;color:#333}.login-wrapper .account .loginconter img[data-v-ce1683fc],.login-wrapper .password .loginconter img[data-v-ce1683fc]{width:.32rem;height:.32rem}.login-wrapper .remember[data-v-ce1683fc]{margin-bottom:1.06667rem;display:flex;justify-content:space-between;align-items:center}.login-wrapper .remember .label[data-v-ce1683fc]{font-size:.42667rem;color:#000;font-weight:700}.login-wrapper .btn[data-v-ce1683fc]{width:8.53333rem;height:1.06667rem;background:#d03a29;border-radius:.53333rem;box-shadow:0 .08rem .16rem 0 rgba(208,58,41,.2);line-height:1.06667rem;font-size:.37333rem;text-align:center;font-family:PingFang SC,PingFang SC-Bold;font-weight:700;color:#fff;letter-spacing:.02667rem}.login-box[data-v-ce1683fc]{position:relative;display:flex;flex-direction:column;height:100%}.footerbg[data-v-ce1683fc]{width:100%;z-index:30;position:absolute;bottom:0}.footerbg img[data-v-ce1683fc]{display:block;width:100%}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-98fd116c"],{1:function(e,t){},"1a42":function(e,t,r){"use strict";var n=r("8267"),i=r.n(n);i.a},"1fb5":function(e,t,r){"use strict";t.byteLength=l,t.toByteArray=f,t.fromByteArray=v;for(var n=[],i=[],a="undefined"!==typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=o.length;s<u;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function l(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n}function h(e,t,r){return 3*(t+r)/4-r}function f(e){var t,r,n=c(e),o=n[0],s=n[1],u=new a(h(e,o,s)),l=0,f=s>0?o-4:o;for(r=0;r<f;r+=4)t=i[e.charCodeAt(r)]<<18|i[e.charCodeAt(r+1)]<<12|i[e.charCodeAt(r+2)]<<6|i[e.charCodeAt(r+3)],u[l++]=t>>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===s&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,u[l++]=255&t),1===s&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u}function d(e){return n[e>>18&63]+n[e>>12&63]+n[e>>6&63]+n[63&e]}function p(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),i.push(d(n));return i.join("")}function v(e){for(var t,r=e.length,i=r%3,a=[],o=16383,s=0,u=r-i;s<u;s+=o)a.push(p(e,s,s+o>u?u:s+o));return 1===i?(t=e[r-1],a.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],a.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},2:function(e,t){},2639:function(e,t,r){e.exports=function(){return new Worker(r.p+"js/52599c1fa0897a2ff383.worker.js")}},3:function(e,t){},4:function(e,t){},4362:function(e,t,r){t.nextTick=function(e){var t=Array.prototype.slice.call(arguments);t.shift(),setTimeout((function(){e.apply(null,t)}),0)},t.platform=t.arch=t.execPath=t.title="browser",t.pid=1,t.browser=!0,t.env={},t.argv=[],t.binding=function(e){throw new Error("No such module. (Possibly not yet loaded)")},function(){var e,n="/";t.cwd=function(){return n},t.chdir=function(t){e||(e=r("df7c")),n=e.resolve(t,n)}}(),t.exit=t.kill=t.umask=t.dlopen=t.uptime=t.memoryUsage=t.uvCounters=function(){},t.features={}},4383:function(module,exports,__webpack_require__){(function(Buffer,process,global){ (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-43ede3bc"],{1:function(e,t){},"1a42":function(e,t,r){"use strict";var n=r("8267"),i=r.n(n);i.a},"1fb5":function(e,t,r){"use strict";t.byteLength=l,t.toByteArray=f,t.fromByteArray=v;for(var n=[],i=[],a="undefined"!==typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=o.length;s<u;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function c(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function l(e){var t=c(e),r=t[0],n=t[1];return 3*(r+n)/4-n}function h(e,t,r){return 3*(t+r)/4-r}function f(e){var t,r,n=c(e),o=n[0],s=n[1],u=new a(h(e,o,s)),l=0,f=s>0?o-4:o;for(r=0;r<f;r+=4)t=i[e.charCodeAt(r)]<<18|i[e.charCodeAt(r+1)]<<12|i[e.charCodeAt(r+2)]<<6|i[e.charCodeAt(r+3)],u[l++]=t>>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===s&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,u[l++]=255&t),1===s&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u}function d(e){return n[e>>18&63]+n[e>>12&63]+n[e>>6&63]+n[63&e]}function p(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),i.push(d(n));return i.join("")}function v(e){for(var t,r=e.length,i=r%3,a=[],o=16383,s=0,u=r-i;s<u;s+=o)a.push(p(e,s,s+o>u?u:s+o));return 1===i?(t=e[r-1],a.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],a.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},2:function(e,t){},2639:function(e,t,r){e.exports=function(){return new Worker(r.p+"js/52599c1fa0897a2ff383.worker.js")}},3:function(e,t){},4:function(e,t){},4362:function(e,t,r){t.nextTick=function(e){var t=Array.prototype.slice.call(arguments);t.shift(),setTimeout((function(){e.apply(null,t)}),0)},t.platform=t.arch=t.execPath=t.title="browser",t.pid=1,t.browser=!0,t.env={},t.argv=[],t.binding=function(e){throw new Error("No such module. (Possibly not yet loaded)")},function(){var e,n="/";t.cwd=function(){return n},t.chdir=function(t){e||(e=r("df7c")),n=e.resolve(t,n)}}(),t.exit=t.kill=t.umask=t.dlopen=t.uptime=t.memoryUsage=t.uvCounters=function(){},t.features={}},4383:function(module,exports,__webpack_require__){(function(Buffer,process,global){
/** /**
* @licstart The following is the entire license notice for the * @licstart The following is the entire license notice for the
* Javascript code in this page * Javascript code in this page

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long