Alone88 https://alone88.cn/ zh-CN 一个小小博客,Alone88,分享记录学习! Fri, 13 Oct 2023 11:18:00 +0800 Fri, 13 Oct 2023 11:18:00 +0800 使用微信测试号做一个AI对话机器人 https://alone88.cn/archives/991.html https://alone88.cn/archives/991.html Fri, 13 Oct 2023 11:18:00 +0800 Alone88 AIChatBot -- AI对话机器人

AIChatBot是一个基于微信测试号的对话机器人,它可以对接任何兼容OpenAI规范的API接口,例如AIGC2D,并且还添加了Google联网搜索的支持。

AIChatBot示例截图

安装和配置

准备资料

  1. 访问并开通微信测试号,将页面上的appID和appsecret作为环境变量,分别命名为MP_APPIDMP_APPSECRET
  2. 随机编写一个Token,并将其设置为环境变量MP_TOKEN
  3. 配置OpenAI或AIGC2D接口,设置以下环境变量:

    • DEFAULT_API_URL:API的地址,默认为https://api.openai.com/v1或https://api.aigc2d.com/v1。
    • DEFAULT_API_KEY:API的密钥。
    • DEFAULT_MODEL:模型名称,默认为gpt-3.5-turbo-16k。
  4. 设置触发词,可以通过设置环境变量来实现。如果测试为空,则每一句话都会触发AI答复。
  5. 配置Google搜索引擎插件,使用serper实现,注册后可获得2500次免费请求。设置以下环境变量:

    • ENABLE_SEARCH:是否启用搜索引擎插件。
    • SERPER_KEY:搜索引擎的API密钥。
  6. 启动服务后,记得将回调地址和Token回填到微信测试号设置页面。

Docker安装

  1. 确保对./data有写权限,或者挂载到有权限的位置。
  2. 执行以下命令启动Docker容器:

    docker run -d --name bot \
    -e MP_APPID=<填写appID> \
    -e MP_SECRET=<填写appsecret> \
    -e MP_TOKEN=<填写Token> \
    -e DEFAULT_API_URL=https://api.aigc2d.com/v1 \
    -e DEFAULT_API_KEY=<填写API密钥> \
    -v ./data:/app/data \
    -p 80:8080 \
    alone88/aichatbot:latest

Docker Compose安装

  1. 确保对./data有写权限,或者挂载到有权限的位置。
  2. 复制docker-compose.example.ymldocker-compose.yml,并根据需要修改环境变量。

    version: '3'
    services:
      bot:
        image: alone88/aichatbot
        environment:
    - MP_APPID=<填写appID>
    - MP_SECRET=<填写appsecret>
    - MP_TOKEN=<填写Token>
    - DEFAULT_API_URL=https://api.aigc2d.com/v1
    - DEFAULT_API_KEY=<填写API密钥>
    - ENABLE_HISTORY=true
        volumes:
    - ./data:/app/data
        ports:
    - 80:8080
  3. 启动服务。

回填Token和回调地址

启动服务后,可以获得回调地址。如果IP/域名是xxx.xxx.xxx.xxx:xxxx,那么回调地址是http://xxx.xxx.xxx.xxx:xxxx/wechat

在微信测试号设置页面的接口配置信息中,将回调地址和Token填入并保存。

微信测试号设置页面

使用

用微信扫描测试号设置页面的二维码,关注测试号后,可以发送问题。也可以通过/setXXX命令进行个人配置。

可以通过/help命令查看可用命令。

你可以将测试号发送到桌面,作为快速进入的入口。这样就不用在微信里边到处找了(目前只支持安卓)。

环境变量说明

以下是一些常用的环境变量说明:

变量名说明
MP_APPID微信公众号APPID
MP_SECRET微信公众号Secret
MP_TOKEN微信公众号Token
DEFAULT_API_KEYOpenAI/AIGC2D的apikey
DEFAULT_API_URLOpenAI/AIGC2D的接口地址,默认为https://api.aigc2d.com/v1
DEFAULT_WORD触发词,包含触发词才会触发回复,不设置则所有都会触发回复
DEFAULT_MODEL模型名称,默认为gpt-3.5-turbo-16k
DEFAULT_SYSTEM系统提示词,默认为空
MAX_TOKEN最大max_tokens限制,默认根据模型限定
TEMPERATURE模型的temperature
REPLY_CHUNK_LENGTH每次输出字数限制,超过这个限制则会分多条消息返回
ENABLE_HISTORY是否保留对话上下文
ENABLE_SEARCH是否启用搜索引擎插件
SERPER_KEY搜索引擎的apikey

