Browse Source

提交开源任务材料

10.0
LAPTOP-SB56SG4Q\86185 3 years ago
parent
commit
f6971a2aa6
  1. BIN
      JSD-8365-需求确认书V1.docx
  2. BIN
      JSD-8365配置使用文档.docx
  3. 7
      README.md
  4. 28
      plugin.xml
  5. 16
      push.properties
  6. 114
      src/main/java/com/fr/plugin/schedule/push/CallBackFilter.java
  7. 43
      src/main/java/com/fr/plugin/schedule/push/OutputDBAccess.java
  8. 39
      src/main/java/com/fr/plugin/schedule/push/OutputPluginLifecycleMonitor.java
  9. 11
      src/main/java/com/fr/plugin/schedule/push/PluginConstants.java
  10. 44
      src/main/java/com/fr/plugin/schedule/push/TaskInfoDBAccessProvider.java
  11. 21
      src/main/java/com/fr/plugin/schedule/push/dao/OutputPushDao.java
  12. 21
      src/main/java/com/fr/plugin/schedule/push/dao/TaskInfoDao.java
  13. 55
      src/main/java/com/fr/plugin/schedule/push/dao/TaskInfoService.java
  14. 77
      src/main/java/com/fr/plugin/schedule/push/entity/OutputPushAction.java
  15. 62
      src/main/java/com/fr/plugin/schedule/push/entity/OutputPushEntity.java
  16. 46
      src/main/java/com/fr/plugin/schedule/push/entity/TaskInfoEntity.java
  17. 189
      src/main/java/com/fr/plugin/schedule/push/handle/OutputPushHandle.java
  18. 54
      src/main/java/com/fr/plugin/schedule/push/js/FileDef.java
  19. 25
      src/main/java/com/fr/plugin/schedule/push/js/JSCSSBridge.java
  20. 165
      src/main/resources/com/fr/plugin/schedule/push/locale/dingtalk.properties
  21. 165
      src/main/resources/com/fr/plugin/schedule/push/locale/dingtalk_en_US.properties
  22. 165
      src/main/resources/com/fr/plugin/schedule/push/locale/dingtalk_ja_JP.properties
  23. 165
      src/main/resources/com/fr/plugin/schedule/push/locale/dingtalk_zh_CN.properties
  24. 165
      src/main/resources/com/fr/plugin/schedule/push/locale/dingtalk_zh_TW.properties
  25. 73
      src/main/resources/com/fr/plugin/schedule/push/theme.js
  26. 16
      src/main/resources/push.properties

BIN
JSD-8365-需求确认书V1.docx

Binary file not shown.

BIN
JSD-8365配置使用文档.docx

Binary file not shown.

7
README.md

@ -1,3 +1,6 @@
# open-JSD-8365
# open-JSD-8365 定时任务推送
JSD-8365 任务开源材料
JSD-8365 任务开源材料\
免责说明:该源码为第三方爱好者提供,不保证源码和方案的可靠性,也不提供任何形式的源码教学指导和协助!\
仅作为开发者学习参考使用!禁止用于任何商业用途!\
为保护开发者隐私,开发者信息已隐去!若原开发者希望公开自己的信息,可联系hugh处理。

28
plugin.xml

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><plugin>
<id>com.fr.plugin.schedule.push</id>
<name><![CDATA[定时任务推送]]></name>
<active>yes</active>
<version>1.5</version>
<env-version>10.0</env-version>
<jartime>2018-07-31</jartime>
<vendor>fr.open</vendor>
<description><![CDATA[定时任务推送]]></description>
<change-notes><![CDATA[
[2021-08-01]【1.0】初始化接口。<br/>
[2021-09-02]【1.1】增加日志。<br/>
[2021-09-02]【1.2】修改从数据集获取用户的方法。<br/>
[2021-09-02]【1.3】修改接口content-type。<br/>
[2021-09-02]【1.4】新增taskType参数。<br/>
[2021-09-02]【1.5】增加推送数据包裹。<br/>
]]></change-notes>
<lifecycle-monitor class="com.fr.plugin.schedule.push.OutputPluginLifecycleMonitor"/>
<extra-core>
<DBAccessProvider class="com.fr.plugin.schedule.push.TaskInfoDBAccessProvider"/>
</extra-core>
<extra-decision>
<WebResourceProvider class="com.fr.plugin.schedule.push.js.JSCSSBridge"/>
<DecisionDBAccessProvider class="com.fr.plugin.schedule.push.OutputDBAccess"/>
<GlobalRequestFilterProvider class="com.fr.plugin.schedule.push.CallBackFilter"/>
</extra-decision>
<function-recorder class="com.fr.plugin.schedule.push.js.JSCSSBridge"/>
</plugin>

16
push.properties

@ -0,0 +1,16 @@
##appId
appId=
##appSecret
appSecret=
##appName
appName=
####推送地址
pushUrl=http://ip:port/task/external/create
##token url
tokenUrl=http://ip:port/task/external/getToken
##已读单据接口
readUrl=http://ip:port/task/external/read
##服务器数据集名称
name=\u7528\u6237\u4FE1\u606F
##title
title=\u6BCF\u65E5\u5B89\u5168\u5FEB\u62A5

114
src/main/java/com/fr/plugin/schedule/push/CallBackFilter.java

