这里前端只按照模板写了大概,样式什么的都极简了
一、登录钉钉开放平台,点击应用开发,先创建一个小程序
二、设置服务器公网出口ip名单,多个用“,”隔开,这个是设置所有访问服务端的客户端ip。这里需要复制AgentId、AppKey、AppSecret,后面需要用
三、添加开发人员
四、设置设置安全域名,这里是设置服务端的ip
五、设置接口权限,把需要开通的权限开通
六、java后台controller代码:把AgentId、AppKey、AppSecret这三个值换成自己的。目前已实现的有获取accessToken,获取用户信息,获取用户详细信息,发送消息通知,撤回消息通知。
我这边小程序的登录逻辑是:
package com.enter.net.system.sysadmin.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiMediaUploadRequest;
import com.dingtalk.api.request.OapiMessageCorpconversationAsyncsendV2Request;
import com.dingtalk.api.request.OapiMessageCorpconversationRecallRequest;
import com.dingtalk.api.response.OapiMediaUploadResponse;
import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response;
import com.dingtalk.api.response.OapiMessageCorpconversationRecallResponse;
import com.enter.net.fhbusiness.cadre.model.VPersonalWorkDailyDD;
import com.enter.net.fhbusiness.cadre.service.VPersonalWorkDailyService;
import com.enter.net.frame.util.log.SystemControllerLog;
import com.enter.net.system.sysadmin.model.UserDD;
import com.enter.net.system.sysadmin.service.DDLoginService;
import com.enter.net.util.DDUtils;
import com.taobao.api.ApiException;
import com.taobao.api.FileItem;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*
* @Date: 2019年11月05日 下午2:03:02
*
* @Description: 钉钉登录-控制层
*
* @Version: 1.0
*
*/
@Controller
@