以上是AIChatBot的一些基本信息和安装配置方法。它可以帮助你快速搭建一个智能对话机器人,并且可以根据需要进行个性化配置。快来体验AIChatBot吧!

]]>
0 https://alone88.cn/archives/991.html#comments https://alone88.cn/feed/archives/991.html
基于Dify和AIGC2D快速构建你的智能对话和功能应用 https://alone88.cn/archives/982.html https://alone88.cn/archives/982.html Wed, 28 Jun 2023 19:03:00 +0800 Alone88 AIGC2D

AIGC2D是一家为开发者提供GPT4.0接口代理的技术平台,开发者无需注册OpenAI的账号,就可以使用GPT3.5,GPT4.0的接口,免去国内访问不了openai,没有国外信用卡的烦恼

AIGC2D官方地址: https://www.aigc2d.com

截图_选择区域_20230628190126.png

Dify

Dify 的目标是让开发者(甚至非开发者)可以快速基于大型语言模型搭建出有用的东西,并确保它是可视化、可运营、可改进的。

你可以使用 Dify 快速搭建一个 Web App,其生成的前端代码可以托管在 Dify 上。如果你想基于这个 Web App 进一步开发,你可以从 GitHub 中得到这些 Template,部署到任何地方(例如 Vercel 或你的服务器)。或者,你也可以基于 WebAPI 开发你自己的 Web 前端、移动 App…总之,为你省下了后端开发的工作。
不止于此,Dify 的核心理念是在一个可视化的界面中创建、配置、改进你的应用。基于 LLM 的应用开发有一个持续改进的生命周期,你可能需要基于自己的内容让 AI 给予正确的回答,或是想提升 AI 的准确性和叙述风格,甚至让它去 YouTube 上下载一个字幕作为上下文。
这当中将会有些逻辑设计、上下文增强、数据准备等需要花些功夫的事情,如果没有工具你可能会寸步难行…我们称这个过程为 LLMOps。

注册 AIGC2D

AIGC2D 注册地址: https://www.aigc2d.com/register

按照要去输入好 用户名、邮箱/手机号、验证码,密码 完成注册

截图_选择区域_20230628192636.png

获取 AIGC2D 的 APIKEY

注册好了之后,登录 AIGC2D , 在菜单选择 APIKEY,进入页面后,点击新建。这样就获取到 AIGC2D的 APIKEY ,可以直接在 Dify 里使用了(所有支持OpenAI协议的平台都可以使用)

截图_选择区域_20230628192811.png

配置 Dify

打开 Dify 平台,地址: https://dify.aigc2d.com ,这个是我用开源的Dify搭建的,可以免费体验,需要使用Github的账号登录,Google 的账号暂时不支持。

截图_选择区域_20230628212415.png

配置 APIKEY

登录Dify 之后,点击右上角的头像,会出来一个设置的按钮,请点击,然后选择模型供应商,选择OpenAI, 把AIGC2D的密钥填入进去

截图_选择区域_20230628212552.png

创建 Dify 的应用

在顶部菜单栏选择:构建应用,然后点击页面的创建应用。 应用支持两种类型,一个是对话型,一个是文本生成应用。
对话型就是可以连续聊天的,文本生成是可以完成高质量文本的应用,比如生成文章、标题、翻译、摘要等。

我们选择文本生成应用,来创建一个 小红书写作助手

截图_选择区域_20230628213011.png

创建好后会进入到设置页面,可以看到有个分享链接。

截图_选择区域_20230628213137.png

然后我们点击提示词编排,输入前缀提示词:

