适用于Synology NAS的在线办公套件:ONLYOFFICE安装指南
使用 Synology NAS 上的 ONLYOFFICE 文档,您能在私有云中直接编辑文本文档、电子表格、演示文稿和 PDF,确保工作流程既安全又高效。本指南将分步介绍如何在 Synology 上安装 ONLYOFFICE 文档。
关于 Synology
Synology NAS(网络附加存储)是一种网络附加存储解决方案,可为授权用户提供安全、便捷的数据存储和共享服务。它运行在基于 Linux 的操作系统 Synology DiskStation Manager (DSM) 上,集成优化数据管理、团队协作及文件安全存储功能。
将 ONLYOFFICE 文档集成到 Synology 后,可提高文档编辑与管理效率,实现实时协作编辑、直接访问和安全存储文件(所有这些都可在 NAS 内进行管理)。此设置简化了团队协作流程,保障了服务器文件安全,并提供了专为您的存储环境定制的强大编辑套件。
关于 ONLYOFFICE 文档
ONLYOFFICE 文档是一款开源办公套件,具有文档、表格、幻灯片和 PDF 在线编辑器,与 Microsoft Office 格式(docx、xlsx 和 pptx)高度兼容,还支持其他常用格式,包括 odt、ods、odp、doc、xls、ppt、pdf、txt、rtf、html、epub 和 csv。您可以在自己的服务器、在合适的数据存储器,或者在云端使用 ONLYOFFICE 文档。
如何在 Synology 上安装 ONLYOFFICE 文档
现在,让我们通过利用 Docker 这一最简单的方式,在 Synology 上安装 ONLYOFFICE 文档社区版。您还可以选择专为大型团队设计的 ONLYOFFICE 文档企业版,获得增强支持。
设置您的 Synology NAS 设备
步骤 1. 连接到网络
请将您的设备连接到本地网络。
按照简明向导启动设备,下载并安装操作系统,使用默认选项逐步完成即可。然后,添加用户并设置密码。
(可选)在 RAID 配置中添加磁盘以增强数据冗余。
步骤 2. 安装容器管理器
单击桌面上的 Package Center (软件包中心)快捷方式,在 All Packages 类别中找到Container Manager (容器管理器),然后单击相应的按钮进行安装。
步骤 3. 添加社区软件包源
启用来自 Synology 社区存储库的其他软件包,以便访问常用的 Linux 实用程序。
转到 Package Center > Settings,在 Package Sources 选项卡下,单击 Add。
在 Name 字段中指定 Syno Community,在 Location 字段中指定 https://packages.synocommunity.com/,单击 OK。
步骤 4. 安装 SynoCli 文件工具
在Package Center,选择左侧的 Community 选项卡,安装 SynoCli File Tools。
通过容器管理器(Docker)安装 ONLYOFFICE 文档
此方法使用 Synology 的图形界面,以便于设置。
步骤 1. 下载 ONLYOFFICE 文档图像
转到容器管理器中的 Registry 选项卡,在搜索栏中输入 ONLYOFFICE,然后查找名为 onlyoffice/documentserver 的图像。
单击它,选择一个选项卡以选择特定版本,然后单击下载。所有可用版本的更新日志始终可在官方 ONLYOFFICE GitHub 存储库中找到。
还有一些商业版本可用:
- DE – 开发者版
- EE – 企业版
但是,如果您不需要商业许可证,只需下载免费的社区版。
步骤 2. 创建新容器
下载完成后,您可以从下载的图像创建一个新的容器。
右键单击下载的图像并选择运行。将出现一个设置窗口,我们将在其中配置容器:
- 常规设置:命名容器。
- 端口设置:将 Synology 上的端口 4433 映射到容器的默认 HTTPS 端口 (443),将端口 8080 映射到 HTTP 端口 80。
- 卷设置:将容器内的日志和数据等目录挂载到 NAS 上的共享文件夹。
- 环境变量:根据需要调整变量。对于社区版,删除 ProductEdition 字段。
单击 Apply 完成设置。
步骤 3. 验证安装
现在我们可以检查一切是否正常。打开浏览器并导航至 http://<Synology_IP>:8080.
如果 ONLYOFFICE 文档的欢迎页面出现了,说明安装成功。
通过启用 SSH 安装 ONLYOFFICE 文档
喜欢使用终端命令的用户可以通过 SSH 安装 ONLYOFFICE 文档。请按照以下步骤操作:
步骤 1. 启用 SSH 访问
要继续安装,请转到Control Panel > Terminal & SNMP,选中 Enable SSH service 框并单击 Apply 以启用 SSH。
步骤 2. 通过 SSH 连接
在 Linux 上,您可以使用 OpenSSH 等 SSH 客户端。在终端中输入 ssh username@ip_address,然后单击 Yes 以连接到服务器。
步骤3. 运行 ONLYOFFICE 文档
按照这个说明安装 ONLYOFFICE 文档的 Docker 版本。
如果端口 80 已被其他应用占用,请指定其他端口,例如 8000。
步骤 4. 访问 ONLYOFFICE 文档界面
安装完成后,在浏览器中输入 http://<IP_address>:<Port>/ 即可打开 ONLYOFFICE 文档,显示其欢迎页面。
探索 Synology 上的 ONLYOFFICE 文档功能
要体验解决方案功能,请启用测试示例,以便上传本地文件进行测试。为此,请执行以下命令:
sudo docker exec $(sudo docker ps -q) sudo supervisorctl start ds:example
将示例设置为开机自启:
sudo docker exec $(sudo docker ps -q) sudo sed ‘s,autostart=false,autostart=true,’ -i /etc/supervisor/conf.d/ds-example.conf
现在,您就可以在浏览器中打开 ONLYOFFICE 文档示例页面。
从 ONLYOFFICE 文档示例页面,您可以:
- 使用“上传文件”选项,上传存储在 PC 上的文件。
- 使用“新建”-> “文档/电子表格/演示文稿/ PDF 表单”选项创建空白文档。若需创建包含示例内容的文件,请先选中“包含示例内容”。
- 测试协作编辑功能,从用户名列表中选择另一个测试用户,然后单击文档列表中的同一文档,以在新浏览器选项卡中打开。
将 ONLYOFFICE 文档集成到您的平台
现在,您可以将 ONLYOFFICE 文档集成到您的平台,提升文档管理和编辑功能。ONLYOFFICE 文档为 Nextcloud、ownCloud、Alfresco、SharePoint、Moodle、Confluence 和 WordPress 等流行系统提供即用型连接器。查看全部集成。
集成 ONLYOFFICE 并定制您的品牌
想要为您的网络服务用户提供协作编辑功能吗?试试 ONLYOFFICE 文档开发者版。
ONLYOFFICE 文档开发者版本是 ONLYOFFICE 专为集成而设计的解决方案,支持自定义品牌和服务器部署。它带有支持自有品牌的、强大的文档、电子表格和演示文稿编辑器,以及表格创建器和 PDF 阅读器和转换器,便于软件开发者为用户提供其自托管或 SaaS 应用或服务。
如果您想让 ONLYOFFICE 文档成为软件解决方案的一部分,让您的用户畅享在线文档编辑和协作功能,这个版本是你的理想选择。点击下方链接,申请30天免费试用:
下载面向开发人员的 ONLYOFFICE 产品 | ONLYOFFICE
https://www.onlyoffice.com/zh/download-developer.aspx?utm_source=csdn&utm_medium=article&utm_campaign=synology_installation#docs-developer
相关链接
Synology 官方网站
ONLYOFFICE 文档
获取 ONLYOFFICE 文档: 社区版 / 企业版 / 开发者版
ONLYOFFICE 集成
安装指南
相关文章:
适用于Synology NAS的在线办公套件:ONLYOFFICE安装指南
使用 Synology NAS 上的 ONLYOFFICE 文档,您能在私有云中直接编辑文本文档、电子表格、演示文稿和 PDF,确保工作流程既安全又高效。本指南将分步介绍如何在 Synology 上安装 ONLYOFFICE 文档。 关于 Synology Synology NAS(网络附加存储&…...
Go的defer原理
Go 语言中的 defer 语句用于延迟执行一个函数,直到包含该 defer 语句的函数执行完毕时才执行。defer 主要用于资源清理、文件关闭、解锁互斥锁等操作,以确保这些操作在函数返回前被执行,无论函数是正常返回还是由于错误提前返回。 以下是 de…...
达梦数据库迁移到MySQL字段注释缺失问题处理
目录 1、环境信息 2、问题详情 3、处理方案 3.1、提取备用库字段注释 3.2、生成正式库字段注释 1、环境信息 达梦数据库版本:v8 MySQL数据库版本:5.7.11 正式库:通过DTS迁移后的MySQL数据库 备用库:表结构与正式库一致&#…...
IntelliJ Idea常用快捷键详解
文章目录 IntelliJ Idea常用快捷键详解一、引言二、文本编辑与导航1、文本编辑2、代码折叠与展开 三、运行和调试四、代码编辑1、代码补全 五、重构与优化1、重构 六、使用示例代码注释示例代码补全示例 七、总结 IntelliJ Idea常用快捷键详解 一、引言 在Java开发中ÿ…...
Java操作Xml
一、数据准备 1、文件头实体类 package com.xiaobai.xmlpractice;import lombok.AllArgsConstructor; import lombok.Data;/*** Author 王天文* Date 2024/12/18 21:46* Description: xml头*/ AllArgsConstructor Data public class Head {private String desc;private Strin…...
CI/CD是什么?
CI/CD 定义 CI/CD 代表持续集成和持续部署(或持续交付)。它是一套实践和工具,旨在通过自动化构建、测试和部署来改进软件开发流程,使您能够更快、更可靠地交付代码更改。 持续集成 (CI):在共享存储库中自动构建、测试…...
某些iphone手机录音获取流stream延迟问题 以及 录音一次第二次不录音问题
一些型号的iphone手机录音获取流stream延迟问题 以及 录音一次第二次不录音问题 延迟问题 navigator.mediaDevices.getUserMedia({ audio: true }) .then((stream) > {console.log(stream) })从开始到获取stream会有将近2s的延迟 导致按下按钮开始录音 会有前…...
基础优化方法
梯度下降 学习率代表每一次沿着这个方向走多远, batchsize的概念 梯度下降通过不断沿着反梯度方向更新参数求解 两个重要的超参数是 batchsize 和 学习率...
linux系统上SQLPLUS的重“大”发现
SQL plus版本: [oraclepg-xc2 ~]$ sqlplus -v SQL*Plus: Release 19.0.0.0.0 - Production Version 19.3.0.0.0 操作系统:CentOS Linux 7 (Core) 数据库:Oracle 19c Version 19.3.0.0.0 同样的SQL脚本在windos CMD sqlplus 执行没问题。…...
【0x001F】HCI_Read_Clock_Offset命令详解
目录 一、命令概述 二、命令格式及参数说明 2.1. HCI_Read_Clock_Offset 命令格式 2.2. Connection_Handle 三、生成事件 3.1. HCI_Command_Status 事件 3.2. HCI_Read_Clock_Offset_Complete 事件 四、命令执行流程 4.1. 命令发送阶段 4.2. 命令接收与初步反馈阶段 …...
UML(统一建模语言)及其图例使用指南
UML(统一建模语言)及其图例使用指南 一、UML 介绍二、UML 图表1. 用例图(Use Case Diagram)2. 类图(Class Diagram)3. 对象图(Object Diagram)4. 序列图(Sequence Diagra…...
AI写标书工具:高效智能的标书撰写助手——标小兔
在现代商业竞争中,投标是许多企业获得项目的关键途径。而标书的质量直接影响中标的几率。传统的标书撰写过程繁琐,且容易出错,尤其是涉及到大量的数据整理、文字表达和排版工作,这些任务既费时又容易让人产生疲劳感。为了提升工作…...
计算机考研选西电还是成电?
谢邀~先来个总结:电子科技大学计算机综合实力优于西安电子科技大学,但是,二者计算机学硕考研难度没有太大差距,而且考试难度也同属于一个水平,成电性价比更高一些!推荐同学优先报考作为985的电子科技大学&a…...
全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之循环结构(for循环语句)(一)
在C编程中,顺序结构和分支结构是两种基本的控制流结构,其中顺序结构是一种最简单、最基本的控制结构,即代码按照从上到下的顺序逐行执行,每个语句按照顺序执行,一条语句执行完再执行下一条语句,依次执行所有…...
【再谈设计模式】享元模式~对象共享的优化妙手
一、引言 在软件开发过程中,我们常常面临着创建大量细粒度对象的情况,这可能会导致内存占用过高、性能下降等问题。享元模式(Flyweight Pattern)就像是一位空间管理大师,它能够在不影响功能的前提下,有效地…...
NestJS中使用nestjs-plugin-module实现插件系统
1. 安装依赖 npm install brewww/nestjs-plugin-module2. 定义插件接口 首先,我们需要定义一个插件接口,这个接口定义了插件需要实现的方法。 hello/plugin.interface.ts export interface HelloServicePlugin {helloworld(): string;hello(name: st…...
jvm排查问题-实践追踪问题 与思路--堆内堆外内存泄漏排查方针
概述 排查问题的一般思路是:现象 ——> 直接原因 ——>根本原因。 从问题现象出发,可以分为 应用逻辑问题、资源使用问题、虚拟机异常: 应用逻辑可能导致报错增加、死锁、程序退出等;资源问题主要集中在CPU上升和内存上升(OOM Kill);虚拟机问题通常包括GC问题、进…...
Presence:Colyseus用于管理实时分布式数据的工具
Colyseus Presence 详细介绍 Presence 是 Colyseus 中用于管理实时分布式数据的一种工具。它主要用于在多房间、多服务器或分布式部署中实现玩家的实时在线状态、数据共享和通信。Presence 提供了一套简单的 API 来处理诸如在线玩家跟踪、分布式数据存储和发布/订阅模式等功能…...
梳理你的思路(从OOP到架构设计)_认识框架(Framework) 01
目录 1、 是框架的核心要素编辑&i> 范例1: 范例2: 范例3: 1、 <E&I>是框架的核心要素 在特定领域(Domain)里,将EIT造形的<E&I>部份有意义地组合起来,就成为框架(Framework)了。基本…...
【C++11】类型分类、引用折叠、完美转发
目录 一、类型分类 二、引用折叠 三、完美转发 一、类型分类 C11以后,进一步对类型进行了划分,右值被划分纯右值(pure value,简称prvalue)和将亡值 (expiring value,简称xvalue)。 纯右值是指那些字面值常量或求值结果相当于…...
字节跳动Java开发面试题及参考答案(数据结构算法-手撕面试题)
怎么判断两个链表是否相交?怎么优化? 判断两个链表是否相交可以采用多种方法。 一种方法是使用双指针。首先分别遍历两个链表,得到两个链表的长度。然后让长链表的指针先走两个链表长度差的步数。之后,同时移动两个链表的指针,每次比较两个指针是否指向相同的节点。如果指…...
科汛网校KesionEDU CheckOrder SQL注入漏洞复现
0x01 产品简介 科汛网校KesionEDU是KESION科汛开发的在线教育建站系统,支持在线直播教学、课程点播、录播授课等多种教学方式,满足不同场景下的教学需求。提供问答互动、学习点评、在线笔记等功能,增强学员与教师之间的互动交流。拥有在线考试系统,支持单选、多选、问答等…...
【ELK】ES单节点升级为集群模式--太细了!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言准备工作1. 查看现状【单节点】2. 原节点改集群模式3. 改es配置文件,增加集群相关配置项4. *改docker映射的端口* 启动新节点5. docker-compose起一…...
Spring AOP是什么
目录 谈谈自己对于 AOP 的了解 Spring AOP 和 AspectJ AOP 有什么区别? AOP 常见的通知类型有哪些? 多个切面的执行顺序如何控制? 谈谈自己对于 AOP 的了解 AOP(Aspect-Oriented Programming:面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑…...
Ch9 形态学图像处理
Ch9 形态学图像处理 blog点此处!<--------- 四大算子相应性质。 腐蚀、膨胀、开闭之间的含义、关系 文章目录 Ch9 形态学图像处理预备知识(Preliminaries)膨胀和腐蚀(Dilation and Erosion)腐蚀膨胀膨胀与腐蚀的对偶关系 开闭操作(Opening and Closing)开运算闭…...
epoll学习
epoll是1个服务端监听n个客户端的多路复用技术(通讯方式socket) epoll:(事件驱动)服务端通过管道通讯方式将有变化事件的客户端保存到1个队列 select/poll:(轮询驱动)服务端主动遍…...
《CS2》报错dxgi.dll缺失怎么办?《CS2》游戏提示dxgi.dll缺失要怎么解决?
一、dxgi.dll缺失的根源 游戏安装问题:dxgi.dll文件是DirectX图形接口的一部分,如果游戏安装不完整或安装过程中出现问题,可能会导致该文件缺失。 系统更新或配置变动:Windows操作系统的更新或某些系统配置的变动,有时…...
Python基础语法之元组
主页有列表,集合和字典的知识点(包含对应练习^V^) 关注我更新更多初学实例(下一个更新元组基础练习,然后集中更新一下C语言) 欢迎纠错 元组 一.元组的应用场景 思考:如果想要存储多个数据&am…...
如何实现 MySQL 的读写分离?
面试题 你们有没有做 MySQL 读写分离?如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题? 面试官心理分析 高并发这个阶段,肯定是需要做读写分离的,啥意思&#x…...
Vue.js框架:在线教育系统的安全性与稳定性
2.1系统开发使用的关键技术 本系统在开发中选择B/S框架进行设计,语言采用Java,数据库采用Mysql,并在设计中加入VUE.js技术,本系统的运行环境为Idea。 2.2 VUE.js技术介绍 VUE.js是一个用来开发前台界面的JavaScript框架࿰…...
[python SQLAlchemy数据库操作入门]-11.面向对象方式操作股票数据
哈喽,大家好,我是木头左! 通过ORM,开发者可以使用Python类来表示数据库表,从而使得数据库操作更加直观和易于维护。本文将介绍如何使用SQLAlchemy ORM来操作股票数据。 安装 SQLAlchemy 需要安装SQLAlchemy库。可以使用pip命令进行安装: pip install sqlalchemy定义股票…...
Windows 11 中利用 WSL - Linux 虚拟环境部署 ChatTTS-Enhanced 项目教程
#工作记录 在使用 Windows 系统尝试部署一些特定项目时,我们可能会遇到各种各样依赖包安装的问题。比如在 Windows 系统下,当我们想要在 Python 3.10 虚拟环境中,使用命令 “pip install resemble-enhance” 以及 “pip install WeTextProces…...
NPM老是无法install,timeout?npm install失败
NPM老是无法install,timeout? 尝试一下如下操作 一、 更换国内源 npm config set registry https://registry.npmmirror.com npm install或指定源install npm install pkg --registry https://registry.npmmirror.com --legacy-peer-deps如下图 二…...
音乐极客的新玩具:香橙派Zero3快速搭建Melody个人音乐平台
文章目录 前言1. 添加镜像源2. 本地部署Melody3. 本地访问与使用演示4. 安装内网穿透5. 配置Melody公网地址6. 配置固定公网地址 前言 今天要给喜欢听音乐的朋友们介绍一个超酷的DIY项目,在香橙派Zero3上使用Melody搭建自己的个人在线音乐平台,并且借助…...
springboot3版本结合knife4j生成接口文档
1.概述 knife4j官网为:介绍 | Knife4j (xiaominfo.com)https://doc.xiaominfo.com/docs/introduction 初步了解的码友可以初步了解一下官网的如下几个模块: 其中在快速开始模块中,不同的springboot版本都有一个使用的案例demo如下图位置&am…...
广州大彩串口屏安卓/linux触摸屏四路CVBS输入实现同时显示!
一、适用范围 适合广州大彩A40系列产品 产品型号: 二、概述 CVBS只需要一条线缆即可完成视频信号的传输,具有兼容性强、使用简单、成本低廉等优点。典型分辨率为720x480(NTSC制)或720x576(PAL制)。 三、…...
pikachu靶场搭建详细步骤
一、靶场下载 点我去下载 二、靶场安装 需要的环境: mysqlApaches(直接使用小皮面板Phpstudy:https://www.xp.cn/),启动他们 设置网站,把靶场的路径对应过来 对应数据库的信息 由于没有核对数据库的信…...
Astherus 联手 PancakeSwap 推出 asCAKE,CAKE 最大化收益的最优解?
Astherus 是本轮市场周期中最具创新性的 DeFi 协议之一,其通过推出 AstherusEx 以及 AstherusEarn 两个产品,正在基于真实收益启动 DeFi 市场的增长,并成为加密投资者捕获收益的最佳协议。PancakeSwap 是 BNB Chain 上最大的 DEX,…...
JVM实战—2.JVM内存设置与对象分配流转
大纲 1.JVM内存划分的原理细节 2.对象在JVM内存中如何分配如何流转 3.部署线上系统时如何设置JVM内存大小 4.如何设置JVM堆内存大小 5.如何设置JVM栈内存与永久代大小 6.问题汇总 1.JVM内存划分的原理细节 (1)背景引入 (2)大部分对象的存活周期都是极短的 (3)少数对象…...
无问社区-无问AI模型
无问AI模型是无问社区新上线的一款AI功能,支持文本图像的输入,在文本理解能力、推理能力、视觉能力上相较于“社区助手”有了很大的提升。 我们在预训练模型的技术上增加1.7亿token的训练数据进行强化训练使其具备更好的效果。 更好的消息是我们准备了…...
【记录】列表自动滚动轮播功能实现
目录 效果展示代码 效果展示 代码 <!-- 首页 --> <template><div class"page_body_item_body" mouseenter"stopScroll" mouseleave"scroll(false)"><ele-tableclass"eleTable":table-options"options"…...
前缀树介绍
数风流人物,还看今朝! 前缀树 Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。 前…...
Solon v3.0.5 发布!(Spring 可以退休了吗?)
Solon 框架! 新一代,面向全场景的 Java 应用开发框架。从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态。 追求: 更快、更小、更简单提倡: 克制、高效、开放、生态 有什么特点&am…...
基础组件:
基础组件: RichText 富文本组件,解析并显示HTML格式文本。 适用场景: RichText组件适用于加载与显示一段HTML字符串,且不需要对显示效果进行较多自定义的应用场景。RichText组件仅支持有限的通用属性和事件。具体见属性与事件…...
【LeetCode 面试经典150题】详细题解之滑动窗口篇
【LeetCode 面试经典150题】详细题解之滑动窗口篇 1 滑动窗口理论基础1.1 算法思想1.2 使用场景1.3 使用思路 2 209.长度最小的子数组2.1 题目分析2.2 算法步骤2.3 代码实现2.4 时间复杂度 3 3.无重复字符的最长字串3.1 题目分析3.2 算法步骤3.3 代码实现3.4 复杂度分析 4 30.串…...
【 CSS 】sass 扩展语言的安装
一、全局安装node-sass Sass世界上最成熟、稳定和强大的CSS扩展语言 | Sass中文网 https://www.npmjs.com/package/node-sass NPM镜像_NPM下载地址_NPM安装教程-阿里巴巴开源镜像站 注意:nodejs版本14以上,否则node-sass安装不成功 npm install -g mi…...
【Linux】Linux中用户信息相关的配置文件:/etc/passwd、/etc/group、/etc/shadow、/etc/sudoers
1 用户信息 1.1 /etc/passwd linux上用户的信息保存在/etc/passwd中,看文件名会以为这里保存的是用户密码,但实际上用户密码保存在另一个文件中。 /etc/passwd文件中每行保存一个用户的信息,例如: root:x:0:0:root:/root:/bin…...
electron-vite_18 设置系统音量loudness报错
loudness是一款控制系统音量输出的一款 Node.js 库;但是在electron-vite中直接使用编译的时候会报错;这个时候需要单独处理; 错误分析 error Error: spawn E:\xxx\out\main\adjust_get_current_system_volume_vista_plus.exe 查看编译后项目…...
springboot测试类里注入不成功且运行报错
目录 出错信息 原因 出错信息 写测试类的时候,一直说我注入不成功 而且我运行的时候报错了 java.lang.IllegalStateException: Unable to find a SpringBootConfiguration, you need to use ContextConfiguration or SpringBootTest(classes...) with your te…...
Harmony 网络请求
Http数据请求 axios第三方网络请求工具 1.下载ohpm 2.安装axios 3.使用axios...