diff --git a/doc/docs/files/10020_新增接口.md b/doc/docs/files/10020_新增接口.md index bd31cc62..aed9cba9 100644 --- a/doc/docs/files/10020_新增接口.md +++ b/doc/docs/files/10020_新增接口.md @@ -90,7 +90,7 @@ public Object addGoods(GoodsParam param, HttpServletRequest request) { ```java public class StoryDemoTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/doc/docs/files/10095_SDK开发.md b/doc/docs/files/10095_SDK开发.md index 0b970c3c..91093f6c 100644 --- a/doc/docs/files/10095_SDK开发.md +++ b/doc/docs/files/10095_SDK开发.md @@ -91,7 +91,7 @@ protected RequestMethod getRequestMethod() { ### 使用方式 ```java -String url = "http://localhost:8081"; +String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; String privateKey = "你的私钥"; @@ -250,7 +250,7 @@ namespace SDKCSharp.Request ``` class MainClass { - static string url = "http://localhost:8081"; + static string url = "http://localhost:8081/api"; static string appId = "2019032617262200001"; // 平台提供的私钥 static string privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; @@ -340,4 +340,4 @@ private static void TestCommon() 前往sop-admin,点击`SDK管理`菜单,点击`发布SDK`,填写SDK语言、版本、下载地址(网盘地址)、调用示例 -保存后,ISV端会看到发布的SDK \ No newline at end of file +保存后,ISV端会看到发布的SDK diff --git a/pom.xml b/pom.xml index 88f676fc..e34f72ed 100644 --- a/pom.xml +++ b/pom.xml @@ -26,8 +26,8 @@ sop-sdk sop-index - sop-spring-boot-starter sop-registry + sop-support @@ -36,163 +36,8 @@ UTF-8 1.8 1.8 - - - 2.6.15 - - 2021.0.5 - - - 2021.0.5.0 - - 3.2.10 - - 4.11 - 1.2.83 - 2.5 - 1.3.3 - 3.2.2 - 3.8.1 - 1.11 - 1.2 - 2.0.1.Final - 6.0.13.Final - 3.0.10 - 29.0-jre - 1.16.9 - 6.2 - 5.2.0 - - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - org.springframework.cloud - spring-cloud-dependencies - ${spring-cloud.version} - pom - import - - - com.alibaba.cloud - spring-cloud-alibaba-dependencies - ${spring-cloud-alibaba.version} - pom - import - - - org.apache.dubbo - dubbo-spring-boot-starter - ${dubbo.version} - - - - com.alibaba.boot - nacos-discovery-spring-boot-starter - 0.2.1 - - - - com.google.guava - guava - ${guava.version} - - - - com.alibaba - fastjson - ${fastjson.version} - - - - io.gitee.durcframework - fastmybatis-spring-boot-starter - ${fastmybatis.version} - - - - com.squareup.okhttp3 - okhttp - 3.14.7 - - - - javax.validation - validation-api - ${validation-api.version} - - - org.hibernate - hibernate-validator - ${hibernate-validator.version} - - - - - org.apache.commons - commons-lang3 - ${commons-lang3.version} - - - commons-collections - commons-collections - ${commons-collection.version} - - - commons-io - commons-io - ${commons-io.version} - - - commons-codec - commons-codec - ${commons-codec.version} - - - commons-fileupload - commons-fileupload - ${commons-fileupload.version} - - - commons-logging - commons-logging - ${commons-logging.version} - - - - org.ow2.asm - asm - ${asm.version} - - - - com.github.pagehelper - pagehelper - ${pagehelper.version} - - - - org.projectlombok - lombok - 1.18.30 - - - javax.servlet - javax.servlet-api - 3.1.0 - - - - aliyun diff --git a/sop-admin/sop-admin-vue/.editorconfig b/sop-admin/sop-admin-frontend/.editorconfig similarity index 100% rename from sop-admin/sop-admin-vue/.editorconfig rename to sop-admin/sop-admin-frontend/.editorconfig diff --git a/sop-admin/sop-admin-vue/.env.development b/sop-admin/sop-admin-frontend/.env.development similarity index 100% rename from sop-admin/sop-admin-vue/.env.development rename to sop-admin/sop-admin-frontend/.env.development diff --git a/sop-admin/sop-admin-vue/.env.production b/sop-admin/sop-admin-frontend/.env.production similarity index 100% rename from sop-admin/sop-admin-vue/.env.production rename to sop-admin/sop-admin-frontend/.env.production diff --git a/sop-admin/sop-admin-vue/.env.staging b/sop-admin/sop-admin-frontend/.env.staging similarity index 100% rename from sop-admin/sop-admin-vue/.env.staging rename to sop-admin/sop-admin-frontend/.env.staging diff --git a/sop-admin/sop-admin-vue/.eslintignore b/sop-admin/sop-admin-frontend/.eslintignore similarity index 100% rename from sop-admin/sop-admin-vue/.eslintignore rename to sop-admin/sop-admin-frontend/.eslintignore diff --git a/sop-admin/sop-admin-vue/.eslintrc.js b/sop-admin/sop-admin-frontend/.eslintrc.js similarity index 100% rename from sop-admin/sop-admin-vue/.eslintrc.js rename to sop-admin/sop-admin-frontend/.eslintrc.js diff --git a/sop-admin/sop-admin-vue/.gitignore b/sop-admin/sop-admin-frontend/.gitignore similarity index 100% rename from sop-admin/sop-admin-vue/.gitignore rename to sop-admin/sop-admin-frontend/.gitignore diff --git a/sop-admin/sop-admin-vue/.postcssrc.js b/sop-admin/sop-admin-frontend/.postcssrc.js similarity index 100% rename from sop-admin/sop-admin-vue/.postcssrc.js rename to sop-admin/sop-admin-frontend/.postcssrc.js diff --git a/sop-admin/sop-admin-vue/.travis.yml b/sop-admin/sop-admin-frontend/.travis.yml similarity index 100% rename from sop-admin/sop-admin-vue/.travis.yml rename to sop-admin/sop-admin-frontend/.travis.yml diff --git a/sop-admin/sop-admin-vue/LICENSE b/sop-admin/sop-admin-frontend/LICENSE similarity index 100% rename from sop-admin/sop-admin-vue/LICENSE rename to sop-admin/sop-admin-frontend/LICENSE diff --git a/sop-admin/sop-admin-vue/README.md b/sop-admin/sop-admin-frontend/README.md similarity index 100% rename from sop-admin/sop-admin-vue/README.md rename to sop-admin/sop-admin-frontend/README.md diff --git a/sop-admin/sop-admin-vue/babel.config.js b/sop-admin/sop-admin-frontend/babel.config.js similarity index 100% rename from sop-admin/sop-admin-vue/babel.config.js rename to sop-admin/sop-admin-frontend/babel.config.js diff --git a/sop-admin/sop-admin-vue/build.sh b/sop-admin/sop-admin-frontend/build.sh similarity index 100% rename from sop-admin/sop-admin-vue/build.sh rename to sop-admin/sop-admin-frontend/build.sh diff --git a/sop-admin/sop-admin-vue/build/index.js b/sop-admin/sop-admin-frontend/build/index.js similarity index 100% rename from sop-admin/sop-admin-vue/build/index.js rename to sop-admin/sop-admin-frontend/build/index.js diff --git a/sop-admin/sop-admin-vue/jest.config.js b/sop-admin/sop-admin-frontend/jest.config.js similarity index 100% rename from sop-admin/sop-admin-vue/jest.config.js rename to sop-admin/sop-admin-frontend/jest.config.js diff --git a/sop-admin/sop-admin-vue/mock/index.js b/sop-admin/sop-admin-frontend/mock/index.js similarity index 100% rename from sop-admin/sop-admin-vue/mock/index.js rename to sop-admin/sop-admin-frontend/mock/index.js diff --git a/sop-admin/sop-admin-vue/mock/mock-server.js b/sop-admin/sop-admin-frontend/mock/mock-server.js similarity index 100% rename from sop-admin/sop-admin-vue/mock/mock-server.js rename to sop-admin/sop-admin-frontend/mock/mock-server.js diff --git a/sop-admin/sop-admin-vue/mock/table.js b/sop-admin/sop-admin-frontend/mock/table.js similarity index 100% rename from sop-admin/sop-admin-vue/mock/table.js rename to sop-admin/sop-admin-frontend/mock/table.js diff --git a/sop-admin/sop-admin-vue/mock/user.js b/sop-admin/sop-admin-frontend/mock/user.js similarity index 100% rename from sop-admin/sop-admin-vue/mock/user.js rename to sop-admin/sop-admin-frontend/mock/user.js diff --git a/sop-admin/sop-admin-vue/package.json b/sop-admin/sop-admin-frontend/package.json similarity index 100% rename from sop-admin/sop-admin-vue/package.json rename to sop-admin/sop-admin-frontend/package.json diff --git a/sop-admin/sop-admin-vue/public/favicon.ico b/sop-admin/sop-admin-frontend/public/favicon.ico similarity index 100% rename from sop-admin/sop-admin-vue/public/favicon.ico rename to sop-admin/sop-admin-frontend/public/favicon.ico diff --git a/sop-admin/sop-admin-vue/public/index.html b/sop-admin/sop-admin-frontend/public/index.html similarity index 100% rename from sop-admin/sop-admin-vue/public/index.html rename to sop-admin/sop-admin-frontend/public/index.html diff --git a/sop-admin/sop-admin-vue/public/static/sdkConfig.json b/sop-admin/sop-admin-frontend/public/static/sdkConfig.json similarity index 100% rename from sop-admin/sop-admin-vue/public/static/sdkConfig.json rename to sop-admin/sop-admin-frontend/public/static/sdkConfig.json diff --git a/sop-admin/sop-admin-vue/src/App.vue b/sop-admin/sop-admin-frontend/src/App.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/App.vue rename to sop-admin/sop-admin-frontend/src/App.vue diff --git a/sop-admin/sop-admin-vue/src/api/table.js b/sop-admin/sop-admin-frontend/src/api/table.js similarity index 100% rename from sop-admin/sop-admin-vue/src/api/table.js rename to sop-admin/sop-admin-frontend/src/api/table.js diff --git a/sop-admin/sop-admin-vue/src/api/user.js b/sop-admin/sop-admin-frontend/src/api/user.js similarity index 100% rename from sop-admin/sop-admin-vue/src/api/user.js rename to sop-admin/sop-admin-frontend/src/api/user.js diff --git a/sop-admin/sop-admin-vue/src/components/Breadcrumb/index.vue b/sop-admin/sop-admin-frontend/src/components/Breadcrumb/index.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/components/Breadcrumb/index.vue rename to sop-admin/sop-admin-frontend/src/components/Breadcrumb/index.vue diff --git a/sop-admin/sop-admin-vue/src/components/Hamburger/index.vue b/sop-admin/sop-admin-frontend/src/components/Hamburger/index.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/components/Hamburger/index.vue rename to sop-admin/sop-admin-frontend/src/components/Hamburger/index.vue diff --git a/sop-admin/sop-admin-vue/src/components/SvgIcon/index.vue b/sop-admin/sop-admin-frontend/src/components/SvgIcon/index.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/components/SvgIcon/index.vue rename to sop-admin/sop-admin-frontend/src/components/SvgIcon/index.vue diff --git a/sop-admin/sop-admin-vue/src/icons/index.js b/sop-admin/sop-admin-frontend/src/icons/index.js similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/index.js rename to sop-admin/sop-admin-frontend/src/icons/index.js diff --git a/sop-admin/sop-admin-vue/src/icons/svg/dashboard.svg b/sop-admin/sop-admin-frontend/src/icons/svg/dashboard.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/dashboard.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/dashboard.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svg/example.svg b/sop-admin/sop-admin-frontend/src/icons/svg/example.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/example.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/example.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svg/eye-open.svg b/sop-admin/sop-admin-frontend/src/icons/svg/eye-open.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/eye-open.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/eye-open.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svg/eye.svg b/sop-admin/sop-admin-frontend/src/icons/svg/eye.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/eye.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/eye.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svg/form.svg b/sop-admin/sop-admin-frontend/src/icons/svg/form.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/form.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/form.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svg/link.svg b/sop-admin/sop-admin-frontend/src/icons/svg/link.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/link.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/link.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svg/nested.svg b/sop-admin/sop-admin-frontend/src/icons/svg/nested.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/nested.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/nested.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svg/password.svg b/sop-admin/sop-admin-frontend/src/icons/svg/password.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/password.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/password.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svg/table.svg b/sop-admin/sop-admin-frontend/src/icons/svg/table.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/table.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/table.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svg/tree.svg b/sop-admin/sop-admin-frontend/src/icons/svg/tree.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/tree.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/tree.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svg/user.svg b/sop-admin/sop-admin-frontend/src/icons/svg/user.svg similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svg/user.svg rename to sop-admin/sop-admin-frontend/src/icons/svg/user.svg diff --git a/sop-admin/sop-admin-vue/src/icons/svgo.yml b/sop-admin/sop-admin-frontend/src/icons/svgo.yml similarity index 100% rename from sop-admin/sop-admin-vue/src/icons/svgo.yml rename to sop-admin/sop-admin-frontend/src/icons/svgo.yml diff --git a/sop-admin/sop-admin-vue/src/layout/components/AppMain.vue b/sop-admin/sop-admin-frontend/src/layout/components/AppMain.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/components/AppMain.vue rename to sop-admin/sop-admin-frontend/src/layout/components/AppMain.vue diff --git a/sop-admin/sop-admin-vue/src/layout/components/Navbar.vue b/sop-admin/sop-admin-frontend/src/layout/components/Navbar.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/components/Navbar.vue rename to sop-admin/sop-admin-frontend/src/layout/components/Navbar.vue diff --git a/sop-admin/sop-admin-vue/src/layout/components/Sidebar/FixiOSBug.js b/sop-admin/sop-admin-frontend/src/layout/components/Sidebar/FixiOSBug.js similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/components/Sidebar/FixiOSBug.js rename to sop-admin/sop-admin-frontend/src/layout/components/Sidebar/FixiOSBug.js diff --git a/sop-admin/sop-admin-vue/src/layout/components/Sidebar/Item.vue b/sop-admin/sop-admin-frontend/src/layout/components/Sidebar/Item.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/components/Sidebar/Item.vue rename to sop-admin/sop-admin-frontend/src/layout/components/Sidebar/Item.vue diff --git a/sop-admin/sop-admin-vue/src/layout/components/Sidebar/Link.vue b/sop-admin/sop-admin-frontend/src/layout/components/Sidebar/Link.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/components/Sidebar/Link.vue rename to sop-admin/sop-admin-frontend/src/layout/components/Sidebar/Link.vue diff --git a/sop-admin/sop-admin-vue/src/layout/components/Sidebar/Logo.vue b/sop-admin/sop-admin-frontend/src/layout/components/Sidebar/Logo.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/components/Sidebar/Logo.vue rename to sop-admin/sop-admin-frontend/src/layout/components/Sidebar/Logo.vue diff --git a/sop-admin/sop-admin-vue/src/layout/components/Sidebar/SidebarItem.vue b/sop-admin/sop-admin-frontend/src/layout/components/Sidebar/SidebarItem.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/components/Sidebar/SidebarItem.vue rename to sop-admin/sop-admin-frontend/src/layout/components/Sidebar/SidebarItem.vue diff --git a/sop-admin/sop-admin-vue/src/layout/components/Sidebar/index.vue b/sop-admin/sop-admin-frontend/src/layout/components/Sidebar/index.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/components/Sidebar/index.vue rename to sop-admin/sop-admin-frontend/src/layout/components/Sidebar/index.vue diff --git a/sop-admin/sop-admin-vue/src/layout/components/index.js b/sop-admin/sop-admin-frontend/src/layout/components/index.js similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/components/index.js rename to sop-admin/sop-admin-frontend/src/layout/components/index.js diff --git a/sop-admin/sop-admin-vue/src/layout/index.vue b/sop-admin/sop-admin-frontend/src/layout/index.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/index.vue rename to sop-admin/sop-admin-frontend/src/layout/index.vue diff --git a/sop-admin/sop-admin-vue/src/layout/mixin/ResizeHandler.js b/sop-admin/sop-admin-frontend/src/layout/mixin/ResizeHandler.js similarity index 100% rename from sop-admin/sop-admin-vue/src/layout/mixin/ResizeHandler.js rename to sop-admin/sop-admin-frontend/src/layout/mixin/ResizeHandler.js diff --git a/sop-admin/sop-admin-vue/src/main.js b/sop-admin/sop-admin-frontend/src/main.js similarity index 100% rename from sop-admin/sop-admin-vue/src/main.js rename to sop-admin/sop-admin-frontend/src/main.js diff --git a/sop-admin/sop-admin-vue/src/permission.js b/sop-admin/sop-admin-frontend/src/permission.js similarity index 100% rename from sop-admin/sop-admin-vue/src/permission.js rename to sop-admin/sop-admin-frontend/src/permission.js diff --git a/sop-admin/sop-admin-vue/src/router/index.js b/sop-admin/sop-admin-frontend/src/router/index.js similarity index 100% rename from sop-admin/sop-admin-vue/src/router/index.js rename to sop-admin/sop-admin-frontend/src/router/index.js diff --git a/sop-admin/sop-admin-vue/src/settings.js b/sop-admin/sop-admin-frontend/src/settings.js similarity index 100% rename from sop-admin/sop-admin-vue/src/settings.js rename to sop-admin/sop-admin-frontend/src/settings.js diff --git a/sop-admin/sop-admin-vue/src/store/getters.js b/sop-admin/sop-admin-frontend/src/store/getters.js similarity index 100% rename from sop-admin/sop-admin-vue/src/store/getters.js rename to sop-admin/sop-admin-frontend/src/store/getters.js diff --git a/sop-admin/sop-admin-vue/src/store/index.js b/sop-admin/sop-admin-frontend/src/store/index.js similarity index 100% rename from sop-admin/sop-admin-vue/src/store/index.js rename to sop-admin/sop-admin-frontend/src/store/index.js diff --git a/sop-admin/sop-admin-vue/src/store/modules/app.js b/sop-admin/sop-admin-frontend/src/store/modules/app.js similarity index 100% rename from sop-admin/sop-admin-vue/src/store/modules/app.js rename to sop-admin/sop-admin-frontend/src/store/modules/app.js diff --git a/sop-admin/sop-admin-vue/src/store/modules/settings.js b/sop-admin/sop-admin-frontend/src/store/modules/settings.js similarity index 100% rename from sop-admin/sop-admin-vue/src/store/modules/settings.js rename to sop-admin/sop-admin-frontend/src/store/modules/settings.js diff --git a/sop-admin/sop-admin-vue/src/store/modules/user.js b/sop-admin/sop-admin-frontend/src/store/modules/user.js similarity index 100% rename from sop-admin/sop-admin-vue/src/store/modules/user.js rename to sop-admin/sop-admin-frontend/src/store/modules/user.js diff --git a/sop-admin/sop-admin-vue/src/styles/element-ui.scss b/sop-admin/sop-admin-frontend/src/styles/element-ui.scss similarity index 100% rename from sop-admin/sop-admin-vue/src/styles/element-ui.scss rename to sop-admin/sop-admin-frontend/src/styles/element-ui.scss diff --git a/sop-admin/sop-admin-vue/src/styles/index.scss b/sop-admin/sop-admin-frontend/src/styles/index.scss similarity index 100% rename from sop-admin/sop-admin-vue/src/styles/index.scss rename to sop-admin/sop-admin-frontend/src/styles/index.scss diff --git a/sop-admin/sop-admin-vue/src/styles/mixin.scss b/sop-admin/sop-admin-frontend/src/styles/mixin.scss similarity index 100% rename from sop-admin/sop-admin-vue/src/styles/mixin.scss rename to sop-admin/sop-admin-frontend/src/styles/mixin.scss diff --git a/sop-admin/sop-admin-vue/src/styles/sidebar.scss b/sop-admin/sop-admin-frontend/src/styles/sidebar.scss similarity index 100% rename from sop-admin/sop-admin-vue/src/styles/sidebar.scss rename to sop-admin/sop-admin-frontend/src/styles/sidebar.scss diff --git a/sop-admin/sop-admin-vue/src/styles/transition.scss b/sop-admin/sop-admin-frontend/src/styles/transition.scss similarity index 100% rename from sop-admin/sop-admin-vue/src/styles/transition.scss rename to sop-admin/sop-admin-frontend/src/styles/transition.scss diff --git a/sop-admin/sop-admin-vue/src/styles/variables.scss b/sop-admin/sop-admin-frontend/src/styles/variables.scss similarity index 100% rename from sop-admin/sop-admin-vue/src/styles/variables.scss rename to sop-admin/sop-admin-frontend/src/styles/variables.scss diff --git a/sop-admin/sop-admin-vue/src/utils/auth.js b/sop-admin/sop-admin-frontend/src/utils/auth.js similarity index 100% rename from sop-admin/sop-admin-vue/src/utils/auth.js rename to sop-admin/sop-admin-frontend/src/utils/auth.js diff --git a/sop-admin/sop-admin-vue/src/utils/get-page-title.js b/sop-admin/sop-admin-frontend/src/utils/get-page-title.js similarity index 100% rename from sop-admin/sop-admin-vue/src/utils/get-page-title.js rename to sop-admin/sop-admin-frontend/src/utils/get-page-title.js diff --git a/sop-admin/sop-admin-vue/src/utils/global.js b/sop-admin/sop-admin-frontend/src/utils/global.js similarity index 100% rename from sop-admin/sop-admin-vue/src/utils/global.js rename to sop-admin/sop-admin-frontend/src/utils/global.js diff --git a/sop-admin/sop-admin-vue/src/utils/index.js b/sop-admin/sop-admin-frontend/src/utils/index.js similarity index 100% rename from sop-admin/sop-admin-vue/src/utils/index.js rename to sop-admin/sop-admin-frontend/src/utils/index.js diff --git a/sop-admin/sop-admin-vue/src/utils/request.js b/sop-admin/sop-admin-frontend/src/utils/request.js similarity index 100% rename from sop-admin/sop-admin-vue/src/utils/request.js rename to sop-admin/sop-admin-frontend/src/utils/request.js diff --git a/sop-admin/sop-admin-vue/src/utils/validate.js b/sop-admin/sop-admin-frontend/src/utils/validate.js similarity index 100% rename from sop-admin/sop-admin-vue/src/utils/validate.js rename to sop-admin/sop-admin-frontend/src/utils/validate.js diff --git a/sop-admin/sop-admin-vue/src/views/404.vue b/sop-admin/sop-admin-frontend/src/views/404.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/404.vue rename to sop-admin/sop-admin-frontend/src/views/404.vue diff --git a/sop-admin/sop-admin-vue/src/views/dashboard/index.vue b/sop-admin/sop-admin-frontend/src/views/dashboard/index.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/dashboard/index.vue rename to sop-admin/sop-admin-frontend/src/views/dashboard/index.vue diff --git a/sop-admin/sop-admin-vue/src/views/isv/index.vue b/sop-admin/sop-admin-frontend/src/views/isv/index.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/isv/index.vue rename to sop-admin/sop-admin-frontend/src/views/isv/index.vue diff --git a/sop-admin/sop-admin-vue/src/views/isv/keys.vue b/sop-admin/sop-admin-frontend/src/views/isv/keys.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/isv/keys.vue rename to sop-admin/sop-admin-frontend/src/views/isv/keys.vue diff --git a/sop-admin/sop-admin-vue/src/views/isv/role.vue b/sop-admin/sop-admin-frontend/src/views/isv/role.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/isv/role.vue rename to sop-admin/sop-admin-frontend/src/views/isv/role.vue diff --git a/sop-admin/sop-admin-vue/src/views/login/index.vue b/sop-admin/sop-admin-frontend/src/views/login/index.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/login/index.vue rename to sop-admin/sop-admin-frontend/src/views/login/index.vue diff --git a/sop-admin/sop-admin-vue/src/views/service/ipBlacklist.vue b/sop-admin/sop-admin-frontend/src/views/service/ipBlacklist.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/service/ipBlacklist.vue rename to sop-admin/sop-admin-frontend/src/views/service/ipBlacklist.vue diff --git a/sop-admin/sop-admin-vue/src/views/service/limit.vue b/sop-admin/sop-admin-frontend/src/views/service/limit.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/service/limit.vue rename to sop-admin/sop-admin-frontend/src/views/service/limit.vue diff --git a/sop-admin/sop-admin-vue/src/views/service/log.vue b/sop-admin/sop-admin-frontend/src/views/service/log.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/service/log.vue rename to sop-admin/sop-admin-frontend/src/views/service/log.vue diff --git a/sop-admin/sop-admin-vue/src/views/service/monitor.vue b/sop-admin/sop-admin-frontend/src/views/service/monitor.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/service/monitor.vue rename to sop-admin/sop-admin-frontend/src/views/service/monitor.vue diff --git a/sop-admin/sop-admin-vue/src/views/service/monitorNew.vue b/sop-admin/sop-admin-frontend/src/views/service/monitorNew.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/service/monitorNew.vue rename to sop-admin/sop-admin-frontend/src/views/service/monitorNew.vue diff --git a/sop-admin/sop-admin-vue/src/views/service/route.vue b/sop-admin/sop-admin-frontend/src/views/service/route.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/service/route.vue rename to sop-admin/sop-admin-frontend/src/views/service/route.vue diff --git a/sop-admin/sop-admin-vue/src/views/service/sdk.vue b/sop-admin/sop-admin-frontend/src/views/service/sdk.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/service/sdk.vue rename to sop-admin/sop-admin-frontend/src/views/service/sdk.vue diff --git a/sop-admin/sop-admin-vue/src/views/service/serviceList.vue b/sop-admin/sop-admin-frontend/src/views/service/serviceList.vue similarity index 100% rename from sop-admin/sop-admin-vue/src/views/service/serviceList.vue rename to sop-admin/sop-admin-frontend/src/views/service/serviceList.vue diff --git a/sop-admin/sop-admin-vue/tests/unit/.eslintrc.js b/sop-admin/sop-admin-frontend/tests/unit/.eslintrc.js similarity index 100% rename from sop-admin/sop-admin-vue/tests/unit/.eslintrc.js rename to sop-admin/sop-admin-frontend/tests/unit/.eslintrc.js diff --git a/sop-admin/sop-admin-vue/tests/unit/components/Breadcrumb.spec.js b/sop-admin/sop-admin-frontend/tests/unit/components/Breadcrumb.spec.js similarity index 100% rename from sop-admin/sop-admin-vue/tests/unit/components/Breadcrumb.spec.js rename to sop-admin/sop-admin-frontend/tests/unit/components/Breadcrumb.spec.js diff --git a/sop-admin/sop-admin-vue/tests/unit/components/Hamburger.spec.js b/sop-admin/sop-admin-frontend/tests/unit/components/Hamburger.spec.js similarity index 100% rename from sop-admin/sop-admin-vue/tests/unit/components/Hamburger.spec.js rename to sop-admin/sop-admin-frontend/tests/unit/components/Hamburger.spec.js diff --git a/sop-admin/sop-admin-vue/tests/unit/components/SvgIcon.spec.js b/sop-admin/sop-admin-frontend/tests/unit/components/SvgIcon.spec.js similarity index 100% rename from sop-admin/sop-admin-vue/tests/unit/components/SvgIcon.spec.js rename to sop-admin/sop-admin-frontend/tests/unit/components/SvgIcon.spec.js diff --git a/sop-admin/sop-admin-vue/tests/unit/utils/formatTime.spec.js b/sop-admin/sop-admin-frontend/tests/unit/utils/formatTime.spec.js similarity index 100% rename from sop-admin/sop-admin-vue/tests/unit/utils/formatTime.spec.js rename to sop-admin/sop-admin-frontend/tests/unit/utils/formatTime.spec.js diff --git a/sop-admin/sop-admin-vue/tests/unit/utils/parseTime.spec.js b/sop-admin/sop-admin-frontend/tests/unit/utils/parseTime.spec.js similarity index 100% rename from sop-admin/sop-admin-vue/tests/unit/utils/parseTime.spec.js rename to sop-admin/sop-admin-frontend/tests/unit/utils/parseTime.spec.js diff --git a/sop-admin/sop-admin-vue/tests/unit/utils/validate.spec.js b/sop-admin/sop-admin-frontend/tests/unit/utils/validate.spec.js similarity index 100% rename from sop-admin/sop-admin-vue/tests/unit/utils/validate.spec.js rename to sop-admin/sop-admin-frontend/tests/unit/utils/validate.spec.js diff --git a/sop-admin/sop-admin-vue/vue.config.js b/sop-admin/sop-admin-frontend/vue.config.js similarity index 100% rename from sop-admin/sop-admin-vue/vue.config.js rename to sop-admin/sop-admin-frontend/vue.config.js diff --git a/sop-admin/sop-admin-vue/src/assets/404_images/404.png b/sop-admin/sop-admin-vue/src/assets/404_images/404.png deleted file mode 100644 index 3d8e2305..00000000 Binary files a/sop-admin/sop-admin-vue/src/assets/404_images/404.png and /dev/null differ diff --git a/sop-admin/sop-admin-vue/src/assets/404_images/404_cloud.png b/sop-admin/sop-admin-vue/src/assets/404_images/404_cloud.png deleted file mode 100644 index c6281d09..00000000 Binary files a/sop-admin/sop-admin-vue/src/assets/404_images/404_cloud.png and /dev/null differ diff --git a/sop-auth/src/main/java/com/gitee/sop/sopauth/controller/CallbackController.java b/sop-auth/src/main/java/com/gitee/sop/sopauth/controller/CallbackController.java index 4f1cf437..a655a179 100644 --- a/sop-auth/src/main/java/com/gitee/sop/sopauth/controller/CallbackController.java +++ b/sop-auth/src/main/java/com/gitee/sop/sopauth/controller/CallbackController.java @@ -18,7 +18,7 @@ import javax.servlet.http.HttpServletResponse; @Controller @Slf4j public class CallbackController { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-auth/src/test/java/com/gitee/sop/sopauth/RefreshTokenTest.java b/sop-auth/src/test/java/com/gitee/sop/sopauth/RefreshTokenTest.java index 5c597e55..00eba5bf 100644 --- a/sop-auth/src/test/java/com/gitee/sop/sopauth/RefreshTokenTest.java +++ b/sop-auth/src/test/java/com/gitee/sop/sopauth/RefreshTokenTest.java @@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j; */ @Slf4j public class RefreshTokenTest extends TestCase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-example/pom.xml b/sop-example/pom.xml index e675beda..d7122533 100644 --- a/sop-example/pom.xml +++ b/sop-example/pom.xml @@ -2,15 +2,11 @@ - - com.gitee.sop - sop-parent - 5.0.0-SNAPSHOT - ../pom.xml - + com.gitee.sop 4.0.0 sop-example + 5.0.0-SNAPSHOT pom diff --git a/sop-example/sop-story/pom.xml b/sop-example/sop-story/pom.xml index c57f7b2a..0ee5b9e4 100644 --- a/sop-example/sop-story/pom.xml +++ b/sop-example/sop-story/pom.xml @@ -1,19 +1,24 @@ - - com.gitee.sop - sop-parent - 5.0.0-SNAPSHOT - ../../pom.xml - 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.6.15 + + + + com.gitee.sop sop-story + 5.0.0-SNAPSHOT sop-story 1.8 + + 3.2.10 @@ -31,13 +36,16 @@ org.apache.dubbo dubbo-spring-boot-starter + ${dubbo.version} + org.apache.commons diff --git a/sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/StoryService.java b/sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/OpenStory.java similarity index 55% rename from sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/StoryService.java rename to sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/OpenStory.java index fc7b6176..ef984381 100644 --- a/sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/StoryService.java +++ b/sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/OpenStory.java @@ -3,21 +3,24 @@ package com.gitee.sop.storyweb.open; import com.gitee.sop.storyweb.open.req.StorySaveDTO; import com.gitee.sop.storyweb.open.resp.StoryResponse; import com.gitee.sop.support.annotation.Open; +import com.gitee.sop.support.request.FileData; + +import java.util.List; /** + * 开放接口定义 + * * @author 六如 */ -public interface StoryService { +public interface OpenStory { - @Open("story.save") Integer save(StorySaveDTO storySaveDTO); - @Open("story.update") Integer update(Integer id, StorySaveDTO storySaveDTO); - @Open("story.get") StoryResponse getById(Integer id); + // 默认方法,注解放在这里也有效 @Open("story.find") default StoryResponse getById(Integer id, String name) { StoryResponse storyResponse = new StoryResponse(); @@ -26,4 +29,13 @@ public interface StoryService { return storyResponse; } + // 演示单文件上传 + StoryResponse upload(StorySaveDTO storySaveDTO, FileData file); + + // 演示多文件上传 + StoryResponse upload2(StorySaveDTO storySaveDTO, FileData idCardFront, FileData idCardBack); + + // 演示多文件上传 + StoryResponse upload3(StorySaveDTO storySaveDTO, List files); + } diff --git a/sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/impl/OpenStoryImpl.java b/sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/impl/OpenStoryImpl.java new file mode 100644 index 00000000..06bfac43 --- /dev/null +++ b/sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/impl/OpenStoryImpl.java @@ -0,0 +1,110 @@ +package com.gitee.sop.storyweb.open.impl; + +import com.gitee.sop.storyweb.open.OpenStory; +import com.gitee.sop.storyweb.open.req.StorySaveDTO; +import com.gitee.sop.storyweb.open.resp.StoryResponse; +import com.gitee.sop.support.annotation.Open; +import com.gitee.sop.support.context.OpenContext; +import com.gitee.sop.support.request.FileData; +import org.apache.dubbo.config.annotation.DubboService; +import org.springframework.util.Assert; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + + +/** + * 开放接口实现 + * + * @author 六如 + */ +@DubboService(validation = "true") +public class OpenStoryImpl implements OpenStory { + + @Open("story.save") + @Override + public Integer save(StorySaveDTO storySaveDTO) { + System.out.println("save storySaveDTO:" + storySaveDTO); + System.out.println("appId:" + OpenContext.getAppId()); + System.out.println("apiName:" + OpenContext.getApiName()); + System.out.println("version:" + OpenContext.getVersion()); + System.out.println("token:" + OpenContext.getAppAuthToken()); + System.out.println("ip:" + OpenContext.getClientIp()); + System.out.println("traceId:" + OpenContext.getTraceId()); + + Assert.notNull(OpenContext.getAppId()); + Assert.notNull(OpenContext.getApiName()); + Assert.notNull(OpenContext.getVersion()); + Assert.notNull(OpenContext.getClientIp()); + Assert.notNull(OpenContext.getTraceId()); + + return 1; + } + + @Open("story.update") + @Override + public Integer update(Integer id, StorySaveDTO storySaveDTO) { + System.out.println("update, id:" + id + ", storySaveDTO=" + storySaveDTO); + return 1; + } + + @Open("story.get") + @Override + public StoryResponse getById(@NotNull(message = "id必填") Integer id) { + StoryResponse storyResponse = new StoryResponse(); + storyResponse.setId(id); + storyResponse.setName("乌鸦喝水"); + return storyResponse; + } + + @Open("story.upload") + @Override + public StoryResponse upload(StorySaveDTO storySaveDTO, FileData file) { + System.out.println("upload:" + storySaveDTO); + checkFile(Arrays.asList(file)); + + StoryResponse storyResponse = new StoryResponse(); + storyResponse.setId(1); + storyResponse.setName(storySaveDTO.getStoryName()); + return storyResponse; + } + + @Open("story.upload.more") + @Override + public StoryResponse upload2(StorySaveDTO storySaveDTO, FileData idCardFront, FileData idCardBack) { + List list = new ArrayList<>(); + System.out.println("upload:" + storySaveDTO); + checkFile(Arrays.asList(idCardFront, idCardBack)); + + StoryResponse storyResponse = new StoryResponse(); + storyResponse.setId(1); + storyResponse.setName(storySaveDTO.getStoryName()); + return storyResponse; + } + + + @Open("story.upload.list") + @Override + public StoryResponse upload3(StorySaveDTO storySaveDTO, @Min(value = 2,message = "最少上传2个文件") List files) { + List list = new ArrayList<>(); + list.add("upload:" + storySaveDTO); + checkFile(files); + + StoryResponse storyResponse = new StoryResponse(); + storyResponse.setId(1); + storyResponse.setName(storySaveDTO.getStoryName()); + return storyResponse; + } + + private void checkFile(List fileDataList) { + for (FileData file : fileDataList) { + Assert.notNull(file.getName()); + Assert.notNull(file.getOriginalFilename()); + Assert.notNull(file.getBytes()); + Assert.isTrue(!file.isEmpty()); + } + } +} diff --git a/sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/impl/StoreyServiceImpl.java b/sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/impl/StoreyServiceImpl.java deleted file mode 100644 index 06e3b949..00000000 --- a/sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/open/impl/StoreyServiceImpl.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gitee.sop.storyweb.open.impl; - -import com.gitee.sop.storyweb.open.StoryService; -import com.gitee.sop.storyweb.open.req.StorySaveDTO; -import com.gitee.sop.storyweb.open.resp.StoryResponse; -import com.gitee.sop.support.context.OpenContext; -import org.apache.dubbo.config.annotation.DubboService; - -import javax.validation.constraints.NotNull; - - -/** - * 开放接口实现 - * - * @author 六如 - */ -@DubboService(validation = "true") -public class StoreyServiceImpl implements StoryService { - - @Override - public Integer save(StorySaveDTO storySaveDTO) { - System.out.println("save storySaveDTO:" + storySaveDTO); - System.out.println("appId:" + OpenContext.getAppId()); - System.out.println("apiName:" + OpenContext.getApiName()); - System.out.println("version:" + OpenContext.getVersion()); - System.out.println("token:" + OpenContext.getAppAuthToken()); - System.out.println("ip:" + OpenContext.getClientIp()); - System.out.println("traceId:" + OpenContext.getTraceId()); - return 1; - } - - @Override - public Integer update(Integer id, StorySaveDTO storySaveDTO) { - System.out.println("update, id:" + id + ", storySaveDTO=" + storySaveDTO); - return 1; - } - - @Override - public StoryResponse getById(@NotNull(message = "id必填") Integer id) { - StoryResponse storyResponse = new StoryResponse(); - storyResponse.setId(id); - storyResponse.setName("乌鸦喝水"); - return storyResponse; - } -} diff --git a/sop-index/pom.xml b/sop-index/pom.xml index ed8b8d48..3c111a78 100644 --- a/sop-index/pom.xml +++ b/sop-index/pom.xml @@ -1,22 +1,276 @@ - + 4.0.0 - com.gitee.sop - sop-parent - 5.0.0-SNAPSHOT - ../pom.xml + org.springframework.boot + spring-boot-starter-parent + 2.6.15 + + + com.gitee.sop sop-index - pom - sop-index - sop-index + 5.0.0-SNAPSHOT - - sop-index-api - sop-index-service - + + 8 + 8 + UTF-8 + + 2.6.15 + + 2021.0.5 + + + 2021.0.5.0 + + 3.2.10 + + 4.11 + 1.2.83 + 2.5 + 1.3.3 + 3.2.2 + 3.8.1 + 1.11 + 1.2 + 2.0.1.Final + 6.0.13.Final + 3.0.10 + + + + + com.gitee.sop + sop-service-support + 5.0.0-SNAPSHOT + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-web + + + + org.apache.dubbo + dubbo-spring-boot-starter + + + + com.alibaba.boot + nacos-discovery-spring-boot-starter + 0.2.1 + + + + io.gitee.durcframework + fastmybatis-spring-boot-starter + + + + mysql + mysql-connector-java + + + + org.springframework.boot + spring-boot-starter-jdbc + + + + commons-codec + commons-codec + + + org.apache.commons + commons-lang3 + + + commons-fileupload + commons-fileupload + + + + org.hibernate + hibernate-validator + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.apache.dubbo + dubbo-dependencies-zookeeper-curator5 + ${dubbo.version} + pom + provided + + + + org.projectlombok + lombok + true + + + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + ${spring-cloud-alibaba.version} + pom + import + + + org.apache.dubbo + dubbo-spring-boot-starter + ${dubbo.version} + + + + com.alibaba.boot + nacos-discovery-spring-boot-starter + 0.2.1 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + io.gitee.durcframework + fastmybatis-spring-boot-starter + ${fastmybatis.version} + + + + com.squareup.okhttp3 + okhttp + 3.14.7 + + + + javax.validation + validation-api + ${validation-api.version} + + + org.hibernate + hibernate-validator + ${hibernate-validator.version} + + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + commons-collections + commons-collections + ${commons-collection.version} + + + commons-io + commons-io + ${commons-io.version} + + + commons-codec + commons-codec + ${commons-codec.version} + + + commons-fileupload + commons-fileupload + ${commons-fileupload.version} + + + commons-logging + commons-logging + ${commons-logging.version} + + + + org.projectlombok + lombok + 1.18.30 + + + javax.servlet + javax.servlet-api + 3.1.0 + + + + + + + aliyun + aliyun + https://maven.aliyun.com/repository/public + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.12.4 + + true + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + ${java.version} + ${java.version} + UTF-8 + + + + diff --git a/sop-index/sop-index-api/pom.xml b/sop-index/sop-index-api/pom.xml deleted file mode 100644 index ac326907..00000000 --- a/sop-index/sop-index-api/pom.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - 4.0.0 - - com.gitee.sop - sop-index - 5.0.0-SNAPSHOT - - - sop-index-api - - - 8 - 8 - UTF-8 - - - - - org.projectlombok - lombok - true - - - - diff --git a/sop-index/sop-index-service/pom.xml b/sop-index/sop-index-service/pom.xml deleted file mode 100644 index ddd25c61..00000000 --- a/sop-index/sop-index-service/pom.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - 4.0.0 - - com.gitee.sop - sop-index - 5.0.0-SNAPSHOT - - - sop-index-service - - - 8 - 8 - UTF-8 - - - - - com.gitee.sop - sop-index-api - 5.0.0-SNAPSHOT - - - com.gitee.sop - sop-spring-boot-starter - 5.0.0-SNAPSHOT - - - - - org.springframework.boot - spring-boot-starter - - - - org.springframework.boot - spring-boot-starter-web - - - - org.apache.dubbo - dubbo-spring-boot-starter - - - - com.alibaba.boot - nacos-discovery-spring-boot-starter - 0.2.1 - - - - io.gitee.durcframework - fastmybatis-spring-boot-starter - - - - mysql - mysql-connector-java - - - - org.springframework.boot - spring-boot-starter-jdbc - - - - commons-codec - commons-codec - - - org.apache.commons - commons-lang3 - - - commons-fileupload - commons-fileupload - - - - org.hibernate - hibernate-validator - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.apache.dubbo - dubbo-dependencies-zookeeper-curator5 - ${dubbo.version} - pom - provided - - - - org.projectlombok - lombok - true - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/SopIndexApplication.java b/sop-index/src/main/java/com/gitee/sop/index/SopIndexApplication.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/SopIndexApplication.java rename to sop-index/src/main/java/com/gitee/sop/index/SopIndexApplication.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/ApiInfoDTO.java b/sop-index/src/main/java/com/gitee/sop/index/common/ApiInfoDTO.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/ApiInfoDTO.java rename to sop-index/src/main/java/com/gitee/sop/index/common/ApiInfoDTO.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/AttachmentNames.java b/sop-index/src/main/java/com/gitee/sop/index/common/AttachmentNames.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/AttachmentNames.java rename to sop-index/src/main/java/com/gitee/sop/index/common/AttachmentNames.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/ParamInfoDTO.java b/sop-index/src/main/java/com/gitee/sop/index/common/ParamInfoDTO.java similarity index 82% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/ParamInfoDTO.java rename to sop-index/src/main/java/com/gitee/sop/index/common/ParamInfoDTO.java index f15631a4..b555e743 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/ParamInfoDTO.java +++ b/sop-index/src/main/java/com/gitee/sop/index/common/ParamInfoDTO.java @@ -6,4 +6,5 @@ import lombok.Data; public class ParamInfoDTO { private String name; private String type; + private String actualType; } diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/ParamNames.java b/sop-index/src/main/java/com/gitee/sop/index/common/ParamNames.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/ParamNames.java rename to sop-index/src/main/java/com/gitee/sop/index/common/ParamNames.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/RouteContext.java b/sop-index/src/main/java/com/gitee/sop/index/common/RouteContext.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/RouteContext.java rename to sop-index/src/main/java/com/gitee/sop/index/common/RouteContext.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/SopConstants.java b/sop-index/src/main/java/com/gitee/sop/index/common/SopConstants.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/SopConstants.java rename to sop-index/src/main/java/com/gitee/sop/index/common/SopConstants.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/StatusEnum.java b/sop-index/src/main/java/com/gitee/sop/index/common/StatusEnum.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/StatusEnum.java rename to sop-index/src/main/java/com/gitee/sop/index/common/StatusEnum.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/config/ApiConfig.java b/sop-index/src/main/java/com/gitee/sop/index/config/ApiConfig.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/config/ApiConfig.java rename to sop-index/src/main/java/com/gitee/sop/index/config/ApiConfig.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/config/IndexConfig.java b/sop-index/src/main/java/com/gitee/sop/index/config/IndexConfig.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/config/IndexConfig.java rename to sop-index/src/main/java/com/gitee/sop/index/config/IndexConfig.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/controller/IndexController.java b/sop-index/src/main/java/com/gitee/sop/index/controller/IndexController.java similarity index 52% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/controller/IndexController.java rename to sop-index/src/main/java/com/gitee/sop/index/controller/IndexController.java index ea4bac79..e0b928a7 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/controller/IndexController.java +++ b/sop-index/src/main/java/com/gitee/sop/index/controller/IndexController.java @@ -1,17 +1,16 @@ package com.gitee.sop.index.controller; -import com.gitee.sop.index.request.ApiRequest; +import com.gitee.sop.index.response.ApiResponse; import com.gitee.sop.index.request.ApiRequestContext; -import com.gitee.sop.index.common.ApiResponse; +import com.gitee.sop.index.request.ApiRequestContextFactory; import com.gitee.sop.index.service.RouteService; -import com.gitee.sop.index.util.RequestUtil; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import java.util.UUID; /** * 开放平台入口 @@ -34,15 +33,9 @@ public class IndexController { * * @return 返回响应内容 */ - @PostMapping("api") - public ApiResponse index(ApiRequest apiRequest, HttpServletRequest request) { - String ip = RequestUtil.getIP(request); - ApiRequestContext apiRequestContext = ApiRequestContext.builder() - .apiRequest(apiRequest) - .locale(request.getLocale()) - .ip(ip) - .traceId(UUID.randomUUID().toString().replace("-", "")) - .build(); + @RequestMapping(value = "api", method = {RequestMethod.GET, RequestMethod.POST}) + public ApiResponse index(HttpServletRequest request) { + ApiRequestContext apiRequestContext = ApiRequestContextFactory.build(request); return routeService.route(apiRequestContext); } diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/entity/ApiInfo.java b/sop-index/src/main/java/com/gitee/sop/index/dao/entity/ApiInfo.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/entity/ApiInfo.java rename to sop-index/src/main/java/com/gitee/sop/index/dao/entity/ApiInfo.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/entity/IsvInfo.java b/sop-index/src/main/java/com/gitee/sop/index/dao/entity/IsvInfo.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/entity/IsvInfo.java rename to sop-index/src/main/java/com/gitee/sop/index/dao/entity/IsvInfo.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/entity/IsvKeys.java b/sop-index/src/main/java/com/gitee/sop/index/dao/entity/IsvKeys.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/entity/IsvKeys.java rename to sop-index/src/main/java/com/gitee/sop/index/dao/entity/IsvKeys.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/mapper/ApiInfoMapper.java b/sop-index/src/main/java/com/gitee/sop/index/dao/mapper/ApiInfoMapper.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/mapper/ApiInfoMapper.java rename to sop-index/src/main/java/com/gitee/sop/index/dao/mapper/ApiInfoMapper.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/mapper/IsvInfoMapper.java b/sop-index/src/main/java/com/gitee/sop/index/dao/mapper/IsvInfoMapper.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/mapper/IsvInfoMapper.java rename to sop-index/src/main/java/com/gitee/sop/index/dao/mapper/IsvInfoMapper.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/mapper/IsvKeysMapper.java b/sop-index/src/main/java/com/gitee/sop/index/dao/mapper/IsvKeysMapper.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/dao/mapper/IsvKeysMapper.java rename to sop-index/src/main/java/com/gitee/sop/index/dao/mapper/IsvKeysMapper.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/ApiException.java b/sop-index/src/main/java/com/gitee/sop/index/exception/ApiException.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/ApiException.java rename to sop-index/src/main/java/com/gitee/sop/index/exception/ApiException.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/ControllerGlobalExceptionHandler.java b/sop-index/src/main/java/com/gitee/sop/index/exception/ControllerGlobalExceptionHandler.java similarity index 98% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/ControllerGlobalExceptionHandler.java rename to sop-index/src/main/java/com/gitee/sop/index/exception/ControllerGlobalExceptionHandler.java index 600d2c39..05c3b954 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/ControllerGlobalExceptionHandler.java +++ b/sop-index/src/main/java/com/gitee/sop/index/exception/ControllerGlobalExceptionHandler.java @@ -1,6 +1,6 @@ package com.gitee.sop.index.exception; -import com.gitee.sop.index.common.ApiResponse; +import com.gitee.sop.index.response.ApiResponse; import com.gitee.sop.index.message.ErrorEnum; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindException; diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/ExceptionExecutor.java b/sop-index/src/main/java/com/gitee/sop/index/exception/ExceptionExecutor.java similarity index 83% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/ExceptionExecutor.java rename to sop-index/src/main/java/com/gitee/sop/index/exception/ExceptionExecutor.java index 58a0c282..f6cbbad8 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/ExceptionExecutor.java +++ b/sop-index/src/main/java/com/gitee/sop/index/exception/ExceptionExecutor.java @@ -1,7 +1,7 @@ package com.gitee.sop.index.exception; import com.gitee.sop.index.request.ApiRequestContext; -import com.gitee.sop.index.common.ApiResponse; +import com.gitee.sop.index.response.ApiResponse; /** * @author 六如 diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/SignException.java b/sop-index/src/main/java/com/gitee/sop/index/exception/SignException.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/SignException.java rename to sop-index/src/main/java/com/gitee/sop/index/exception/SignException.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/impl/ExceptionExecutorImpl.java b/sop-index/src/main/java/com/gitee/sop/index/exception/impl/ExceptionExecutorImpl.java similarity index 97% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/impl/ExceptionExecutorImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/exception/impl/ExceptionExecutorImpl.java index a74db615..bb4a6ffa 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/exception/impl/ExceptionExecutorImpl.java +++ b/sop-index/src/main/java/com/gitee/sop/index/exception/impl/ExceptionExecutorImpl.java @@ -1,7 +1,7 @@ package com.gitee.sop.index.exception.impl; import com.gitee.sop.index.request.ApiRequestContext; -import com.gitee.sop.index.common.ApiResponse; +import com.gitee.sop.index.response.ApiResponse; import com.gitee.sop.index.exception.ApiException; import com.gitee.sop.index.exception.ExceptionExecutor; import com.gitee.sop.index.message.ErrorEnum; diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/message/ErrorEnum.java b/sop-index/src/main/java/com/gitee/sop/index/message/ErrorEnum.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/message/ErrorEnum.java rename to sop-index/src/main/java/com/gitee/sop/index/message/ErrorEnum.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/message/ErrorFactory.java b/sop-index/src/main/java/com/gitee/sop/index/message/ErrorFactory.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/message/ErrorFactory.java rename to sop-index/src/main/java/com/gitee/sop/index/message/ErrorFactory.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/message/ErrorImpl.java b/sop-index/src/main/java/com/gitee/sop/index/message/ErrorImpl.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/message/ErrorImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/message/ErrorImpl.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/message/ErrorMeta.java b/sop-index/src/main/java/com/gitee/sop/index/message/ErrorMeta.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/message/ErrorMeta.java rename to sop-index/src/main/java/com/gitee/sop/index/message/ErrorMeta.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/message/IError.java b/sop-index/src/main/java/com/gitee/sop/index/message/IError.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/message/IError.java rename to sop-index/src/main/java/com/gitee/sop/index/message/IError.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/ApiRequest.java b/sop-index/src/main/java/com/gitee/sop/index/request/ApiRequest.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/ApiRequest.java rename to sop-index/src/main/java/com/gitee/sop/index/request/ApiRequest.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/ApiRequestContext.java b/sop-index/src/main/java/com/gitee/sop/index/request/ApiRequestContext.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/ApiRequestContext.java rename to sop-index/src/main/java/com/gitee/sop/index/request/ApiRequestContext.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/ApiRequestContextFactory.java b/sop-index/src/main/java/com/gitee/sop/index/request/ApiRequestContextFactory.java similarity index 97% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/ApiRequestContextFactory.java rename to sop-index/src/main/java/com/gitee/sop/index/request/ApiRequestContextFactory.java index 5448358a..8ffc5489 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/ApiRequestContextFactory.java +++ b/sop-index/src/main/java/com/gitee/sop/index/request/ApiRequestContextFactory.java @@ -26,9 +26,10 @@ public class ApiRequestContextFactory { public static final String FORM = "form"; public static ApiRequestContext build(HttpServletRequest request) { + // get请求可能返回null String contentType = request.getHeader(CONTENT_TYPE); if (contentType == null) { - contentType = MediaType.APPLICATION_FORM_URLENCODED_VALUE; + contentType = ""; } ApiRequest apiRequest = new ApiRequest(); String ip = RequestUtil.getIP(request); diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/ApiUploadContext.java b/sop-index/src/main/java/com/gitee/sop/index/request/ApiUploadContext.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/ApiUploadContext.java rename to sop-index/src/main/java/com/gitee/sop/index/request/ApiUploadContext.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/UploadContext.java b/sop-index/src/main/java/com/gitee/sop/index/request/UploadContext.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/request/UploadContext.java rename to sop-index/src/main/java/com/gitee/sop/index/request/UploadContext.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/ApiResponse.java b/sop-index/src/main/java/com/gitee/sop/index/response/ApiResponse.java similarity index 98% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/ApiResponse.java rename to sop-index/src/main/java/com/gitee/sop/index/response/ApiResponse.java index 6448069b..6e01d63e 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/common/ApiResponse.java +++ b/sop-index/src/main/java/com/gitee/sop/index/response/ApiResponse.java @@ -1,4 +1,4 @@ -package com.gitee.sop.index.common; +package com.gitee.sop.index.response; import com.gitee.sop.index.exception.ApiException; import com.gitee.sop.index.message.ErrorEnum; diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/ApiInfoService.java b/sop-index/src/main/java/com/gitee/sop/index/service/ApiInfoService.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/ApiInfoService.java rename to sop-index/src/main/java/com/gitee/sop/index/service/ApiInfoService.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/GenericServiceInvoker.java b/sop-index/src/main/java/com/gitee/sop/index/service/GenericServiceInvoker.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/GenericServiceInvoker.java rename to sop-index/src/main/java/com/gitee/sop/index/service/GenericServiceInvoker.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/RouteService.java b/sop-index/src/main/java/com/gitee/sop/index/service/RouteService.java similarity index 87% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/RouteService.java rename to sop-index/src/main/java/com/gitee/sop/index/service/RouteService.java index c6cceaf3..145c1bca 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/RouteService.java +++ b/sop-index/src/main/java/com/gitee/sop/index/service/RouteService.java @@ -1,7 +1,7 @@ package com.gitee.sop.index.service; import com.gitee.sop.index.request.ApiRequestContext; -import com.gitee.sop.index.common.ApiResponse; +import com.gitee.sop.index.response.ApiResponse; /** * 接口路由 diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/RouteServiceImpl.java b/sop-index/src/main/java/com/gitee/sop/index/service/RouteServiceImpl.java similarity index 68% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/RouteServiceImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/service/RouteServiceImpl.java index 8f847d9c..44cacd6f 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/RouteServiceImpl.java +++ b/sop-index/src/main/java/com/gitee/sop/index/service/RouteServiceImpl.java @@ -3,15 +3,18 @@ package com.gitee.sop.index.service; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.gitee.sop.index.common.ApiInfoDTO; -import com.gitee.sop.index.request.ApiRequest; -import com.gitee.sop.index.request.ApiRequestContext; -import com.gitee.sop.index.common.ApiResponse; +import com.gitee.sop.index.response.ApiResponse; import com.gitee.sop.index.common.AttachmentNames; import com.gitee.sop.index.common.ParamInfoDTO; +import com.gitee.sop.index.exception.ApiException; import com.gitee.sop.index.exception.ExceptionExecutor; +import com.gitee.sop.index.message.ErrorEnum; +import com.gitee.sop.index.request.ApiRequest; +import com.gitee.sop.index.request.ApiRequestContext; import com.gitee.sop.index.request.UploadContext; import com.gitee.sop.index.service.validate.Validator; import com.gitee.sop.index.util.ClassUtil; +import com.gitee.sop.support.request.CommonFileData; import com.gitee.sop.support.request.FileData; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.ClassUtils; @@ -19,12 +22,17 @@ import org.apache.dubbo.rpc.RpcContext; import org.apache.dubbo.rpc.RpcContextAttachment; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; + /** * 接口路由 @@ -110,12 +118,15 @@ public class RouteServiceImpl implements RouteService { List params = new ArrayList<>(); for (ParamInfoDTO paramInfoDTO : paramInfoList) { String type = paramInfoDTO.getType(); - // 如果是文件上传 - if (Objects.equals(type, FileData.class.getName())) { - UploadContext uploadContext = apiRequestContext.getUploadContext(); - if (uploadContext == null) { + String actualType = paramInfoDTO.getActualType(); + // 处理文件上传 + if (Objects.equals(type, FileData.class.getName()) || Objects.equals(actualType, FileData.class.getName())) { + Optional fileParam = buildFileParam(apiRequestContext, paramInfoDTO); + if (!fileParam.isPresent()) { continue; } + Object param = fileParam.get(); + params.add(param); } else { if (ClassUtil.isPrimitive(type)) { String paramName = paramInfoDTO.getName(); @@ -135,4 +146,42 @@ public class RouteServiceImpl implements RouteService { return params.toArray(new Object[0]); } + protected Optional buildFileParam(ApiRequestContext apiRequestContext, ParamInfoDTO paramInfoDTO) { + UploadContext uploadContext = apiRequestContext.getUploadContext(); + if (uploadContext == null) { + return Optional.empty(); + } + List files = uploadContext.getFile(paramInfoDTO.getName()); + List fileDataList = new ArrayList<>(files.size()); + for (MultipartFile multipartFile : files) { + CommonFileData fileData = new CommonFileData(); + fileData.setName(multipartFile.getName()); + fileData.setOriginalFilename(multipartFile.getOriginalFilename()); + fileData.setContentType(multipartFile.getContentType()); + try { + fileData.setData(multipartFile.getBytes()); + } catch (IOException e) { + log.error("读取文件内容失败, apiRequestContext={}", apiRequestContext, e); + throw new ApiException(ErrorEnum.ISP_SERVICE_UNKNOWN_ERROR, apiRequestContext.getLocale()); + } + fileDataList.add(fileData); + } + String type = paramInfoDTO.getType(); + Object fileParam = isCollectionClass(type) ? fileDataList : fileDataList.get(0); + return Optional.of(fileParam); + } + + private boolean isCollectionClass(String className) { + Class clazz = parseClass(className); + return clazz != null && Collection.class.isAssignableFrom(clazz); + } + + private Class parseClass(String className) { + try { + return Class.forName(className); + } catch (ClassNotFoundException e) { + return null; + } + } + } diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/dubbo/ApiRegisterServiceImpl.java b/sop-index/src/main/java/com/gitee/sop/index/service/dubbo/ApiRegisterServiceImpl.java similarity index 92% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/dubbo/ApiRegisterServiceImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/service/dubbo/ApiRegisterServiceImpl.java index ce292ffb..67bc9930 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/dubbo/ApiRegisterServiceImpl.java +++ b/sop-index/src/main/java/com/gitee/sop/index/service/dubbo/ApiRegisterServiceImpl.java @@ -1,13 +1,13 @@ package com.gitee.sop.index.service.dubbo; -import com.gitee.sop.index.api.ApiRegisterService; -import com.gitee.sop.index.api.RegisterDTO; import com.gitee.sop.index.common.ApiInfoDTO; import com.gitee.sop.index.common.StatusEnum; import com.gitee.sop.index.dao.entity.ApiInfo; import com.gitee.sop.index.dao.mapper.ApiInfoMapper; import com.gitee.sop.index.service.manager.ApiCacheManager; import com.gitee.sop.index.util.CopyUtil; +import com.gitee.sop.support.service.ApiRegisterService; +import com.gitee.sop.support.service.dto.RegisterDTO; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboService; diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/dubbo/IsvServiceImpl.java b/sop-index/src/main/java/com/gitee/sop/index/service/dubbo/IsvServiceImpl.java similarity index 91% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/dubbo/IsvServiceImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/service/dubbo/IsvServiceImpl.java index a2001feb..f0c2ed8c 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/dubbo/IsvServiceImpl.java +++ b/sop-index/src/main/java/com/gitee/sop/index/service/dubbo/IsvServiceImpl.java @@ -1,7 +1,7 @@ package com.gitee.sop.index.service.dubbo; -import com.gitee.sop.index.api.IsvService; import com.gitee.sop.index.service.manager.IsvManager; +import com.gitee.sop.support.service.IsvService; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboService; diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/ApiCacheManager.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/ApiCacheManager.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/ApiCacheManager.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/ApiCacheManager.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/IpBlacklistManager.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/IpBlacklistManager.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/IpBlacklistManager.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/IpBlacklistManager.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/IsvApiPermissionManager.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/IsvApiPermissionManager.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/IsvApiPermissionManager.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/IsvApiPermissionManager.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/IsvManager.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/IsvManager.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/IsvManager.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/IsvManager.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/SecretManager.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/SecretManager.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/SecretManager.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/SecretManager.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/dto/IsvDTO.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/dto/IsvDTO.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/dto/IsvDTO.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/dto/IsvDTO.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/IpBlacklistManagerImpl.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/IpBlacklistManagerImpl.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/IpBlacklistManagerImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/IpBlacklistManagerImpl.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/IsvApiPermissionManagerImpl.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/IsvApiPermissionManagerImpl.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/IsvApiPermissionManagerImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/IsvApiPermissionManagerImpl.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/LocalApiCacheManagerImpl.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/LocalApiCacheManagerImpl.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/LocalApiCacheManagerImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/LocalApiCacheManagerImpl.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/LocalIsvManagerImpl.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/LocalIsvManagerImpl.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/LocalIsvManagerImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/LocalIsvManagerImpl.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/LocalSecretManagerImpl.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/LocalSecretManagerImpl.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/LocalSecretManagerImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/LocalSecretManagerImpl.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/RedisApiCacheManagerImpl.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/RedisApiCacheManagerImpl.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/RedisApiCacheManagerImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/RedisApiCacheManagerImpl.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/RedisIsvManagerImpl.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/RedisIsvManagerImpl.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/RedisIsvManagerImpl.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/RedisIsvManagerImpl.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/RedisSecretManager.java b/sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/RedisSecretManager.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/manager/impl/RedisSecretManager.java rename to sop-index/src/main/java/com/gitee/sop/index/service/manager/impl/RedisSecretManager.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/AbstractSigner.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/AbstractSigner.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/AbstractSigner.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/AbstractSigner.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/ApiEncrypter.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/ApiEncrypter.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/ApiEncrypter.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/ApiEncrypter.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/ApiValidator.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/ApiValidator.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/ApiValidator.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/ApiValidator.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/Encrypter.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/Encrypter.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/Encrypter.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/Encrypter.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/SignConfig.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/SignConfig.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/SignConfig.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/SignConfig.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/SignEncipher.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/SignEncipher.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/SignEncipher.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/SignEncipher.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/SignEncipherMD5.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/SignEncipherMD5.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/SignEncipherMD5.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/SignEncipherMD5.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/Signer.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/Signer.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/Signer.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/Signer.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/Validator.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/Validator.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/Validator.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/Validator.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipayConstants.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipayConstants.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipayConstants.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipayConstants.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipaySignature.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipaySignature.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipaySignature.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipaySignature.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipaySigner.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipaySigner.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipaySigner.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/alipay/AlipaySigner.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/alipay/StreamUtil.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/alipay/StreamUtil.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/alipay/StreamUtil.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/alipay/StreamUtil.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/alipay/StringUtils.java b/sop-index/src/main/java/com/gitee/sop/index/service/validate/alipay/StringUtils.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/service/validate/alipay/StringUtils.java rename to sop-index/src/main/java/com/gitee/sop/index/service/validate/alipay/StringUtils.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/AESUtil.java b/sop-index/src/main/java/com/gitee/sop/index/util/AESUtil.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/AESUtil.java rename to sop-index/src/main/java/com/gitee/sop/index/util/AESUtil.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/ClassUtil.java b/sop-index/src/main/java/com/gitee/sop/index/util/ClassUtil.java similarity index 96% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/ClassUtil.java rename to sop-index/src/main/java/com/gitee/sop/index/util/ClassUtil.java index 1838f40c..8b1fc9e8 100644 --- a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/ClassUtil.java +++ b/sop-index/src/main/java/com/gitee/sop/index/util/ClassUtil.java @@ -11,7 +11,7 @@ public class ClassUtil { public static final String PREFIX_JAVA_LANG = "java.lang."; /** - * Check if it is the basic data type of json data + * Check if it is the basic data type * * @param type0 java class name * @return boolean diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/CopyUtil.java b/sop-index/src/main/java/com/gitee/sop/index/util/CopyUtil.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/CopyUtil.java rename to sop-index/src/main/java/com/gitee/sop/index/util/CopyUtil.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/KeyStore.java b/sop-index/src/main/java/com/gitee/sop/index/util/KeyStore.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/KeyStore.java rename to sop-index/src/main/java/com/gitee/sop/index/util/KeyStore.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/RSANewUtil.java b/sop-index/src/main/java/com/gitee/sop/index/util/RSANewUtil.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/RSANewUtil.java rename to sop-index/src/main/java/com/gitee/sop/index/util/RSANewUtil.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/RSAUtil.java b/sop-index/src/main/java/com/gitee/sop/index/util/RSAUtil.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/RSAUtil.java rename to sop-index/src/main/java/com/gitee/sop/index/util/RSAUtil.java diff --git a/sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/RequestUtil.java b/sop-index/src/main/java/com/gitee/sop/index/util/RequestUtil.java similarity index 100% rename from sop-index/sop-index-service/src/main/java/com/gitee/sop/index/util/RequestUtil.java rename to sop-index/src/main/java/com/gitee/sop/index/util/RequestUtil.java diff --git a/sop-index/sop-index-service/src/main/resources/application-dev.properties b/sop-index/src/main/resources/application-dev.properties similarity index 100% rename from sop-index/sop-index-service/src/main/resources/application-dev.properties rename to sop-index/src/main/resources/application-dev.properties diff --git a/sop-index/sop-index-service/src/main/resources/application.properties b/sop-index/src/main/resources/application.properties similarity index 97% rename from sop-index/sop-index-service/src/main/resources/application.properties rename to sop-index/src/main/resources/application.properties index 53443a16..1f3ba228 100644 --- a/sop-index/sop-index-service/src/main/resources/application.properties +++ b/sop-index/src/main/resources/application.properties @@ -50,3 +50,6 @@ mybatis.config-location=classpath:mybatis/mybatisConfig.xml logging.level.com.gitee.sop.index.dao=error logging.level.com.gitee.fastmybatis=debug mybatis.print-sql=true + +# Need not register api +open.register.enable=false diff --git a/sop-index/sop-index-service/src/main/resources/i18n/open/error_en.properties b/sop-index/src/main/resources/i18n/open/error_en.properties similarity index 100% rename from sop-index/sop-index-service/src/main/resources/i18n/open/error_en.properties rename to sop-index/src/main/resources/i18n/open/error_en.properties diff --git a/sop-index/sop-index-service/src/main/resources/i18n/open/error_zh_CN.properties b/sop-index/src/main/resources/i18n/open/error_zh_CN.properties similarity index 100% rename from sop-index/sop-index-service/src/main/resources/i18n/open/error_zh_CN.properties rename to sop-index/src/main/resources/i18n/open/error_zh_CN.properties diff --git a/sop-index/sop-index-service/src/main/resources/i18n/readme.md b/sop-index/src/main/resources/i18n/readme.md similarity index 100% rename from sop-index/sop-index-service/src/main/resources/i18n/readme.md rename to sop-index/src/main/resources/i18n/readme.md diff --git a/sop-index/sop-index-service/src/main/resources/mybatis/mybatisConfig.xml b/sop-index/src/main/resources/mybatis/mybatisConfig.xml similarity index 100% rename from sop-index/sop-index-service/src/main/resources/mybatis/mybatisConfig.xml rename to sop-index/src/main/resources/mybatis/mybatisConfig.xml diff --git a/sop-mysql5.6以下版本.sql b/sop-mysql5.6以下版本.sql index 3702d176..9872149c 100644 --- a/sop-mysql5.6以下版本.sql +++ b/sop-mysql5.6以下版本.sql @@ -350,10 +350,10 @@ INSERT INTO `user_info` (`id`, `username`, `password`, `nickname`, `gmt_create`, INSERT INTO `isp_resource` (`id`, `name`, `content`, `ext_content`, `version`, `type`, `is_deleted`, `gmt_create`, `gmt_modified`) VALUES - (1,'Java','http://www.baidu.com','```java\nString url = "http://localhost:8081";\nString appId = "2019032617262200001";\nString privateKey = "你的私钥";\n\n// 声明一个就行\nOpenClient client = new OpenClient(url, appId, privateKey);\n\n// 标准用法\n@Test\npublic void testGet() {\n // 创建请求对象\n GetStoryRequest request = new GetStoryRequest();\n // 请求参数\n GetStoryModel model = new GetStoryModel();\n model.setName("白雪公主");\n \n request.setBizModel(model);\n\n // 发送请求\n GetStoryResponse response = client.execute(request);\n\n if (response.isSuccess()) {\n // 返回结果\n System.out.println(response);\n } else {\n System.out.println(response);\n }\n}\n```','1.0',0,0,'2020-11-07 14:29:11','2020-11-07 14:29:11'), - (2,'C#','http://www.soso.com','```\nclass MainClass\n{\n static string url = "http://localhost:8081";\n static string appId = "2019032617262200001";\n // 平台提供的私钥\n static string privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ=";\n\n\n // 声明一个就行\n static OpenClient client = new OpenClient(url, appId, privateKey);\n\n public static void Main(string[] args)\n {\n TestGet();\n }\n\n // 标准用法\n private static void TestGet()\n {\n // 创建请求对象\n GetStoryRequest request = new GetStoryRequest();\n // 请求参数\n GetStoryModel model = new GetStoryModel();\n model.Name = "白雪公主";\n request.BizModel = model;\n\n // 发送请求\n GetStoryResponse response = client.Execute(request);\n\n if (response.IsSuccess())\n {\n // 返回结果\n Console.WriteLine("成功!response:{0}\\n响应原始内容:{1}", JsonUtil.ToJSONString(response), response.Body);\n }\n else\n {\n Console.WriteLine("错误, code:{0}, msg:{1}, subCode:{2}, subMsg:{3}",\n response.Code, response.Msg, response.SubCode, response.SubMsg);\n }\n }\n\n \n}\n```','1.0',0,0,'2020-11-07 14:29:38','2020-11-07 14:29:38'), + (1,'Java','http://www.baidu.com','```java\nString url = "http://localhost:8081/api";\nString appId = "2019032617262200001";\nString privateKey = "你的私钥";\n\n// 声明一个就行\nOpenClient client = new OpenClient(url, appId, privateKey);\n\n// 标准用法\n@Test\npublic void testGet() {\n // 创建请求对象\n GetStoryRequest request = new GetStoryRequest();\n // 请求参数\n GetStoryModel model = new GetStoryModel();\n model.setName("白雪公主");\n \n request.setBizModel(model);\n\n // 发送请求\n GetStoryResponse response = client.execute(request);\n\n if (response.isSuccess()) {\n // 返回结果\n System.out.println(response);\n } else {\n System.out.println(response);\n }\n}\n```','1.0',0,0,'2020-11-07 14:29:11','2020-11-07 14:29:11'), + (2,'C#','http://www.soso.com','```\nclass MainClass\n{\n static string url = "http://localhost:8081/api";\n static string appId = "2019032617262200001";\n // 平台提供的私钥\n static string privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ=";\n\n\n // 声明一个就行\n static OpenClient client = new OpenClient(url, appId, privateKey);\n\n public static void Main(string[] args)\n {\n TestGet();\n }\n\n // 标准用法\n private static void TestGet()\n {\n // 创建请求对象\n GetStoryRequest request = new GetStoryRequest();\n // 请求参数\n GetStoryModel model = new GetStoryModel();\n model.Name = "白雪公主";\n request.BizModel = model;\n\n // 发送请求\n GetStoryResponse response = client.Execute(request);\n\n if (response.IsSuccess())\n {\n // 返回结果\n Console.WriteLine("成功!response:{0}\\n响应原始内容:{1}", JsonUtil.ToJSONString(response), response.Body);\n }\n else\n {\n Console.WriteLine("错误, code:{0}, msg:{1}, subCode:{2}, subMsg:{3}",\n response.Code, response.Msg, response.SubCode, response.SubMsg);\n }\n }\n\n \n}\n```','1.0',0,0,'2020-11-07 14:29:38','2020-11-07 14:29:38'), (3,'Python','http://www.bilibili.com','```python\n # 创建请求\n request = MemberInfoGetRequest()\n # 请求参数\n model = MemberInfoGetModel()\n model.age = 22\n model.name = \'jim\'\n model.address = \'xx\'\n # 添加请求参数\n request.biz_model = model\n\n # 添加上传文件\n # files = {\n # \'file1\': open(\'aa.txt\', \'rb\'),\n # \'file2\': open(\'bb.txt\', \'rb\')\n # }\n # request.files = files\n\n # 调用请求\n response = self.client.execute(request)\n\n if response.is_success():\n print \'response: \', response\n print \'is_vip:\', response.get(\'member_info\').get(\'is_vip\', 0)\n else:\n print \'请求失败,code:%s, msg:%s, sub_code:%s, sub_msg:%s\' % \\\n (response.code, response.msg, response.sub_code, response.sub_msg)\n```','1.0',0,0,'2020-11-07 14:30:16','2020-11-07 14:31:41'), (4,'Go','http://www.baidu.com','```go\n\n// 应用ID\nconst appId string = "xx"\n// 应用私钥\nconst privateKey string = "xx"\n// 请求地址\nconst url string = "http://localhost:7071/prod/gw68uy85"\n\n// 请求客户端\nvar openClient = common.OpenClient{AppId: appId, PrivateKey: privateKey, Url: url}\n\nfunc main() {\n // 创建请求\n memberInfoGetRequest := request.MemberInfoGetRequest{}\n // 请求参数\n memberInfoGetRequest.BizModel = model.MemberInfoGetModel{Name: "jim", Age: 22, Address: "xx"}\n \n // 添加上传文件\n //path, _ := os.Getwd()\n //files := []common.UploadFile{\n // {Name:"file1", Filepath:path + "/test/aa.txt"},\n // {Name:"file2", Filepath:path + "/test/bb.txt"},\n //}\n //memberInfoGetRequest.Files = files\n \n // 发送请求,返回json bytes\n var jsonBytes = openClient.Execute(memberInfoGetRequest)\n fmt.Printf("data:%s\\n", string(jsonBytes))\n // 转换结果\n var memberInfoGetResponse response.MemberInfoGetResponse\n response.ConvertResponse(jsonBytes, &memberInfoGetResponse)\n\n if memberInfoGetResponse.IsSuccess() {\n fmt.Printf("is_vip:%d, vip_endtime:%s\\n", memberInfoGetResponse.MemberInfo.IsVip, memberInfoGetResponse.MemberInfo.VipEndtime)\n } else {\n fmt.Printf("code:%s, msg:%s, subCode:%s, subMsg:%s\\n",\n memberInfoGetResponse.Code, memberInfoGetResponse.Msg, memberInfoGetResponse.SubCode, memberInfoGetResponse.SubMsg)\n }\n}\n```','1.0',0,0,'2020-11-07 14:31:21','2020-11-07 14:31:21'), (5,'C++','http://pan.baidu.com','#include \n\n#include "common/OpenClient.h"\n#include "request/BaseRequest.h"\n#include "request/MemberInfoGetRequest.hpp"\n\n// 应用ID\nstring appId = "2020051325943082302177280";\n// 存放私钥的文件路径\nstring privateKeyFile = "/Users/thc/IdeaProjects/opc/opc-sdk/sdk-c++/privateEx.pem";\n// 请求接口\nstring url = "http://localhost:7071/prod/gw68uy85";\n\nOpenClient openClient(appId, privateKeyFile, url);\n\nint main() {\n // 创建请求\n MemberInfoGetRequest request;\n\n // 业务参数\n map bizModel;\n bizModel["name"] = "jim";\n bizModel["age"] = "22";\n bizModel["address"] = "xx";\n\n request.bizModel = bizModel;\n\n // 添加上传文件\n// request->setFiles({\n// FileInfo{"aa", "/Users/thc/IdeaProjects/opc/opc-sdk/sdk-c++/aa.txt"},\n// FileInfo{"bb", "/Users/thc/IdeaProjects/opc/opc-sdk/sdk-c++/bb.txt"}\n// });\n\n // 发送请求\n neb::CJsonObject jsonObj = openClient.execute(&request);\n std::cout << jsonObj.ToString() << std::endl;\n std::cout << "id:" << jsonObj["id"].ToString() << std::endl;\n std::cout << "is_vip:" << jsonObj["member_info"]["is_vip"].ToString() << std::endl;\n return 0;\n}\n\n','1.0',0,0,'2020-11-07 14:32:55','2020-11-07 14:32:55'); -INSERT INTO `system_lock` (`id`, `content`) VALUES (1,'lock'); \ No newline at end of file +INSERT INTO `system_lock` (`id`, `content`) VALUES (1,'lock'); diff --git a/sop-registry/pom.xml b/sop-registry/pom.xml index 18f3fb08..391cb697 100644 --- a/sop-registry/pom.xml +++ b/sop-registry/pom.xml @@ -15,6 +15,8 @@ 8 8 UTF-8 + + 3.2.10 diff --git a/sop-sdk/sdk-c++/main.cpp b/sop-sdk/sdk-c++/main.cpp index 6f21b488..017f45e3 100644 --- a/sop-sdk/sdk-c++/main.cpp +++ b/sop-sdk/sdk-c++/main.cpp @@ -9,7 +9,7 @@ string appId = "201904035630907729292cpp"; // 存放私钥的文件路径 string privateKeyFile = "/Users/thc/IdeaProjects/SOP/sop-sdk/sdk-c++/privateEx.pem"; // 请求接口 -string url = "http://localhost:8081"; +string url = "http://localhost:8081/api"; OpenClient openClient(appId, privateKeyFile, url); diff --git a/sop-sdk/sdk-csharp/SDKCSharp/Program.cs b/sop-sdk/sdk-csharp/SDKCSharp/Program.cs index 95152ba5..3591af77 100644 --- a/sop-sdk/sdk-csharp/SDKCSharp/Program.cs +++ b/sop-sdk/sdk-csharp/SDKCSharp/Program.cs @@ -13,7 +13,7 @@ namespace SDKTest { class MainClass { - static string url = "http://localhost:8081"; + static string url = "http://localhost:8081/api"; static string appId = "201904035630907729292csharp"; // 开发者私钥, PKCS1 2048 static string privateKey = "MIIEowIBAAKCAQEA5+OvJxeSzf44NxQ/cl7Ii+BzPg2k6sRcvH4ffOtU5Dzq1/oEvg02nxIhmwOHBZmjbmuUu0aLsfglUTAwqfXftfAKZidshsgj9NNh0/kxk0avRZ1UoljWGz/FxVZA0ogbxxhohPZ9jWcD+eBQcIwF2DtHfAJqWWZrYFnCMeHD8mPzxo2kwXSvDzi0vf9I2tKiYvNG26a9FqeYtPOoi81sdS3+70HOMdxP8ejXtyfnKpKz7Dx506LCIRS5moWS3Q5eTLV3NGX/1CSJ8wpQA2DAQTjVhX5eVu7Yqz12t8W+sjWM/tHUR6cgwYYR10p7tSCeCPzkigjGxKm4cYXWtATQJQIDAQABAoIBAHFDsgrrJca+NKEan77ycwx3jnKx4WrWjOF4zVKL9AQjiSYDNgvKknJyPb3kpC/lEoHdxGERHSzJoxib7DkoIqRQYhPxj73pxj5QfYk3P7LLJNNg/LTrpXDb3nL8JV9wIflGf87qQvstZTDJEyFWE4jBs7Hr0BxovWvri8InnzkmERJ1cbGJgNHe1Y3Zo2tw0yaHxQCxLuajP+notRZhD9bEp7uKeI0w9AvlW6k8m/7y10F0BK/TlyW8rQiEC391yOiRYoMcUh4hd2Q9bMx3jngZgX8PXIvZZcup4/pvWlv1alwhB2tsnLdazP62r1MO80vLyLunzGO+7WwCjEYlVaECgYEA+lQRFmbhKaPuAuXMtY31Fbga8nedka5TjnEV7+/kX+yowE2OlNujF+ZG8UTddTxAGv56yVNi/mjRlgD74j8z0eOsgvOq9mwbCrgLhLo51H9O/wAxtb+hBKtC5l50pBr4gER6d8W6EQNTSGojnMIaLXTkAZ5Qf6Z8e2HFVdOn0X0CgYEA7SSrTokwzukt5KldNu5ukyyd+C3D1i6orbg6qD73EP9CfNMfGSBn7dDv9wMSJH01+Ty+RgTROgtjGRDbMJWnfbdt/61NePr9ar5sb6Nbsf7/I0w7cZF5dsaFYgzaOfQYquzXPbLQHkpMT64bqpv/Mwy4F2lFvaYWY5fA4pC2uckCgYEAg75Ym9ybJaoTqky8ttQ2Jy8UZ4VSVQhVC0My02sCWwWXLlXi8y7An+Rec73Ve0yxREOn5WrQT6pkmzh7V/ABWrYi5WxODpCIjtSbo0fLBa3Wqle00b0/hdCITetqIa/cFs1zUrOqICgK3bKWeXqiAkhhcwSZwwSgwOKM04Wn7ZUCgYBvhHX2mbdVJfyJ8kc+hMOE/E9RHRxiBVEXWHJlGi8PVCqNDq8qHr4g7Mdbzprig+s0yKblwHAvrpkseWvKHiZEjVTyDipHgShY4TGXEigVvUd37uppTrLi8xpYcJjS9gH/px7VCdiq1d+q/MJP6coJ1KphgATm2UrgDMYNBWaYWQKBgEHRxrmER7btUF60/YgcqPHFc8RpYQB2ZZE0kyKGDqk2Data1XYUY6vsPAU28yRLAaWr/D2H17iyLkxP80VLm6QhifxCadv90Q/Wl1DFfOJQMW6avyQ0so6G0wFq/LJxaFK4iLXQn1RJnmTp6BYiJMmK2BhFbRzw8ssMoF6ad2rr"; diff --git a/sop-sdk/sdk-csharp/readme.md b/sop-sdk/sdk-csharp/readme.md index ec8ef3c0..102640a6 100644 --- a/sop-sdk/sdk-csharp/readme.md +++ b/sop-sdk/sdk-csharp/readme.md @@ -100,7 +100,7 @@ namespace SDKCSharp.Request ``` class MainClass { - static string url = "http://localhost:8081"; + static string url = "http://localhost:8081/api"; static string appId = "2019032617262200001"; // 平台提供的私钥 static string privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; @@ -177,4 +177,4 @@ private static void TestCommon() response.Code, response.Msg, response.SubCode, response.SubMsg); } } -``` \ No newline at end of file +``` diff --git a/sop-sdk/sdk-go/test/test.go b/sop-sdk/sdk-go/test/test.go index 27b2b919..160ad43d 100644 --- a/sop-sdk/sdk-go/test/test.go +++ b/sop-sdk/sdk-go/test/test.go @@ -13,7 +13,7 @@ const appId string = "201904035630907729292csharp" // 应用私钥 const privateKey string = "MIIEowIBAAKCAQEA5+OvJxeSzf44NxQ/cl7Ii+BzPg2k6sRcvH4ffOtU5Dzq1/oEvg02nxIhmwOHBZmjbmuUu0aLsfglUTAwqfXftfAKZidshsgj9NNh0/kxk0avRZ1UoljWGz/FxVZA0ogbxxhohPZ9jWcD+eBQcIwF2DtHfAJqWWZrYFnCMeHD8mPzxo2kwXSvDzi0vf9I2tKiYvNG26a9FqeYtPOoi81sdS3+70HOMdxP8ejXtyfnKpKz7Dx506LCIRS5moWS3Q5eTLV3NGX/1CSJ8wpQA2DAQTjVhX5eVu7Yqz12t8W+sjWM/tHUR6cgwYYR10p7tSCeCPzkigjGxKm4cYXWtATQJQIDAQABAoIBAHFDsgrrJca+NKEan77ycwx3jnKx4WrWjOF4zVKL9AQjiSYDNgvKknJyPb3kpC/lEoHdxGERHSzJoxib7DkoIqRQYhPxj73pxj5QfYk3P7LLJNNg/LTrpXDb3nL8JV9wIflGf87qQvstZTDJEyFWE4jBs7Hr0BxovWvri8InnzkmERJ1cbGJgNHe1Y3Zo2tw0yaHxQCxLuajP+notRZhD9bEp7uKeI0w9AvlW6k8m/7y10F0BK/TlyW8rQiEC391yOiRYoMcUh4hd2Q9bMx3jngZgX8PXIvZZcup4/pvWlv1alwhB2tsnLdazP62r1MO80vLyLunzGO+7WwCjEYlVaECgYEA+lQRFmbhKaPuAuXMtY31Fbga8nedka5TjnEV7+/kX+yowE2OlNujF+ZG8UTddTxAGv56yVNi/mjRlgD74j8z0eOsgvOq9mwbCrgLhLo51H9O/wAxtb+hBKtC5l50pBr4gER6d8W6EQNTSGojnMIaLXTkAZ5Qf6Z8e2HFVdOn0X0CgYEA7SSrTokwzukt5KldNu5ukyyd+C3D1i6orbg6qD73EP9CfNMfGSBn7dDv9wMSJH01+Ty+RgTROgtjGRDbMJWnfbdt/61NePr9ar5sb6Nbsf7/I0w7cZF5dsaFYgzaOfQYquzXPbLQHkpMT64bqpv/Mwy4F2lFvaYWY5fA4pC2uckCgYEAg75Ym9ybJaoTqky8ttQ2Jy8UZ4VSVQhVC0My02sCWwWXLlXi8y7An+Rec73Ve0yxREOn5WrQT6pkmzh7V/ABWrYi5WxODpCIjtSbo0fLBa3Wqle00b0/hdCITetqIa/cFs1zUrOqICgK3bKWeXqiAkhhcwSZwwSgwOKM04Wn7ZUCgYBvhHX2mbdVJfyJ8kc+hMOE/E9RHRxiBVEXWHJlGi8PVCqNDq8qHr4g7Mdbzprig+s0yKblwHAvrpkseWvKHiZEjVTyDipHgShY4TGXEigVvUd37uppTrLi8xpYcJjS9gH/px7VCdiq1d+q/MJP6coJ1KphgATm2UrgDMYNBWaYWQKBgEHRxrmER7btUF60/YgcqPHFc8RpYQB2ZZE0kyKGDqk2Data1XYUY6vsPAU28yRLAaWr/D2H17iyLkxP80VLm6QhifxCadv90Q/Wl1DFfOJQMW6avyQ0so6G0wFq/LJxaFK4iLXQn1RJnmTp6BYiJMmK2BhFbRzw8ssMoF6ad2rr" // 请求路径 -const url string = "http://localhost:8081" +const url string = "http://localhost:8081/api" // 请求客户端 var openClient = common.OpenClient{AppId: appId, PrivateKey: privateKey, Url: url} diff --git a/sop-sdk/sdk-java/pom.xml b/sop-sdk/sdk-java/pom.xml index 7d5e41ec..b87db478 100644 --- a/sop-sdk/sdk-java/pom.xml +++ b/sop-sdk/sdk-java/pom.xml @@ -1,14 +1,8 @@ - - com.gitee.sop - sop-parent - 5.0.0-SNAPSHOT - ../../pom.xml - - 4.0.0 + com.gitee.sop sdk-java 5.0.0-SNAPSHOT @@ -24,17 +18,20 @@ com.squareup.okhttp3 okhttp + 3.14.9 com.alibaba fastjson + 2.0.16 commons-logging commons-logging + 1.3.3 diff --git a/sop-sdk/sdk-java/readme.md b/sop-sdk/sdk-java/readme.md index f5908e65..c3cf38d0 100644 --- a/sop-sdk/sdk-java/readme.md +++ b/sop-sdk/sdk-java/readme.md @@ -78,7 +78,7 @@ public class GetStoryRequest extends BaseRequest { ## 使用方式 ```java -String url = "http://localhost:8081"; +String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; String privateKey = "你的私钥"; @@ -136,4 +136,4 @@ public void testLazy() { System.out.println(response); } } -``` \ No newline at end of file +``` diff --git a/sop-sdk/sdk-java/src/test/java/com/gitee/sop/sdk/SdkTest.java b/sop-sdk/sdk-java/src/test/java/com/gitee/sop/sdk/SdkTest.java index c2fc7d2c..8f89ce8b 100644 --- a/sop-sdk/sdk-java/src/test/java/com/gitee/sop/sdk/SdkTest.java +++ b/sop-sdk/sdk-java/src/test/java/com/gitee/sop/sdk/SdkTest.java @@ -23,7 +23,7 @@ import java.util.List; import java.util.Map; public class SdkTest extends TestCase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; /** 开发者私钥 */ String privateKeyIsv = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-sdk/sdk-rust/sdk-test/src/main.rs b/sop-sdk/sdk-rust/sdk-test/src/main.rs index 759e6b93..902405ad 100644 --- a/sop-sdk/sdk-rust/sdk-test/src/main.rs +++ b/sop-sdk/sdk-rust/sdk-test/src/main.rs @@ -17,7 +17,7 @@ fn main() { // 应用私钥 private_key: "MIIEowIBAAKCAQEA5+OvJxeSzf44NxQ/cl7Ii+BzPg2k6sRcvH4ffOtU5Dzq1/oEvg02nxIhmwOHBZmjbmuUu0aLsfglUTAwqfXftfAKZidshsgj9NNh0/kxk0avRZ1UoljWGz/FxVZA0ogbxxhohPZ9jWcD+eBQcIwF2DtHfAJqWWZrYFnCMeHD8mPzxo2kwXSvDzi0vf9I2tKiYvNG26a9FqeYtPOoi81sdS3+70HOMdxP8ejXtyfnKpKz7Dx506LCIRS5moWS3Q5eTLV3NGX/1CSJ8wpQA2DAQTjVhX5eVu7Yqz12t8W+sjWM/tHUR6cgwYYR10p7tSCeCPzkigjGxKm4cYXWtATQJQIDAQABAoIBAHFDsgrrJca+NKEan77ycwx3jnKx4WrWjOF4zVKL9AQjiSYDNgvKknJyPb3kpC/lEoHdxGERHSzJoxib7DkoIqRQYhPxj73pxj5QfYk3P7LLJNNg/LTrpXDb3nL8JV9wIflGf87qQvstZTDJEyFWE4jBs7Hr0BxovWvri8InnzkmERJ1cbGJgNHe1Y3Zo2tw0yaHxQCxLuajP+notRZhD9bEp7uKeI0w9AvlW6k8m/7y10F0BK/TlyW8rQiEC391yOiRYoMcUh4hd2Q9bMx3jngZgX8PXIvZZcup4/pvWlv1alwhB2tsnLdazP62r1MO80vLyLunzGO+7WwCjEYlVaECgYEA+lQRFmbhKaPuAuXMtY31Fbga8nedka5TjnEV7+/kX+yowE2OlNujF+ZG8UTddTxAGv56yVNi/mjRlgD74j8z0eOsgvOq9mwbCrgLhLo51H9O/wAxtb+hBKtC5l50pBr4gER6d8W6EQNTSGojnMIaLXTkAZ5Qf6Z8e2HFVdOn0X0CgYEA7SSrTokwzukt5KldNu5ukyyd+C3D1i6orbg6qD73EP9CfNMfGSBn7dDv9wMSJH01+Ty+RgTROgtjGRDbMJWnfbdt/61NePr9ar5sb6Nbsf7/I0w7cZF5dsaFYgzaOfQYquzXPbLQHkpMT64bqpv/Mwy4F2lFvaYWY5fA4pC2uckCgYEAg75Ym9ybJaoTqky8ttQ2Jy8UZ4VSVQhVC0My02sCWwWXLlXi8y7An+Rec73Ve0yxREOn5WrQT6pkmzh7V/ABWrYi5WxODpCIjtSbo0fLBa3Wqle00b0/hdCITetqIa/cFs1zUrOqICgK3bKWeXqiAkhhcwSZwwSgwOKM04Wn7ZUCgYBvhHX2mbdVJfyJ8kc+hMOE/E9RHRxiBVEXWHJlGi8PVCqNDq8qHr4g7Mdbzprig+s0yKblwHAvrpkseWvKHiZEjVTyDipHgShY4TGXEigVvUd37uppTrLi8xpYcJjS9gH/px7VCdiq1d+q/MJP6coJ1KphgATm2UrgDMYNBWaYWQKBgEHRxrmER7btUF60/YgcqPHFc8RpYQB2ZZE0kyKGDqk2Data1XYUY6vsPAU28yRLAaWr/D2H17iyLkxP80VLm6QhifxCadv90Q/Wl1DFfOJQMW6avyQ0so6G0wFq/LJxaFK4iLXQn1RJnmTp6BYiJMmK2BhFbRzw8ssMoF6ad2rr", // 请求地址 - url: "http://localhost:8081", + url: "http://localhost:8081/api", }; // 业务参数 let mut biz_model = HashMap::new(); @@ -73,4 +73,4 @@ mod tests { println!("response:{:#?}", response); } -} \ No newline at end of file +} diff --git a/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/config/SopAutoConfiguration.java b/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/config/SopAutoConfiguration.java deleted file mode 100644 index 87c5548a..00000000 --- a/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/config/SopAutoConfiguration.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.gitee.sop.support.config; - -import com.alibaba.fastjson2.JSON; -import com.gitee.sop.index.api.ApiRegisterService; -import com.gitee.sop.index.api.RegisterDTO; -import com.gitee.sop.support.annotation.Open; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.apache.dubbo.config.annotation.DubboReference; -import org.apache.dubbo.config.annotation.DubboService; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.annotation.AnnotationUtils; -import org.springframework.core.env.Environment; -import org.springframework.util.ObjectUtils; -import org.springframework.util.ReflectionUtils; - -import java.io.Serializable; -import java.lang.reflect.Method; -import java.lang.reflect.Parameter; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.stream.Collectors; -import java.util.stream.Stream; - - -/** - * @author 六如 - */ -@Configuration -@Slf4j -public class SopAutoConfiguration implements InitializingBean { - - @Autowired - private Environment environment; - - @Autowired - private ApplicationContext applicationContext; - - @DubboReference - private ApiRegisterService apiRegisterService; - - @Value("${open.register.enable:true}") - private boolean enableRegister; - - @Override - public void afterPropertiesSet() throws Exception { - if (!enableRegister) { - return; - } - String appName = environment.getProperty("spring.application.name"); - Map beanMap = applicationContext.getBeansWithAnnotation(DubboService.class); - for (Object serviceObj : beanMap.values()) { - Class interfaceClass = findInterfaceClass(serviceObj); - ReflectionUtils.doWithMethods(interfaceClass, method -> { - regApi(appName, interfaceClass, method); - }); - } - } - - private Class findInterfaceClass(Object serviceObj) { - Class objClass = serviceObj.getClass(); - Class[] interfaces = objClass.getInterfaces(); - if (interfaces.length == 0) { - throw new RuntimeException("Dubbo接口必须要实现接口, class=" + objClass.getName()); - } - return interfaces[0]; - } - - private void regApi(String appName, Class interfaceClass, Method method) { - Open open = AnnotationUtils.getAnnotation(method, Open.class); - if (open == null) { - return; - } - List paramInfos = buildParamInfo(method); - RegisterDTO registerDTO = new RegisterDTO(); - registerDTO.setApplication(appName); - registerDTO.setApiName(open.value()); - registerDTO.setApiVersion(open.version()); - registerDTO.setInterfaceClassName(interfaceClass.getName()); - registerDTO.setMethodName(method.getName()); - registerDTO.setParamInfo(JSON.toJSONString(paramInfos)); - registerDTO.setIsPermission(parseBoolean(open.permission())); - registerDTO.setIsNeedToken(parseBoolean(open.needToken())); - log.info("注册开放接口, apiInfo={}", registerDTO); - try { - apiRegisterService.register(registerDTO); - } catch (Exception e) { - log.error("接口注册失败, registerDTO={}, method={}", registerDTO, method, e); - } - } - - private List buildParamInfo(Method method) { - Parameter[] parameters = method.getParameters(); - if (parameters.length == 0) { - return Collections.emptyList(); - } - return Stream.of(parameters) - .map(parameter -> { - ParamInfo paramInfo = new ParamInfo(); - paramInfo.setName(parameter.getName()); - paramInfo.setType(parameter.getType().getName()); - return paramInfo; - }) - .collect(Collectors.toList()); - } - - private Optional filterParameter(Parameter[] parameters) { - if (ObjectUtils.isEmpty(parameters)) { - return Optional.empty(); - } - return Optional.of(parameters[0]); - } - - private int parseBoolean(boolean b) { - return b ? 1 : 0; - } - - - @Data - private static class ParamInfo implements Serializable { - private static final long serialVersionUID = -404173450677698875L; - - private String name; - private String type; - } -} diff --git a/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/request/FileData.java b/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/request/FileData.java deleted file mode 100644 index 03e3e3f1..00000000 --- a/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/request/FileData.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gitee.sop.support.request; - -import lombok.Data; - -import java.io.Serializable; - -/** - * @author 六如 - */ -@Data -public class FileData implements Serializable { - private static final long serialVersionUID = -7588392091014943373L; - - /** - * 上传文件表单名称 - */ - private String name; - - /** - * 原始文件名称,可能为null - */ - private String originalFilename; - - /** - * 文件的contentType,可能为null - */ - private String contentType; - - /** - * 文件内容 - */ - private byte[] content; - -} diff --git a/sop-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/sop-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 1f8ef306..00000000 --- a/sop-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -com.gitee.sop.support.config.SopAutoConfiguration diff --git a/sop-support/pom.xml b/sop-support/pom.xml new file mode 100644 index 00000000..8a4c9e61 --- /dev/null +++ b/sop-support/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + com.gitee.sop + sop-support + 5.0.0-SNAPSHOT + pom + + + sop-service-support + sop-spring-boot-starter + + diff --git a/sop-support/sop-service-support/pom.xml b/sop-support/sop-service-support/pom.xml new file mode 100644 index 00000000..3aee763f --- /dev/null +++ b/sop-support/sop-service-support/pom.xml @@ -0,0 +1,86 @@ + + + 4.0.0 + com.gitee.sop + sop-service-support + 5.0.0-SNAPSHOT + + + 1.8 + 8 + 8 + UTF-8 + + + + + org.apache.dubbo + dubbo + 3.2.10 + true + + + org.projectlombok + lombok + 1.18.34 + true + + + junit + junit + 4.13.2 + test + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.3 + + ${java.version} + ${java.version} + + -parameters + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0 + + true + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + attach-sources + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-resources-plugin + 3.3.1 + + UTF-8 + + + + + + + diff --git a/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/annotation/Open.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/annotation/Open.java similarity index 100% rename from sop-spring-boot-starter/src/main/java/com/gitee/sop/support/annotation/Open.java rename to sop-support/sop-service-support/src/main/java/com/gitee/sop/support/annotation/Open.java diff --git a/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/context/OpenContext.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/context/OpenContext.java similarity index 100% rename from sop-spring-boot-starter/src/main/java/com/gitee/sop/support/context/OpenContext.java rename to sop-support/sop-service-support/src/main/java/com/gitee/sop/support/context/OpenContext.java diff --git a/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/register/ApiRegister.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/register/ApiRegister.java new file mode 100644 index 00000000..c13c7897 --- /dev/null +++ b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/register/ApiRegister.java @@ -0,0 +1,145 @@ +package com.gitee.sop.support.register; + +import com.alibaba.fastjson2.JSON; +import com.gitee.sop.support.annotation.Open; +import com.gitee.sop.support.service.ApiRegisterService; +import com.gitee.sop.support.service.dto.RegisterDTO; +import lombok.Data; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.dubbo.config.annotation.DubboService; + +import java.io.Serializable; +import java.lang.reflect.Method; +import java.lang.reflect.Parameter; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @author 六如 + */ +public class ApiRegister { + + private static final Log LOG = LogFactory.getLog(ApiRegister.class); + + private final ApiRegisterService apiRegisterService; + + public ApiRegister(ApiRegisterService apiRegisterService) { + this.apiRegisterService = apiRegisterService; + } + + public void reg(String appName, Collection objects) { + if (objects == null || objects.isEmpty()) { + return; + } + + for (Object serviceObj : objects) { + Class objClass = serviceObj.getClass(); + if (objClass.getAnnotation(DubboService.class) == null) { + continue; + } + checkClass(objClass); + + doWithMethod(objClass, (interfaceClass, method, open) -> + this.regApi(appName, interfaceClass, method, open)); + } + } + + protected void doWithMethod(Class objClass, RegisterCallback callback) { + for (Method method : objClass.getMethods()) { + Class declaringClass = method.getDeclaringClass(); + if (declaringClass == Object.class) { + continue; + } + for (Class anInterface : declaringClass.getInterfaces()) { + try { + Method parentMethod = anInterface.getMethod(method.getName(), method.getParameterTypes()); + Open open = method.getAnnotation(Open.class); + if (open == null) { + open = parentMethod.getAnnotation(Open.class); + } + if (open != null) { + callback.callback(anInterface, parentMethod, open); + } + } catch (NoSuchMethodException e) { + // ignore + } + } + } + } + + + private void regApi(String appName, Class interfaceClass, Method method, Open open) { + List paramInfos = buildParamInfo(method); + RegisterDTO registerDTO = new RegisterDTO(); + registerDTO.setApplication(appName); + registerDTO.setApiName(open.value()); + registerDTO.setApiVersion(open.version()); + registerDTO.setInterfaceClassName(interfaceClass.getName()); + registerDTO.setMethodName(method.getName()); + registerDTO.setParamInfo(JSON.toJSONString(paramInfos)); + registerDTO.setIsPermission(parseBoolean(open.permission())); + registerDTO.setIsNeedToken(parseBoolean(open.needToken())); + LOG.info("注册开放接口, apiInfo=" + registerDTO); + try { + apiRegisterService.register(registerDTO); + } catch (Exception e) { + LOG.error("接口注册失败, registerDTO=" + registerDTO + ", method=" + method, e); + } + } + + private List buildParamInfo(Method method) { + Parameter[] parameters = method.getParameters(); + if (parameters.length == 0) { + return Collections.emptyList(); + } + return Stream.of(parameters) + .map(parameter -> { + ParamInfo paramInfo = new ParamInfo(); + paramInfo.setName(parameter.getName()); + paramInfo.setType(parameter.getType().getName()); + Type parameterizedType = parameter.getParameterizedType(); + // 如果是集合 + if (parameterizedType instanceof ParameterizedType) { + if (!Collection.class.isAssignableFrom(parameter.getType())) { + throw new IllegalArgumentException("开放接口参数不正确,只支持集合泛型, method={}" + method); + } + ParameterizedType genericType = (ParameterizedType) parameterizedType; + Type[] actualTypeArguments = genericType.getActualTypeArguments(); + Type actualTypeArgument = actualTypeArguments[0]; + paramInfo.setActualType(actualTypeArgument.getTypeName()); + } + return paramInfo; + }) + .collect(Collectors.toList()); + } + + + private int parseBoolean(boolean b) { + return b ? 1 : 0; + } + + private void checkClass(Class objClass) { + Class[] interfaces = objClass.getInterfaces(); + if (interfaces.length == 0) { + throw new RuntimeException("Dubbo接口必须要实现接口, class=" + objClass.getName()); + } + } + + + @Data + private static class ParamInfo implements Serializable { + private static final long serialVersionUID = -404173450677698875L; + + private String name; + private String type; + private String actualType; + } + + +} diff --git a/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/register/RegisterCallback.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/register/RegisterCallback.java new file mode 100644 index 00000000..34970523 --- /dev/null +++ b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/register/RegisterCallback.java @@ -0,0 +1,10 @@ +package com.gitee.sop.support.register; + +import com.gitee.sop.support.annotation.Open; + +import java.lang.reflect.Method; + +@FunctionalInterface +public interface RegisterCallback { + void callback(Class interfaceClass, Method method, Open open); +} diff --git a/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/request/CommonFileData.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/request/CommonFileData.java new file mode 100644 index 00000000..4a0af83f --- /dev/null +++ b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/request/CommonFileData.java @@ -0,0 +1,64 @@ +package com.gitee.sop.support.request; + +import lombok.Setter; + +import java.io.Serializable; + +/** + * @author 六如 + */ +@Setter +public class CommonFileData implements FileData, Serializable { + private static final long serialVersionUID = -7737314661756983260L; + + /** + * 上传文件表单名称 + */ + private String name; + + /** + * 原始文件名称,可能为null + */ + private String originalFilename; + + /** + * 文件的contentType,可能为null + */ + private String contentType; + + /** + * 文件内容 + */ + private byte[] data; + + + @Override + public String getName() { + return name; + } + + @Override + public String getOriginalFilename() { + return originalFilename; + } + + @Override + public String getContentType() { + return contentType; + } + + @Override + public boolean isEmpty() { + return data == null || data.length == 0; + } + + @Override + public long getSize() { + return data == null ? 0 : data.length; + } + + @Override + public byte[] getBytes() { + return data; + } +} diff --git a/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/request/FileData.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/request/FileData.java new file mode 100644 index 00000000..18b89770 --- /dev/null +++ b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/request/FileData.java @@ -0,0 +1,48 @@ +package com.gitee.sop.support.request; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; + +/** + * @author 六如 + */ +public interface FileData { + + /** + * 返回表单字段名 + */ + String getName(); + + /** + * 返回文件原始名称. + */ + String getOriginalFilename(); + + /** + * 返回文件Content type,没有指定返回null + */ + String getContentType(); + + /** + * 文件内容是否为空 + */ + boolean isEmpty(); + + /** + * 返回文件内容大小单位byte,没有返回0 + */ + long getSize(); + + /** + * 返回文字字节内容 + */ + byte[] getBytes(); + + /** + * 返回文件流 + */ + default InputStream getInputStream() { + return new ByteArrayInputStream(getBytes()); + } + +} diff --git a/sop-index/sop-index-api/src/main/java/com/gitee/sop/index/api/ApiRegisterService.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/service/ApiRegisterService.java similarity index 67% rename from sop-index/sop-index-api/src/main/java/com/gitee/sop/index/api/ApiRegisterService.java rename to sop-support/sop-service-support/src/main/java/com/gitee/sop/support/service/ApiRegisterService.java index 15f1a685..ef50f34c 100644 --- a/sop-index/sop-index-api/src/main/java/com/gitee/sop/index/api/ApiRegisterService.java +++ b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/service/ApiRegisterService.java @@ -1,4 +1,6 @@ -package com.gitee.sop.index.api; +package com.gitee.sop.support.service; + +import com.gitee.sop.support.service.dto.RegisterDTO; /** * @author 六如 diff --git a/sop-index/sop-index-api/src/main/java/com/gitee/sop/index/api/IsvService.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/service/IsvService.java similarity index 70% rename from sop-index/sop-index-api/src/main/java/com/gitee/sop/index/api/IsvService.java rename to sop-support/sop-service-support/src/main/java/com/gitee/sop/support/service/IsvService.java index a75bf5a1..51705538 100644 --- a/sop-index/sop-index-api/src/main/java/com/gitee/sop/index/api/IsvService.java +++ b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/service/IsvService.java @@ -1,4 +1,4 @@ -package com.gitee.sop.index.api; +package com.gitee.sop.support.service; /** * @author 六如 diff --git a/sop-index/sop-index-api/src/main/java/com/gitee/sop/index/api/RegisterDTO.java b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/service/dto/RegisterDTO.java similarity index 92% rename from sop-index/sop-index-api/src/main/java/com/gitee/sop/index/api/RegisterDTO.java rename to sop-support/sop-service-support/src/main/java/com/gitee/sop/support/service/dto/RegisterDTO.java index 59fbef6e..a36dbc6f 100644 --- a/sop-index/sop-index-api/src/main/java/com/gitee/sop/index/api/RegisterDTO.java +++ b/sop-support/sop-service-support/src/main/java/com/gitee/sop/support/service/dto/RegisterDTO.java @@ -1,4 +1,4 @@ -package com.gitee.sop.index.api; +package com.gitee.sop.support.service.dto; import lombok.Data; diff --git a/sop-support/sop-service-support/src/main/resources/security/serialize.allowlist b/sop-support/sop-service-support/src/main/resources/security/serialize.allowlist new file mode 100644 index 00000000..1638864c --- /dev/null +++ b/sop-support/sop-service-support/src/main/resources/security/serialize.allowlist @@ -0,0 +1 @@ +com.gitee.sop.support.request.CommonFileData diff --git a/sop-support/sop-service-support/src/test/java/com/gitee/sop/support/FindTest.java b/sop-support/sop-service-support/src/test/java/com/gitee/sop/support/FindTest.java new file mode 100644 index 00000000..8503ad78 --- /dev/null +++ b/sop-support/sop-service-support/src/test/java/com/gitee/sop/support/FindTest.java @@ -0,0 +1,84 @@ +package com.gitee.sop.support; + +import junit.framework.TestCase; +import org.junit.Test; + +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.util.List; + +/** + * @author 六如 + */ +public class FindTest extends TestCase { + + @Test + public void testFind() { + ServiceImpl service = new ServiceImpl(); + Class aClass = service.getClass(); + for (Method method : aClass.getMethods()) { + Class declaringClass = method.getDeclaringClass(); + if (declaringClass == Object.class) { + continue; + } + //System.out.println(method); +// System.out.println(method.getDeclaringClass().isInterface()); + for (Class anInterface : declaringClass.getInterfaces()) { + try { + Method parentMethod = anInterface.getMethod(method.getName(), method.getParameterTypes()); + if (method.getName().equals(parentMethod.getName())) { + System.out.println("same:" + method); + } + } catch (NoSuchMethodException e) { + // ignore + } + } + } + } + + interface Service { + void h(); + + String say(); + + void hello(int i); + + String hello2(int i, List list); + + String hello3(int i, int... j); + + } + + static class ServiceImpl implements Service { + @Override + public void h() { + + } + + @Override + public String say() { + return ""; + } + + @Override + public void hello(int i) { + + } + + @Override + public String hello2(int i, List list) { + return ""; + } + + @Override + public String hello3(int i, int... j) { + return ""; + } + + public int add() { + return 0; + } + } + + +} diff --git a/sop-support/sop-service-support/target/classes/com/gitee/sop/support/annotation/Open.class b/sop-support/sop-service-support/target/classes/com/gitee/sop/support/annotation/Open.class new file mode 100644 index 00000000..d59c8212 Binary files /dev/null and b/sop-support/sop-service-support/target/classes/com/gitee/sop/support/annotation/Open.class differ diff --git a/sop-support/sop-service-support/target/classes/com/gitee/sop/support/context/OpenContext.class b/sop-support/sop-service-support/target/classes/com/gitee/sop/support/context/OpenContext.class new file mode 100644 index 00000000..3236aec7 Binary files /dev/null and b/sop-support/sop-service-support/target/classes/com/gitee/sop/support/context/OpenContext.class differ diff --git a/sop-support/sop-service-support/target/classes/com/gitee/sop/support/request/FileData.class b/sop-support/sop-service-support/target/classes/com/gitee/sop/support/request/FileData.class new file mode 100644 index 00000000..792ce33a Binary files /dev/null and b/sop-support/sop-service-support/target/classes/com/gitee/sop/support/request/FileData.class differ diff --git a/sop-spring-boot-starter/pom.xml b/sop-support/sop-spring-boot-starter/pom.xml similarity index 88% rename from sop-spring-boot-starter/pom.xml rename to sop-support/sop-spring-boot-starter/pom.xml index 0c9dcaed..d0accfdf 100644 --- a/sop-spring-boot-starter/pom.xml +++ b/sop-support/sop-spring-boot-starter/pom.xml @@ -17,14 +17,9 @@ com.gitee.sop - sop-index-api + sop-service-support 5.0.0-SNAPSHOT - - com.alibaba - transmittable-thread-local - 2.14.5 - org.springframework.boot @@ -35,7 +30,7 @@ org.apache.dubbo dubbo - 3.2.6 + 3.2.10 true diff --git a/sop-support/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/springboot/config/SopAutoConfiguration.java b/sop-support/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/springboot/config/SopAutoConfiguration.java new file mode 100644 index 00000000..3909f23f --- /dev/null +++ b/sop-support/sop-spring-boot-starter/src/main/java/com/gitee/sop/support/springboot/config/SopAutoConfiguration.java @@ -0,0 +1,41 @@ +package com.gitee.sop.support.springboot.config; + +import com.gitee.sop.support.register.ApiRegister; +import com.gitee.sop.support.service.ApiRegisterService; +import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboReference; +import org.apache.dubbo.config.annotation.DubboService; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.env.Environment; + +import java.util.Map; + + +/** + * @author 六如 + */ +@Configuration +@Slf4j +public class SopAutoConfiguration implements InitializingBean { + + @Autowired + private Environment environment; + + @Autowired + private ApplicationContext applicationContext; + + @DubboReference + private ApiRegisterService apiRegisterService; + + @Override + public void afterPropertiesSet() throws Exception { + String appName = environment.getProperty("spring.application.name"); + Map beanMap = applicationContext.getBeansWithAnnotation(DubboService.class); + new ApiRegister(apiRegisterService).reg(appName, beanMap.values()); + } + + +} diff --git a/sop-spring-boot-starter/src/main/resources/META-INF/spring.factories b/sop-support/sop-spring-boot-starter/src/main/resources/META-INF/spring.factories similarity index 57% rename from sop-spring-boot-starter/src/main/resources/META-INF/spring.factories rename to sop-support/sop-spring-boot-starter/src/main/resources/META-INF/spring.factories index af89bfa7..930fdd05 100644 --- a/sop-spring-boot-starter/src/main/resources/META-INF/spring.factories +++ b/sop-support/sop-spring-boot-starter/src/main/resources/META-INF/spring.factories @@ -1,3 +1,3 @@ # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.gitee.sop.support.config.SopAutoConfiguration +com.gitee.sop.support.springboot.config.SopAutoConfiguration diff --git a/sop-support/sop-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/sop-support/sop-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 00000000..e1a0c5a0 --- /dev/null +++ b/sop-support/sop-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.gitee.sop.support.springboot.config.SopAutoConfiguration diff --git a/sop-test/pom.xml b/sop-test/pom.xml index 4acacd17..425b0a79 100644 --- a/sop-test/pom.xml +++ b/sop-test/pom.xml @@ -2,15 +2,11 @@ - - com.gitee.sop - sop-parent - 5.0.0-SNAPSHOT - ../pom.xml - + com.gitee.sop 4.0.0 sop-test + 5.0.0-SNAPSHOT UTF-8 @@ -21,19 +17,23 @@ com.squareup.okhttp3 okhttp + 3.14.9 commons-io commons-io + 2.16.1 com.alibaba fastjson + 2.0.16 commons-codec commons-codec + 1.16.1 org.projectlombok diff --git a/sop-test/src/test/java/com/gitee/sop/test/AllInOneTest.java b/sop-test/src/test/java/com/gitee/sop/test/AllInOneTest.java index 4641b3fb..c49eaf86 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/AllInOneTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/AllInOneTest.java @@ -12,6 +12,8 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -36,7 +38,7 @@ public class AllInOneTest extends TestBase { Client.RequestBuilder requestBuilder = new Client.RequestBuilder() .method("story.get") .version("1.0") - .bizContent(new BizContent().add("id", "1").add("name", "葫芦娃")) + .bizContent(new BizContent().add("id", "1")) .httpMethod(HttpTool.HTTPMethod.GET); client.execute(requestBuilder); @@ -93,45 +95,6 @@ public class AllInOneTest extends TestBase { client.execute(requestBuilder); } - /** - * 忽略验证,不校验签名,只需传接口名、版本号、业务参数 - */ - public void testIgnoreSign() { - Client.RequestBuilder requestBuilder = new Client.RequestBuilder() - .method("story.get.ignore") - .version("1.0") - .ignoreSign(true) - .bizContent(new BizContent().add("id", "222").add("name", "忽略222")) - .httpMethod(HttpTool.HTTPMethod.GET); - - client.execute(requestBuilder); - } - - /** - * JSR-303参数校验 - */ - public void testJSR303() { - Client client = new Client(url, appId, privateKey); - Map headers = new HashMap<>(8); - headers.put("accept-language", "zh-CN"); - Client.RequestBuilder requestBuilder = new Client.RequestBuilder() - .method("goods.add") - .version("1.0") - .header(headers) - .bizContent(new BizContent() - .add("goods_name", "iphone6") - .add("goods_remark", "iphone6") - .add("goods_comment", "1")) - .httpMethod(HttpTool.HTTPMethod.POST) - .callback((requestInfo, responseData) -> { - System.out.println(responseData); - JSONObject jsonObject = JSON.parseObject(responseData); - String sub_msg = jsonObject.getJSONObject(requestInfo.getDataNode()).getString("sub_msg"); - Assert.assertEquals(sub_msg, "商品评论长度必须在3和20之间"); - }); - - client.execute(requestBuilder); - } /** * 测试是否有权限访问,可在sop-admin中设置权限 @@ -159,20 +122,17 @@ public class AllInOneTest extends TestBase { Client client = new Client(url, appId, privateKey); String root = System.getProperty("user.dir"); Client.RequestBuilder requestBuilder = new Client.RequestBuilder() - .method("file.upload") + .method("story.upload") .version("1.0") - .bizContent(new BizContent().add("remark", "test file upload")) + .bizContent( + new BizContent().add("storyName", "白雪公主") + .add("addTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())) + ) // 添加文件 - .addFile("file1", new File(root + "/src/main/resources/file1.txt")) - .addFile("file2", new File(root + "/src/main/resources/file2.txt")) + .addFile("file", new File(root + "/src/main/resources/file1.txt")) .callback((requestInfo, responseData) -> { System.out.println(responseData); - JSONObject jsonObject = JSON.parseObject(responseData); - JSONObject data = jsonObject.getJSONObject(requestInfo.getDataNode()); - Assert.assertEquals(data.getString("code"), "10000"); - Assert.assertEquals(data.getJSONArray("files").size(), 2); - }) - ; + }); client.execute(requestBuilder); } @@ -184,19 +144,41 @@ public class AllInOneTest extends TestBase { Client client = new Client(url, appId, privateKey); String root = System.getProperty("user.dir"); Client.RequestBuilder requestBuilder = new Client.RequestBuilder() - .method("file.upload2") + .method("story.upload.more") .version("1.0") - .bizContent(new BizContent().add("remark", "test file upload")) + .bizContent( + new BizContent().add("storyName", "白雪公主") + .add("addTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())) + ) // 添加文件 - .addFile("file1", new File(root + "/src/main/resources/file1.txt")) - .addFile("file2", new File(root + "/src/main/resources/file2.txt")) + .addFile("idCardFront", new File(root + "/src/main/resources/file1.txt")) + .addFile("idCardBack", new File(root + "/src/main/resources/file2.txt")) .callback((requestInfo, responseData) -> { - JSONObject jsonObject = JSON.parseObject(responseData); - JSONObject data = jsonObject.getJSONObject(requestInfo.getDataNode()); - Assert.assertEquals(data.getString("code"), "10000"); - Assert.assertEquals(data.getJSONArray("files").size(), 2); - }) - ; + System.out.println(responseData); + }); + + client.execute(requestBuilder); + } + + /** + * 演示文件上传 list + */ + public void testFileList() { + Client client = new Client(url, appId, privateKey); + String root = System.getProperty("user.dir"); + Client.RequestBuilder requestBuilder = new Client.RequestBuilder() + .method("story.upload.list") + .version("1.0") + .bizContent( + new BizContent().add("storyName", "白雪公主") + .add("addTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())) + ) + // 添加文件 + .addFile("files", new File(root + "/src/main/resources/file1.txt")) +// .addFile("files", new File(root + "/src/main/resources/file2.txt")) + .callback((requestInfo, responseData) -> { + System.out.println(responseData); + }); client.execute(requestBuilder); } @@ -472,10 +454,9 @@ public class AllInOneTest extends TestBase { if (method == null) { return; } - String node = requestInfo.getDataNode(); - JSONObject jsonObject = JSON.parseObject(responseData).getJSONObject(node); + JSONObject jsonObject = JSON.parseObject(responseData); String code = Optional.ofNullable(jsonObject).map(json -> json.getString("code")).orElse("20000"); - Assert.assertEquals("10000", code); + Assert.assertEquals("0", code); } } diff --git a/sop-test/src/test/java/com/gitee/sop/test/ArrayTest.java b/sop-test/src/test/java/com/gitee/sop/test/ArrayTest.java index 748644a8..259f40ab 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/ArrayTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/ArrayTest.java @@ -14,7 +14,7 @@ import java.util.Map; */ public class ArrayTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-test/src/test/java/com/gitee/sop/test/DownloadTest.java b/sop-test/src/test/java/com/gitee/sop/test/DownloadTest.java index 04031e2b..9c0d2c22 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/DownloadTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/DownloadTest.java @@ -19,7 +19,7 @@ import java.util.Map; */ public class DownloadTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 支付宝私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-test/src/test/java/com/gitee/sop/test/LargeBodyPostTest.java b/sop-test/src/test/java/com/gitee/sop/test/LargeBodyPostTest.java index ce386a66..44b578a0 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/LargeBodyPostTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/LargeBodyPostTest.java @@ -17,7 +17,7 @@ import java.util.Map; */ public class LargeBodyPostTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-test/src/test/java/com/gitee/sop/test/LimitTest.java b/sop-test/src/test/java/com/gitee/sop/test/LimitTest.java index e0ebbeed..f1bda4c2 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/LimitTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/LimitTest.java @@ -16,7 +16,7 @@ import java.util.Map; */ public class LimitTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-test/src/test/java/com/gitee/sop/test/OneParamTest.java b/sop-test/src/test/java/com/gitee/sop/test/OneParamTest.java index 444b7fb1..95c9f07c 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/OneParamTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/OneParamTest.java @@ -14,7 +14,7 @@ import java.util.Map; */ public class OneParamTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-test/src/test/java/com/gitee/sop/test/ParamBindTest.java b/sop-test/src/test/java/com/gitee/sop/test/ParamBindTest.java index 9099694a..b851ad16 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/ParamBindTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/ParamBindTest.java @@ -17,7 +17,7 @@ import java.util.Map; */ public class ParamBindTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-test/src/test/java/com/gitee/sop/test/SamePathTest.java b/sop-test/src/test/java/com/gitee/sop/test/SamePathTest.java index 4dcde403..5907ecc5 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/SamePathTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/SamePathTest.java @@ -15,7 +15,7 @@ import java.util.Map; */ public class SamePathTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-test/src/test/java/com/gitee/sop/test/SpringmvcDemoPostTest.java b/sop-test/src/test/java/com/gitee/sop/test/SpringmvcDemoPostTest.java index a551b1e2..8e206a79 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/SpringmvcDemoPostTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/SpringmvcDemoPostTest.java @@ -14,7 +14,7 @@ import java.util.Map; */ public class SpringmvcDemoPostTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-test/src/test/java/com/gitee/sop/test/ThrowExceptionDemoTest.java b/sop-test/src/test/java/com/gitee/sop/test/ThrowExceptionDemoTest.java index 5b6432e4..c18d95c0 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/ThrowExceptionDemoTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/ThrowExceptionDemoTest.java @@ -14,7 +14,7 @@ import java.util.Map; */ public class ThrowExceptionDemoTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop-test/src/test/java/com/gitee/sop/test/TimeoutTest.java b/sop-test/src/test/java/com/gitee/sop/test/TimeoutTest.java index cbd537fe..8a9258f7 100644 --- a/sop-test/src/test/java/com/gitee/sop/test/TimeoutTest.java +++ b/sop-test/src/test/java/com/gitee/sop/test/TimeoutTest.java @@ -14,7 +14,7 @@ import java.util.Map; */ public class TimeoutTest extends TestBase { - String url = "http://localhost:8081"; + String url = "http://localhost:8081/api"; String appId = "2019032617262200001"; // 平台提供的私钥 String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ="; diff --git a/sop.sql b/sop.sql index d78f6fb2..9a144bef 100644 --- a/sop.sql +++ b/sop.sql @@ -370,8 +370,8 @@ INSERT INTO `user_info` (`id`, `username`, `password`, `nickname`, `gmt_create`, (1,'zhangsan','123456','张三','2019-04-27 08:32:57','2019-04-27 08:32:57'); INSERT INTO `isp_resource` (`id`, `name`, `content`, `ext_content`, `version`, `type`, `is_deleted`, `gmt_create`, `gmt_modified`) VALUES - (1,'Java','http://www.baidu.com','```java\nString url = "http://localhost:8081";\nString appId = "2019032617262200001";\nString privateKey = "你的私钥";\n\n// 声明一个就行\nOpenClient client = new OpenClient(url, appId, privateKey);\n\n// 标准用法\n@Test\npublic void testGet() {\n // 创建请求对象\n GetStoryRequest request = new GetStoryRequest();\n // 请求参数\n GetStoryModel model = new GetStoryModel();\n model.setName("白雪公主");\n \n request.setBizModel(model);\n\n // 发送请求\n GetStoryResponse response = client.execute(request);\n\n if (response.isSuccess()) {\n // 返回结果\n System.out.println(response);\n } else {\n System.out.println(response);\n }\n}\n```','1.0',0,0,'2020-11-07 14:29:11','2020-11-07 14:29:11'), - (2,'C#','http://www.soso.com','```\nclass MainClass\n{\n static string url = "http://localhost:8081";\n static string appId = "2019032617262200001";\n // 平台提供的私钥\n static string privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ=";\n\n\n // 声明一个就行\n static OpenClient client = new OpenClient(url, appId, privateKey);\n\n public static void Main(string[] args)\n {\n TestGet();\n }\n\n // 标准用法\n private static void TestGet()\n {\n // 创建请求对象\n GetStoryRequest request = new GetStoryRequest();\n // 请求参数\n GetStoryModel model = new GetStoryModel();\n model.Name = "白雪公主";\n request.BizModel = model;\n\n // 发送请求\n GetStoryResponse response = client.Execute(request);\n\n if (response.IsSuccess())\n {\n // 返回结果\n Console.WriteLine("成功!response:{0}\\n响应原始内容:{1}", JsonUtil.ToJSONString(response), response.Body);\n }\n else\n {\n Console.WriteLine("错误, code:{0}, msg:{1}, subCode:{2}, subMsg:{3}",\n response.Code, response.Msg, response.SubCode, response.SubMsg);\n }\n }\n\n \n}\n```','1.0',0,0,'2020-11-07 14:29:38','2020-11-07 14:29:38'), + (1,'Java','http://www.baidu.com','```java\nString url = "http://localhost:8081/api";\nString appId = "2019032617262200001";\nString privateKey = "你的私钥";\n\n// 声明一个就行\nOpenClient client = new OpenClient(url, appId, privateKey);\n\n// 标准用法\n@Test\npublic void testGet() {\n // 创建请求对象\n GetStoryRequest request = new GetStoryRequest();\n // 请求参数\n GetStoryModel model = new GetStoryModel();\n model.setName("白雪公主");\n \n request.setBizModel(model);\n\n // 发送请求\n GetStoryResponse response = client.execute(request);\n\n if (response.isSuccess()) {\n // 返回结果\n System.out.println(response);\n } else {\n System.out.println(response);\n }\n}\n```','1.0',0,0,'2020-11-07 14:29:11','2020-11-07 14:29:11'), + (2,'C#','http://www.soso.com','```\nclass MainClass\n{\n static string url = "http://localhost:8081/api";\n static string appId = "2019032617262200001";\n // 平台提供的私钥\n static string privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCXJv1pQFqWNA/++OYEV7WYXwexZK/J8LY1OWlP9X0T6wHFOvxNKRvMkJ5544SbgsJpVcvRDPrcxmhPbi/sAhdO4x2PiPKIz9Yni2OtYCCeaiE056B+e1O2jXoLeXbfi9fPivJZkxH/tb4xfLkH3bA8ZAQnQsoXA0SguykMRZntF0TndUfvDrLqwhlR8r5iRdZLB6F8o8qXH6UPDfNEnf/K8wX5T4EB1b8x8QJ7Ua4GcIUqeUxGHdQpzNbJdaQvoi06lgccmL+PHzminkFYON7alj1CjDN833j7QMHdPtS9l7B67fOU/p2LAAkPMtoVBfxQt9aFj7B8rEhGCz02iJIBAgMBAAECggEARqOuIpY0v6WtJBfmR3lGIOOokLrhfJrGTLF8CiZMQha+SRJ7/wOLPlsH9SbjPlopyViTXCuYwbzn2tdABigkBHYXxpDV6CJZjzmRZ+FY3S/0POlTFElGojYUJ3CooWiVfyUMhdg5vSuOq0oCny53woFrf32zPHYGiKdvU5Djku1onbDU0Lw8w+5tguuEZ76kZ/lUcccGy5978FFmYpzY/65RHCpvLiLqYyWTtaNT1aQ/9pw4jX9HO9NfdJ9gYFK8r/2f36ZE4hxluAfeOXQfRC/WhPmiw/ReUhxPznG/WgKaa/OaRtAx3inbQ+JuCND7uuKeRe4osP2jLPHPP6AUwQKBgQDUNu3BkLoKaimjGOjCTAwtp71g1oo+k5/uEInAo7lyEwpV0EuUMwLA/HCqUgR4K9pyYV+Oyb8d6f0+Hz0BMD92I2pqlXrD7xV2WzDvyXM3s63NvorRooKcyfd9i6ccMjAyTR2qfLkxv0hlbBbsPHz4BbU63xhTJp3Ghi0/ey/1HQKBgQC2VsgqC6ykfSidZUNLmQZe3J0p/Qf9VLkfrQ+xaHapOs6AzDU2H2osuysqXTLJHsGfrwVaTs00ER2z8ljTJPBUtNtOLrwNRlvgdnzyVAKHfOgDBGwJgiwpeE9voB1oAV/mXqSaUWNnuwlOIhvQEBwekqNyWvhLqC7nCAIhj3yvNQKBgQCqYbeec56LAhWP903Zwcj9VvG7sESqXUhIkUqoOkuIBTWFFIm54QLTA1tJxDQGb98heoCIWf5x/A3xNI98RsqNBX5JON6qNWjb7/dobitti3t99v/ptDp9u8JTMC7penoryLKK0Ty3bkan95Kn9SC42YxaSghzqkt+uvfVQgiNGQKBgGxU6P2aDAt6VNwWosHSe+d2WWXt8IZBhO9d6dn0f7ORvcjmCqNKTNGgrkewMZEuVcliueJquR47IROdY8qmwqcBAN7Vg2K7r7CPlTKAWTRYMJxCT1Hi5gwJb+CZF3+IeYqsJk2NF2s0w5WJTE70k1BSvQsfIzAIDz2yE1oPHvwVAoGAA6e+xQkVH4fMEph55RJIZ5goI4Y76BSvt2N5OKZKd4HtaV+eIhM3SDsVYRLIm9ZquJHMiZQGyUGnsvrKL6AAVNK7eQZCRDk9KQz+0GKOGqku0nOZjUbAu6A2/vtXAaAuFSFx1rUQVVjFulLexkXR3KcztL1Qu2k5pB6Si0K/uwQ=";\n\n\n // 声明一个就行\n static OpenClient client = new OpenClient(url, appId, privateKey);\n\n public static void Main(string[] args)\n {\n TestGet();\n }\n\n // 标准用法\n private static void TestGet()\n {\n // 创建请求对象\n GetStoryRequest request = new GetStoryRequest();\n // 请求参数\n GetStoryModel model = new GetStoryModel();\n model.Name = "白雪公主";\n request.BizModel = model;\n\n // 发送请求\n GetStoryResponse response = client.Execute(request);\n\n if (response.IsSuccess())\n {\n // 返回结果\n Console.WriteLine("成功!response:{0}\\n响应原始内容:{1}", JsonUtil.ToJSONString(response), response.Body);\n }\n else\n {\n Console.WriteLine("错误, code:{0}, msg:{1}, subCode:{2}, subMsg:{3}",\n response.Code, response.Msg, response.SubCode, response.SubMsg);\n }\n }\n\n \n}\n```','1.0',0,0,'2020-11-07 14:29:38','2020-11-07 14:29:38'), (3,'Python','http://www.bilibili.com','```python\n # 创建请求\n request = MemberInfoGetRequest()\n # 请求参数\n model = MemberInfoGetModel()\n model.age = 22\n model.name = \'jim\'\n model.address = \'xx\'\n # 添加请求参数\n request.biz_model = model\n\n # 添加上传文件\n # files = {\n # \'file1\': open(\'aa.txt\', \'rb\'),\n # \'file2\': open(\'bb.txt\', \'rb\')\n # }\n # request.files = files\n\n # 调用请求\n response = self.client.execute(request)\n\n if response.is_success():\n print \'response: \', response\n print \'is_vip:\', response.get(\'member_info\').get(\'is_vip\', 0)\n else:\n print \'请求失败,code:%s, msg:%s, sub_code:%s, sub_msg:%s\' % \\\n (response.code, response.msg, response.sub_code, response.sub_msg)\n```','1.0',0,0,'2020-11-07 14:30:16','2020-11-07 14:31:41'), (4,'Go','http://www.baidu.com','```go\n\n// 应用ID\nconst appId string = "xx"\n// 应用私钥\nconst privateKey string = "xx"\n// 请求地址\nconst url string = "http://localhost:7071/prod/gw68uy85"\n\n// 请求客户端\nvar openClient = common.OpenClient{AppId: appId, PrivateKey: privateKey, Url: url}\n\nfunc main() {\n // 创建请求\n memberInfoGetRequest := request.MemberInfoGetRequest{}\n // 请求参数\n memberInfoGetRequest.BizModel = model.MemberInfoGetModel{Name: "jim", Age: 22, Address: "xx"}\n \n // 添加上传文件\n //path, _ := os.Getwd()\n //files := []common.UploadFile{\n // {Name:"file1", Filepath:path + "/test/aa.txt"},\n // {Name:"file2", Filepath:path + "/test/bb.txt"},\n //}\n //memberInfoGetRequest.Files = files\n \n // 发送请求,返回json bytes\n var jsonBytes = openClient.Execute(memberInfoGetRequest)\n fmt.Printf("data:%s\\n", string(jsonBytes))\n // 转换结果\n var memberInfoGetResponse response.MemberInfoGetResponse\n response.ConvertResponse(jsonBytes, &memberInfoGetResponse)\n\n if memberInfoGetResponse.IsSuccess() {\n fmt.Printf("is_vip:%d, vip_endtime:%s\\n", memberInfoGetResponse.MemberInfo.IsVip, memberInfoGetResponse.MemberInfo.VipEndtime)\n } else {\n fmt.Printf("code:%s, msg:%s, subCode:%s, subMsg:%s\\n",\n memberInfoGetResponse.Code, memberInfoGetResponse.Msg, memberInfoGetResponse.SubCode, memberInfoGetResponse.SubMsg)\n }\n}\n```','1.0',0,0,'2020-11-07 14:31:21','2020-11-07 14:31:21'), (5,'C++','http://pan.baidu.com','#include \n\n#include "common/OpenClient.h"\n#include "request/BaseRequest.h"\n#include "request/MemberInfoGetRequest.hpp"\n\n// 应用ID\nstring appId = "2020051325943082302177280";\n// 存放私钥的文件路径\nstring privateKeyFile = "/Users/thc/IdeaProjects/opc/opc-sdk/sdk-c++/privateEx.pem";\n// 请求接口\nstring url = "http://localhost:7071/prod/gw68uy85";\n\nOpenClient openClient(appId, privateKeyFile, url);\n\nint main() {\n // 创建请求\n MemberInfoGetRequest request;\n\n // 业务参数\n map bizModel;\n bizModel["name"] = "jim";\n bizModel["age"] = "22";\n bizModel["address"] = "xx";\n\n request.bizModel = bizModel;\n\n // 添加上传文件\n// request->setFiles({\n// FileInfo{"aa", "/Users/thc/IdeaProjects/opc/opc-sdk/sdk-c++/aa.txt"},\n// FileInfo{"bb", "/Users/thc/IdeaProjects/opc/opc-sdk/sdk-c++/bb.txt"}\n// });\n\n // 发送请求\n neb::CJsonObject jsonObj = openClient.execute(&request);\n std::cout << jsonObj.ToString() << std::endl;\n std::cout << "id:" << jsonObj["id"].ToString() << std::endl;\n std::cout << "is_vip:" << jsonObj["member_info"]["is_vip"].ToString() << std::endl;\n return 0;\n}\n\n','1.0',0,0,'2020-11-07 14:32:55','2020-11-07 14:32:55');