你的任务是以小红书博主的文章结构,以我给出的主题写一篇帖子推荐。你的回答应包括使用表情符号来增加趣味和互动,以及与每个段落相匹配的图片。请以一个引人入胜的介绍开始,为你的推荐设置基调。然后,提供至少三个与主题相关的段落,突出它们的独特特点和吸引力。在你的写作中使用表情符号,使它更加引人入胜和有趣。对于每个段落,请提供一个与描述内容相匹配的图片。这些图片应该视觉上吸引人,并帮助你的描述更加生动形象。我给出的主题是:{{name}}

变量添加一个 name, 注意模型需要选择 gpt-3.5-turbo , 设置好后,点击发布,一个智能小红书写作助手就做好了。

截图_选择区域_20230628213358.png

最后打开那个分享链接,就可以使用 小红书写作助手了,还可以分享给好朋友使用哦。

截图_选择区域_20230628214013.png

最后

Dify 的功能不止于此,还可以自己上传知识库文档,然后结合 GPT 可以智能回答知识库的内容。

Dify: https://dify.aigc2d.com
AIGC2D: https://www.aigc2d.com

]]>
0 https://alone88.cn/archives/982.html#comments https://alone88.cn/feed/archives/982.html
AIGC2D:使用GPT4.0的技术类教程 https://alone88.cn/archives/979.html https://alone88.cn/archives/979.html Wed, 28 Jun 2023 18:52:25 +0800 Alone88

导语: AIGC2D是一家为开发者提供GPT4.0接口代理的技术平台。本教程将带你了解如何使用AIGC2D平台与GPT4.0模型进行交互,轻松应用人工智能技术于各种领域。

随着人工智能技术的迅猛发展,很多开发者都希望能够利用这一先进技术,为各种应用场景打造智能的解决方案。而AIGC2D平台便提供了一种简单、高效的方式,让开发者能够轻松接入最新的GPT4.0模型,将人工智能技术应用于实际项目中。

在本教程中,我们将指导你如何使用AIGC2D平台与GPT4.0模型进行交互,以及如何利用这一强大的技术来解决实际问题。以下是具体步骤:

步骤1:访问AIGC2D官方网站
首先,你需要访问AIGC2D的官方网站:www.aigc2d.com。在网站上你将找到关于平台的详细信息和注册流程。

步骤2:获取API Key
注册并登录AIGC2D平台后,你需要获取API Key。这个Key将用于访问AIGC2D的API接口,实现与GPT4.0模型的交互。

步骤3:准备代码环境
为了与AIGC2D平台进行通信,我们将使用curl命令作为示例。确保你已经安装了curl,并打开命令行工具。

步骤4:与GPT4.0模型交互
现在,我们将使用AIGC2D平台提供的API接口,与GPT4.0模型进行交互。以下是一个基本的示例代码:

curl https://api.aigc2d.com/v1/chat/completions \
- H "Content-Type: application/json" \
- H "Authorization: Bearer YOUR_API_KEY" \
- d '{
  "model": "gpt-4.0",
  "messages": [{"role": "user", "content": "你的问题或对话"}],
  "temperature": 0.7
}'

请确保将 YOUR_API_KEY 替换为你在步骤2中获取到的API Key。你可以根据自己的需求定制用户角色、对话内容以及温度参数。这些参数可以影响回复的创造力和多样性。

步骤5:处理响应结果
请求发送后,你将获得一个包含GPT4.0生成回复的JSON响应。你可以从中提取所需的文本信息,然后根据实际场景进行处理。例如,你可以将回复展示给用户、进行后续处理以及构建更复杂的对话逻辑。

通过遵循以上步骤,你可以轻松地与GPT4.0模型进行交互,并将其应用于各种技术项目中。AIGC2D平台为开发者提供了无需注册OpenAI账号的便捷途径,让你可以专注于代码的开发和应用场景的实现,而无需担心繁琐的注册和翻墙访问问题。

希望这个教程能帮助你快速上手并充分发挥AIGC2D平台与GPT4.0模型的优势。开始你的人工智能探索之旅吧!

]]>
0 https://alone88.cn/archives/979.html#comments https://alone88.cn/feed/archives/979.html
AIGC2D:加速人工智能应用开发的接口代理平台 https://alone88.cn/archives/977.html https://alone88.cn/archives/977.html Wed, 28 Jun 2023 18:51:48 +0800 Alone88

