diff --git a/README.md b/README.md index 80cbebe..d299bd7 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,11 @@ ### 各位老铁,感谢您的关注。 - Tduck项目上线时间不足一年,还有许多地方需要打磨; - 由于不是专职做开源,更新速度相对缓慢,但是一直都在不停的迭代(加班打码...) -- 遇到问题可以进群咨询一下已经完成部署的大佬,并且在部署时参照部署文档进行部署; +- 遇到问题可以进群咨询一下已经完成部署的大佬,并且在部署时参照文档进行部署; - 由于涉及到微信、QQ登录需要准备相应账号; -- 详情请见:部署文档 https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729 +- V2版本正在规划开发中,全新UI,更多功能;欢迎有兴趣有时间的有实力的朋友加入团队(前端/设计),有想法请私聊~ +- 详情请见:[部署文档](https://gitee.com/TDuckApp/tduck-platform/wikis/%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C?sort_id=3681729) +### TDuck 使用 Apache License 2.0 协议,源代码完全开源,无商业限制。 开源不易如果喜欢请给作者 Star 鼓励 :pray: ![ ](https://img.shields.io/:license-apache-blue.svg) @@ -20,19 +22,15 @@ ![ ](https://img.shields.io/badge/front-vue%2Belement--ui-blue) [![star](https://gitee.com/TDuckApp/tduck-platform/badge/star.svg?theme=white)](https://gitee.com/TDuckApp/tduck-platform/stargazers) ### 联系作者/加入社群 -![输入图片说明](https://images.gitee.com/uploads/images/2021/0407/100054_10b7177d_1674451.png "微信截图_20210407095930.png") +群聊 -## 群聊人数已经满200,需要手动拉入 - - -## V2版本正在规划开发中,全新UI,更多功能;同时欢迎各位伙伴进群提出你的想法和需求

### 平台简介 Tduck, Form collection system -Tduck 填鸭:是基于B/S架构的一款开源的表单问卷在线收集系统,为企业构建自己的信息反馈系统的综合解决方案,助力企业提高反馈收集客户服务效率。 +Tduck 填鸭:是基于B/S架构的一款开源的表单在线收集系统,为企业构建自己的信息反馈系统的综合解决方案,助力企业提高反馈收集客户服务效率。 ### 应用场景 @@ -43,8 +41,8 @@ Tduck 填鸭:是基于B/S架构的一款开源的表单问卷在线收集系 ### 功能特性 ##### 界面美观,全新element-ui支持,使用流畅 - 以一种全新的设计体验,告别繁琐的设计流程 -- 通过简单有趣的方式,轻轻松松完成问卷设计 -- 支持问卷样式模板选择,只为显现更精美的表单问卷 +- 通过简单有趣的方式,轻轻松松完成表单设计 +- 支持表单样式模板选择,只为显现更精美的表单 ##### 三大模块助力企业能力升级: - 新建表单:自定义可拖拽式表单设计 @@ -114,9 +112,10 @@ Tduck 填鸭:是基于B/S架构的一款开源的表单问卷在线收集系 打开命令行,输入以下命令 ```bash + mvn clean install -DskipTests cd tduck-platform/tduck-api mvn clean package -DskipTests - java -Dfile.encoding=UTF-8 -jar tduck-api.jar + java -Dfile.encoding=UTF-8 -jar target/tduck-api.jar ``` 4. 启动管理后台前端 diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java index 79536e6..9009b0b 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java @@ -41,6 +41,7 @@ import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; @@ -65,12 +66,13 @@ public class UserProjectController { private final SortUtils sortUtils; private final UserProjectThemeService userProjectThemeService; private final UserProjectSettingService userProjectSettingService; - private final WxMpService wxMpService; private final ProjectTemplateService projectTemplateService; private final ProjectTemplateItemService projectTemplateItemService; private final WxMpUserService wxMpUserService; private final RedisUtils redisUtils; + @Autowired + private WxMpService wxMpService; /** * 创建项目 diff --git a/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/config/WxMpConfiguration.java b/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/config/WxMpConfiguration.java index 82cb0a2..7127d57 100644 --- a/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/config/WxMpConfiguration.java +++ b/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/config/WxMpConfiguration.java @@ -1,7 +1,6 @@ package com.tduck.cloud.wx.mp.config; import com.tduck.cloud.wx.mp.handler.*; -import lombok.AllArgsConstructor; import me.chanjar.weixin.common.redis.RedisTemplateWxRedisOps; import me.chanjar.weixin.common.redis.WxRedisOps; import me.chanjar.weixin.mp.api.WxMpMessageRouter; @@ -9,6 +8,7 @@ import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl; import me.chanjar.weixin.mp.config.impl.WxMpRedisConfigImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -30,22 +30,33 @@ import static me.chanjar.weixin.mp.constant.WxMpEventConstants.POI_CHECK_NOTIFY; * * @author Binary Wang(https://github.com/binarywang) */ -@AllArgsConstructor @Configuration @EnableConfigurationProperties(WxMpProperties.class) public class WxMpConfiguration { - private final LogHandler logHandler; - private final NullHandler nullHandler; - private final KfSessionHandler kfSessionHandler; - private final StoreCheckNotifyHandler storeCheckNotifyHandler; - private final LocationHandler locationHandler; - private final MenuHandler menuHandler; - private final MsgHandler msgHandler; - private final UnsubscribeHandler unsubscribeHandler; - private final SubscribeHandler subscribeHandler; - private final ScanHandler scanHandler; - private final WxMpProperties properties; - private final StringRedisTemplate redisTemplate; + @Autowired + private LogHandler logHandler; + @Autowired + private NullHandler nullHandler; + @Autowired + private KfSessionHandler kfSessionHandler; + @Autowired + private StoreCheckNotifyHandler storeCheckNotifyHandler; + @Autowired + private LocationHandler locationHandler; + @Autowired + private MenuHandler menuHandler; + @Autowired + private MsgHandler msgHandler; + @Autowired + private UnsubscribeHandler unsubscribeHandler; + @Autowired + private SubscribeHandler subscribeHandler; + @Autowired + private ScanHandler scanHandler; + @Autowired + private WxMpProperties properties; + @Autowired + private StringRedisTemplate redisTemplate; @Bean public WxMpService wxMpService() { diff --git a/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/LoginScanStrategy.java b/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/LoginScanStrategy.java index 38b22a6..658c854 100644 --- a/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/LoginScanStrategy.java +++ b/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/handler/scan/LoginScanStrategy.java @@ -20,7 +20,6 @@ import java.util.concurrent.TimeUnit; * @create : 2020-12-01 17:44 **/ @Component - public class LoginScanStrategy implements ScanStrategy { @Autowired diff --git a/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/service/impl/WxMpUserMsgServiceImpl.java b/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/service/impl/WxMpUserMsgServiceImpl.java index 0a927d5..76ac6e4 100644 --- a/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/service/impl/WxMpUserMsgServiceImpl.java +++ b/tduck-wx-mp/src/main/java/com/tduck/cloud/wx/mp/service/impl/WxMpUserMsgServiceImpl.java @@ -6,6 +6,7 @@ import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; /** @@ -15,6 +16,8 @@ import org.springframework.stereotype.Service; **/ @Service public class WxMpUserMsgServiceImpl implements WxMpUserMsgService { + + @Lazy @Autowired private WxMpService wxMpService;