diff --git a/dsAiSupport/Doc/21、RocketMq安装.md b/dsAiSupport/Doc/21、RocketMq安装.md deleted file mode 100644 index 7b207252..00000000 --- a/dsAiSupport/Doc/21、RocketMq安装.md +++ /dev/null @@ -1,193 +0,0 @@ -**参考文档** - -https://blog.csdn.net/apple_74262176/article/details/141886930 - -**1、拉取 $RocketMQ$ 镜像** - -```sh -docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/rocketmq:5.3.2 -docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/rocketmq:5.3.2 docker.io/apache/rocketmq:5.3.2 -``` - -**2、 创建容器共享网络 $rocketmq$** - -```sh -docker network create rocketmq -``` - - **3、 部署 $NameServer$ 前提条件** - -``` -# 创建目录 -mkdir -p /data/rocketmq/nameserver/{bin,logs} - -# 授权文件 -chmod 777 -R /data/rocketmq/nameserver/* - -# 创建容器 -docker run -d \ ---privileged=true --name rmqnamesrv \ -docker.io/apache/rocketmq:5.3.2 sh mqnamesrv - -# 拷贝启动脚本 -docker cp rmqnamesrv:/home/rocketmq/rocketmq-5.3.2/bin/runserver.sh /data/rocketmq/nameserver/bin/ - -# 删除容器 NameServer -docker rm -f rmqnamesrv -``` - - - -**4、启动容器** $NameServer$ - -``` -# 启动容器 NameServer -docker run -d --network rocketmq \ ---privileged=true --restart=always \ ---name rmqnamesrv -p 9876:9876 \ --v /data/rocketmq/nameserver/logs:/home/rocketmq/logs \ --v /data/rocketmq/nameserver/bin/runserver.sh:/home/rocketmq/rocketmq-5.1.0/bin/runserver.sh \ -docker.io/apache/rocketmq:5.3.2 sh mqnamesrv - -# 部分命令解释 : -1. -e "MAX_HEAP_SIZE=256M" 设置最大堆内存和堆内存初始大小 -2. -e "HEAP_NEWSIZE=128M" 设置新生代内存大小 - -# 查看启动日志 -docker logs -f rmqnamesrv -``` - -**5、 查看 $NameServer$ 启动日志** - -- **看到 ‘The Name Server boot success…’, 表示NameServer 已成功启动。** - -![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250522091505752.png) - - - -**6、部署 $Broker + Proxy$** - -- **创建挂载文件夹并授权** - - ``` - mkdir -p /data/rocketmq/broker/{store,logs,conf,bin} - chmod 777 -R /data/rocketmq/broker/* - ``` - - - -**7、创建broker.conf文件** - -``` -vi /data/rocketmq/broker/conf/broker.conf - -# nameServer 地址多个用;隔开 默认值null -# 例:127.0.0.1:6666;127.0.0.1:8888 -namesrvAddr = 10.10.14.14:9876 -# 集群名称 -brokerClusterName = DefaultCluster -# 节点名称 -brokerName = broker-a -# broker id节点ID, 0 表示 master, 其他的正整数表示 slave,不能小于0 -brokerId = 0 -# Broker服务地址 String 内部使用填内网ip,如果是需要给外部使用填公网ip -brokerIP1 = 10.10.14.14 -# Broker角色 -brokerRole = ASYNC_MASTER -# 刷盘方式 -flushDiskType = ASYNC_FLUSH -# 在每天的什么时间删除已经超过文件保留时间的 commit log,默认值04 -deleteWhen = 04 -# 以小时计算的文件保留时间 默认值72小时 -fileReservedTime = 72 -# 是否允许Broker 自动创建Topic,建议线下开启,线上关闭 -autoCreateTopicEnable=true -# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭 -autoCreateSubscriptionGroup=true -# 禁用 tsl -tlsTestModeEnable = false -``` - -**8、 拷贝启动脚本** - -``` -# 启动 Broker 容器 -docker run -d \ ---name rmqbroker --privileged=true \ -docker.io/apache/rocketmq:5.3.2 sh mqbroker - -# 拷贝脚本文件 -docker cp rmqbroker:/home/rocketmq/rocketmq-5.3.2/bin/runbroker.sh /data/rocketmq/broker/bin -``` - - - -**9、 启动容器 Broker** - -``` -# 删除容器 Broker -docker rm -f rmqbroker - -# 启动容器 Broker -docker run -d --network rocketmq \ ---restart=always --name rmqbroker --privileged=true \ --p 10911:10911 -p 10909:10909 \ --v /data/rocketmq/broker/logs:/root/logs \ --v /data/rocketmq/broker/store:/root/store \ --v /data/rocketmq/broker/conf/broker.conf:/home/rocketmq/broker.conf \ --v /data/rocketmq/broker/bin/runbroker.sh:/home/rocketmq/rocketmq-5.3.2/bin/runbroker.sh \ --e "NAMESRV_ADDR=rmqnamesrv:9876" \ -docker.io/apache/rocketmq:5.3.2 sh mqbroker --enable-proxy -c /home/rocketmq/broker.conf - -# 查看启动日志 -docker logs -f rmqbroker -``` - -- **启动成功日志如下** - -![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250522091934903.png) - - - -**10、部署RocketMQ控制台(rocketmq-dashboard)** - -- **拉取镜像** - - ```sh - docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apacherocketmq/rocketmq-dashboard:2.0.1 - docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apacherocketmq/rocketmq-dashboard:2.0.1 docker.io/apacherocketmq/rocketmq-dashboard:2.0.1 - ``` - - - -**11、 启动容器 Rocketmq-dashboard** - -``` -docker run -d \ ---restart=always --name rmq-dashboard \ --p 8080:8080 --network rocketmq \ --e "JAVA_OPTS=-Xmx256M -Xms256M -Xmn128M -Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \ - docker.io/apacherocketmq/rocketmq-dashboard:2.0.1 -``` - - - -**12、 查看启动日志** - -```sh -docker logs -f rmq-dashboard -``` - - - -![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250522092229565.png) - -**13、 访问RMQ控制台** - -- [**http://10.10.14.14:8080/**](http://10.10.14.14:8080/) **( IP地址改成自己的 )** - -![](D:\dsWork\dsProject\dsAiSupport\Doc\20250522092309206.png) - -**14、 查看创建的 RocketMQ** - -![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/%7Byear%7D/%7Bmonth%7D/%7Bmd5%7D.%7BextName%7D/20250522092331493.png) \ No newline at end of file diff --git a/dsAiSupport/Doc/5、安装RocketMQ.md b/dsAiSupport/Doc/5、安装RocketMQ.md new file mode 100644 index 00000000..fc1d82ca --- /dev/null +++ b/dsAiSupport/Doc/5、安装RocketMQ.md @@ -0,0 +1,84 @@ +### 安装文档 + +> https://rocketmq.apache.org/zh/docs/4.x/quickstart/01quickstart +> + + + +#### 安装$JDK$ + +``` +cd /usr/local +rz -be +jdk-8u421-linux-x64.tar.gz +tar -xvf jdk-8u421-linux-x64.tar.gz +rm -rf jdk-8u421-linux-x64.tar.gz +mv jdk1.8.0_421/ jdk + +vi /etc/profile + +GG到最后: + +export JAVA_HOME=/usr/local/jdk +export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ +export PATH=$PATH:$JAVA_HOME/bin + +source /etc/profile + +java -version +``` + + + +#### 安装$RocketMQ$ + +```shell +cd /usr/local +mkdir rocketmq +rz -be +rocketmq-all-4.9.4-bin-release.zip +unzip rocketmq-all-4.9.4-bin-release.zip +rm -rf rocketmq-all-4.9.4-bin-release.zip +mv rocketmq-all-4.9.4-bin-release/ rocketmq +cd rocketmq + +### 启动namesrv +nohup sh bin/mqnamesrv & + +### 验证namesrv是否启动成功 +tail -f /root/logs/rocketmqlogs/namesrv.log + +2024-07-31 13:48:37 INFO main - The Name Server boot success. serializeType=JSON + +### 启动Broker +nohup sh bin/mqbroker -n localhost:9876 & + +### 验证broker是否启动成功 +tail -f /root/logs/rocketmqlogs/broker.log + +main - The broker[RockyLinux, 10.10.14.210:10911] boot success. serializeType=JSON and name server is localhost:9876 +``` + + + +#### 消息收发 + +``` +export NAMESRV_ADDR=localhost:9876 +cd /usr/local/rocketmq +sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer + SendResult [sendStatus=SEND_OK, msgId= ... + +sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer + ConsumeMessageThread_%d Receive New Messages: [MessageExt... +``` + + + +#### 关闭服务器 + +```shell +sh bin/mqshutdown broker +sh bin/mqshutdown namesrv +``` + diff --git a/dsAiSupport/pom.xml b/dsAiSupport/pom.xml index 65306de0..4cc188ff 100644 --- a/dsAiSupport/pom.xml +++ b/dsAiSupport/pom.xml @@ -43,11 +43,13 @@ java-jwt 4.4.0 + org.apache.rocketmq - rocketmq-client-java - 5.0.7 + rocketmq-client + 5.3.0 + org.apache.httpcomponents httpmime diff --git a/dsAiSupport/src/main/java/com/dsideal/aiSupport/AiSupportApplication.java b/dsAiSupport/src/main/java/com/dsideal/aiSupport/AiSupportApplication.java index 5f6f7429..19da8b33 100644 --- a/dsAiSupport/src/main/java/com/dsideal/aiSupport/AiSupportApplication.java +++ b/dsAiSupport/src/main/java/com/dsideal/aiSupport/AiSupportApplication.java @@ -1,12 +1,8 @@ package com.dsideal.aiSupport; -import com.dsideal.aiSupport.Config.RocketMQConfig; import com.dsideal.aiSupport.Index.IndexController; import com.dsideal.aiSupport.Interceptor.*; import com.dsideal.aiSupport.Plugin.YamlProp; -import com.dsideal.aiSupport.Test.MessageProducer; -import com.dsideal.aiSupport.Test.MessagePushConsumer; -import com.dsideal.aiSupport.Test.MyMessageListener; import com.dsideal.aiSupport.Util.FileUtil; import com.dsideal.aiSupport.Util.LogBackLogFactory; import com.jfinal.config.*; @@ -130,8 +126,6 @@ public class AiSupportApplication extends JFinalConfig { public void configHandler(Handlers me) { } - private MessageProducer messageProducer; - private MessagePushConsumer messagePushConsumer; /** * 在jfinal启动完成后马上执行 */ @@ -141,20 +135,5 @@ public class AiSupportApplication extends JFinalConfig { String path = AiSupportApplication.class.getClassLoader().getResource("logo.txt").getPath(); File file = new File(path); System.out.println(FileUtil.txt2String(file)); - - // 初始化RocketMQ生产者 - messageProducer = new MessageProducer(); - - // 初始化RocketMQ消费者 - MyMessageListener messageListener = new MyMessageListener(); - messagePushConsumer = new MessagePushConsumer( - "YourConsumerGroup", - RocketMQConfig.getDefaultTopic(), - "*", // 订阅所有Tag - messageListener - ); - - // 将生产者注入到全局对象中,方便在Controller中使用 - //Jboot.setJbootObject(MessageProducer.class.getName(), messageProducer); } } diff --git a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Config/RocketMQConfig.java b/dsAiSupport/src/main/java/com/dsideal/aiSupport/Config/RocketMQConfig.java deleted file mode 100644 index dd50de23..00000000 --- a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Config/RocketMQConfig.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.dsideal.aiSupport.Config; - -import org.apache.rocketmq.client.apis.ClientConfiguration; -import org.apache.rocketmq.client.apis.ClientConfigurationBuilder; -import org.apache.rocketmq.client.apis.ClientServiceProvider; - -public class RocketMQConfig { - // RocketMQ服务器地址 - private static final String ENDPOINT = "10.10.14.14:8081"; - // 默认主题 - private static final String DEFAULT_TOPIC = "TestTopic"; - - private static ClientServiceProvider provider; - private static ClientConfiguration configuration; - - static { - provider = ClientServiceProvider.loadService(); - ClientConfigurationBuilder builder = ClientConfiguration.newBuilder().setEndpoints(ENDPOINT); - configuration = builder.build(); - } - - public static ClientServiceProvider getProvider() { - return provider; - } - - public static ClientConfiguration getConfiguration() { - return configuration; - } - - public static String getDefaultTopic() { - return DEFAULT_TOPIC; - } -} \ No newline at end of file diff --git a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/MessageProducer.java b/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/MessageProducer.java deleted file mode 100644 index b2eac45e..00000000 --- a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/MessageProducer.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.dsideal.aiSupport.Test; - -import com.dsideal.aiSupport.Config.RocketMQConfig; -import org.apache.rocketmq.client.apis.ClientException; -import org.apache.rocketmq.client.apis.message.Message; -import org.apache.rocketmq.client.apis.producer.Producer; -import org.apache.rocketmq.client.apis.producer.SendReceipt; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; - -public class MessageProducer { - private static final Logger logger = LoggerFactory.getLogger(MessageProducer.class); - private Producer producer; - - public MessageProducer() { - try { - producer = RocketMQConfig.getProvider().newProducerBuilder() - .setTopics(RocketMQConfig.getDefaultTopic()) - .setClientConfiguration(RocketMQConfig.getConfiguration()) - .build(); - } catch (ClientException e) { - logger.error("Failed to create producer", e); - } - } - - public void sendMessage(String topic, String tag, String key, String body) { - try { - Message message = RocketMQConfig.getProvider().newMessageBuilder() - .setTopic(topic) - .setKeys(key) - .setTag(tag) - .setBody(body.getBytes()) - .build(); - - SendReceipt sendReceipt = producer.send(message); - logger.info("Send message successfully, messageId={}", sendReceipt.getMessageId()); - } catch (ClientException e) { - logger.error("Failed to send message", e); - } - } - - public void close() throws IOException { - if (producer != null) { - producer.close(); - } - } -} \ No newline at end of file diff --git a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/MessagePushConsumer.java b/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/MessagePushConsumer.java deleted file mode 100644 index f0fb46b9..00000000 --- a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/MessagePushConsumer.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.dsideal.aiSupport.Test; - -import com.dsideal.aiSupport.Config.RocketMQConfig; -import org.apache.rocketmq.client.apis.ClientException; -import org.apache.rocketmq.client.apis.consumer.FilterExpression; -import org.apache.rocketmq.client.apis.consumer.FilterExpressionType; -import org.apache.rocketmq.client.apis.consumer.MessageListener; -import org.apache.rocketmq.client.apis.consumer.PushConsumer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; -import java.util.Collections; - -public class MessagePushConsumer { - private static final Logger logger = LoggerFactory.getLogger(MessagePushConsumer.class); - private PushConsumer pushConsumer; - - public MessagePushConsumer(String consumerGroup, String topic, String tag, MessageListener messageListener) { - try { - FilterExpression filterExpression = new FilterExpression(tag, FilterExpressionType.TAG); - pushConsumer = RocketMQConfig.getProvider().newPushConsumerBuilder() - .setClientConfiguration(RocketMQConfig.getConfiguration()) - .setConsumerGroup(consumerGroup) - .setSubscriptionExpressions(Collections.singletonMap(topic, filterExpression)) - .setMessageListener(messageListener) - .build(); - - logger.info("Consumer started successfully"); - } catch (ClientException e) { - logger.error("Failed to create consumer", e); - } - } - - public void close() throws IOException { - if (pushConsumer != null) { - pushConsumer.close(); - } - } -} \ No newline at end of file diff --git a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/MyMessageListener.java b/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/MyMessageListener.java deleted file mode 100644 index 9dcfafda..00000000 --- a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/MyMessageListener.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.dsideal.aiSupport.Test; - -import org.apache.rocketmq.client.apis.consumer.ConsumeResult; -import org.apache.rocketmq.client.apis.consumer.MessageListener; -import org.apache.rocketmq.client.apis.message.MessageView; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class MyMessageListener implements MessageListener { - private static final Logger logger = LoggerFactory.getLogger(MyMessageListener.class); - - @Override - public ConsumeResult consume(MessageView messageView) { - try { - String messageId = String.valueOf(messageView.getMessageId()); - String topic = messageView.getTopic(); - String tag = String.valueOf(messageView.getTag()); - byte[] body = messageView.getBody().array(); - String content = new String(body); - - logger.info("Received message: messageId={}, topic={}, tag={}, content={}", - messageId, topic, tag, content); - - // 处理消息的业务逻辑 - - return ConsumeResult.SUCCESS; - } catch (Exception e) { - logger.error("Failed to consume message", e); - return ConsumeResult.FAILURE; - } - } -} \ No newline at end of file diff --git a/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/TestRocketMQ.java b/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/TestRocketMQ.java new file mode 100644 index 00000000..d0849805 --- /dev/null +++ b/dsAiSupport/src/main/java/com/dsideal/aiSupport/Test/TestRocketMQ.java @@ -0,0 +1,142 @@ +package com.charge.tools; + +import org.apache.rocketmq.client.consumer.DefaultLitePullConsumer; +import org.apache.rocketmq.client.producer.DefaultMQProducer; +import org.apache.rocketmq.client.producer.MessageQueueSelector; +import org.apache.rocketmq.client.producer.SendCallback; +import org.apache.rocketmq.client.producer.SendResult; +import org.apache.rocketmq.common.message.Message; +import org.apache.rocketmq.common.message.MessageExt; +import org.apache.rocketmq.common.message.MessageQueue; +import org.apache.rocketmq.remoting.common.RemotingHelper; + +import java.io.IOException; +import java.util.List; + +//Java整合RocketMQ实现生产消费 +//https://blog.csdn.net/qq_28314431/article/details/128452607 + +public class TestRocketMQ { + private final static String nameServer = "10.10.14.210:9876"; + + private final static String producerGroup = "my_group"; + private final static String consumerGroup = "my_group"; + private final static String topic = "topic-test"; + + //同步发送 + public static void syncSend() { + try { + // 初始化一个producer并设置Producer group name + DefaultMQProducer producer = new DefaultMQProducer(producerGroup); + // 设置NameServer地址 + producer.setNamesrvAddr(nameServer); + // 启动producer + producer.start(); + // 创建一条消息,并指定topic、tag、body等信息,tag可以理解成标签,对消息进行再归类,RocketMQ可以在消费端对tag进行过滤 + Message msg = new Message(topic, "tagA", "Hello RocketMQ".getBytes(RemotingHelper.DEFAULT_CHARSET)); + // 利用producer进行发送,并同步等待发送结果 + SendResult sendResult = producer.send(msg, 10000); + System.out.printf("%s%n", sendResult); + // 一旦producer不再使用,关闭producer + producer.shutdown(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + //异步发送 + public static void asyncSend() throws IOException { + try { + // 初始化一个producer并设置Producer group name + DefaultMQProducer producer = new DefaultMQProducer(producerGroup); + // 设置NameServer地址 + producer.setNamesrvAddr(nameServer); + // 启动producer + producer.start(); + // 创建一条消息,并指定topic、tag、body等信息,tag可以理解成标签,对消息进行再归类,RocketMQ可以在消费端对tag进行过滤 + Message msg = new Message(topic, "tagB", "Hello RocketMQ".getBytes(RemotingHelper.DEFAULT_CHARSET)); + // 异步发送消息, 发送结果通过callback返回给客户端 + producer.send(msg, new SendCallback() { + public void onSuccess(SendResult sendResult) { + System.out.printf("OK %s %n", + sendResult.getMsgId()); + } + + public void onException(Throwable e) { + System.out.printf("Exception %s %n", e); + e.printStackTrace(); + } + }, 10000); + } catch (Exception e) { + e.printStackTrace(); + } + System.in.read(); + } + + //顺序消息 + public static void orderSend() { + try { + // 初始化一个producer并设置Producer group name + DefaultMQProducer producer = new DefaultMQProducer(producerGroup); + // 设置NameServer地址 + producer.setNamesrvAddr(nameServer); + producer.setSendMsgTimeout(10000); + // 启动producer + producer.start(); + String[] tags = new String[]{"TagA", "TagB", "TagC"}; + for (int i = 0; i < 10; i++) { + int orderId = i % 10; + Message msg = new Message(topic, tags[i % tags.length], "KEY" + i, ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET)); + SendResult sendResult = producer.send(msg, new MessageQueueSelector() { + public MessageQueue select(List mqs, Message msg, Object arg) { + Integer id = (Integer) arg; + int index = id % mqs.size(); + return mqs.get(index); + } + }, orderId); + System.out.printf("%s%n", sendResult); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + + public static void consumerPull() { + try { + DefaultLitePullConsumer consumer = new DefaultLitePullConsumer(consumerGroup); + consumer.setNamesrvAddr(nameServer); + //关闭自动提交 + consumer.setAutoCommit(false); + consumer.subscribe(topic, "*"); + consumer.setPullBatchSize(20); + consumer.start(); + while (true) { + List messageExts = consumer.poll(); + if (messageExts.size() > 0) { + String str = new String(messageExts.get(0).getBody()); + System.out.println(str); + } else { + System.out.println("本轮没有找到需要消费的消息!"); + } + consumer.commitSync(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static void main(String[] args) throws IOException { + //同步发送 + syncSend(); + + //异步发送 + //asyncSend(); + + //顺序消息 + orderSend(); + + //拉消费 + //consumerPull(); + } +} diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/AiPpt/Doc/文档.txt b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/AiPpt/Doc/文档.txt new file mode 100644 index 00000000..cfd6e929 --- /dev/null +++ b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/AiPpt/Doc/文档.txt @@ -0,0 +1,16 @@ +# 官网 +https://docmee.cn/ + +# 用户名与密码 +18686619970 +密码:手机验证码 + +# 体验 +https://www.veasion.cn/AiPPT/ + +# 充值 +https://open.docmee.cn/open/workspace/top-up +未充值 + +# 模板选择【展示】 +https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202505131336410.png \ No newline at end of file diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/DashScope/Doc/文档.txt b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/DashScope/Doc/文档.txt new file mode 100644 index 00000000..54df7a91 --- /dev/null +++ b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/DashScope/Doc/文档.txt @@ -0,0 +1 @@ +https://help.aliyun.com/zh/model-studio/emo-api?spm=a2c4g.11186623.help-menu-2400256.d_2_3_4_1.7d8a5f84mfOU9j \ No newline at end of file diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/HuoShanFangZhou/Doc/文档.txt b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/HuoShanFangZhou/Doc/文档.txt new file mode 100644 index 00000000..49439e6c --- /dev/null +++ b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/HuoShanFangZhou/Doc/文档.txt @@ -0,0 +1 @@ +https://www.volcengine.com/docs/82379/1520757 \ No newline at end of file diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/KeLing/Doc/文档.txt b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/KeLing/Doc/文档.txt new file mode 100644 index 00000000..c5637d46 --- /dev/null +++ b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/KeLing/Doc/文档.txt @@ -0,0 +1,9 @@ +# 可灵AI使用指南-图片生成 +https://docs.qingque.cn/d/home/eZQApd0EZqQHWXBEi7lL16_lD?identityId=26L1FFNIZ7r#section=h.60mmflz96wnl + +# 可灵控制台 +https://console-cn.klingai.com/console/expense-center/resource-pack-manage + +# 登录 +18686619970 +获取验证码登录 diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Doc/文档.txt b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Doc/文档.txt new file mode 100644 index 00000000..814e0c5f --- /dev/null +++ b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Doc/文档.txt @@ -0,0 +1,39 @@ +# 官网 +https://www.liblib.art/apis + +# 账号 +18686619970 +手机验证码登录 + +# 访问凭证 +AK: sOCtVLVTNOZkRMajlhzCmg +SK: PUe8QTRG9i0G9EbpedHmIpLQ0FyxoYY9 + + +# 接口文档 +https://liblibai.feishu.cn/wiki/UAMVw67NcifQHukf8fpccgS5n6d + + +计划 +API试用计划 +到期时间 +2025/05/22 23:59:59 +剩余积分 +500 +购买积分 +并发任务数 +1个 + + +# LiblibAI工作流 +社区商用工作流和个人本地工作流均可支持调用。工作流挑选和商用查询可至https://www.liblib.art/workflows + +# - 星流Star-3 Alpha:适合对AI生图参数不太了解或不想复杂控制的用户。搭载自带LoRA推荐算法,对自然语言的精准响应,提供极致的图像质量,能够生成具有照片级真实感的视觉效果,不能自由添加LoRA,仅支持部分ControlNet。生图效果可至星流官网https://xingliu.art/体验。 + +# - LiblibAI自定义模型:若需要特定LoRA和ControlNet只能选此模式,适合高度自由、精准控制和特定风格的场景,基于F.1/XL/v3/v1.5等基础算法,支持自定义调用LiblibAI内全量30万+可商用模型和任意私有模型。最新开源模型和插件第一时间更新。模型挑选和商用查询可至本文档3.1或https://www.liblib.art/。 + + +# 参考文档 +https://liblibai.feishu.cn/wiki/UAMVw67NcifQHukf8fpccgS5n6d + +https://www.liblib.art/workflows \ No newline at end of file diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/019dba57244f2682e672a8a1ce9d50536e85f130a1142d19755c8266d4a8577c.png b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/019dba57244f2682e672a8a1ce9d50536e85f130a1142d19755c8266d4a8577c.png new file mode 100644 index 00000000..d554c372 Binary files /dev/null and b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/019dba57244f2682e672a8a1ce9d50536e85f130a1142d19755c8266d4a8577c.png differ diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/1e458ad4a7f30e853acff80f4723f42638c21205f0ff2d64898589dd994f1f94.png b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/1e458ad4a7f30e853acff80f4723f42638c21205f0ff2d64898589dd994f1f94.png new file mode 100644 index 00000000..6dbce122 Binary files /dev/null and b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/1e458ad4a7f30e853acff80f4723f42638c21205f0ff2d64898589dd994f1f94.png differ diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/53ea797eeb6f5adafdfdeb3fc9918e200fb8b716e1773cebe54535b36adb5134.png b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/53ea797eeb6f5adafdfdeb3fc9918e200fb8b716e1773cebe54535b36adb5134.png new file mode 100644 index 00000000..23a74482 Binary files /dev/null and b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/53ea797eeb6f5adafdfdeb3fc9918e200fb8b716e1773cebe54535b36adb5134.png differ diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/7d6679969e1c6e014d37710935c2603b40b7217e14bc5003ea2ca8331e9ef40d.png b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/7d6679969e1c6e014d37710935c2603b40b7217e14bc5003ea2ca8331e9ef40d.png new file mode 100644 index 00000000..cb1d4ce3 Binary files /dev/null and b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/7d6679969e1c6e014d37710935c2603b40b7217e14bc5003ea2ca8331e9ef40d.png differ diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/TextToImageUltra.png b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/TextToImageUltra.png new file mode 100644 index 00000000..a8b744c9 Binary files /dev/null and b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Liblib/Example/TextToImageUltra.png differ diff --git a/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Midjourney/Doc/文档.txt b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Midjourney/Doc/文档.txt new file mode 100644 index 00000000..d7149319 --- /dev/null +++ b/dsAiSupport/target/classes/com/dsideal/aiSupport/Util/Midjourney/Doc/文档.txt @@ -0,0 +1,3 @@ +https://goapi.gptnb.ai/account/profile +littlehb +mdcija780522 \ No newline at end of file