导语: AIGC2D是一家创新的人工智能平台,为开发者提供了无需注册OpenAI账号也能使用GPT4.0的接口代理。通过AIGC2D平台,开发者可以轻松应用先进的AI技术,避免了繁琐的注册和FQ访问,极大地降低了开发难度。

随着人工智能技术的迅猛发展,开发者们渴望利用这一先进技术,推动业务的创新和发展。然而,注册开发者账号、翻墙访问等问题成为了开发过程中的瓶颈。为了解决这一难题,AIGC2D平台应运而生。

AIGC2D是一家专注于人工智能开发的先进平台,它为开发者提供了访问GPT4.0模型的接口代理服务,而无需注册OpenAI账号。开发者只需前往AIGC2D的官方网站 www.aigc2d.com,即可畅享GPT4.0的强大能力。无需担心繁琐的注册流程和翻墙访问,让开发者能够专注于创新和应用的开发,真正降低了开发难度。

使用AIGC2D平台非常简单,只需按照以下步骤即可开始:

curl https://api.aigc2d.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AIGC2D-APIKEY" \
  -d '{
     "model": "gpt-4.0",
     "messages": [{"role": "user", "content": "您好,很高兴遇见你!,我是AIGC2D"}],
     "temperature": 0.7
   }'

以上代码演示了如何通过AIGC2D平台启动与GPT4.0模型的对话。只需将自己的API Key替换为$AIGC2D-APIKEY,然后构建适合自己对话流程的请求。开发者可以自由定制用户角色和内容,并通过设置温度参数来控制回复的创造力和多样性。

AIGC2D平台的核心优势是消除了与OpenAI账号注册、FQ等相关的麻烦。开发者们可以直接利用AIGC2D平台的便利性,专注于业务逻辑和应用场景的开发,无需关注人工智能技术的细节。

通过AIGC2D平台,开发者能够轻松应用人工智能技术于各个领域。无论是自动化客户服务领域中快速回复客户问题,还是在创意生成和故事写作领域中获得灵感,AIGC2D都提供了一致且高质量的人工智能辅助。

此外,AIGC2D还提供了强大的扩展能力和灵活的定制选项,以满足不同开发者的需求。您可以根据自身业务和技术要求,通过AIGC2D平台实现更复杂的人工智能应用,甚至进行大规模部署。

作为人工智能技术的引领者,AIGC2D致力于通过提供高效、易用的接口代理,推动各行各业的创新进程。无论您是经验丰富的开发者,还是初学者,AIGC2D都将为您提供一站式的人工智能开发解决方案。

请立即访问 https://www.aigc2d.com,了解更多关于我们的信息,并加入我们的行列,共同开创人工智能的未来!

]]>
0 https://alone88.cn/archives/977.html#comments https://alone88.cn/feed/archives/977.html
&quot;ChatGPT 互动体验:我做了一个可以在线使用的网站&quot; https://alone88.cn/archives/970.html https://alone88.cn/archives/970.html Sat, 08 Apr 2023 20:54:34 +0800 Alone88 ChatGPT是什么?

ChatGPT本质是一个应用在对话场景的语言模型,基于GPT3.5通过人类反馈的强化学习微调而来,能够回答后续问题、承认错误、质疑不正确的前提以及拒绝不适当的请求。

ALAPI 是什么?

ALAPI 是国内的一个接口开发聚合平台,里面提供了数百个实用的接口供开发者使用。 平台地址为: https://www.alapi.cn

国内版ChatGPT

网站地址: https://chat.alapi.cn
可以直接在国内使用,不需要注册OpenAI的账号,不需要国外的账号,只需要 一个 ALAPI 的 token 就可以使用了

c1.png

使用教程

这个平台是基于 ALAPI 开发的 GPT3.5 接口开发的,前端使用的是 @ChenZhaoYu 的 ChatGPT-WEB, 后端对接 ALAPI 提供的GPT3.5 流式接口。

首先我们需要获取到 ALAPI 平台提供的 token

ALAPI 平台注册地址: https://admin.alapi.cn

alapi_01.png

注册之后需要开通 GPT3.5 的接口

alapi_02.png

alapi_03.png