@ -0,0 +1,114 @@
package com.fr.plugin.schedule.push;
import com.fr.decision.authority.data.User;
import com.fr.decision.fun.impl.AbstractGlobalRequestFilterProvider;
import com.fr.decision.webservice.exception.user.UserNotExistException;
import com.fr.decision.webservice.utils.DecisionServiceConstants;
import com.fr.decision.webservice.v10.config.ConfigService;
import com.fr.decision.webservice.v10.login.LoginService;
import com.fr.decision.webservice.v10.user.UserService;
import com.fr.general.PropertiesUtils;
import com.fr.general.http.HttpRequest;
import com.fr.general.http.HttpToolbox;
import com.fr.json.JSONArray;
import com.fr.json.JSONObject;
import com.fr.log.FineLoggerFactory;
import com.fr.plugin.schedule.push.dao.TaskInfoService;
import com.fr.plugin.schedule.push.entity.TaskInfoEntity;
import com.fr.stable.StringUtils;
import com.fr.third.org.apache.http.entity.StringEntity;
import javax.servlet.FilterChain;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
/**
* @Author fr.open
* @Date 2021/9/15
* @Description
**/
public class CallBackFilter extends AbstractGlobalRequestFilterProvider {
@Override
public String filterName() {
return "callback";
}
@Override
public String[] urlPatterns() {
String servletPathName = "decision";
try {
servletPathName = ConfigService.getInstance().getBasicParam().getServletPathName();
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
String exportPath = "/" + servletPathName + "/push/callback";
return new String[]{
exportPath
};
}
@Override
public void doFilter(HttpServletRequest req, HttpServletResponse res, FilterChain filterChain) {
String id = req.getParameter("id");
String callback = req.getParameter("callback");
try {
TaskInfoEntity state = TaskInfoService.get(id);
finishTask(state.getTaskId());
loginFromToken(req,res,state.getUsername());
res.sendRedirect(callback);
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
}
private void finishTask(String id) {
Map<String, String> header = new HashMap<>();
header.put("X-Auth-Token", getToken());
JSONArray body = new JSONArray();
body.put(id);
StringEntity s = new StringEntity(body.toString(), "UTF-8");
String url = PropertiesUtils.getProperties("push").getProperty("readUrl");
try {
String res = HttpToolbox.executeAndParse(HttpRequest.custom().url(url).headers(header).post(s).build());
FineLoggerFactory.getLogger().info("read url res is {}",res);
} catch (IOException e) {
FineLoggerFactory.getLogger().error(e.getMessage(),e);
}
}
private String getToken() {
try {
String appId = PropertiesUtils.getProperties("push").getProperty("appId");
String appSecret = PropertiesUtils.getProperties("push").getProperty("appSecret");
String tokenUrl = PropertiesUtils.getProperties("push").getProperty("tokenUrl");
String res = HttpToolbox.get(tokenUrl + "?appId=" + appId + "&appSecret=" + appSecret);
FineLoggerFactory.getLogger().info("get token res is {}", res);
return new JSONObject(res).getJSONObject("data").getString("token");
} catch (IOException e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
return StringUtils.EMPTY;
}
public static boolean loginFromToken(HttpServletRequest req, HttpServletResponse res, String username) throws Exception {
try {
if (StringUtils.isNotEmpty(username)) {
User user = UserService.getInstance().getUserByUserName(username);
if (user == null) {
throw new UserNotExistException();
}
String token = LoginService.getInstance().login(req, res, username);
req.setAttribute(DecisionServiceConstants.FINE_AUTH_TOKEN_NAME, token);
return true;
} else {
return false;
}
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
return false;
}
}

43
src/main/java/com/fr/plugin/schedule/push/OutputDBAccess.java

@ -0,0 +1,43 @@
package com.fr.plugin.schedule.push;
import com.fr.decision.plugin.db.AbstractDecisionDBAccessProvider;
import com.fr.plugin.schedule.push.dao.OutputPushDao;
import com.fr.plugin.schedule.push.entity.OutputPushEntity;
import com.fr.stable.db.accessor.DBAccessor;
import com.fr.stable.db.dao.BaseDAO;
import com.fr.stable.db.dao.DAOProvider;
/**
* @Author fr.open
* @Date 2020/9/15
* @Description
**/
public class OutputDBAccess extends AbstractDecisionDBAccessProvider {
private static DBAccessor dbAccessor;
public DBAccessor getDbAccessor() {
return dbAccessor;
}
@Override
public DAOProvider[] registerDAO() {
return new DAOProvider[]{
new DAOProvider() {
@Override
public Class getEntityClass() {
return OutputPushEntity.class;
}
@Override
public Class<? extends BaseDAO> getDAOClass() {
return OutputPushDao.class;
}
}
};
}
@Override
public void onDBAvailable(DBAccessor dbAccessor) {
OutputDBAccess.dbAccessor = dbAccessor;
}
}

39
src/main/java/com/fr/plugin/schedule/push/OutputPluginLifecycleMonitor.java

@ -0,0 +1,39 @@
package com.fr.plugin.schedule.push;
import com.fr.intelli.record.Focus;
import com.fr.intelli.record.Original;
import com.fr.plugin.context.PluginContext;
import com.fr.plugin.context.PluginContexts;
import com.fr.plugin.observer.inner.AbstractPluginLifecycleMonitor;
import com.fr.plugin.schedule.push.entity.OutputPushAction;
import com.fr.plugin.schedule.push.entity.OutputPushEntity;
import com.fr.plugin.schedule.push.handle.OutputPushHandle;
import com.fr.schedule.feature.ScheduleOutputActionEntityRegister;
import com.fr.schedule.feature.output.OutputActionHandler;
import com.fr.stable.fun.Authorize;
/**
* @Author fr.open
* @Date 2020/9/15
* @Description
**/
@Authorize(callSignKey = PluginConstants.PLUGIN_ID)
public class OutputPluginLifecycleMonitor extends AbstractPluginLifecycleMonitor {
@Override
@Focus(id = PluginConstants.PLUGIN_ID, text = "OA通知推送", source = Original.PLUGIN)
public void afterRun(PluginContext pluginContext) {
if (PluginContexts.currentContext().isAvailable()) {
OutputActionHandler.registerHandler(new OutputPushHandle(), OutputPushAction.class.getName());
ScheduleOutputActionEntityRegister.getInstance().addClass(OutputPushEntity.class);
}
}
@Override
@Focus(id = PluginConstants.PLUGIN_ID, text = "OA通知推送", source = Original.PLUGIN)
public void beforeStop(PluginContext pluginContext) {
if (PluginContexts.currentContext().isAvailable()) {
OutputActionHandler.removeOutputHandler(OutputPushAction.class.getName());
ScheduleOutputActionEntityRegister.getInstance().removeClass(OutputPushEntity.class);
}
}
}

11
src/main/java/com/fr/plugin/schedule/push/PluginConstants.java

@ -0,0 +1,11 @@
package com.fr.plugin.schedule.push;
/**
* @Author fr.open
* @Date 2021/3/1
* @Description
**/
public class PluginConstants {
public static final String PLUGIN_ID = "com.fr.plugin.schedule.push";
}

44
src/main/java/com/fr/plugin/schedule/push/TaskInfoDBAccessProvider.java

@ -0,0 +1,44 @@
package com.fr.plugin.schedule.push;
import com.fr.db.fun.impl.AbstractDBAccessProvider;
import com.fr.plugin.schedule.push.dao.TaskInfoDao;
import com.fr.plugin.schedule.push.entity.TaskInfoEntity;
import com.fr.stable.db.accessor.DBAccessor;
import com.fr.stable.db.dao.BaseDAO;
import com.fr.stable.db.dao.DAOProvider;
/**
* @Author fr.open
* @Date 2021/9/15
* @Description
**/
public class TaskInfoDBAccessProvider extends AbstractDBAccessProvider {
private static DBAccessor dbAccessor = null;
public static DBAccessor getDbAccessor() {
return dbAccessor;
}
@Override
public DAOProvider[] registerDAO() {
return new DAOProvider[]{
new DAOProvider() {
@Override
public Class getEntityClass() {
return TaskInfoEntity.class;
}
@Override
public Class<? extends BaseDAO> getDAOClass() {
return TaskInfoDao.class;
}
}
};
}
@Override
public void onDBAvailable(DBAccessor dbAccessor) {
TaskInfoDBAccessProvider.dbAccessor = dbAccessor;
}
}

21
src/main/java/com/fr/plugin/schedule/push/dao/OutputPushDao.java

@ -0,0 +1,21 @@
package com.fr.plugin.schedule.push.dao;
import com.fr.plugin.schedule.push.entity.OutputPushEntity;
import com.fr.stable.db.dao.BaseDAO;
import com.fr.stable.db.session.DAOSession;
/**
* @Author fr.open
* @Date 2020/9/15
* @Description
**/
public class OutputPushDao extends BaseDAO<OutputPushEntity> {
public OutputPushDao(DAOSession daoSession) {
super(daoSession);
}
@Override
protected Class<OutputPushEntity> getEntityClass() {
return OutputPushEntity.class;
}
}

21
src/main/java/com/fr/plugin/schedule/push/dao/TaskInfoDao.java

@ -0,0 +1,21 @@
package com.fr.plugin.schedule.push.dao;
import com.fr.plugin.schedule.push.entity.TaskInfoEntity;
import com.fr.stable.db.dao.BaseDAO;
import com.fr.stable.db.session.DAOSession;
/**
* @Author fr.open
* @Date 2021/9/15
* @Description
**/
public class TaskInfoDao extends BaseDAO<TaskInfoEntity> {
public TaskInfoDao(DAOSession daoSession) {
super(daoSession);
}
@Override
protected Class<TaskInfoEntity> getEntityClass() {
return TaskInfoEntity.class;
}
}

55
src/main/java/com/fr/plugin/schedule/push/dao/TaskInfoService.java

@ -0,0 +1,55 @@
package com.fr.plugin.schedule.push.dao;
import com.fr.log.FineLoggerFactory;
import com.fr.plugin.schedule.push.TaskInfoDBAccessProvider;
import com.fr.plugin.schedule.push.entity.TaskInfoEntity;
import com.fr.stable.db.action.DBAction;
import com.fr.stable.db.dao.DAOContext;
/**
* @Author fr.open
* @Date 2021/7/29
* @Description
**/
public class TaskInfoService {
/**
* 获取
*
* @param id
* @return
*/
public static TaskInfoEntity get(String id) {
try {
return TaskInfoDBAccessProvider.getDbAccessor().runDMLAction(new DBAction<TaskInfoEntity>() {
@Override
public TaskInfoEntity run(DAOContext daoContext) throws Exception {
return daoContext.getDAO(TaskInfoDao.class).getById(id);
}
});
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
return null;
}
/**
* 新增
*
* @param entity
* @return
*/
public static TaskInfoEntity create(TaskInfoEntity entity) {
try {
return TaskInfoDBAccessProvider.getDbAccessor().runDMLAction(new DBAction<TaskInfoEntity>() {
@Override
public TaskInfoEntity run(DAOContext daoContext) throws Exception {
daoContext.getDAO(TaskInfoDao.class).add(entity);
return entity;
}
});
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
return null;
}
}

77
src/main/java/com/fr/plugin/schedule/push/entity/OutputPushAction.java

@ -0,0 +1,77 @@
package com.fr.plugin.schedule.push.entity;
import com.fr.schedule.base.bean.output.BaseOutputAction;
import com.fr.schedule.base.entity.AbstractScheduleEntity;
import com.fr.schedule.base.type.RunType;
import com.fr.third.fasterxml.jackson.annotation.JsonSubTypes;
/**
* @Author fr.open
* @Date 2020/9/15
* @Description
**/
@JsonSubTypes.Type(value = OutputPushAction.class, name = "OutputPush")
public class OutputPushAction extends BaseOutputAction {
private static final long serialVersionUID = 8245931480823179622L;
private String businessMode;
private String origin;
public OutputPushAction() {
super();
}
@Override
public boolean willExecuteByUser() {
return false;
}
@Override
public RunType runType() {
return RunType.SEND_FILE;
}
@Override
public Class<? extends AbstractScheduleEntity> outputActionEntityClass() {
return OutputPushEntity.class;
}
@Override
public AbstractScheduleEntity createOutputActionEntity() {
return (new OutputPushEntity()).id(this.getId()).businessMode(this.businessMode).origin(this.origin);
}
@Override
public OutputPushAction id(String id) {
setId(id);
return this;
}
public String getBusinessMode() {
return businessMode;
}
public void setBusinessMode(String businessMode) {
this.businessMode = businessMode;
}
public String getOrigin() {
return origin;
}
public void setOrigin(String origin) {
this.origin = origin;
}
public OutputPushAction businessMode(String businessMode) {
setBusinessMode(businessMode);
return this;
}
public OutputPushAction origin(String origin) {
setOrigin(origin);
return this;
}
}

62
src/main/java/com/fr/plugin/schedule/push/entity/OutputPushEntity.java

@ -0,0 +1,62 @@
package com.fr.plugin.schedule.push.entity;
import com.fr.schedule.base.bean.BaseBean;
import com.fr.schedule.base.entity.AbstractScheduleEntity;
import com.fr.stable.db.entity.TableAssociation;
import com.fr.third.javax.persistence.Column;
import com.fr.third.javax.persistence.Entity;
import com.fr.third.javax.persistence.Table;
/**
* @Author fr.open
* @Date 2020/9/15
* @Description
**/
@Entity
@Table(name = "fine_output_push") //表名
@TableAssociation(associated = true)
public class OutputPushEntity extends AbstractScheduleEntity {
@Column(name = "businessMode")
private String businessMode;
@Column(name = "host")
private String origin;
public OutputPushEntity() {
}
@Override
public BaseBean createBean() {
return new OutputPushAction().id(this.getId()).businessMode(this.businessMode).origin(this.origin);
}
public String getBusinessMode() {
return businessMode;
}
public void setBusinessMode(String businessMode) {
this.businessMode = businessMode;
}
public String getOrigin() {
return origin;
}
public void setOrigin(String origin) {
this.origin = origin;
}
public OutputPushEntity businessMode(String businessMode) {
setBusinessMode(businessMode);
return this;
}
public OutputPushEntity origin(String origin) {
setOrigin(origin);
return this;
}
public OutputPushEntity id(String id) {
setId(id);
return this;
}
}

46
src/main/java/com/fr/plugin/schedule/push/entity/TaskInfoEntity.java

@ -0,0 +1,46 @@
package com.fr.plugin.schedule.push.entity;
import com.fr.stable.db.entity.BaseEntity;
import com.fr.third.javax.persistence.Column;
import com.fr.third.javax.persistence.Entity;
import com.fr.third.javax.persistence.Table;
/**
* @Author fr.open
* @Date 2021/8/3
* @Description
**/
@Entity
@Table(name = "plugin_task_info") //表名
public class TaskInfoEntity extends BaseEntity {
@Column(name = "username")
private String username;
@Column(name = "taskId")
private String taskId;
public TaskInfoEntity() {
}
public TaskInfoEntity(String id,String username, String taskId) {
this.setId(id);
this.username = username;
this.taskId = taskId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
}

189
src/main/java/com/fr/plugin/schedule/push/handle/OutputPushHandle.java

@ -0,0 +1,189 @@
package com.fr.plugin.schedule.push.handle;
import com.fr.base.TableData;
import com.fr.file.TableDataConfig;
import com.fr.general.PropertiesUtils;
import com.fr.general.data.DataModel;
import com.fr.general.http.HttpRequest;
import com.fr.general.http.HttpToolbox;
import com.fr.json.JSONArray;
import com.fr.json.JSONObject;
import com.fr.log.FineLoggerFactory;
import com.fr.plugin.schedule.push.dao.TaskInfoService;
import com.fr.plugin.schedule.push.entity.OutputPushAction;
import com.fr.plugin.schedule.push.entity.TaskInfoEntity;
import com.fr.schedule.base.constant.ScheduleConstants;
import com.fr.schedule.feature.output.OutputActionHandler;
import com.fr.script.Calculator;
import com.fr.stable.CodeUtils;
import com.fr.stable.StringUtils;
import com.fr.third.org.apache.http.entity.StringEntity;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.*;
/**
* @Author fr.open
* @Date 2020/9/15
* @Description
**/
public class OutputPushHandle extends OutputActionHandler<OutputPushAction> {
private final static String callBack = "/push/callback";
private String tokenUrl;
private String appId;
private String appSecret;
private String appName;
private String pushUrl;
private String name;
private String title;
public OutputPushHandle() {
this.appId = PropertiesUtils.getProperties("push").getProperty("appId");
this.appSecret = PropertiesUtils.getProperties("push").getProperty("appSecret");
this.appName = PropertiesUtils.getProperties("push").getProperty("appName");
this.pushUrl = PropertiesUtils.getProperties("push").getProperty("pushUrl");
this.tokenUrl = PropertiesUtils.getProperties("push").getProperty("tokenUrl");
this.name = PropertiesUtils.getProperties("push").getProperty("name");
this.title = PropertiesUtils.getProperties("push").getProperty("title");
}
@Override
public void doAction(OutputPushAction outputWebHook, Map<String, Object> map) throws Exception {
String[] users = (String[]) map.get(ScheduleConstants.USERNAMES);
String taskName = CodeUtils.encodeURIComponent((String) map.get(ScheduleConstants.TASK_NAME));
String path = CodeUtils.encodeURIComponent((String) map.get(ScheduleConstants.SAVE_DIRECTORY));
path = path.replaceAll("\\+", "%20");
String showType = (String) map.get(ScheduleConstants.SHOW_TYPE);
int taskType = (Integer) map.get(ScheduleConstants.TASK_TYPE);
String scheduleUsername = (String) map.get(ScheduleConstants.USERNAME);
Set<String> userSet = new HashSet();
if (StringUtils.isNotBlank(scheduleUsername)) {
userSet.add(scheduleUsername);
} else {
userSet.addAll(Arrays.asList(users));
}
String token = getToken();
FineLoggerFactory.getLogger().info("get token is {}",token);
FineLoggerFactory.getLogger().info("user set is {}",userSet);
Iterator<String> iterator = userSet.iterator();
while (iterator.hasNext()) {
String user = iterator.next();
UserInfo userInfo = getUserInfo(user);
FineLoggerFactory.getLogger().info("get user info {}",userInfo);
if(StringUtils.isBlank(userInfo.getName()) || StringUtils.isBlank(userInfo.getId())){
continue;
}
String id = UUID.randomUUID().toString();
String pcUrl = "/schedule/result?taskName=" + taskName + "&username=" + scheduleUsername + "&path=" + path + "&showType=" + showType + "&taskType=" + taskType;
String mobileUrl = "/url/mobile/schedule/result?taskName=" + taskName + "&username=" + scheduleUsername + "&path=" + path + "&showType=" + showType + "&taskType=" + taskType;
Map<String, String> header = new HashMap<>();
header.put("X-Auth-Token", token);
JSONObject body = new JSONObject();
body.put("appId", appId).put("appName", appName).put("workNum", UUID.randomUUID().toString()).put("taskType",1).put("businessType", 0).put("businessMode", outputWebHook.getBusinessMode())
.put("handler", userInfo.getId()).put("applicantName", userInfo.getName()).put("formUrl", dealUrl(id, mobileUrl,outputWebHook)).put("pcUrl", dealUrl(id, pcUrl,outputWebHook))
.put("createDate", System.currentTimeMillis()).put("isDelete", 0).put("title", title).put("isFavourites", 0)
.put("isDiscard", 0).put("isRead", 0).put("priority", 2);
JSONArray array = new JSONArray();
array.put(body);
StringEntity s = new StringEntity(array.toString(), "UTF-8");
s.setContentType("application/json; charset=UTF-8");
s.setContentEncoding("UTF-8");
FineLoggerFactory.getLogger().info("send {} body is {}",pushUrl,array);
String res = HttpToolbox.executeAndParse(HttpRequest.custom().url(pushUrl).headers(header).post(s).build());
FineLoggerFactory.getLogger().info("push task res is {}", res);
JSONObject result = new JSONObject(res);
TaskInfoService.create(new TaskInfoEntity(id, user,result.getJSONObject("data").getJSONArray("taskIds").getString(0)));
}
}
private String dealUrl(String id, String url, OutputPushAction outputWebHook) {
try {
String callback = URLEncoder.encode(outputWebHook.getResultURL() + url, "UTF-8");
return outputWebHook.getResultURL() + callBack + "?id=" + id + "&callback=" + callback;
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
return StringUtils.EMPTY;
}
private UserInfo getUserInfo(String username) {
TableData tableData = TableDataConfig.getInstance().getTableData(name);
DataModel dataModel = tableData.createDataModel(Calculator.createCalculator());
try {
for (int i = 0; i < dataModel.getRowCount(); i++) {
Object valueAt = dataModel.getValueAt(i, 4);
if (valueAt != null && StringUtils.equals(String.valueOf(valueAt), username)) {
Object name = dataModel.getValueAt(i, 5);
Object userid = dataModel.getValueAt(i, 6);
if(name != null && userid != null){
return new UserInfo(String.valueOf(name), String.valueOf(userid));
}
}
}
} catch (Exception e) {
}
return new UserInfo();
}
private String getToken() {
try {
String res = HttpToolbox.get(tokenUrl + "?appId=" + appId + "&appSecret=" + appSecret);
FineLoggerFactory.getLogger().info("get token res is {}", res);
return new JSONObject(res).getJSONObject("data").getString("token");
} catch (IOException e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
return StringUtils.EMPTY;
}
}
class UserInfo {
private String name;
private String id;
public UserInfo() {
}
public UserInfo(String name, String id) {
this.name = name;
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Override
public String toString() {
return "{" +
"name='" + name + '\'' +
", id='" + id + '\'' +
'}';
}
}

54
src/main/java/com/fr/plugin/schedule/push/js/FileDef.java

@ -0,0 +1,54 @@
package com.fr.plugin.schedule.push.js;
import com.fr.plugin.transform.ExecuteFunctionRecord;
import com.fr.web.struct.Component;
import com.fr.web.struct.Filter;
import com.fr.web.struct.browser.RequestClient;
import com.fr.web.struct.category.ScriptPath;
import com.fr.web.struct.category.StylePath;
/**
* @author fr.open
* @date 2019/6/12
*/
public class FileDef extends Component {
public static final FileDef KEY = new FileDef();
private FileDef(){}
/**
* 返回需要引入的JS脚本路径
* @param client 请求客户端描述
* @return JS脚本路径
*/
@Override
public ScriptPath script(RequestClient client ) {
//如果不需要就直接返回 ScriptPath.EMPTY
return ScriptPath.build("com/fr/plugin/schedule/push/theme.js");
}
/**
* 返回需要引入的CSS样式路径
* @param client 请求客户端描述
* @return CSS样式路径
*/
@Override
public StylePath style(RequestClient client ) {
//如果不需要就直接返回 StylePath.EMPTY;
return StylePath.EMPTY;
}
/**
* 通过给定的资源过滤器控制是否加载这个资源
* @return 资源过滤器
*/
@ExecuteFunctionRecord
@Override
public Filter filter() {
return new Filter(){
@Override
public boolean accept() {
//任何情况下我们都在平台组件加载时加载我们的组件
return true;
}
};
}
}

25
src/main/java/com/fr/plugin/schedule/push/js/JSCSSBridge.java

@ -0,0 +1,25 @@
package com.fr.plugin.schedule.push.js;
import com.fr.decision.fun.impl.AbstractWebResourceProvider;
import com.fr.decision.web.MainComponent;
import com.fr.plugin.transform.FunctionRecorder;
import com.fr.web.struct.Atom;
/**
* @author fr.open
* @date 2019/9/12
*/
@FunctionRecorder
public class JSCSSBridge extends AbstractWebResourceProvider {
@Override
public Atom attach() {
//在平台主组件加载时添加我们自己的组件
return MainComponent.KEY;
}
@Override
public Atom client() {
//我们自己要引入的组件
return FileDef.KEY;
}
}

165
src/main/resources/com/fr/plugin/schedule/push/locale/dingtalk.properties

@ -0,0 +1,165 @@
Dec-Module-DingTalk_Manager=Dec-Module-DingTalk_Manager
Dec-DingTalk_Basic=Dec-DingTalk_Basic
Dec-DingTalk_Recive_Data_URL=Dec-DingTalk_Recive_Data_URL
Dec-DingTalk_Corp_ID=Dec-DingTalk_Corp_ID
Dec-DingTalk_Secret=Dec-DingTalk_Secret
Dec-DingTalk_Member_Management=Dec-DingTalk_Member_Management
Dec-DingTalk_User-Same-With-FS=Dec-DingTalk_User-Same-With-FS
Dec-DingTalk_Mobile-Same-With-FS=Dec-DingTalk_Mobile-Same-With-FS
Dec-DingTalk_Manual-Matching-FS=Dec-DingTalk_Manual-Matching-FS
Dec-DingTalk_Custom-Matching-FS=Dec-DingTalk_Custom-Matching-FS
Dec-DingTalk_UserID=Dec-DingTalk_UserID
Dec-DingTalk_DecUserName=Dec-DingTalk_DecUserName
Dec-DingTalk_Name=Dec-DingTalk_Name
Dec-DingTalk_Department=Dec-DingTalk_Department
Dec-DingTalk_User_Job_Name=Dec-DingTalk_User_Job_Name
Dec-Schedule-Notification_DingTalk=Dec-Schedule-Notification_DingTalk
Dec-Schedule-Notification_DingTalk_CorpID=Dec-Schedule-Notification_DingTalk_CorpID
Dec-Schedule-Notification_DingTalk_Users=Dec-Schedule-Notification_DingTalk_Users
Dec-Schedule-Notification_DingTalk_DepID=Dec-Schedule-Notification_DingTalk_DepID
Dec-Schedule-Notification_DingTalk_Content=Dec-Schedule-Notification_DingTalk_Content
Dec-Schedule-Notification_DingTalk_WithLink=Dec-Schedule-Notification_DingTalk_WithLink
Dec-Schedule_Mobile-Push-DingTalkId-Not-Null=Dec-Schedule_Mobile-Push-DingTalkId-Not-Null
Dec-DingTalk_UrlHint=Dec-DingTalk_UrlHint
Dec-DingTalk_Token_Path=Dec-DingTalk_Token_Path
Dec-DingTalk_Refresh_User=Dec-DingTalk_Refresh_User
Dec-DingTalk_Mobile=Dec-DingTalk_Mobile
Dec-DingTalk_Matching_Way=Dec-DingTalk_Matching_Way
Dec-DingTalk_Hint=Dec-DingTalk_Hint
Dec-DingTalk_Loading=Dec-DingTalk_Loading
Dec-DingTalk_Mobile_Not_Supported=Dec-DingTalk_Mobile_Not_Supported
Dec-DingTalk_Mobile-Push-DingTalk-Terminal=DingTalk
Dec-DingTalk_Addressee_Chat_Group=Dec-DingTalk_Addressee_Chat_Group
Dec-DingTalk_Addressee_Chat_Group_Disable_Tip=Dec-DingTalk_Addressee_Chat_Group_Disable_Tip
Dec-DingTalk_Mobile-Push-DingTalk-AgentId=AgentID
Dec-DingTalk_Expired_Error=Dec-DingTalk_Expired_Error
Dec-DingTalk_Expired_Solution=Dec-DingTalk_Expired_Solution
Dec-DingTalk_Agent-Management=Dec-DingTalk_Agent-Management
Dec-DingTalk_Member-Management=Dec-DingTalk_Member-Management
Dec-DingTalk_Agent-Config=Dec-DingTalk_Agent-Config
Dec-DingTalk_Agent-Name=Dec-DingTalk_Agent-Name
Dec-DingTalk_Agent-Id=Dec-DingTalk_Agent-Id
Dec-DingTalk_Organizational-Structure=Dec-DingTalk_Organizational-Structure
Dec-DingTalk_Tag=Dec-DingTalk_Tag
Dec-DingTalk_Server=Dec-DingTalk_Server
Dec-DingTalk_Save=Dec-DingTalk_Save
Dec-DingTalk_Start_With_Http=Dec-DingTalk_Start_With_Http
Dec-DingTalk_Server_Url=Dec-DingTalk_Server_Url
Dec-DingTalk_Server_Tip=Dec-DingTalk_Server_Tip
Dec-DingTalk_Enterprise-DingDing=Dec-DingTalk_Enterprise-DingDing
Dec-DingTalk_New-Agent=Dec-DingTalk_New-Agent
Dec-DingTalk_Non-Adapted-Agent=Dec-DingTalk_Non-Adapted-Agent
Dec-DingTalk_Modify-Agent=Dec-DingTalk_Modify-Agent
Dec-DingTalk_DeleteAgent-Confirm-Popup=Dec-DingTalk_DeleteAgent-Confirm-Popup
Dec-DingTalk_Confirm=Dec-DingTalk_Confirm
Dec-DingTalk_Cancel=Dec-DingTalk_Cancel
Dec-DingTalk_Save-Agent-Fail=Dec-DingTalk_Save-Agent-Fail
Dec-DingTalk_Unknown-Agent=Dec-DingTalk_Unknown-Agent
Dec-DingTalk_Agent-Name-Exist=Dec-DingTalk_Agent-Name-Exist
Dec-DingTalk_Match-Way=Dec-DingTalk_Match-Way
Dec-DingTalk_Match-Setting=Dec-DingTalk_Match-Setting
Dec-DingTalk_DataSet=Dec-DingTalk_DataSet
Dec-DingTalk_Address-Book=Dec-DingTalk_Address-Book
Dec-DingTalk_Member-Update=Dec-DingTalk_Member-Update
Dec-DingTalk_Set-Update=Dec-DingTalk_Set-Update
Dec-DingTalk_Not-Null=Dec-DingTalk_Not-Null
Dec-DingTalk_Start-Update=Dec-DingTalk_Start-Update
Dec-DingTalk_Per=Dec-DingTalk_Per
Dec-DingTalk_Day=Dec-DingTalk_Day
Dec-DingTalk_Week=Dec-DingTalk_Week
Dec-DingTalk_Monday=Dec-DingTalk_Monday
Dec-DingTalk_Tuesday=Dec-DingTalk_Tuesday
Dec-DingTalk_Wednesday=Dec-DingTalk_Wednesday
Dec-DingTalk_Thursday=Dec-DingTalk_Thursday
Dec-DingTalk_Friday=Dec-DingTalk_Friday
Dec-DingTalk_Saturday=Dec-DingTalk_Saturday
Dec-DingTalk_Sunday=Dec-DingTalk_Sunday
Dec-DingTalk_Hour=Dec-DingTalk_Hour
Dec-DingTalk_Minute=Dec-DingTalk_Minute
Dec-DingTalk_Update-Once=Dec-DingTalk_Update-Once
Dec-DingTalk_Illegal=Dec-DingTalk_Illegal
Dec-DingTalk_Proxy=Dec-DingTalk_Proxy
Dec-DingTalk_Proxy_Address=Dec-DingTalk_Proxy_Address
Dec-DingTalk_Proxy_Address_Tip=Dec-DingTalk_Proxy_Address_Tip
Dec-DingTalk_Test_And_Save-Proxy-Address=Dec-DingTalk_Test_And_Save-Proxy-Address
Dec-DingTalk_Start-With-Http=Dec-DingTalk_Start-With-Http
Dec-DingTalk_Test-Connection=Dec-DingTalk_Test-Connection
Dec-DingTalk_Connection-Success=Dec-DingTalk_Connection-Success
Dec-DingTalk_Connection-Fail=Dec-DingTalk_Connection-Fail
Dec-DingTalk_Unknown-Agent-Id=Dec-DingTalk_Unknown-Agent-Id
Dec-DingTalk_Delete-Agent-Fail=Dec-DingTalk_Delete-Agent-Fail
Dec-DingTalk_Agent-Id-Exist=Dec-DingTalk_Agent-Id-Exist
Dec-DingTalk_Save-ReportServer-Url-Fail=Dec-DingTalk_Save-ReportServer-Url-Fail
Dec-DingTalk_Save-Timing-Task-Fail=Dec-DingTalk_Save-Timing-Task-Fail
Dec-DingTalk_Error-AppKey-And-AppSecret=Dec-DingTalk_Error-AppKey-And-AppSecret
Dec-DingTalk_Error-AppKey-And-AgentId=Dec-DingTalk_Error-AppKey-And-AgentId
Dec-DingTalk_Duplicate-Agent-Name=Dec-DingTalk_Duplicate-Agent-Name
Dec-DingTalk_Save-Match-Method-Fail=Dec-DingTalk_Save-Match-Method-Fail
Dec-DingTalk_Duplicate-Agent-Id=Dec-DingTalk_Duplicate-Agent-Id
Dec-DingTalk_Save-Proxy-Server-Fail=Dec-DingTalk_Save-Proxy-Server-Fail
Dec-DingTalk_Connect-Proxy-Server-Fail=Dec-DingTalk_Connect-Proxy-Server-Fail
Dec-DingTalk_NetWork-Anomaly=Dec-DingTalk_NetWork-Anomaly
Dec-DingTalk_Create-DingTalk-Url=Dec-DingTalk_Create-DingTalk-Url
Dec-DingTalk_Platform-Page=Dec-DingTalk_Platform_Page
Dec-DingTalk_Platform-Report=Dec-DingTalk_Platform-Report
Dec-DingTalk_Platform=Dec-DingTalk_Platform
Dec-DingTalk_Parameter_Setting=Dec-DingTalk_Parameter_Setting
Dec-DingTalk_Create-Url=Dec-DingTalk_Create-Url
Dec-DingTalk_DingTalk_Url=Dec-DingTalk_DingTalk_Url
Dec-DingTalk_Copy-Url=Dec-DingTalk_Copy-Url
Dec-DingTalk_Copy-Success=Dec-DingTalk_Copy-Success
Dec-DingTalk_Input-Hint=Dec-DingTalk_Input-Hint
Dec-DingTalk_Save-User-Relation-Fail=Dec-DingTalk_Save-User-Relation-Fail
BI-Basic_Search=BI-Basic_Search
Dec-DingTalk_Match-Way-Not-Null=Dec-DingTalk_Match-Way-Not-Null
Dec-DingTalk_Not-Select=Dec-DingTalk_Not-Select
Dec-DingTalk_Tip-Get-ReportServer-Url-Fail=Dec-DingTalk_Tip-Get-ReportServer-Url-Fail
Dec-DingTalk_Create-Agent-Tip=Dec-DingTalk_Create-Agent-Tip
Dec-DingTalk_IP-Config-Not-Available=Dec-DingTalk_IP-Config-Not-Available
Dec-DingTalk_NetWork-Invalid=Dec-DingTalk_NetWork-Invalid
Dec-DingTalk_Not_Trusted_Domain_Error=Dec-DingTalk_Not_Trusted_Domain_Error
Dec-DingTalk_Not_Trusted_Domain_Exception=Dec-DingTalk_Not_Trusted_Domain_Exception
Dec-DingTalk_Debugger-Set-Level=Dec-DingTalk_Debugger-Set-Level
Dec-DingTalk_Debugger-Level=Dec-DingTalk_Debugger-Level
Dec-DingTalk_Debugger-Parameter-List=Dec-DingTalk_Debugger-Parameter-List
Dec-DingTalk_Debugger-Content=Dec-DingTalk_Debugger-Content
Dec-DingTalk_Debugger-Type-Get-Access-Token=Dec-DingTalk_Debugger-Type-Get-Access-Token
Dec-DingTalk_Debugger-Type-Check-Ip=Dec-DingTalk_Debugger-Type-Check-Ip
Dec-DingTalk_Debugger-Start-Check=Dec-DingTalk_Debugger-Start-Check
Dec-DingTalk_Debugger-Show-Result=Dec-DingTalk_Debugger-Show-Result
Dec-DingTalk_Debugger-Type-Check-Request-Time=Dec-DingTalk_Debugger-Type-Check-Request-Time
Dec-DingTalk_Debugger-Type-Check-Request-Time-Result=Dec-DingTalk_Debugger-Type-Check-Request-Time-Result
Dec-DingTalk_Debugger-Tip-Curl-Invalid=Dec-DingTalk_Debugger-Tip-Curl-Invalid
Dec-DingTalk_Debugger-DownLoad_Log=Dec-DingTalk_Debugger-DownLoad_Log
Dec-DingTalk_Click-To-Download=Dec-DingTalk_Click-To-Download
Dec-DingTalk_Download-Fail=Dec-DingTalk_Download-Fail
Dec-DingTalk_Not_Null=Dec-DingTalk_Not_Null
Dec-DingTalk_ErrorDetail=Dec-DingTalk_ErrorDetail
Dec-DingTalk_Debugger-Check-Ip-Result=Dec-DingTalk_Debugger-Check-Ip-Result
Dec-DingTalk_Debugger-Get-Token=Dec-DingTalk_Debugger-Get-Token
Dec-DingTalk_Agent_Deleted_Tip=Dec-DingTalk_Agent_Deleted_Tip
Dec-DingTalk_Parse_Parameters=Dec-DingTalk_Parse_Parameters
Dec-DingTalk_Parse_Parameters_Tip=Dec-DingTalk_Parse_Parameters_Tip
Dec-DingTalk_Enterprise_Agent=Dec-DingTalk_Enterprise_Agent
Dec-DingTalk_Chatgroup_Name=Dec-DingTalk_Chatgroup_Name
Dec-DingTalk_Chat_Group=Dec-DingTalk_Chat_Group
Dec-DingTalk_New_Chat_Group=Dec-DingTalk_New_Chat_Group
Dec-DingTalk_Delete_ChatGroup_Confirm=Dec-DingTalk_Delete_ChatGroup_Confirm
Dec-DingTalk_Chat_Group_Member_Tip=Dec-DingTalk_Chat_Group_Member_Tip
Dec-DingTalk_Chat_Group_Leader=Dec-DingTalk_Chat_Group_Leader
Dec-DingTalk_Chat_Group_Member=Dec-DingTalk_Chat_Group_Member
Dec-DingTalk_New_Chat_Group_Tip1=Dec-DingTalk_New_Chat_Group_Tip1
Dec-DingTalk_New_Chat_Group_Tip2=Dec-DingTalk_New_Chat_Group_Tip2
Dec-DingTalk_New_Chat_Group_Message=Dec-DingTalk_New_Chat_Group_Message
Dec-DingTalk_Common_Error_Tip=Dec-DingTalk_Common_Error_Tip
Dec-DingTalk_Chat_Group_Name_Length_Tip=Dec-DingTalk_Chat_Group_Name_Length_Tip
Dec-DingTalk_Create-Chat-Group-Fail=Dec-DingTalk_Create-Chat-Group-Fail
Dec-DingTalk_Output_User_Empty=Dec-DingTalk_Output_User_Empty
Dec-DingTalk_Message_Agent=Dec-DingTalk_Message_Agent
Dec-DingTalk_Message_Group=Dec-DingTalk_Message_Group
Dec-DingTalk_DingTalk=Dec-DingTalk_DingTalk
Dec-DingTalk_Output_User_Fail_Partly_Header=Dec-DingTalk_Output_User_Fail_Partly_Header
Dec-DingTalk_Output_User_Fail_Partly_Tip=Dec-DingTalk_Output_User_Fail_Partly_Tip
Dec-DingTalk_Output_Group_Fail_Partly_Header=Dec-DingTalk_Output_Group_Fail_Partly_Header
Dec-DingTalk_Output_Group_Fail_Partly_Tip=Dec-DingTalk_Output_Group_Fail_Partly_Tip
Dec-DingTalk_User_Match_Dec_User_Fail=Dec-DingTalk_User_Match_Dec_User_Fail

165
src/main/resources/com/fr/plugin/schedule/push/locale/dingtalk_en_US.properties

@ -0,0 +1,165 @@
Dec-Module-DingTalk_Manager=DingTalk Management
Dec-DingTalk_Basic=Basic
Dec-Schedule-Notification_DingTalk=Push DingTalk Message
Dec-Schedule-Notification_DingTalk_CorpID=App Agent ID\:
Dec-Schedule-Notification_DingTalk_Users=DingTalk Users\:
Dec-Schedule-Notification_DingTalk_DepID=Department ID\:
Dec-Schedule-Notification_DingTalk_Content=Message\:
Dec-Schedule-Notification_DingTalk_WithLink=Cpr Link
Dec-Schedule_Mobile-Push-DingTalkId-Not-Null=Please set which DingTalk app to push.
Dec-DingTalk_Recive_Data_URL=Recive Data Url
Dec-DingTalk_Corp_ID=DingTalk Corp ID
Dec-DingTalk_Secret=Management group document key
Dec-DingTalk_Member_Management=DingTalk member management
Dec-DingTalk_User-Same-With-FS=matching FS user according to the job number
Dec-DingTalk_Mobile-Same-With-FS=matching FS user according to the phone number
Dec-DingTalk_Manual-Matching-FS=matching FS user manually
Dec-DingTalk_Custom-Matching-FS=custom matching
Dec-DingTalk_UserID=DingTalk Member ID
Dec-DingTalk_DecUserName=User name
Dec-DingTalk_Name=Name
Dec-DingTalk_Department=DingTalk Department
Dec-DingTalk_UrlHint=Server Url\:
Dec-DingTalk_User_Job_Name=DingTalk Job Number
Dec-DingTalk_Token_Path=Token Path
Dec-DingTalk_Refresh_User=Refresh
Dec-DingTalk_Mobile=DingTalk member mobile
Dec-DingTalk_Matching_Way=The matching way to FS user
Dec-DingTalk_Hint=Hint
Dec-DingTalk_Loading=Loading users...
Dec-DingTalk_Mobile_Not_Supported=The html5 report does not support matching FS user by mobile, please upgrade your html5 plugin
Dec-DingTalk_Mobile-Push-DingTalk-Terminal=DingTalk
Dec-DingTalk_Addressee_Chat_Group=Push to DingTalk chat group
Dec-DingTalk_Addressee_Chat_Group_Disable_Tip=If the results are generated separately according to the users in the default user group, the dingtalk group cannot be notified
Dec-DingTalk_Mobile-Push-DingTalk-AgentId=AgentID
Dec-DingTalk_Expired_Error=Error Code\: 11100016 You are using unregistered function--DingTalk integration
Dec-DingTalk_Expired_Solution=DingTalk plugin is not registered. If necessary, please contact sales.
Dec-DingTalk_Agent-Management=Application managementaa
Dec-DingTalk_Member-Management=Member management
Dec-DingTalk_Agent-Config=Application shortcut configuration
Dec-DingTalk_Agent-Name=Name
Dec-DingTalk_Agent-Id=AgentID
Dec-DingTalk_Organizational-Structure=organizational structure
Dec-DingTalk_Tag=Tag
Dec-DingTalk_Server=Server
Dec-DingTalk_Save=Save
Dec-DingTalk_Start_With_Http=The server address must begin with HTTP or HTTPS
Dec-DingTalk_Server_Url=Server address
Dec-DingTalk_Server_Tip=1.This address is the address of the application server where fansoft is to access the proxy server, that is, the forward proxy address, so that fansoft application server can access the external spike server through the proxy server;\n2.The address format is http://domain name: Port
Dec-DingTalk_Enterprise-DingDing=Enterprise dingding
Dec-DingTalk_New-Agent=New dingtalk application
Dec-DingTalk_Non-Adapted-Agent=Prompt: Please confirm whether the application of ID is correct
Dec-DingTalk_Modify-Agent=Modified dingtalk application
Dec-DingTalk_DeleteAgent-Confirm-Popup=Determine to delete the enterprise dingtalk application
Dec-DingTalk_Confirm=Confirm
Dec-DingTalk_Cancel=Cancel
Dec-DingTalk_Save-Agent-Fail=Save agent fail
Dec-DingTalk_Unknown-Agent=Network anomaly or please confirm that the CorpId and Secret that are currently used are correct.
Dec-DingTalk_Agent-Name-Exist=The application name has already existed
Dec-DingTalk_Match-Way=Matching method
Dec-DingTalk_Match-Setting=Matching settings
Dec-DingTalk_DataSet=Data set
Dec-DingTalk_Address-Book=Dingtalk address book
Dec-DingTalk_Member-Update=Refresh
Dec-DingTalk_Set-Update=Setting auto update
Dec-DingTalk_Not-Null=Not allowed to be empty
Dec-DingTalk_Start-Update=Enable automatic update
Dec-DingTalk_Per=Per
Dec-DingTalk_Day=Day
Dec-DingTalk_Week=Week
Dec-DingTalk_Monday=Monday
Dec-DingTalk_Tuesday=Tuesday
Dec-DingTalk_Wednesday=Wednesday
Dec-DingTalk_Thursday=Thursday
Dec-DingTalk_Friday=Friday
Dec-DingTalk_Saturday=Saturday
Dec-DingTalk_Sunday=Sunday
Dec-DingTalk_Hour=Hour
Dec-DingTalk_Minute=Minute
Dec-DingTalk_Update-Once=to update once
Dec-DingTalk_Illegal=Illegal
Dec-DingTalk_Proxy=Dingtalk proxy jump
Dec-DingTalk_Proxy_Address=Proxy address
Dec-DingTalk_Proxy_Address_Tip=1.This address will be used to generate platform single point links, template single point links, and push result links in quick configuration;\n2.This address needs to be accessible through the Internet. The address format is http://Domain Name: port/decision or https://domain name: port/decision. Please save after configuration
Dec-DingTalk_Test_And_Save-Proxy-Address=
Dec-DingTalk_Start-With-Http=The server address must begin with HTTP or HTTPS
Dec-DingTalk_Test-Connection=Test the connection...
Dec-DingTalk_Connection-Success=Connection success
Dec-DingTalk_Connection-Fail=Connection failed
Dec-DingTalk_Unknown-Agent-Id=Incorrect application of ID
Dec-DingTalk_Delete-Agent-Fail=Delete application failure
Dec-DingTalk_Agent-Id-Exist=The application of ID has already existed
Dec-DingTalk_Save-ReportServer-Url-Fail=Save server address failure
Dec-DingTalk_Save-Timing-Task-Fail=Save time task failure
Dec-DingTalk_Error-AppKey-And-AppSecret=Please verify that the AppKey and AppSecret currently used are correct.
Dec-DingTalk_Error-AppKey-And-AgentId=Please confirm whether the current application ID and AppKey is corresponding
Dec-DingTalk_Duplicate-Agent-Name=The application name has already existed
Dec-DingTalk_Save-Match-Method-Fail=Storage members manage configuration information failure
Dec-DingTalk_Duplicate-Agent-Id=The application of ID has already existed
Dec-DingTalk_Save-Proxy-Server-Fail=Save the proxy server failure
Dec-DingTalk_Connect-Proxy-Server-Fail=Test connection failure of nail proxy server
Dec-DingTalk_NetWork-Anomaly=Network exception, please check the network configuration
Dec-DingTalk_Create-DingTalk-Url=Generating DingTalk links
Dec-DingTalk_Platform-Page=Link page
Dec-DingTalk_Platform-Report=A single model
Dec-DingTalk_Platform=Decision platform
Dec-DingTalk_Parameter_Setting=Set Parameter
Dec-DingTalk_Create-Url=Generating link
Dec-DingTalk_DingTalk_Url=DingTalk link
Dec-DingTalk_Copy-Url=Copy
Dec-DingTalk_Copy-Success=Replicating success
Dec-DingTalk_Input-Hint=Please enter
Dec-DingTalk_Save-User-Relation-Fail=Manual matching failure
BI-Basic_Search=search
Dec-DingTalk_Match-Way-Not-Null=Matching settings can not be empty
Dec-DingTalk_Not-Select=No select
Dec-DingTalk_Tip-Get-ReportServer-Url-Fail=Please configure the server address
Dec-DingTalk_Create-Agent-Tip=If there is no AppKey, please fill in CorpId and CorpSecret in Appkey and AppSecret respectively.
Dec-DingTalk_IP-Config-Not-Available=Access IP is not on the whitelist
Dec-DingTalk_NetWork-Invalid=Network anomaly
Dec-DingTalk_Not_Trusted_Domain_Error=Error code: 11205040, the redirectUrl domain name is inconsistent with the background configuration
Dec-DingTalk_Not_Trusted_Domain_Exception=Check whether the domain name and report server address are consistent
Dec-DingTalk_Debugger-Set-Level=
Dec-DingTalk_Debugger-Level=
Dec-DingTalk_Debugger-Parameter-List=
Dec-DingTalk_Debugger-Content=
Dec-DingTalk_Debugger-Type-Get-Access-Token=
Dec-DingTalk_Debugger-Type-Check-Ip=
Dec-DingTalk_Debugger-Start-Check=
Dec-DingTalk_Debugger-Show-Result=
Dec-DingTalk_Debugger-Type-Check-Request-Time=Test request time consuming
Dec-DingTalk_Debugger-Type-Check-Request-Time-Result=Detection result
Dec-DingTalk_Debugger-Tip-Curl-Invalid=Tip: if the server system is windows, you need to install curl tool to support detection
Dec-DingTalk_Debugger-DownLoad_Log=Download log
Dec-DingTalk_Click-To-Download=Click To Download
Dec-DingTalk_Download-Fail=Download failed
Dec-DingTalk_Not_Null=
Dec-DingTalk_ErrorDetail=
Dec-DingTalk_Debugger-Check-Ip-Result=
Dec-DingTalk_Debugger-Get-Token=
Dec-DingTalk_Agent_Deleted_Tip=
Dec-DingTalk_Parse_Parameters=
Dec-DingTalk_Parse_Parameters_Tip=
Dec-DingTalk_Enterprise_Agent=DingTalk agent
Dec-DingTalk_Chatgroup_Name=DingTalk chat group name
Dec-DingTalk_Chat_Group=DingTalk chat group
Dec-DingTalk_New_Chat_Group=Create DingTalk chat group
Dec-DingTalk_Delete_ChatGroup_Confirm=Confirm delete?
Dec-DingTalk_Chat_Group_Member_Tip=No less than 2 person except group leader
Dec-DingTalk_Chat_Group_Leader=Group leader
Dec-DingTalk_Chat_Group_Member=Group member
Dec-DingTalk_New_Chat_Group_Tip1=
Dec-DingTalk_New_Chat_Group_Tip2=
Dec-DingTalk_New_Chat_Group_Message=You have joined the group chat
Dec-DingTalk_Common_Error_Tip=An error occurred. The error code is:
Dec-DingTalk_Chat_Group_Name_Length_Tip=The group name is limited to 20 characters
Dec-DingTalk_Create-Chat-Group-Fail=Failed to create dingtalk group
Dec-DingTalk_Output_User_Empty=
Dec-DingTalk_Message_Agent=
Dec-DingTalk_Message_Group=
Dec-DingTalk_DingTalk=
Dec-DingTalk_Output_User_Fail_Partly_Header=
Dec-DingTalk_Output_User_Fail_Partly_Tip=
Dec-DingTalk_Output_Group_Fail_Partly_Header=
Dec-DingTalk_Output_Group_Fail_Partly_Tip=
Dec-DingTalk_User_Match_Dec_User_Fail=

165
src/main/resources/com/fr/plugin/schedule/push/locale/dingtalk_ja_JP.properties

@ -0,0 +1,165 @@
Dec-Module-DingTalk_Manager=\u30DE\u30A4\u30AF\u30ED\u4FE1\u7BA1\u7406
Dec-DingTalk_Basic=\u57FA\u672C\u60C5\u5831
Dec-Schedule-Notification_DingTalk=\u30D7\u30C3\u30B7\u30E5\u9489\u9489\u30CB\u30E5\u30FC\u30B9
Dec-Schedule-Notification_DingTalk_CorpID=\u5FDC\u7528AgentID\uFF1A
Dec-Schedule-Notification_DingTalk_Users=\u9489\u9489\u30E6\u30FC\u30B6\u30FC\uFF1A
Dec-Schedule-Notification_DingTalk_DepID=\u90E8\u9580ID\uFF1A
Dec-Schedule-Notification_DingTalk_Content=\u30CB\u30E5\u30FC\u30B9\u306E\u5185\u5BB9\uFF1A
Dec-Schedule-Notification_DingTalk_WithLink=\u6642\u9650\u7D50\u679C\u8A2A\u554F\u30EA\u30F3\u30AF
Dec-Schedule_Mobile-Push-DingTalkId-Not-Null=\u30C4\u30A4\u30C3\u30BF\u30FC\u3092\u30BB\u30C3\u30C8\u3057\u3066\u4E0B\u3055\u3044
Dec-DingTalk_Recive_Data_URL=\u53D7\u4FE1\u30C7\u30FC\u30BFURL
Dec-DingTalk_Corp_ID=\u9489\u9489\u30A8\u30F3\u30BF\u30FC\u30D7\u30E9\u30A4\u30BAID
Dec-DingTalk_Secret=\u7BA1\u7406\u30B0\u30EB\u30FC\u30D7\u8A3C\u6191\u30AD\u30FC
Dec-DingTalk_Member_Management=\u9489\u9489\u30E1\u30F3\u30D0\u30FC\u7BA1\u7406
Dec-DingTalk_User-Same-With-FS=\u91D8\u6253\u3061\u5DE5\u53F7\u306B\u3088\u308B\u30DE\u30C3\u30C1\u30F3\u30B0
Dec-DingTalk_Mobile-Same-With-FS=\u96FB\u8A71\u306B\u3088\u308B\u30DE\u30C3\u30C1\u30F3\u30B0
Dec-DingTalk_Manual-Matching-FS=\u624B\u52D5\u306B\u6574\u5408
Dec-DingTalk_Custom-Matching-FS=\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA
Dec-DingTalk_UserID=\u91D8\u91D8\u30E1\u30F3\u30D0\u30FCID
Dec-DingTalk_DecUserName=\u30E6\u30FC\u30B6\u540D
Dec-DingTalk_Name=\u6C0F\u540D
Dec-DingTalk_Department=\u9489\u9489\u90E8\u9580
Dec-DingTalk_UrlHint=\u30B5\u30FC\u30D0\u30FC\u306EUrl\u4FDD\u5B58
Dec-DingTalk_User_Job_Name=\u91D8\u6253\u3061\u5DE5\u53F7
Dec-DingTalk_Token_Path=\u8A2D\u7F6EToken\u53D6\u5F97\u7D4C\u8DEF
Dec-DingTalk_Refresh_User=\u66F4\u65B0\u901A\u4FE1\u9332
Dec-DingTalk_Mobile=\u9489\u9489\u30E1\u30F3\u30D0\u30FC\u306E\u96FB\u8A71
Dec-DingTalk_Matching_Way=\u30DE\u30C3\u30C1\u30F3\u30B0\u65B9\u5F0F
Dec-DingTalk_Hint=\u30D2\u30F3\u30C8
Dec-DingTalk_Loading=\u30ED\u30FC\u30C9\u4E2D...
Dec-DingTalk_Mobile_Not_Supported=HTML5\u30B0\u30E9\u30D5\u306F\u643A\u5E2F\u756A\u53F7\u3068\u30DE\u30C3\u30C1\u3059\u308B\u306E\u306F\u30B5\u30DD\u30FC\u30C8\u3057\u307E\u305B\u3093\u3001HTML5\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002
Dec-DingTalk_Mobile-Push-DingTalk-Terminal=\u91D8\u4ED8\u3051\u306E\u901A\u77E5
Dec-DingTalk_Addressee_Chat_Group=
Dec-DingTalk_Addressee_Chat_Group_Disable_Tip=
Dec-DingTalk_Mobile-Push-DingTalk-AgentId=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3ID
Dec-DingTalk_Expired_Error=\u30A8\u30E9\u30FC\u30B3\u30FC\u30C9\:11100016 \u672A\u767B\u9332\u306E\u6A5F\u80FD\u304C\u4F7F\u7528\u3055\u308C\u307E\u3057\u305F--DingTalk\u96C6\u7A4D
Dec-DingTalk_Expired_Solution=\u91D8\u4ED8\u3051\u6A5F\u80FD\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u306A\u3044\u306E\u3067\u3001\u3054\u5229\u7528\u306E\u3088\u3046\u306B\u3054\u9023\u7D61\u304F\u3060\u3055\u3044
Dec-DingTalk_Agent-Management=\u5FDC\u7528\u7BA1\u7406
Dec-DingTalk_Member-Management=\u30E1\u30F3\u30D0\u30FC\u7BA1\u7406
Dec-DingTalk_Agent-Config=\u5FDC\u7528\u30B7\u30E7\u30FC\u30C8\u30AB\u30C3\u30C8\u3092\u5FDC\u7528\u3059\u308B
Dec-DingTalk_Agent-Name=\u5FDC\u7528\u540D
Dec-DingTalk_Agent-Id=\u91D8\u3065\u3051ID
Dec-DingTalk_Organizational-Structure=\u7D44\u7E54\u69CB\u9020
Dec-DingTalk_Tag=\u30E9\u30D9\u30EB
Dec-DingTalk_Server=\u30B5\u30FC\u30D0
Dec-DingTalk_Save=\u4FDD\u5B58
Dec-DingTalk_Start_With_Http=\u30B5\u30FC\u30D0\u30FC\u306E\u30A2\u30C9\u30EC\u30B9\u306F\u3001http :/ tpp\u3092\u59CB\u3081\u306A\u3051\u308C\u3070\u306A\u3089\u306A\u3044
Dec-DingTalk_Server_Url=\u30B5\u30FC\u30D0\u306E\u30A2\u30C9\u30EC\u30B9
Dec-DingTalk_Server_Tip=
Dec-DingTalk_Enterprise-DingDing=\u4F01\u696D\u306E\u91D8
Dec-DingTalk_New-Agent=\u65B0\u7BC9\u306E\u91D8\u4ED8\u3051
Dec-DingTalk_Non-Adapted-Agent=\u30D2\u30F3\u30C8\uFF1A\u4F7F\u7528id\u304C\u6B63\u3057\u3044\u304B\u3069\u3046\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044
Dec-DingTalk_Modify-Agent=\u91D8\u4ED8\u3051\u3092\u4FEE\u6B63\u3059\u308B
Dec-DingTalk_DeleteAgent-Confirm-Popup=\u3053\u306E\u4F01\u696D\u306E\u91D8\u4ED8\u3051\u306E\u524A\u9664\u3092\u78BA\u5B9A\u3059\u308B
Dec-DingTalk_Confirm=\u78BA\u5B9A
Dec-DingTalk_Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB
Dec-DingTalk_Save-Agent-Fail=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u4FDD\u5B58\u3057\u3066\u5931\u6557\u3059\u308B
Dec-DingTalk_Unknown-Agent=\u30CD\u30C3\u30C8\u306E\u7570\u5E38\u3084\u3054\u78BA\u8A8D\u304F\u3060\u3055\u3044\u5F53\u9762\u4F7F\u7528\u306ECorpId\u3068Secret\u304C\u6B63\u3057\u3044\u304B\u3069\u3046\u304B
Dec-DingTalk_Agent-Name-Exist=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059
Dec-DingTalk_Match-Way=\u30DE\u30C3\u30C1\u30F3\u30B0\u65B9\u5F0F
Dec-DingTalk_Match-Setting=\u6574\u5408\u8A2D\u5B9A
Dec-DingTalk_DataSet=\u30C7\u30FC\u30BF\u96C6
Dec-DingTalk_Address-Book=\u91D8\u3092\u6253\u3064
Dec-DingTalk_Member-Update=\u3059\u3050\u306B\u66F4\u65B0\u3059\u308B
Dec-DingTalk_Set-Update=\u81EA\u52D5\u66F4\u65B0\u3092\u8A2D\u5B9A
Dec-DingTalk_Not-Null=\u7A7A\u306E\u305F\u3081\u306B\u306F\u8A31\u3055\u308C\u306A\u3044
Dec-DingTalk_Start-Update=\u81EA\u52D5\u66F4\u65B0\u3092\u6709\u52B9\u306B\u3059\u308B
Dec-DingTalk_Per=\u3059\u3079\u3066
Dec-DingTalk_Day=\u65E5
Dec-DingTalk_Week=\u9031\u9593
Dec-DingTalk_Monday=\u6708\u66DC\u65E5
Dec-DingTalk_Tuesday=\u706B\u66DC\u65E5
Dec-DingTalk_Wednesday=\u6C34\u66DC\u65E5
Dec-DingTalk_Thursday=\u6728\u66DC\u65E5
Dec-DingTalk_Friday=\u91D1\u66DC\u65E5
Dec-DingTalk_Saturday=\u571F\u66DC\u65E5
Dec-DingTalk_Sunday=\u65E5\u66DC\u65E5
Dec-DingTalk_Hour=\u6642
Dec-DingTalk_Minute=\u5206
Dec-DingTalk_Update-Once=\u30BF\u30A4\u30DF\u30F3\u30B0\u306E\u540C\u671F
Dec-DingTalk_Illegal=\u5408\u6CD5\u7684\u3067\u306A\u3044
Dec-DingTalk_Proxy=\u91D8\u4ED8\u3051\u4EE3\u7406
Dec-DingTalk_Proxy_Address=\u30B5\u30FC\u30D0\u30FC\u306E\u30A2\u30C9\u30EC\u30B9
Dec-DingTalk_Proxy_Address_Tip=
Dec-DingTalk_Test_And_Save-Proxy-Address=
Dec-DingTalk_Start-With-Http=\u30B5\u30FC\u30D0\u30FC\u306E\u30A2\u30C9\u30EC\u30B9\u306F\u3001http :/ tpp\u3092\u59CB\u3081\u306A\u3051\u308C\u3070\u306A\u3089\u306A\u3044
Dec-DingTalk_Test-Connection=\u30C6\u30B9\u30C8\u63A5\u7D9A\u4E2D...
Dec-DingTalk_Connection-Success=\u63A5\u7D9A\u304C\u6210\u529F\u3059\u308B
Dec-DingTalk_Connection-Fail=\u63A5\u7D9A\u5931\u6557
Dec-DingTalk_Unknown-Agent-Id=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3ID\u304C\u6B63\u3057\u304F\u306A\u3044
Dec-DingTalk_Delete-Agent-Fail=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
Dec-DingTalk_Agent-Id-Exist=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3ID\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059
Dec-DingTalk_Save-ReportServer-Url-Fail=\u30B5\u30FC\u30D0\u30A2\u30C9\u30EC\u30B9\u306E\u4FDD\u5B58\u306B\u5931\u6557\u3059\u308B
Dec-DingTalk_Save-Timing-Task-Fail=\u30BF\u30A4\u30E0\u30BF\u30B9\u30AF\u306E\u5931\u6557\u3092\u4FDD\u5B58\u3059\u308B
Dec-DingTalk_Error-AppKey-And-AppSecret=\u73FE\u5728\u4F7F\u7528\u3055\u308C\u3066\u3044\u308BAppKey\u3068AppSecret\u304C\u6B63\u3057\u3044\u304B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
Dec-DingTalk_Error-AppKey-And-AgentId=\u73FE\u5728\u306E\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3ID\u3068AppKey\u306E\u5BFE\u5FDC\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044
Dec-DingTalk_Duplicate-Agent-Name=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059
Dec-DingTalk_Save-Match-Method-Fail=\u30E1\u30F3\u30D0\u30FC\u7BA1\u7406\u914D\u7F6E\u60C5\u5831\u306E\u5931\u6557
Dec-DingTalk_Duplicate-Agent-Id=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3ID\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059
Dec-DingTalk_Save-Proxy-Server-Fail=\u4EE3\u7406\u30B5\u30FC\u30D0\u306E\u4FDD\u5B58\u306B\u5931\u6557\u3057\u305F
Dec-DingTalk_Connect-Proxy-Server-Fail=\u91D8\u4ED8\u3051\u4EE3\u7406\u30B5\u30FC\u30D0\u30FC\u30C6\u30B9\u30C8\u63A5\u7D9A\u5931\u6557
Dec-DingTalk_NetWork-Anomaly=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u7570\u5E38\u306F\u3001\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306E\u914D\u7F6E\u3092\u30C1\u30A7\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044
Dec-DingTalk_Create-DingTalk-Url=\u30EA\u30F3\u30AF\u3092\u751F\u6210\u3059\u308B
Dec-DingTalk_Platform-Page=\u30EA\u30F3\u30AF\u30DA\u30FC\u30B8
Dec-DingTalk_Platform-Report=\u5358\u4E00\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8
Dec-DingTalk_Platform=\u6C7A\u5B9A\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0
Dec-DingTalk_Parameter_Setting=\u30D1\u30E9\u30E1\u30FC\u30BF\u8A2D\u5B9A
Dec-DingTalk_Create-Url=\u30EA\u30F3\u30AF\u3092\u751F\u6210
Dec-DingTalk_DingTalk_Url=\u30EA\u30F3\u30AF\u3092\u6253\u3064
Dec-DingTalk_Copy-Url=\u30B3\u30D4\u30FC\u3059\u308B
Dec-DingTalk_Copy-Success=\u30B3\u30D4\u30FC\u6210\u529F
Dec-DingTalk_Input-Hint=\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
Dec-DingTalk_Save-User-Relation-Fail=\u624B\u52D5\u4E00\u81F4\u5931\u6557
BI-Basic_Search=\u691C\u7D22
Dec-DingTalk_Match-Way-Not-Null=\u6574\u5408\u8A2D\u5B9A\u304C\u7A7A\u3051\u306A\u3044
Dec-DingTalk_Not-Select=\u9078\u3070\u306A\u3044
Dec-DingTalk_Tip-Get-ReportServer-Url-Fail=\u30B5\u30FC\u30D0\u30FC\u306E\u30A2\u30C9\u30EC\u30B9\u3092\u914D\u7F6E\u3057\u3066\u304F\u3060\u3055\u3044
Dec-DingTalk_Create-Agent-Tip=CorpId\u3068CorpSecret\u306E\u8A18\u5165\u306F\u3001CorpId\u3068CorpSecret\u306B\u6DFB\u4ED8\u3055\u308C\u3066\u3044\u307E\u3059\u3002
Dec-DingTalk_IP-Config-Not-Available=\u30A2\u30AF\u30BB\u30B9IP\u304C\u767D\u306E\u30EA\u30B9\u30C8\u306B\u306F\u3042\u308A\u307E\u305B\u3093
Dec-DingTalk_NetWork-Invalid=\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u7570\u5E38
Dec-DingTalk_Not_Trusted_Domain_Error=\u30A8\u30E9\u30FC\u30B3\u30FC\u30C9\uFF1A11205040,redirectUrl\u30C9\u30E1\u30A4\u30F3\u540D\u3068\u30D0\u30C3\u30AF\u30B0\u30E9\u30A6\u30F3\u30C9\u69CB\u6210\u304C\u4E00\u81F4\u3057\u3066\u3044\u307E\u305B\u3093\u3002
Dec-DingTalk_Not_Trusted_Domain_Exception=\u30C9\u30E1\u30A4\u30F3\u540D\u3068\u30B5\u30FC\u30D0\u30FC\u30A2\u30C9\u30EC\u30B9\u304C\u4E00\u81F4\u3057\u3066\u3044\u308B\u304B\u78BA\u8A8D\u3057\u307E\u3059
Dec-DingTalk_Debugger-Set-Level=
Dec-DingTalk_Debugger-Level=
Dec-DingTalk_Debugger-Parameter-List=
Dec-DingTalk_Debugger-Content=
Dec-DingTalk_Debugger-Type-Get-Access-Token=
Dec-DingTalk_Debugger-Type-Check-Ip=
Dec-DingTalk_Debugger-Start-Check=
Dec-DingTalk_Debugger-Show-Result=
Dec-DingTalk_Debugger-Type-Check-Request-Time=
Dec-DingTalk_Debugger-Type-Check-Request-Time-Result=
Dec-DingTalk_Debugger-Tip-Curl-Invalid=
Dec-DingTalk_Debugger-DownLoad_Log=
Dec-DingTalk_Click-To-Download=
Dec-DingTalk_Download-Fail=
Dec-DingTalk_Not_Null=
Dec-DingTalk_ErrorDetail=
Dec-DingTalk_Debugger-Check-Ip-Result=
Dec-DingTalk_Debugger-Get-Token=
Dec-DingTalk_Agent_Deleted_Tip=
Dec-DingTalk_Parse_Parameters=
Dec-DingTalk_Parse_Parameters_Tip=
Dec-DingTalk_Enterprise_Agent=
Dec-DingTalk_Chatgroup_Name=
Dec-DingTalk_Chat_Group=
Dec-DingTalk_New_Chat_Group=
Dec-DingTalk_Delete_ChatGroup_Confirm=
Dec-DingTalk_Chat_Group_Member_Tip=
Dec-DingTalk_Chat_Group_Leader=
Dec-DingTalk_Chat_Group_Member=
Dec-DingTalk_New_Chat_Group_Tip1=
Dec-DingTalk_New_Chat_Group_Tip2=
Dec-DingTalk_New_Chat_Group_Message=
Dec-DingTalk_Common_Error_Tip=
Dec-DingTalk_Chat_Group_Name_Length_Tip=
Dec-DingTalk_Create-Chat-Group-Fail=
Dec-DingTalk_Output_User_Empty=
Dec-DingTalk_Message_Agent=
Dec-DingTalk_Message_Group=
Dec-DingTalk_DingTalk=
Dec-DingTalk_Output_User_Fail_Partly_Header=
Dec-DingTalk_Output_User_Fail_Partly_Tip=
Dec-DingTalk_Output_Group_Fail_Partly_Header=
Dec-DingTalk_Output_Group_Fail_Partly_Tip=
Dec-DingTalk_User_Match_Dec_User_Fail=

165
src/main/resources/com/fr/plugin/schedule/push/locale/dingtalk_zh_CN.properties

@ -0,0 +1,165 @@
Dec-Module-DingTalk_Manager=\u9489\u9489\u7BA1\u7406
Dec-DingTalk_Basic=\u57FA\u672C\u4FE1\u606F
Dec-Schedule-Notification_DingTalk=\u63A8\u9001\u9489\u9489\u6D88\u606F
Dec-Schedule-Notification_DingTalk_CorpID=\u5E94\u7528AgentID\uFF1A
Dec-Schedule-Notification_DingTalk_Users=\u9489\u9489\u7528\u6237\uFF1A
Dec-Schedule-Notification_DingTalk_DepID=\u90E8\u95E8ID\uFF1A
Dec-Schedule-Notification_DingTalk_Content=\u6D88\u606F\u5185\u5BB9\uFF1A
Dec-Schedule-Notification_DingTalk_WithLink=\u5B9A\u65F6\u7ED3\u679C\u8BBF\u95EE\u94FE\u63A5
Dec-Schedule_Mobile-Push-DingTalkId-Not-Null=\u8BF7\u8BBE\u7F6E\u63A8\u9001\u7684\u9489\u9489\u5E94\u7528
Dec-DingTalk_Recive_Data_URL=\u63A5\u6536\u6570\u636EURL
Dec-DingTalk_Corp_ID=\u9489\u9489\u4F01\u4E1A\u53F7ID
Dec-DingTalk_Secret=\u7BA1\u7406\u7EC4\u51ED\u8BC1\u5BC6\u94A5
Dec-DingTalk_Member_Management=\u9489\u9489\u6210\u5458\u7BA1\u7406
Dec-DingTalk_User-Same-With-FS=\u9489\u9489\u5DE5\u53F7\u5339\u914D
Dec-DingTalk_Mobile-Same-With-FS=\u624B\u673A\u53F7\u5339\u914D
Dec-DingTalk_Manual-Matching-FS=\u624B\u52A8\u5339\u914D
Dec-DingTalk_Custom-Matching-FS=\u81EA\u5B9A\u4E49\u5339\u914D
Dec-DingTalk_UserID=\u9489\u9489\u6210\u5458ID
Dec-DingTalk_DecUserName=\u7528\u6237\u540D
Dec-DingTalk_Name=\u59D3\u540D
Dec-DingTalk_Department=\u9489\u9489\u90E8\u95E8
Dec-DingTalk_UrlHint=\u670D\u52A1\u5668\u4FDD\u5B58\u7684Url\uFF1A
Dec-DingTalk_User_Job_Name=\u9489\u9489\u5DE5\u53F7
Dec-DingTalk_Token_Path=\u8BBE\u7F6EToken\u83B7\u53D6\u8DEF\u5F84
Dec-DingTalk_Refresh_User=\u66F4\u65B0\u901A\u8BAF\u5F55
Dec-DingTalk_Mobile=\u9489\u9489\u6210\u5458\u624B\u673A\u53F7
Dec-DingTalk_Matching_Way=\u7528\u6237\u5339\u914D\u65B9\u5F0F
Dec-DingTalk_Hint=\u63D0\u793A
Dec-DingTalk_Loading=\u6B63\u5728\u52A0\u8F7D\u7528\u6237...
Dec-DingTalk_Mobile_Not_Supported=\u5F53\u524DHTML5\u62A5\u8868\u4E0D\u652F\u6301\u6839\u636E\u624B\u673A\u53F7\u5339\u914D\uFF0C\u8BF7\u5347\u7EA7HTML5\u63D2\u4EF6
Dec-DingTalk_Mobile-Push-DingTalk-Terminal=\u9489\u9489\u901A\u77E5
Dec-DingTalk_Addressee_Chat_Group=\u9489\u9489\u7FA4
Dec-DingTalk_Addressee_Chat_Group_Disable_Tip=\u5982\u679C\u6839\u636E\u9ED8\u8BA4\u7528\u6237\u7EC4\u5185\u7684\u7528\u6237\u5355\u72EC\u751F\u6210\u7ED3\u679C\uFF0C\u5219\u65E0\u6CD5\u901A\u77E5\u5230\u9489\u9489\u7FA4
Dec-DingTalk_Mobile-Push-DingTalk-AgentId=\u5E94\u7528ID
Dec-DingTalk_Expired_Error=\u9519\u8BEF\u4EE3\u7801:11100016 \u60A8\u4F7F\u7528\u4E86\u672A\u6CE8\u518C\u7684\u529F\u80FD\u2014\u2014\u9489\u9489\u96C6\u6210
Dec-DingTalk_Expired_Solution=\u9489\u9489\u529F\u80FD\u672A\u6CE8\u518C\uFF0C\u5982\u9700\u4F7F\u7528\u8BF7\u8054\u7CFB\u9500\u552E
Dec-DingTalk_Agent-Management=\u5E94\u7528\u7BA1\u7406
Dec-DingTalk_Member-Management=\u6210\u5458\u7BA1\u7406
Dec-DingTalk_Agent-Config=\u5E94\u7528\u5FEB\u6377\u914D\u7F6E
Dec-DingTalk_Agent-Name=\u9489\u9489\u5E94\u7528\u540D\u79F0
Dec-DingTalk_Agent-Id=\u9489\u9489\u5E94\u7528ID
Dec-DingTalk_Organizational-Structure=\u7EC4\u7EC7\u67B6\u6784
Dec-DingTalk_Tag=\u6807\u7B7E
Dec-DingTalk_Server=\u670D\u52A1\u5668
Dec-DingTalk_Save=\u4FDD\u5B58
Dec-DingTalk_Start_With_Http=\u670D\u52A1\u5668\u5730\u5740\u5FC5\u987B\u4EE5http\u6216https\u5F00\u5934
Dec-DingTalk_Server_Url=\u670D\u52A1\u5668\u5730\u5740
Dec-DingTalk_Server_Tip=1\u3001\u8BE5\u5730\u5740\u5C06\u7528\u4E8E\u5FEB\u6377\u914D\u7F6E\u4E2D\u751F\u6210\u5E73\u53F0\u5355\u70B9\u94FE\u63A5\u3001\u6A21\u677F\u5355\u70B9\u94FE\u63A5\uFF0C\u4EE5\u53CA\u63A8\u9001\u7684\u7ED3\u679C\u94FE\u63A5\uFF1B\n2\u3001\u8BE5\u5730\u5740\u9700\u8981\u5916\u7F51\u53EF\u8BBF\u95EE\uFF0C\u5730\u5740\u683C\u5F0F\u4E3Ahttp://\u57DF\u540D:\u7AEF\u53E3/decision\u6216https://\u57DF\u540D:\u7AEF\u53E3/decision\uFF0C\u914D\u7F6E\u540E\u8BF7\u4FDD\u5B58
Dec-DingTalk_Enterprise-DingDing=\u4F01\u4E1A\u9489\u9489
Dec-DingTalk_New-Agent=\u65B0\u5EFA\u9489\u9489\u5E94\u7528
Dec-DingTalk_Non-Adapted-Agent=\u63D0\u793A\uFF1A\u8BF7\u786E\u8BA4\u5E94\u7528id\u662F\u5426\u6B63\u786E
Dec-DingTalk_Modify-Agent=\u4FEE\u6539\u9489\u9489\u5E94\u7528
Dec-DingTalk_DeleteAgent-Confirm-Popup=\u786E\u5B9A\u5220\u9664\u6B64\u4F01\u4E1A\u9489\u9489\u5E94\u7528
Dec-DingTalk_Confirm=\u786E\u5B9A
Dec-DingTalk_Cancel=\u53D6\u6D88
Dec-DingTalk_Save-Agent-Fail=\u5B58\u50A8\u5E94\u7528\u4FE1\u606F\u5931\u8D25
Dec-DingTalk_Unknown-Agent=\u7F51\u7EDC\u5F02\u5E38\u6216\u8005\u8BF7\u786E\u8BA4\u5F53\u524D\u4F7F\u7528\u7684CorpId\u548CSecret\u662F\u5426\u6B63\u786E
Dec-DingTalk_Agent-Name-Exist=\u5E94\u7528\u540D\u79F0\u5DF2\u5B58\u5728
Dec-DingTalk_Match-Way=\u5339\u914D\u65B9\u5F0F
Dec-DingTalk_Match-Setting=\u5339\u914D\u8BBE\u7F6E
Dec-DingTalk_DataSet=\u6570\u636E\u96C6
Dec-DingTalk_Address-Book=\u9489\u9489\u901A\u8BAF\u5F55
Dec-DingTalk_Member-Update=\u7ACB\u5373\u66F4\u65B0
Dec-DingTalk_Set-Update=\u8BBE\u7F6E\u81EA\u52A8\u66F4\u65B0
Dec-DingTalk_Not-Null=\u4E0D\u5141\u8BB8\u4E3A\u7A7A
Dec-DingTalk_Start-Update=\u542F\u7528\u81EA\u52A8\u66F4\u65B0
Dec-DingTalk_Per=\u6BCF
Dec-DingTalk_Day=\u5929
Dec-DingTalk_Week=\u5468
Dec-DingTalk_Monday=\u5468\u4E00
Dec-DingTalk_Tuesday=\u5468\u4E8C
Dec-DingTalk_Wednesday=\u5468\u4E09
Dec-DingTalk_Thursday=\u5468\u56DB
Dec-DingTalk_Friday=\u5468\u4E94
Dec-DingTalk_Saturday=\u5468\u516D
Dec-DingTalk_Sunday=\u5468\u65E5
Dec-DingTalk_Hour=\u65F6
Dec-DingTalk_Minute=\u5206
Dec-DingTalk_Update-Once=\u5B9A\u65F6\u540C\u6B65\u4E00\u6B21
Dec-DingTalk_Illegal=\u4E0D\u5408\u6CD5
Dec-DingTalk_Proxy=\u9489\u9489\u4EE3\u7406\u8DF3\u8F6C
Dec-DingTalk_Proxy_Address=\u4EE3\u7406\u670D\u52A1\u5668\u5730\u5740
Dec-DingTalk_Proxy_Address_Tip=1\u3001\u8BE5\u5730\u5740\u586B\u5199\u5E06\u8F6F\u6240\u5728\u5E94\u7528\u670D\u52A1\u5668\u8BBF\u95EE\u4EE3\u7406\u670D\u52A1\u5668\u7684\u5730\u5740\uFF0C\u5373\u6B63\u5411\u4EE3\u7406\u5730\u5740\uFF0C\u4ECE\u800C\u4F7F\u5E06\u8F6F\u5E94\u7528\u670D\u52A1\u5668\u80FD\u591F\u901A\u8FC7\u4EE3\u7406\u670D\u52A1\u5668\u8BBF\u95EE\u5230\u5916\u7F51\u9489\u9489\u670D\u52A1\u5668\uFF1B\n2\u3001\u5730\u5740\u683C\u5F0F\u4E3Ahttp://\u57DF\u540D:\u7AEF\u53E3
Dec-DingTalk_Test_And_Save-Proxy-Address=\u6D4B\u8BD5\u8FDE\u63A5\u5E76\u4FDD\u5B58
Dec-DingTalk_Start-With-Http=\u670D\u52A1\u5668\u5730\u5740\u5FC5\u987B\u4EE5http\u6216https\u5F00\u5934
Dec-DingTalk_Test-Connection=\u6D4B\u8BD5\u8FDE\u63A5\u4E2D...
Dec-DingTalk_Connection-Success=\u8FDE\u63A5\u6210\u529F
Dec-DingTalk_Connection-Fail=\u8FDE\u63A5\u5931\u8D25
Dec-DingTalk_Unknown-Agent-Id=\u5E94\u7528ID\u4E0D\u6B63\u786E
Dec-DingTalk_Delete-Agent-Fail=\u5220\u9664\u5E94\u7528\u5931\u8D25
Dec-DingTalk_Agent-Id-Exist=\u5E94\u7528ID\u5DF2\u5B58\u5728
Dec-DingTalk_Save-ReportServer-Url-Fail=\u4FDD\u5B58\u670D\u52A1\u5668\u5730\u5740\u5931\u8D25
Dec-DingTalk_Save-Timing-Task-Fail=\u4FDD\u5B58\u5B9A\u65F6\u4EFB\u52A1\u5931\u8D25
Dec-DingTalk_Error-AppKey-And-AppSecret=\u8BF7\u786E\u8BA4\u5F53\u524D\u4F7F\u7528\u7684AppKey\u548CAppSecret\u662F\u5426\u6B63\u786E
Dec-DingTalk_Error-AppKey-And-AgentId=\u8BF7\u786E\u8BA4\u5F53\u524D\u5E94\u7528ID\u548CAppKey\u662F\u5426\u5BF9\u5E94
Dec-DingTalk_Duplicate-Agent-Name=\u5E94\u7528\u540D\u79F0\u5DF2\u5B58\u5728
Dec-DingTalk_Save-Match-Method-Fail=\u5B58\u50A8\u6210\u5458\u7BA1\u7406\u914D\u7F6E\u4FE1\u606F\u5931\u8D25
Dec-DingTalk_Duplicate-Agent-Id=\u5E94\u7528ID\u5DF2\u5B58\u5728
Dec-DingTalk_Save-Proxy-Server-Fail=\u4FDD\u5B58\u4EE3\u7406\u670D\u52A1\u5668\u5931\u8D25
Dec-DingTalk_Connect-Proxy-Server-Fail=\u9489\u9489\u4EE3\u7406\u670D\u52A1\u5668\u6D4B\u8BD5\u8FDE\u63A5\u5931\u8D25
Dec-DingTalk_NetWork-Anomaly=\u7F51\u7EDC\u5F02\u5E38\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u914D\u7F6E
Dec-DingTalk_Create-DingTalk-Url=\u751F\u6210\u9489\u9489\u94FE\u63A5
Dec-DingTalk_Platform-Page=\u94FE\u63A5\u9875\u9762
Dec-DingTalk_Platform-Report=\u5355\u4E2A\u6A21\u677F
Dec-DingTalk_Platform=\u51B3\u7B56\u5E73\u53F0
Dec-DingTalk_Parameter_Setting=\u53C2\u6570\u8BBE\u7F6E
Dec-DingTalk_Create-Url=\u751F\u6210\u94FE\u63A5
Dec-DingTalk_DingTalk_Url=\u9489\u9489\u94FE\u63A5
Dec-DingTalk_Copy-Url=\u590D\u5236
Dec-DingTalk_Copy-Success=\u590D\u5236\u6210\u529F
Dec-DingTalk_Input-Hint=\u8BF7\u8F93\u5165
Dec-DingTalk_Save-User-Relation-Fail=\u624B\u52A8\u5339\u914D\u5931\u8D25
BI-Basic_Search=\u641C\u7D22
Dec-DingTalk_Match-Way-Not-Null=\u5339\u914D\u8BBE\u7F6E\u4E0D\u80FD\u4E3A\u7A7A
Dec-DingTalk_Not-Select=\u4E0D\u9009
Dec-DingTalk_Tip-Get-ReportServer-Url-Fail=\u8BF7\u914D\u7F6E\u670D\u52A1\u5668\u5730\u5740
Dec-DingTalk_Create-Agent-Tip=\u82E5\u65E0AppKey\uFF0C\u8BF7\u5728Appkey\u548CAppSecret\u4E2D\u5206\u522B\u586B\u5199CorpId\u548CCorpSecret
Dec-DingTalk_IP-Config-Not-Available=\u8BBF\u95EEIP\u4E0D\u5728\u767D\u540D\u5355\u4E4B\u4E2D
Dec-DingTalk_NetWork-Invalid=\u7F51\u7EDC\u5F02\u5E38
Dec-DingTalk_Not_Trusted_Domain_Error=\u9519\u8BEF\u4EE3\u7801\uFF1A11205040\uFF0CredirectUrl\u57DF\u540D\u4E0E\u540E\u53F0\u914D\u7F6E\u4E0D\u4E00\u81F4
Dec-DingTalk_Not_Trusted_Domain_Exception=\u68C0\u67E5\u57DF\u540D\u4E0E\u670D\u52A1\u5668\u5730\u5740\u662F\u5426\u4E00\u81F4
Dec-DingTalk_Debugger-Set-Level=\u8BBE\u7F6E\u65E5\u5FD7\u7EA7\u522B
Dec-DingTalk_Debugger-Level=\u65E5\u5FD7\u7EA7\u522B
Dec-DingTalk_Debugger-Parameter-List=\u53C2\u6570\u5217\u8868
Dec-DingTalk_Debugger-Content=\u8C03\u8BD5\u5185\u5BB9
Dec-DingTalk_Debugger-Type-Get-Access-Token=\u83B7\u53D6access_token
Dec-DingTalk_Debugger-Type-Check-Ip=\u68C0\u67E5ip\u767D\u540D\u5355
Dec-DingTalk_Debugger-Start-Check=\u5F00\u59CB\u68C0\u6D4B
Dec-DingTalk_Debugger-Show-Result=\u68C0\u6D4B\u7ED3\u679C
Dec-DingTalk_Debugger-Type-Check-Request-Time=\u68C0\u6D4B\u8BF7\u6C42\u8017\u65F6
Dec-DingTalk_Debugger-Type-Check-Request-Time-Result=\u68C0\u6D4B\u7ED3\u679C
Dec-DingTalk_Debugger-Tip-Curl-Invalid=\u63D0\u793A\uFF1A\u670D\u52A1\u5668\u7CFB\u7EDF\u82E5\u4E3Awindows\u5219\u9700\u8981\u5B89\u88C5curl\u5DE5\u5177\u624D\u80FD\u652F\u6301\u68C0\u6D4B
Dec-DingTalk_Debugger-DownLoad_Log=\u4E0B\u8F7D\u65E5\u5FD7
Dec-DingTalk_Click-To-Download=\u70B9\u51FB\u4E0B\u8F7D
Dec-DingTalk_Download-Fail=\u4E0B\u8F7D\u5931\u8D25
Dec-DingTalk_Not_Null=\u4E0D\u53EF\u4E3A\u7A7A
Dec-DingTalk_ErrorDetail=\u9519\u8BEF\u4FE1\u606F
Dec-DingTalk_Debugger-Check-Ip-Result=\u68C0\u67E5\u7ED3\u679C
Dec-DingTalk_Debugger-Get-Token=access_token
Dec-DingTalk_Agent_Deleted_Tip=\u65E0\u6CD5\u83B7\u53D6\u8BE5\u9489\u9489\u5E94\u7528\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\u9879\u662F\u5426\u6709\u8BEF
Dec-DingTalk_Parse_Parameters=\u89E3\u6790\u53C2\u6570\u503C
Dec-DingTalk_Parse_Parameters_Tip=\u5FAE\u4FE1\uFF0F\u9489\u9489\u96C6\u6210\u94FE\u63A5\u5FC5\u987B\u52FE\u9009\u89E3\u6790\u53C2\u6570\u503C\uFF0C\u5426\u5219\u5C06\u5BFC\u81F4\u53C2\u6570\u4E22\u5931\uFF1B\u6A21\u677F\u6D88\u606F\u63A8\u9001\u7684\u6D88\u606F\u94FE\u63A5\u53EF\u9009\u62E9\u4E0D\u89E3\u6790\u53C2\u6570\u503C\uFF0C\u4ECE\u800C\u5B9E\u73B0\u63A8\u9001\u65F6\u7684\u5B9E\u65F6\u516C\u5F0F\u8BA1\u7B97\u3002
Dec-DingTalk_Enterprise_Agent=\u9489\u9489\u5E94\u7528
Dec-DingTalk_Chatgroup_Name=\u9489\u9489\u7FA4\u540D\u79F0
Dec-DingTalk_Chat_Group=\u9489\u9489\u7FA4
Dec-DingTalk_New_Chat_Group=\u65B0\u5EFA\u9489\u9489\u7FA4
Dec-DingTalk_Delete_ChatGroup_Confirm=\u786E\u8BA4\u5220\u9664\u9489\u9489\u7FA4\uFF1F
Dec-DingTalk_Chat_Group_Member_Tip=\u9664\u7FA4\u4E3B\u5916\uFF0C\u4E0D\u53EF\u5C11\u4E8E2\u4EBA
Dec-DingTalk_Chat_Group_Leader=\u7FA4\u4E3B
Dec-DingTalk_Chat_Group_Member=\u7FA4\u6210\u5458
Dec-DingTalk_New_Chat_Group_Tip1=\u7FA4\u6210\u5458\u8D85\u8FC730\u4EBA\u65F6\uFF0C\u5EFA\u8BAE\u5728\u9489\u9489\u5BA2\u6237\u7AEF\u6DFB\u52A0\u66F4\u591A\u7FA4\u6210\u5458\u3002
Dec-DingTalk_New_Chat_Group_Tip2=\u5BA2\u6237\u7AEF\u6DFB\u52A0\u7684\u6210\u5458\u82E5\u4E0D\u5728\u5E94\u7528\u53EF\u89C1\u8303\u56F4\u5185\uFF0C\u5C06\u65E0\u6CD5\u5355\u70B9\u767B\u5F55\u67E5\u770B\u6A21\u677F\u3002
Dec-DingTalk_New_Chat_Group_Message=\u60A8\u5DF2\u52A0\u5165\u7FA4\u804A
Dec-DingTalk_Common_Error_Tip=\u53D1\u751F\u9519\u8BEF\uFF0C\u9519\u8BEF\u7801\u4E3A\uFF1A
Dec-DingTalk_Chat_Group_Name_Length_Tip=\u7FA4\u540D\u79F0\u957F\u5EA6\u965020\u4E2A\u5B57\u7B26
Dec-DingTalk_Create-Chat-Group-Fail=\u521B\u5EFA\u9489\u9489\u7FA4\u5931\u8D25
Dec-DingTalk_Output_User_Empty=\u63A8\u9001\u4EBA\u4E3A\u7A7A\uFF01
Dec-DingTalk_Message_Agent=\u5E94\u7528\u6D88\u606F
Dec-DingTalk_Message_Group=\u7FA4\u6D88\u606F
Dec-DingTalk_DingTalk=\u9489\u9489
Dec-DingTalk_Output_User_Fail_Partly_Header=\u4E2A\u7528\u6237\u63A8\u9001\u5931\u8D25\uFF1A
Dec-DingTalk_Output_User_Fail_Partly_Tip=...\uFF0C\u53EF\u5728\u65E5\u5FD7\u4E2D\u67E5\u770B\u5B8C\u6574\u7528\u6237\u540D\u5355
Dec-DingTalk_Output_Group_Fail_Partly_Header=\u4E2A\u7FA4\u63A8\u9001\u5931\u8D25\uFF1A
Dec-DingTalk_Output_Group_Fail_Partly_Tip=...\uFF0C\u53EF\u5728\u65E5\u5FD7\u4E2D\u67E5\u770B\u5B8C\u6574\u7FA4\u540D\u5355
Dec-DingTalk_User_Match_Dec_User_Fail=\u9489\u9489\u7528\u6237\u5339\u914D\u5E73\u53F0\u7528\u6237\u5931\u8D25\uFF01

165
src/main/resources/com/fr/plugin/schedule/push/locale/dingtalk_zh_TW.properties

@ -0,0 +1,165 @@
Dec-Module-DingTalk_Manager=\u91D8\u91D8\u7BA1\u7406
Dec-DingTalk_Basic=\u57FA\u672C\u8CC7\u8A0A
Dec-Schedule-Notification_DingTalk=\u63A8\u9001\u91D8\u91D8\u8A0A\u606F
Dec-Schedule-Notification_DingTalk_CorpID=\u61C9\u7528AgentID\uFF1A
Dec-Schedule-Notification_DingTalk_Users=\u91D8\u91D8\u4F7F\u7528\u8005\uFF1A
Dec-Schedule-Notification_DingTalk_DepID=\u90E8\u9580ID\uFF1A
Dec-Schedule-Notification_DingTalk_Content=\u8A0A\u606F\u5167\u5BB9\uFF1A
Dec-Schedule-Notification_DingTalk_WithLink=\u5B9A\u6642\u7D50\u679C\u8A2A\u554F\u9023\u7D50
Dec-Schedule_Mobile-Push-DingTalkId-Not-Null=\u8ACB\u8A2D\u5B9A\u63A8\u9001\u7684\u91D8\u91D8\u61C9\u7528
Dec-DingTalk_Recive_Data_URL=\u63A5\u6536\u8CC7\u6599URL
Dec-DingTalk_Corp_ID=\u91D8\u91D8\u4F01\u696D\u865FID
Dec-DingTalk_Secret=\u7BA1\u7406\u7D44\u6191\u8B49\u91D1\u9470
Dec-DingTalk_Member_Management=\u91D8\u91D8\u6210\u54E1\u7BA1\u7406
Dec-DingTalk_User-Same-With-FS=\u91D8\u91D8\u5DE5\u865F\u5339\u914D
Dec-DingTalk_Mobile-Same-With-FS=\u624B\u6A5F\u865F\u5339\u914D
Dec-DingTalk_Manual-Matching-FS=\u624B\u52D5\u5339\u914D
Dec-DingTalk_Custom-Matching-FS=\u81EA\u8A02\u5339\u914D
Dec-DingTalk_UserID=\u91D8\u91D8\u6210\u54E1ID
Dec-DingTalk_DecUserName=\u4F7F\u7528\u8005\u540D\u7A31
Dec-DingTalk_Name=\u59D3\u540D
Dec-DingTalk_Department=\u91D8\u91D8\u90E8\u9580
Dec-DingTalk_UrlHint=\u4F3A\u670D\u5668\u5132\u5B58\u7684Url\uFF1A
Dec-DingTalk_User_Job_Name=\u91D8\u91D8\u5DE5\u865F
Dec-DingTalk_Token_Path=\u8A2D\u5B9AToken\u7372\u53D6\u8DEF\u5F91
Dec-DingTalk_Refresh_User=\u66F4\u65B0\u901A\u8A0A\u9304
Dec-DingTalk_Mobile=\u91D8\u91D8\u6210\u54E1\u624B\u6A5F\u865F
Dec-DingTalk_Matching_Way=\u4F7F\u7528\u8005\u5339\u914D\u65B9\u5F0F
Dec-DingTalk_Hint=\u63D0\u793A
Dec-DingTalk_Loading=\u6B63\u5728\u8F09\u5165\u4F7F\u7528\u8005...
Dec-DingTalk_Mobile_Not_Supported=\u7576\u524DHTML5\u5831\u8868\u4E0D\u652F\u63F4\u6839\u64DA\u624B\u6A5F\u865F\u5339\u914D\uFF0C\u8ACB\u5347\u7D1AHTML5\u63D2\u4EF6
Dec-DingTalk_Mobile-Push-DingTalk-Terminal=\u91D8\u91D8\u901A\u77E5
Dec-DingTalk_Addressee_Chat_Group=\u91D8\u91D8\u7FA4
Dec-DingTalk_Addressee_Chat_Group_Disable_Tip=\u5982\u679C\u6839\u64DA\u9ED8\u8A8D\u7528\u6236\u7D44\u5167\u7684\u7528\u6236\u55AE\u7368\u751F\u6210\u7D50\u679C\uFF0C\u5247\u7121\u6CD5\u901A\u77E5\u5230\u91D8\u91D8\u7FA4
Dec-DingTalk_Mobile-Push-DingTalk-AgentId=\u61C9\u7528ID
Dec-DingTalk_Expired_Error=\u932F\u8AA4\u7A0B\u5F0F\u78BC:11100016 \u60A8\u4F7F\u7528\u4E86\u672A\u8A3B\u518A\u7684\u529F\u80FD\u2014\u2014\u91D8\u91D8\u6574\u5408
Dec-DingTalk_Expired_Solution=\u91D8\u91D8\u529F\u80FD\u672A\u8A3B\u518A\uFF0C\u5982\u9700\u4F7F\u7528\u8ACB\u806F\u7D61\u92B7\u552E
Dec-DingTalk_Agent-Management=\u61C9\u7528\u7BA1\u7406
Dec-DingTalk_Member-Management=\u6210\u54E1\u7BA1\u7406
Dec-DingTalk_Agent-Config=\u61C9\u7528\u5FEB\u6377\u914D\u7F6E
Dec-DingTalk_Agent-Name=\u91D8\u91D8\u61C9\u7528\u540D\u7A31
Dec-DingTalk_Agent-Id=\u91D8\u91D8\u61C9\u7528ID
Dec-DingTalk_Organizational-Structure=\u7D44\u7E54\u67B6\u69CB
Dec-DingTalk_Tag=\u6A19\u7C64
Dec-DingTalk_Server=\u4F3A\u670D\u5668
Dec-DingTalk_Save=\u5132\u5B58
Dec-DingTalk_Start_With_Http=\u4F3A\u670D\u5668\u5730\u5740\u5FC5\u9808\u4EE5http\u6216https\u958B\u982D
Dec-DingTalk_Server_Url=\u4F3A\u670D\u5668\u5730\u5740
Dec-DingTalk_Server_Tip=1\u3001\u8A72\u5730\u5740\u5C07\u7528\u65BC\u5FEB\u6377\u914D\u7F6E\u4E2D\u751F\u6210\u5E73\u53F0\u55AE\u9EDE\u9023\u7D50\u3001\u7BC4\u672C\u55AE\u9EDE\u9023\u7D50\uFF0C\u4EE5\u53CA\u63A8\u9001\u7684\u7D50\u679C\u9023\u7D50\uFF1B\n2\u3001\u8A72\u5730\u5740\u9700\u8981\u5916\u7DB2\u53EF\u8A2A\u554F\uFF0C\u5730\u5740\u683C\u5F0F\u70BAhttp://\u57DF\u540D:\u57E0/decision\u6216https://\u57DF\u540D:\u57E0/decision\uFF0C\u914D\u7F6E\u5F8C\u8ACB\u5132\u5B58
Dec-DingTalk_Enterprise-DingDing=\u4F01\u696D\u91D8\u91D8
Dec-DingTalk_New-Agent=\u65B0\u5EFA\u91D8\u91D8\u61C9\u7528
Dec-DingTalk_Non-Adapted-Agent=\u63D0\u793A\uFF1A\u8ACB\u78BA\u8A8D\u61C9\u7528id\u662F\u5426\u6B63\u78BA
Dec-DingTalk_Modify-Agent=\u4FEE\u6539\u91D8\u91D8\u61C9\u7528
Dec-DingTalk_DeleteAgent-Confirm-Popup=\u78BA\u5B9A\u522A\u9664\u6B64\u4F01\u696D\u91D8\u91D8\u61C9\u7528
Dec-DingTalk_Confirm=\u78BA\u5B9A
Dec-DingTalk_Cancel=\u53D6\u6D88
Dec-DingTalk_Save-Agent-Fail=\u5132\u5B58\u61C9\u7528\u8CC7\u8A0A\u5931\u6557
Dec-DingTalk_Unknown-Agent=\u7DB2\u8DEF\u7570\u5E38\u6216\u8005\u8ACB\u78BA\u8A8D\u7576\u524D\u4F7F\u7528\u7684CorpId\u548CSecret\u662F\u5426\u6B63\u78BA
Dec-DingTalk_Agent-Name-Exist=\u61C9\u7528\u540D\u7A31\u5DF2\u5B58\u5728
Dec-DingTalk_Match-Way=\u5339\u914D\u65B9\u5F0F
Dec-DingTalk_Match-Setting=\u5339\u914D\u8A2D\u5B9A
Dec-DingTalk_DataSet=\u8CC7\u6599\u96C6
Dec-DingTalk_Address-Book=\u91D8\u91D8\u901A\u8A0A\u9304
Dec-DingTalk_Member-Update=\u7ACB\u5373\u66F4\u65B0
Dec-DingTalk_Set-Update=\u8A2D\u5B9A\u81EA\u52D5\u66F4\u65B0
Dec-DingTalk_Not-Null=\u4E0D\u5141\u8A31\u70BA\u7A7A
Dec-DingTalk_Start-Update=\u555F\u7528\u81EA\u52D5\u66F4\u65B0
Dec-DingTalk_Per=\u6BCF
Dec-DingTalk_Day=\u5929
Dec-DingTalk_Week=\u5468
Dec-DingTalk_Monday=\u9031\u4E00
Dec-DingTalk_Tuesday=\u9031\u4E8C
Dec-DingTalk_Wednesday=\u9031\u4E09
Dec-DingTalk_Thursday=\u9031\u56DB
Dec-DingTalk_Friday=\u9031\u4E94
Dec-DingTalk_Saturday=\u9031\u516D
Dec-DingTalk_Sunday=\u9031\u65E5
Dec-DingTalk_Hour=\u6642
Dec-DingTalk_Minute=\u5206
Dec-DingTalk_Update-Once=\u5B9A\u6642\u540C\u6B65\u4E00\u6B21
Dec-DingTalk_Illegal=\u4E0D\u5408\u6CD5
Dec-DingTalk_Proxy=\u91D8\u91D8\u4EE3\u7406\u8DF3\u8F49
Dec-DingTalk_Proxy_Address=\u4EE3\u7406\u4F3A\u670D\u5668\u5730\u5740
Dec-DingTalk_Proxy_Address_Tip=1\u3001\u8A72\u5730\u5740\u586B\u5BEB\u5E06\u8EDF\u6240\u5728\u61C9\u7528\u4F3A\u670D\u5668\u8A2A\u554F\u4EE3\u7406\u4F3A\u670D\u5668\u7684\u5730\u5740\uFF0C\u5373\u6B63\u5411\u4EE3\u7406\u5730\u5740\uFF0C\u5F9E\u800C\u4F7F\u5E06\u8EDF\u61C9\u7528\u4F3A\u670D\u5668\u80FD\u5920\u901A\u904E\u4EE3\u7406\u4F3A\u670D\u5668\u8A2A\u554F\u5230\u5916\u7DB2\u91D8\u91D8\u4F3A\u670D\u5668\uFF1B\n2\u3001\u5730\u5740\u683C\u5F0F\u70BAhttp://\u57DF\u540D:\u57E0
Dec-DingTalk_Test_And_Save-Proxy-Address=
Dec-DingTalk_Start-With-Http=\u4F3A\u670D\u5668\u5730\u5740\u5FC5\u9808\u4EE5http\u6216https\u958B\u982D
Dec-DingTalk_Test-Connection=\u6E2C\u8A66\u9023\u7DDA\u4E2D...
Dec-DingTalk_Connection-Success=\u9023\u7DDA\u6210\u529F
Dec-DingTalk_Connection-Fail=\u9023\u7DDA\u5931\u6557
Dec-DingTalk_Unknown-Agent-Id=\u61C9\u7528ID\u4E0D\u6B63\u78BA
Dec-DingTalk_Delete-Agent-Fail=\u522A\u9664\u61C9\u7528\u5931\u6557
Dec-DingTalk_Agent-Id-Exist=\u61C9\u7528ID\u5DF2\u5B58\u5728
Dec-DingTalk_Save-ReportServer-Url-Fail=\u5132\u5B58\u4F3A\u670D\u5668\u5730\u5740\u5931\u6557
Dec-DingTalk_Save-Timing-Task-Fail=\u5132\u5B58\u5B9A\u6642\u4EFB\u52D9\u5931\u6557
Dec-DingTalk_Error-AppKey-And-AppSecret=\u8ACB\u78BA\u8A8D\u7576\u524D\u4F7F\u7528\u7684AppKey\u548CAppSecret\u662F\u5426\u6B63\u78BA
Dec-DingTalk_Error-AppKey-And-AgentId=\u8ACB\u78BA\u8A8D\u7576\u524D\u61C9\u7528ID\u548CAppKey\u662F\u5426\u5C0D\u61C9
Dec-DingTalk_Duplicate-Agent-Name=\u61C9\u7528\u540D\u7A31\u5DF2\u5B58\u5728
Dec-DingTalk_Save-Match-Method-Fail=\u5132\u5B58\u6210\u54E1\u7BA1\u7406\u914D\u7F6E\u8CC7\u8A0A\u5931\u6557
Dec-DingTalk_Duplicate-Agent-Id=\u61C9\u7528ID\u5DF2\u5B58\u5728
Dec-DingTalk_Save-Proxy-Server-Fail=\u5132\u5B58\u4EE3\u7406\u4F3A\u670D\u5668\u5931\u6557
Dec-DingTalk_Connect-Proxy-Server-Fail=\u91D8\u91D8\u4EE3\u7406\u4F3A\u670D\u5668\u6E2C\u8A66\u9023\u7DDA\u5931\u6557
Dec-DingTalk_NetWork-Anomaly=\u7DB2\u8DEF\u7570\u5E38\uFF0C\u8ACB\u6AA2\u67E5\u7DB2\u8DEF\u914D\u7F6E
Dec-DingTalk_Create-DingTalk-Url=\u751F\u6210\u91D8\u91D8\u9023\u7D50
Dec-DingTalk_Platform-Page=\u9023\u7D50\u9801\u9762
Dec-DingTalk_Platform-Report=\u55AE\u500B\u7BC4\u672C
Dec-DingTalk_Platform=\u6C7A\u7B56\u5E73\u53F0
Dec-DingTalk_Parameter_Setting=\u53C3\u6578\u8A2D\u5B9A
Dec-DingTalk_Create-Url=\u751F\u6210\u9023\u7D50
Dec-DingTalk_DingTalk_Url=\u91D8\u91D8\u9023\u7D50
Dec-DingTalk_Copy-Url=\u8907\u88FD
Dec-DingTalk_Copy-Success=\u8907\u88FD\u6210\u529F
Dec-DingTalk_Input-Hint=\u8ACB\u8F38\u5165
Dec-DingTalk_Save-User-Relation-Fail=\u624B\u52D5\u5339\u914D\u5931\u6557
BI-Basic_Search=\u641C\u5C0B
Dec-DingTalk_Match-Way-Not-Null=\u5339\u914D\u8A2D\u5B9A\u4E0D\u80FD\u70BA\u7A7A
Dec-DingTalk_Not-Select=\u4E0D\u9078
Dec-DingTalk_Tip-Get-ReportServer-Url-Fail=\u8ACB\u914D\u7F6E\u4F3A\u670D\u5668\u5730\u5740
Dec-DingTalk_Create-Agent-Tip=\u82E5\u7121AppKey\uFF0C\u8ACB\u5728Appkey\u548CAppSecret\u4E2D\u5206\u5225\u586B\u5BEBCorpId\u548CCorpSecret
Dec-DingTalk_IP-Config-Not-Available=\u8A2A\u554FIP\u4E0D\u5728\u767D\u540D\u55AE\u4E4B\u4E2D
Dec-DingTalk_NetWork-Invalid=\u7DB2\u8DEF\u7570\u5E38
Dec-DingTalk_Not_Trusted_Domain_Error=\u932F\u8AA4\u7A0B\u5F0F\u78BC\uFF1A11205040\uFF0CredirectUrl\u57DF\u540D\u8207\u5F8C\u53F0\u914D\u7F6E\u4E0D\u4E00\u81F4
Dec-DingTalk_Not_Trusted_Domain_Exception=\u6AA2\u67E5\u57DF\u540D\u8207\u4F3A\u670D\u5668\u5730\u5740\u662F\u5426\u4E00\u81F4
Dec-DingTalk_Debugger-Set-Level=\u8A2D\u5B9A\u65E5\u8A8C\u7D1A\u5225
Dec-DingTalk_Debugger-Level=\u65E5\u8A8C\u7D1A\u5225
Dec-DingTalk_Debugger-Parameter-List=\u53C3\u6578\u5217\u8868
Dec-DingTalk_Debugger-Content=\u9664\u932F\u5167\u5BB9
Dec-DingTalk_Debugger-Type-Get-Access-Token=\u7372\u53D6access_token
Dec-DingTalk_Debugger-Type-Check-Ip=\u6AA2\u67E5ip\u767D\u540D\u55AE
Dec-DingTalk_Debugger-Start-Check=\u958B\u59CB\u6AA2\u6E2C
Dec-DingTalk_Debugger-Show-Result=\u6AA2\u6E2C\u7D50\u679C
Dec-DingTalk_Debugger-Type-Check-Request-Time=\u6AA2\u6E2C\u8ACB\u6C42\u8017\u6642
Dec-DingTalk_Debugger-Type-Check-Request-Time-Result=\u6AA2\u6E2C\u7D50\u679C
Dec-DingTalk_Debugger-Tip-Curl-Invalid=\u63D0\u793A\uFF1A\u670D\u52D9\u5668\u7CFB\u7D71\u82E5\u70BAwindows\u5247\u9700\u8981\u5B89\u88DDcurl\u5DE5\u5177\u624D\u80FD\u652F\u6301\u6AA2\u6E2C
Dec-DingTalk_Debugger-DownLoad_Log=\u4E0B\u8F09\u65E5\u8A8C
Dec-DingTalk_Click-To-Download=\u9EDE\u64CA\u4E0B\u8F09
Dec-DingTalk_Download-Fail=\u4E0B\u8F09\u5931\u6557
Dec-DingTalk_Not_Null=\u4E0D\u53EF\u70BA\u7A7A
Dec-DingTalk_ErrorDetail=\u932F\u8AA4\u8CC7\u8A0A
Dec-DingTalk_Debugger-Check-Ip-Result=\u6AA2\u67E5\u7D50\u679C
Dec-DingTalk_Debugger-Get-Token=access_token
Dec-DingTalk_Agent_Deleted_Tip=\u7121\u6CD5\u7372\u53D6\u8A72\u91D8\u91D8\u61C9\u7528\uFF0C\u8ACB\u6AA2\u67E5\u914D\u7F6E\u9805\u662F\u5426\u6709\u8AA4
Dec-DingTalk_Parse_Parameters=\u89E3\u6790\u53C3\u6578\u503C
Dec-DingTalk_Parse_Parameters_Tip=\u5FAE\u4FE1\uFF0F\u91D8\u91D8\u6574\u5408\u9023\u7D50\u5FC5\u9808\u52FE\u9078\u89E3\u6790\u53C3\u6578\u503C\uFF0C\u5426\u5247\u5C07\u5C0E\u81F4\u53C3\u6578\u4E1F\u5931\uFF1B\u7BC4\u672C\u8A0A\u606F\u63A8\u9001\u7684\u8A0A\u606F\u9023\u7D50\u53EF\u9078\u64C7\u4E0D\u89E3\u6790\u53C3\u6578\u503C\uFF0C\u5F9E\u800C\u5BE6\u73FE\u63A8\u9001\u6642\u7684\u5BE6\u6642\u516C\u5F0F\u8A08\u7B97\u3002
Dec-DingTalk_Enterprise_Agent=\u91D8\u91D8\u61C9\u7528
Dec-DingTalk_Chatgroup_Name=\u91D8\u91D8\u7FA4\u540D\u7A31
Dec-DingTalk_Chat_Group=\u91D8\u91D8\u7FA4
Dec-DingTalk_New_Chat_Group=\u65B0\u5EFA\u91D8\u91D8\u7FA4
Dec-DingTalk_Delete_ChatGroup_Confirm=\u78BA\u8A8D\u5220\u9664\u91D8\u91D8\u7FA4\uFF1F
Dec-DingTalk_Chat_Group_Member_Tip=\u9664\u7FA4\u4E3B\u5916\uFF0C\u4E0D\u53EF\u5C11\u65BC2\u4EBA
Dec-DingTalk_Chat_Group_Leader=\u7FA4\u4E3B
Dec-DingTalk_Chat_Group_Member=\u7FA4\u6210\u54E1
Dec-DingTalk_New_Chat_Group_Tip1=
Dec-DingTalk_New_Chat_Group_Tip2=
Dec-DingTalk_New_Chat_Group_Message=\u60A8\u5DF2\u52A0\u5165\u7FA4\u804A
Dec-DingTalk_Common_Error_Tip=\u767C\u751F\u932F\u8AA4\uFF0C\u932F\u8AA4\u78BC\u70BA\uFF1A
Dec-DingTalk_Chat_Group_Name_Length_Tip=\u7FA4\u540D\u7A31\u9577\u5EA6\u965020\u500B\u5B57\u5143
Dec-DingTalk_Create-Chat-Group-Fail=\u5275\u5EFA\u91D8\u91D8\u7FA4\u5931\u6557
Dec-DingTalk_Output_User_Empty=
Dec-DingTalk_Message_Agent=
Dec-DingTalk_Message_Group=
Dec-DingTalk_DingTalk=
Dec-DingTalk_Output_User_Fail_Partly_Header=
Dec-DingTalk_Output_User_Fail_Partly_Tip=
Dec-DingTalk_Output_Group_Fail_Partly_Header=
Dec-DingTalk_Output_Group_Fail_Partly_Tip=
Dec-DingTalk_User_Match_Dec_User_Fail=

73
src/main/resources/com/fr/plugin/schedule/push/theme.js

@ -0,0 +1,73 @@
!(function () {
/*BI.config("dec.provider.schedule", function (provider) {
provider.registerTaskAttached({
value: 64,
text: "png"
}, [DecCst.Schedule.TaskType.REPORT, DecCst.Schedule.TaskType.BI]);
});*/
var Plugin = BI.inherit(BI.Widget, {
props: {
baseCls: "",
value: {
businessMode: "每日安全快报",
origin:location.origin,
}
},
render: function () {
var t = this,
e = this.options.value[0]==undefined?{businessMode: "每日安全快报",origin:location.origin}: this.options.value[0];
return {
type: "bi.flex_vertical",
tgap: 15,
items: [{
type: "dec.label.editor.item",
errorTop: 16,
textCls: "dec-font-weight-bold",
text: "业务类型",
textWidth: 115,
editorWidth: 300,
value: e.businessMode,
ref: function(e) {
t.businessMode = e
}
}]
};
},
/**
*
*
* @returns {boolean}
*/
validation: function () {
var e = !0,
t = this.isVisible();
return BI.isEmpty(this.businessMode.getValue()) && (t && this.businessMode.showError(BI.i18nText("Dec-Error_Null")), e = !1),
e
},
/**
*
* outputActionList
* @returns {{}}
*/
getValue: function() {
var _self= this;
return {OutputPushAction: BI.extend(_self.value,{
"@class": "com.fr.plugin.schedule.push.entity.OutputPushAction",
actionName: "com.fr.plugin.schedule.push.entity.OutputPushAction",
businessMode: _self.businessMode.getValue(),
origin:location.origin,
})}
},
});
BI.shortcut("dec.schedule.task.file.handling.plugin", Plugin);
BI.config("dec.provider.schedule", function (provider) {
provider.registerHandingWay({
text: "待办推送",
value: "com.fr.plugin.schedule.push.entity.OutputPushAction", // actionName
cardType: "dec.schedule.task.file.handling.plugin",
actions: [] // action
}, [DecCst.Schedule.TaskType.DEFAULT, DecCst.Schedule.TaskType.REPORT, DecCst.Schedule.TaskType.BI]);
});
}());

16
src/main/resources/push.properties

@ -0,0 +1,16 @@
##appId
appId=
##\u8DF3\u8F6C\u767B\u5F55\u5730\u5740
appSecret=
##\u8DF3\u8F6C\u767B\u5F55\u5730\u5740
appName=
##\u63A8\u9001\u5730\u5740
pushUrl=http://ip:port/task/external/create
##token url
tokenUrl=http://ip:port/task/external/getToken
##\u5DF2\u8BFB\u5355\u636E\u63A5\u53E3
readUrl=http://ip:port/task/external/read
##\u670D\u52A1\u5668\u6570\u636E\u96C6\u540D\u79F0
name=\u7528\u6237\u4FE1\u606F
##title
title=\u6BCF\u65E5\u5B89\u5168\u5FEB\u62A5
Loading…
Cancel
Save