开通接口后获取到 token ,然后在 https://chat.alapi.cn 填入token, 就可以直接使用ChatGPT了

alapi_04.png

alapi_05.png

]]>
1 https://alone88.cn/archives/970.html#comments https://alone88.cn/feed/archives/970.html
【ALAPI】 上线ChatGPT接口,国内可直接使用 https://alone88.cn/archives/968.html https://alone88.cn/archives/968.html Fri, 17 Mar 2023 20:29:13 +0800 Alone88 为方便国内开发者使用ChatGPT, ALAPI 已上线ChatGPT接口,使用ChatGPT-3.5 Turbo。国内可免账号、免Q直接使用.
接口文档地址:https://www.alapi.cn/api/view/119
注册即可免费使用!

]]>
0 https://alone88.cn/archives/968.html#comments https://alone88.cn/feed/archives/968.html
免费备案查询API,实时数据,支持主办单位备案查询 https://alone88.cn/archives/964.html https://alone88.cn/archives/964.html Mon, 11 Apr 2022 23:26:29 +0800 Alone88 免费备案查询API,实时数据,支持主办单位备案查询,实时查询无缓存
免费接口每秒只能查询一次,如果需要大量查询请联系博主,QQ:MTgzMDkzNDUzNA== (base64解密获取)

通过域名查询备案信息:
请求地址:
https://icp.dwz.today/free/icp?domain=zuoai.wang

domain参数就是要查询的域名

{
"code": 200,
"message": "success",
"data": {
"domain": "zuoai.wang",
"is_icp": true,
"type": "企业",
"company_name": "芜湖牛不牛网络科技有限公司",
"site_name": "做爱网",
"icp": "皖ICP备15025606号",
"home_url": "www.zuoai.wang",
"date": "2017-07-20 16:30:14"
},
"time": 1649690485
}

通过单位名称或者个人名称查询备案域名列表

请求地址:

https://icp.dwz.today/free/icp/name?name=%E8%8B%8F%E5%AE%81%E6%98%93%E8%B4%AD%E9%9B%86%E5%9B%A2%E8%82%A1%E4%BB%BD%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8

name 参数就是要查询的主办单位名称

{
"code": 200,
"message": "success",
"data": [
{
"domain": "cnsuning.com",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁商业的领导者",
"icp": "苏ICP备10207551号",
"home_url": "www.cnsuning.com",
"date": "2021-10-20 15:07:40"
},
{
"domain": "suning.cn",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁-商业的领先者",
"icp": "苏ICP备10207551号",
"home_url": "www.suning.cn",
"date": "2021-10-20 15:07:37"
},
{
"domain": "cloudytrace.com",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "云迹",
"icp": "苏ICP备10207551号",
"home_url": "www.cloudytrace.com",
"date": "2021-10-20 15:07:43"
},
{
"domain": "suningyunyou.cn",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁云邮",
"icp": "苏ICP备10207551号",
"home_url": "www.suningyunyou.cn",
"date": "2021-10-20 15:07:43"
},
{
"domain": "yifubao.com",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "易付宝",
"icp": "苏ICP备10207551号",
"home_url": "www.yifubao.com",
"date": "2021-10-20 15:07:37"
},
{
"domain": "suningmail.com",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁邮件系统预研网站",
"icp": "苏ICP备10207551号",
"home_url": "www.suningmail.com",
"date": "2021-10-20 15:07:43"
},
{
"domain": "sndlj.cn",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁短链服务平台",
"icp": "苏ICP备10207551号",
"home_url": "www.sndlj.cn",
"date": "2021-10-20 15:07:43"
},
{
"domain": "suningcdn.com",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁cdn",
"icp": "苏ICP备10207551号",
"home_url": "www.suningcdn.com",
"date": "2021-10-20 15:07:37"
},
{
"domain": "snqrc.cn",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁二维码服务平台",
"icp": "苏ICP备10207551号",
"home_url": "www.snqrc.cn",
"date": "2021-10-20 15:07:43"
},
{
"domain": "pinjiago.com",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "品加",
"icp": "苏ICP备10207551号",
"home_url": "www.pinjiago.com",
"date": "2021-10-20 15:07:43"
},
{
"domain": "chinadzfp.com",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "南京市电子发票服务平台",
"icp": "苏ICP备10207551号",
"home_url": "www.chinadzfp.com",
"date": "2021-10-20 15:07:44"
},
{
"domain": "suninggslb.net",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁GSLB",
"icp": "苏ICP备10207551号",
"home_url": "www.suninggslb.net",
"date": "2021-10-20 15:07:40"
},
{
"domain": "suninggslb.cn",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁云商城-为您提供专业的云服务",
"icp": "苏ICP备10207551号",
"home_url": "www.suninggslb.cn",
"date": "2021-10-20 15:07:40"
},
{
"domain": "10035.com.cn",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁互联",
"icp": "苏ICP备10207551号",
"home_url": "www.10035.com.cn",
"date": "2021-10-20 15:07:37"
},
{
"domain": "pinjiago.cn",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "品加",
"icp": "苏ICP备10207551号",
"home_url": "www.pinjiago.cn",
"date": "2021-10-20 15:07:43"
},
{
"domain": "suninghotel.com",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁酒店及度假村官网",
"icp": "苏ICP备10207551号",
"home_url": "www.suninghotel.com",
"date": "2021-10-20 15:07:43"
},
{
"domain": "laox.cn",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "laox",
"icp": "苏ICP备10207551号",
"home_url": "www.laox.cn",
"date": "2021-10-20 15:07:44"
},
{
"domain": "suningyunyou.com",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "苏宁云邮",
"icp": "苏ICP备10207551号",
"home_url": "www.suningyunyou.com",
"date": "2021-10-20 15:07:43"
},
{
"domain": "wuliuyun.com",
"is_icp": true,
"type": "企业",
"company_name": "苏宁易购集团股份有限公司",
"site_name": "物流云平台",
"icp": "苏ICP备10207551号",
"home_url": "www.wuliuyun.com",
"date": "2021-10-20 15:07:40"
}
],
"time": 1649690615
}
]]>
1 https://alone88.cn/archives/964.html#comments https://alone88.cn/feed/archives/964.html
UniCloud 云存储上传文件教程(不依赖uniapp) https://alone88.cn/archives/957.html https://alone88.cn/archives/957.html Thu, 13 Jan 2022 20:54:00 +0800 Alone88

UniCloud 提供的阿里云版服务空间是可以免费10GB云存储的,存储+流量都是免费的,这里教大家怎么不使用 uniapp 直接上传文件,可以前端 ajax 直接上传或者后端服务器上传。在这之前请先申请unicloud 账号并且开通 阿里云版的服务空间。

上传流程
流程图

1. 获取上传的请求参数

先通过接口获取需要的请求参数,请查看 https://www.alapi.cn/api/view/100 获取需要的上传配置
先通过 ALAPI 获取 unicloud 云存储上传的请求参数,正常返回如下:

{
    "code": 200,
    "msg": "success",
    "data": {
        "Cache-Control": "max-age=2592000",
        "Content-Disposition": "attachment",
        "OSSAccessKeyId": "LTAIupaslTlUlspm",
        "Signature": "v9evdqBPxPNx5SHWzfGcIJeB2mM=",
        "host": "bsppub.oss-cn-shanghai.aliyuncs.com",
        "id": "18c6565f-1e34-4aec-9e82-a3d14743feb9",
        "key": "VKCEYUGU-xxxxx-47ff-4374-a4f5-1ed32921a3ff/0f2da8f5-9a60-4e8c-bed6-e94edafed57d.png",
        "policy": "eyJleHBpcmF0aW9uIjoiMjAyMi0wMS0xM1QxMTo1NzoyMi42NjFaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwXSxbImVxIiwiJGtleSIsIlZLQ0VZVUdVLTllZjY5ZjVlLTQ3ZmYtNDM3NC1hNGY1LTFlZDMyOTIxYTNmZi8wZjJkYThmNS05YTYwLTRlOGMtYmVkNi1lOTRlZGFmZWQ1N2QucG5nIl1dfQ==",
        "success_action_status": 200,
        "url": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-9ef69f5e-47ff-4374-a4f5-1ed32921a3ff/0f2da8f5-9a60-4e8c-bed6-e94edafed57d.png"
    },
    "time": 1642074442,
    "log_id": 340218631351480321
}

开始上传文件

获取到参数后就可以去上传文件了,每次上传文件都需要重新获取请求参数哦。这里教大家怎么用 AJAX上传和php上传
上传文件的必要参数

 "Cache-Control": "max-age=2592000",
        "Content-Disposition": "attachment",
        "OSSAccessKeyId": "LTAIupaslTlUlspm",
        "Signature": "v9evdqBPxPNx5SHWzfGcIJeB2mM=",
        "host": "bsppub.oss-cn-shanghai.aliyuncs.com",
        "id": "18c6565f-1e34-4aec-9e82-a3d14743feb9",
        "key": "VKCEYUGU-xxxxx-47ff-4374-a4f5-1ed32921a3ff/0f2da8f5-9a60-4e8c-bed6-e94edafed57d.png",
        "policy": "eyJleHBpcmF0aW9uIjoiMjAyMi0wMS0xM1QxMTo1NzoyMi42NjFaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwXSxbImVxIiwiJGtleSIsIlZLQ0VZVUdVLTllZjY5ZjVlLTQ3ZmYtNDM3NC1hNGY1LTFlZDMyOTIxYTNmZi8wZjJkYThmNS05YTYwLTRlOGMtYmVkNi1lOTRlZGFmZWQ1N2QucG5nIl1dfQ==",
        "success_action_status": 200,
        "url": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-9ef69f5e-47ff-4374-a4f5-1ed32921a3ff/0f2da8f5-9a60-4e8c-bed6-e94edafed57d.png",

在这些参数的最后面再加一个 file 参数就可以了,file就是你要上传的文件,还需要加一个请求头 {"X-OSS-server-side-encrpytion":"AES256"}

AJAX 上传

ajax 就是前端上传文件

$.ajax({
        url: "https://v2.alapi.cn/api/unicloud/upload",
        method: "POST",
        data: {
            token: "你的ALAPItoken",
            space_id: "你的unicloud spaceId",
            client_secret: "你的 unicloud secret 秘钥",
            filename: "要上传的文件名"
        },
        success: function (res) {
            if (res.code === 200) {
                //获取上传配置成功了。
                const {data} = res
                //
                const form = new FormData();
                //把上传的参数转为 fromdata
                for (const it in data) {
                    form.append(it,data[it])
                }
                //添加你要上传的文件, fileinput 是表单文件
                form.append("file",fileinput[0]);
                //form 参数配置好了后开始上传文件
                //设置上传的url,返回参数里面的 host 就是上传url地址
                //返回的参数里的 url 就是你上传完文件的url地址
                const uploadUrl = "https://"+data.host
                const url = data.url // 文件的url地址
                const id = data.id //文件的id,上传完成需要用到
                $.ajax({
                    url:uploadUrl,
                    method:"POST",
                    data:form,
                    headers:{"X-OSS-server-side-encrpytion":"AES256"},//要加这个请求头
                    success(res){
                        //上传完文件是没有返回实际内容的,但是返回的状态码是200
                        console.log('上传完成,url:' + url)
                        //上传完成后还需要设置上传完成,才会添加到你的服务空间里(不设置也是可以正常下载文件的,就是不会在你的云存储里面显示出来,好像也不会占用空间?)
                        $.ajax({
                            url:"https://v2.alapi.cn/api/unicloud/uploadok",
                            method:"POST",
                            data:{
                                token: "你的ALAPItoken",
                                space_id: "你的unicloud spaceId",
                                client_secret: "你的 unicloud secret 秘钥",
                                id: id,//文件ID
                            }
                        })
                    },
                    error(err){
                        console.log('上传出错了,请查看返回的 xml 信息。')
                    }
                })
            }
        }
    })

使用 PHP 上传

<?php

#1.获取上传配置

$token = "alapi的TOKEN";
$filename = "test.txt";
$space_id = 'unicloud spaceid';
$client_secret = "unicloud client_secret";

$uploadConfig = json_decode(file_get_contents(sprintf("https://v2.alapi.cn/api/unicloud/upload?token=%s&filename=%s&space_id=%s&client_secret=%s", $token, $filename, $space_id, $client_secret)), true);

if ($uploadConfig['code'] == 200) {
    $config = $uploadConfig['data'];
    $url = $config['url'];//文件URL 地址
    $id = $config['id'];//文件ID,设置上传完成需要用到
    $uploadUrl = 'https://' . $config['host'];//上传请求地址
    //开始上传文件
    $curl = curl_init();
    $config['file'] = new CURLFile($filename);//添加上传的文件

    curl_setopt_array($curl, [
        CURLOPT_URL => $config['host'],
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS => $config,
        CURLOPT_HEADEROPT => ['X-OSS-server-side-encrpytion:AES256'],//添加必要的请求头
    ]);
    $response = curl_exec($curl);
    $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    curl_close($curl);
    if($httpCode === 200){
        //上传成功了
        echo $url;//文件URL 地址

        //上传完成后还需要设置上传完成,才会添加到你的服务空间里(不设置也是可以正常下载文件的,就是不会在你的云存储里面显示出来,好像也不会占用空间?)
        file_get_contents(sprintf("https://v2.alapi.cn/api/unicloud/uploadok?token=%s&id=%s&space_id=%s&client_secret=%s", $token, $id, $space_id, $client_secret));
    }
}else{
//获取上传信息出错了,请检查秘钥信息
    echo '//获取上传信息出错了,请检查秘钥信息';
}

]]>
11 https://alone88.cn/archives/957.html#comments https://alone88.cn/feed/archives/957.html
身份证加水印 https://alone88.cn/archives/955.html https://alone88.cn/archives/955.html Sun, 21 Nov 2021 18:56:00 +0800 Alone88 水印

身份证加水印,完全前段离线操作,不会将图片上传到服务器。通过 canvas 操作给图片加上水印。

网站地址:https://watermark.alapi.cn/

]]>
2 https://alone88.cn/archives/955.html#comments https://alone88.cn/feed/archives/955.html
【ALAPI】添加 汇率转换接口 https://alone88.cn/archives/952.html https://alone88.cn/archives/952.html Tue, 23 Feb 2021 09:57:49 +0800 Alone88 汇率转换接口

1) 请求地址

http://v2.alapi.cn/api/exchange?money=1&from=USD&to=CNY&token=xxxxx

2) 调用方式:HTTP get,post

3) 接口描述:

汇率转换接口,货币代码获取 http://v2.alapi.cn/api/exchange/code

4) 请求参数:

GET,POST 参数:

| 字段名称 | 字段说明 | 类型 | 必填 | 备注 |
| - | :-: | :-: | :-: | -: |
| money | 转换金额 | string | N | - |
| from | 原的货币代码 | string | N | - |
| to | 目标货币代码 | string | N | - |
| token | token | string | Y | - |

5) 请求返回结果:

{
    "code": 200,
    "msg": "success",
    "data": {
        "exchange": 6.4625,
        "exchange_round": 6.4625,
        "currency_money": 1,
        "currency_form": "USD",
        "currency_form_name": "美元",
        "currency_to": "CNY",
        "currency_to_name": "人民币",
        "update_time": "2021-02-23 08:06:11"
    },
    "time": 1614044716,
    "log_id": 222653440537718800
}

6) 请求返回结果参数说明:

| 字段名称 | 字段说明 | 类型 | 必填 | 备注 |
| - | :-: | :-: | :-: | -: |
| code | 状态码 | string | Y | - |
| msg | 信息 | string | Y | - |
| data | 返回数据 | string | Y | - |
| exchange | 汇率 | string | Y | - |
| exchange_round | 四舍五入很汇率,保留 4 位小数 | string | Y | - |
| currency_money | 货币金额 | string | Y | - |
| currency_form | 原货币代码 | string | Y | - |
| currency_form_name | 原货币名称 | string | Y | - |
| currency_to | 目标货币代码 | string | Y | - |
| currency_to_name | 目标货币名称 | string | Y | - |
| update_time | 更新时间 | string | Y | - |
| time | 请求时间 | string | Y | - |
| log_id | 日志id | string | Y | - |

]]>
0 https://alone88.cn/archives/952.html#comments https://alone88.cn/feed/archives/952.html