利用fodi给onemanager前后端分离(2):测试json

利用可编程大容量网盘onedrive配合公有云做你的nas及做站 本文关键字:onedrive打造你的网站图床大文件外链床,sync as network,网盘附件床,onemanager http解发 在《免租用云主机将mineportal2做成nas,是个人件也可服务于网站系统》中我们提到将nas和个人网站合一的思路,,在《mineportal – 一个开箱即用的wordpress+owncloud作为存储后端》我们提到用网盘做网站图床甚至all webapp backend storage的思路,在《统一的分布式数据库和文件系统mongodb,及其用于解决aliyu 阅读详情

本文关键字:利用onemanager给fodi做php后端

在前面《利用fodi给onemanager前后端分离1》中我们介绍了在cloudbase上安装fodi py后端的方法,这里继续尝试将om作为fodi的后端也尝试弄上。

这里要说个历史,fodi的作者也是参考了onemanager的,精简的onemanager流程就是fodi backend那些(https://github.com/qkqpttgf/OneDrive_SCF即是那个最简的php后端)。别看onemanager比fodi体量比fodi大,它其实后端就二主体逻辑文件。platform/TencentSCF.php和index.php(转common.php),一个是处理scf的,一个实际上是将od api结果转换成om api结果并渲染的结果。我们的目的非常明确:om最终返回一个网页html,onemanger混合了前端在输出结果里。作为一次api response,所以我们需要给它前后分离一下。让它返回正常的类fodi后端的json结果,而不是post render过的html,然后考虑对接到fodi前端。

纯 api 服务器:基础工作

所幸虽然onemanager本身是客服输出合体的,但内部也是细分到不同函数的易区分,客服也进行了区分。这使得我们的工作较为容易进行:我的版本是https://github.com/qkqpttgf/OneManager-php/commite439ed8e68c4ae0d8d42bc5c293a3ba06aa1bc9c,20200607-1856.19,主线逻辑:main()->list_files->files_json(),or render_list(),分解重要的函数或逻辑有二支:(1)list_files( p a t h ) − > f e t c h f i l e s ( path)->fetch_files( path)−>fetchf​iles(path),(2)render_list($path = ‘’, f i l e s = ′ ′ ) − > f e t c h f i l e s ( files = '')->fetch_files( files=′′)−>fetchf​iles(path)->output,renderlist就是客户端输出逻辑。onemanger支持https://www.xxxx.com/?json的调用,这个函数就是common中的function files_json($files),会输出json,相当于在fodi后端index.js中?path输出json那些逻辑。接下来的工作就是这二个函数的处理。

我们的测试环境是在一台VPS中(对应platform/normal)进行,我是在宝塔面板中完成的,分成二个网站部署好om代码和fodi frontend。然后fodi原来的后端我是在cloudflare中开免费worker搭建的。fodi front复制成二份html放在第二个站下,我们的思路是比对这二套系统的前后端,以促成我们的目标。事先在文件夹中放一些文件,还有一些准备工作:

om需要预处一下:服务端index.php顶层代码块(这里并没有处在一个函数中)中:

} else { include 'platform/Normal.php'; //从这句开始改
    //$path = getpath(); 注释掉
    $_GET = getGET()后面加一条:
    $path = $_GET['path']; //$_GET是收集到的用户输入的参数组成的数组,该getGet()在platform/normal.php下,这里是得到path项,这样,用户在浏览器中输入什么网址(http://apiurl/?path+参数),就会展示该路径下的json结果

服务端common.php这个三合一平台通用接下来逻辑中,main($path)函数中:

if ( isset($files['folder']) || isset($files['file']) ) {
  return render_list($path, $files); //原来的带完整html输出的注释掉,换成接下来这句
  return files_json(/*$path, */$files);

function files_json($files)函数末尾:

return output(json_encode($tmp));
return output(json_encode($tmp), 200, ['Content-Type' => 'application/json']); //这条实际上在新版被修复了

客户端fodi那个frontend html中:要将/fodi/去掉或模拟出来

window.GLOBAL_CONFIG = {
SCF_GATEWAY: "https://apiurl/",    //这里你也可以用https://apiurl/?json如果上面你没有把render_list改成files_json
SITE_NAME: "FODI",
IS_CF: true
};
if (window.GLOBAL_CONFIG.SCF_GATEWAY.indexOf('workers') === -1) {
  window.GLOBAL_CONFIG.SCF_GATEWAY += '/';   //window.GLOBAL_CONFIG.SCF_GATEWAY += '/fodi/';改成/
  window.GLOBAL_CONFIG.IS_CF = false;
}

在宝塔服务端网站的设置->配置文件中,加好ssl,并把web安全域名设置一下,否则接下来chrome f12调试会产生跨域错误(cloudflare没有这个问题)。chrome这东西不光是web browser,也是webdever的IDE加调试器,其实这个也可以在程序逻辑中设置,但比较麻烦。

for nginx:
server块location下,直接放在伪静态里也可以
add_header 'Access-Control-Allow-Origin' '*';

for apache:
	</Directory>
	Header set Access-Control-Allow-Origin "*"
</VirtualHost>

然后就可以接下来调试了(注意不要用safari尽量用最新的google chrome,支持度足够,macos big sur之后的safari才能返回正确结果),调试程序最难的是找到调试的方法,以上这些都可以在chrome的f12,network->request,respone中看到,否则还是chrome f12产生错误,对于后端,你加入的调试只能在云函数执后台看到,对于前端,在chrome中查看。要区分哪些?path是服务端测试调用的,哪些是客户端的。

纯 api 服务器:调试工作

在fodi构造https://apiurl/?path=%2Fd%2Fmirrors之类的url(%2F是/),比对cf和php后端观察到输出的结果。结果是都不会变的。喂给fodi的?path=返回结果不会变的,因为它是接受json请求的而不是GET形式的?path。喂给php端的需要再处理一下。

这是om输出的:

{"list":[
{"type":1,"id":"01AL5B7D25YGLLNRUY5FG3INXIYG5BDB5V","name":"d","time":"2020-07-23T14:14:52Z","size":14716769375,"mime":null},
{"type":1,"id":"01AL5B7D26ZI4V2QKN35HJSUUZPTHQ3KQN","name":"docs","time":"2020-08-02T05:59:38Z","size":5640494,"mime":null},
{"type":0,"url":"https:\/\/balala...","id":"01AL5B7DY3H337ZRZ3BNAIUSPVR5RXLU2M","name":"readme.md","time":"2020-08-05T12:25:06Z","size":1311,"mime":"application\/octet-stream"}
]}

这是fodi的(在cloudflare那个界面可以调试到):

{"parent":"/","files":[
{"name":"d","size":14716769375,"time":"2020-07-23T14:14:52Z"},
{"name":"docs","size":5640494,"time":"2020-08-02T05:59:38Z"},
{"name":"readme.md","size":1311,"time":"2020-08-05T12:25:06Z","url":"https://blalaa...."}
]}

我们的思路就是让其输出一致,而且由于fodi客户端那个html是用的ajax请求ajax结果,?path并不是提交用的。而是作为form data被返回的。这是后来的问题,先处理输出一致。

因为正确的json是parent,files,name,size,time,url,所以在common.php function files_json($files)中:

....
$tmp['list'] = [];改为        $tmp['files'] = [];
......
foreach ($files['children'] as $file) {
  ...
  $tmp1['name'] = $file['name']; //包括这句,以下三新加
  $tmp1['size'] = $file['size'];
  $tmp1['time'] = $file['lastModifiedDateTime'];
  ...
  // $tmp1['type'] = 0;   //这句注释
  // $tmp1['type'] = 1;  //这句注释
  //$tmp1['id'] = $file['id']; //包括这句。接下来5句注释,中间3句被移到上面了
  //$tmp1['name'] = $file['name'];
  //$tmp1['time'] = $file['lastModifiedDateTime'];
  //$tmp1['size'] = $file['size'];
  //$tmp1['mime'] = $file['file']['mimeType'];
  .....
  array_push($tmp['list'], $tmp1);改为array_push($tmp['files'], $tmp1);
  ......

加入parent,在main()合适的位置(对应于它在结果中输出parent字段在整个全部字段所在的位置,即$tmp[‘list’] = [];改为 $tmp[‘files’] = [];一句上面)加上

$a= str_replace($_SERVER['list_path'],"",array_pop(explode(":",$files['parentReference']['path'])));
if (isset($a)) { 
	$tmp['parent'] = $a;
}
if ($a =='') {
	$tmp['parent'] = '/';
}

不断测试url,随着path参数的改变,json终于有fodi相同的结果。这样,fodi终于接受到初步正确的数据了(仅初始),,但是到现在为止,点击任何条目包括文件夹都不会出来正确结果,如上所说,我们只是让后端返回了我们认为正确的结果,我们的程序靠喂?path这个工作。到现在为止这仅是一种手动工作。fodi frontend并不与之联动,这是第一步,fodi前后端它是自动联动api path参数变化经的。比如,查看chrome f12,客户端还接受其它参数&encrypted=&plain=&passwd=undefined。(云开发会校验网页应用请求的来源域名,您需要将来源域名加入到WEB安全域名列表中。)

这是由于fodi客户端那个html是用的ajax请求ajax结果,?path并不是提交用的。而是作为form data被返回的。一个是用户发动的url path,一个是xhr发动的url request path,这二者不是一回事。fodi客户端服务端交互有它自己的逻辑。这里面还有复杂的ajax参数交互(查看chrome f12 ajax类请求产生的xhr对象):

比如,消息体中的数据起作用,对于URI字段中的参数不起作用,被封装在xmlhttprequest的formdata中。服务端要还原处理这类formdata,,,这一切是因为服务器端请求参数区分Get与Post。get 方法用Request.QueryString[“strName”]接收,而post 方法用Request.Form[“strName”] 接收,blala…ajax还有其它细节。下一步:与fodi frontend对接。可能需要更多研究。



(此处不设回复,扫码到微信留言,或直接点击到原文)

Screenshot_2026-11-03-16-23-09-34.jpg 立即下载

相关推荐

研发流程后端开发工具,提示功能开发效率

后端开发工具

php manager如何安装目录,宝塔面板安装OneManager-php – Onedrive的列表索引和管理程序...

OneManager-php:Onedrive的列表索引和管理器。可以部署到heroku / SCF / normal空间。大鸟写过很多onedrive的列表程序,可以凑成一个专题了。这篇文章还是基于宝塔面板来安装。1、简介项目:https://github.com/qkqpttgf/OneManager-php2、准备宝塔面板最新版NGINX1.17PHP7.33、部署3.1 下载程序下载:ht...

weixin_29065791的博客 567

机器人具有扰动抑制功能的有限时间基于方位角的领航者-跟随者编队控制(Matlab代码实现)

内容概要:本文档标题为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际内容并未涉及该主题的具体技术细节或仿真建模过程。相反,文档实质是一份由科研服务团队发布的跨学科资源目录,集中展示了大量基于Matlab、Simulink、Python、PSCAD等平台实现的科研项目与算法开发案例,涵盖电力系统、无人机路径规划、微电网优化、状态估计、信号处理、车间调度、图像处理、通信技术、雷达追踪、智能优化算法等多个工程技术领域。每个条目以“【】”标注研究主题,并注明“Matlab代码实现”“Python代码实现”等形式,表明其为可提供技术支持与代码资源的服务项目。文档末尾频繁出现“完整资源下载:公众号——荔枝科研社”及百度网盘链接,明确体现出其作为科研辅助服务推广与引流工具的功能属性。; 适合人群:面向电气工程、自动化、控制科学与工程、计算机科学、智能制造、新能源、航空航天、通信工程及相关交叉学科的研究生、高校教师、科研人员及企业研发工程师。; 使用场景及目标:①为科研人员提供课题选题、技术路线设计与算法实现的参考范例;②辅助学生或研究人员完成课程设计、毕业论文、项目仿真与算法复现任务;③作为第三方技术服务团队的能力展示目录,便于潜在客户快速了解其在多领域提供的定制化仿真与算法开发服务范围。; 阅读建议:此文档并非传统意义上的学术论文或技术教程,而是一份高度碎片化、广告性质浓厚的资源索引清单。读者应忽略其误导性的文件名,将其视为一个综合性科研技术服务目录,重点关注自身研究方向相关的条目,并通过文末提供的公众号或网盘链接进一步获取具体代码与资料。同时,需注意甄别资源的技术质量、原创性与适用性,避免盲目依赖外部服务。

利用fodi给onemanager前后端分离(1):将fodi py后端安装在腾讯免费cloudbase

__本文关键字:将fodi py后端安装在腾讯cloudbase__ 在前面《利用onemanager配合公有云做站和nas》中,我们提到onemanager是个可以装在腾讯云函数API网关或cloudbase上作为云函数的产品,onemanager php backend它本身也是调用onedrive的api,在前面《owncloud微博式记事本》《wp2oc fileshare》中我们也提到这种web api的修改定制。最近的《打造小程序版本公号和自托管的公号:miniblog》也是这种例子,后端cl

minlearn's techrepos 779

科技中介服务机构如何打造高效、可复制的技术交易服务流程?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何提升科研成果的市场推广与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

php数组转json_利用fodi给onemanager前后端分离(2):测试json

本文关键字:利用onemanager给fodi做php后端在前面《利用fodi给onemanager前后端分离1》中我们介绍了在cloudbase上安装fodi py后端的方法,这里继续尝试将om作为fodi的后端也尝试弄上。这里要说个历史,fodi的作者也是参考了onemanager的,精简的onemanager流程就是fodi backend那些(https://github.com/qkqp...

weixin_39915694的博客 129

基于LSTM神经网络的风电功率预测研究(Matlab代码实现)

内容概要:本文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其实际内容并未包含与Plecs或全桥LLC谐振变换器相关的具体仿真模型,而是汇集了大量来自优快云博客平台的技术文章标题和片段,内容涉及基于MATLAB的电力系统动态分析、风储VSG系统仿真、多无人机路径规划、最优潮流计算、卡尔曼滤波状态估计、车间调度算法、无线电力传输、抽水蓄能电站调度等多个领域。这些内容主要围绕Matlab/Simulink或Python代码实现展开,覆盖电力电子、电力系统、自动化控制、优化算法、信号处理、深度学习等方向,具有较强的科研仿真属性。然而,文档整体缺乏统一主题与逻辑结构,信息呈现高度碎片化,更像是多个独立技术资源的罗列而非系统性论述。; 适合人群:适用于从事电力系统、电力电子、自动化控制、智能制造、人工智能、信号处理及相关交叉学科的研究生、高校科研人员及企业研发工程师。; 使用场景及目标:①作为科研选题与技术调研的灵感来源,快速掌握当前热门研究方向与方法论;②获取多种仿真模型的设计思路与实现框架,辅助完成课程设计、学位论文或科研项目的建模仿真任务;③结合文中提及的算法(如PSO、NSGA-II、EKF、CNN、LSTM等)与工具(如Matlab/Simulink、PSCAD等),开展系统性学习与二次开发。; 阅读建议:此文档内容杂乱无章,不具备连贯阅读价值,建议仅将其作为索引线索,从中提取感兴趣的主题后,进一步查找原始完整文献或配套代码资源进行深入研究,避免陷入无效信息泛滥的困境。

利用onemanager配合公有云做站和nas(2):在tcb上装om并使它变身实用做站版

本文关键字:tcb上安装onemanager,onemanger实用做站 在《利用大容量网盘onedrive配合公有云做你的nas及做站》中,我们初步谈到了使用onemanager配合云函数或云主机做站的投入和尝试,前文说到不能在腾讯cloudbase上安装onemanager,但实际上经过尝试发现是可以的: 注意:云函数产品建议使用包月免费或包月套餐尝试。按量如果控制不好,可能会因为代码问题或外部攻击造成高额费用,比如腾讯scf按量下如果免费额度用完,24小时才停机不会立马停,而且它的计费即使你帐号没钱也

minlearn's techrepos 1000

智慧杯 考试必备

2019.4. 强密码 描述 我们称一个密码是强密码,当且仅当它满足以下所有条件: 由 8 − 16 个字符组成 至少包含一个大写字母 (A-Z) 至少包含一个小写字母 (a-z) 至少包含一个数字 (0-9) 至少包含一个特殊符号 (! @ #$ % & * _ +) 娇娇发现她现在的密码好像不是强密码,请你帮她计算一下最少添加几个 字符可以变成强密码? 输入 输入仅一行,一个字符串,表示娇娇当前的密码 输出 输出一个数表示答案 如果不需要添加任何字符就已.

Fairy1208的博客 2861

从零搭建企业级AI网关:基于LiteLLM的安全防护体系设计

本文详细介绍了如何从零搭建企业级AI网关,基于LiteLLM构建全面的安全防护体系。内容涵盖分层防御架构、敏感数据处理、合规性配置与审计追踪,以及生产环境部署策略,助力企业安全高效地集成LLM技术,确保数据安全和合规性。

qq_27496129的博客 1291

why js, illustrating webfront dev debug essentials in raw js/api,及js获取azure AAD refresh token for od

本文关键字:why xxx lang series,使用pure js获取微软azure AAD refresh token for onedrive,安装chrome扩展禁用浏览器跨域保护 在前面我们讲到了《我为什么选择rust》,《why elmlang:最简最安全的full ola stack的终身webappdev语言选型》,这些都是标题中已经讲明的why xxx lang series,但其实,在本书所有提到语言选型,其它选型的相关章节中

minlearn's techrepos 861

2.6 SST的核心性能指标体系

本文构建了固态变压器(SST)的核心性能指标体系,涵盖电气性能、可靠性、经济性和环境适配性四大类指标。电气性能指标包括运行效率(≥97%)、功率密度(≥900kVA/m³)、谐波畸变率(≤3%)等关键参数;可靠性指标设定MTBF≥43800h、年均故障率≤1.2次/年等标准;经济性指标对比分析了初始购置成本(45-55万元)和全生命周期成本(48-55万元);环境适配性指标则明确了温度、海拔等工况要求。该体系采用量化公式和国标限值,为SST的性能测试、选型和优化提供了统一标准。

技术工作者 602

一种设想:打造小程序版本公号和自托管的公号,将你的网站/blog做到微信/微信公号里且与PC端合一

本文关键字:打造小程序版本公号,打造微网站版本公号,,从私有云到私流,微信移动生态,微信开发者号注册,将你的网站做到微信,微信blog微网站/小程序,将认证后端做在网盘中,,将你的网站小程序化weapp化,wxamp化,cloudfunctions与miniprogram的绝配 在《mineportal:个人云帐号云资源利用好习惯及实现》中我们提到,id和用户身份是统一产品和运营生态的开始,而opensocial id之类的sns不争气统一不了标准。手机上也没有google id,appleid,移动手机号

minlearn's techrepos 580

绕过限制?实测修改UA在PC端运行微信小程序的可行性及风险

本文探讨了通过修改User-Agent(UA)在PC端运行微信小程序的技术可行性及风险。分析了小程序设备限制的技术原理,包括`wx.getSystemInfo`API和UA检测机制,并提供了多种修改方案及其局限性。同时强调了潜在的安全和法律风险,推荐使用官方模拟器或安卓模拟器等更安全的替代方案。

weixin_30879169的博客 364

deepfacelab下载安装及训练(小白篇),以及导出SAEHD为dfm文件,解决broken pipe问题

其中如果用的是RTX30系列显卡的话,需要把WIN10升级到20H4或更新版本,然后打开硬件加速,不然会出现训练时一直卡在第一个迭代不动了,我的服务器版本为22H2,符合。支持WIN10,win11,WIN7,LINUX,不支持mac(因为mac不支持NVIDIA显卡)

caoyongsheng的博客 3898

打造小程序版本公号和自托管的公号(3):为miniblog接入markdown和增强的一物一码

本文关键字:微信一物一码,一文一码,小程序码转为普通二维码 在《打造小程序版本公号和自托管的公号2》中我们讲到了miniblog的初级搭建和定制,这里继续: 加入markdown编辑 前面说到miniblog的8个函数中,前6个函数可以整合,剩下synservice,synctoken不必整合。可以丢弃或保留(保留使用它的意义不甚大,这种同步结果和过程比较曲折,体验不好,要使用它,记得syncservice/index.js/function syncWechatPosts(isUpdate) 中应该 le

minlearn's techrepos 501

AgentScope Java 2.0 项目实战:使用AgentScope Builder 构建企业级多租户 AI Agent 平台

本文基于 AgentScope Builder 源码深度分析,系统讲解多租户 AI Agent 构建平台的完整开发流程。涵盖 Spring Boot 3.x + WebFlux 后端架构、React 18 + TypeScript 前端实现、HarnessAgent 运行时、CompositeFilesystem 多租户隔离、SSE 流式对话、6 种 IM 渠道接入(钉钉/飞书/企微/GitHub/GitLab)、Git 与 Nacos 技能市场、JWT 认证、Docker Sandbox 隔离等核心技术。

program哲学 726

在openfaas面板上安装onemanager

本文关键字:openfaas onemanager 在前面《在云主机上手动安装腾讯PAI面板》《利用openfaas faasd在你的云主机上部署function serverless面板》中,我们介绍了二种虚拟主机/容器后端,它们都可以搭配nginx作为前端,形成webstack,和通用服务器应用栈,而且都支持多语言,支持devops部署。其中,前者用git作devops,后者用容器(faasd中用containerd),后者的devops更全面:要知道,现在的devops构建基本是用docker完成的,

minlearn's techrepos 479

【DexGraspNet与多指手抓取算法详解】第四章 抓取检测网络架构设计

图 $G=(V, E)$ 包含两类节点:指尖节点 $V_{tip} = \{v_{tip}^i\}_{i=1}^{N_{finger}}$ 与物体表面节点 $V_{obj} = \{v_{obj}^j\}_{j=1}^{N_{surf}}$。节点特征包含位置 $x \in \mathbb{R}^3$ 、法向 $n \in \mathbb{R}^3$ 及视觉特征 $f \in \mathbb{R}^d$。

VectorShift的博客 441

图神经网络实战(1)——图神经网络(Graph Neural Networks, GNN)基础

本节全面介绍了图神经网络 (Graph Neural Network, GNN) ,包括其在数据分析和机器学习中的重要性。首先探讨了图作为数据表示的相关概念及其在各个领域的广泛应用;然后深入探讨图学习的重要性,包括不同的应用和技术。最后,重点介绍了 GNN 架构,并对比了它与其他方法之间的原理和性能差异。

盼小辉丶的博客 15万+

在openfaas面板上安装onemanager(2)

本文关键字:nginx仅监听ipv4,disabling IPv6 name/address support: Address family not supported by protocol 在前面《在openfaas面板上安装onemanager》中我们讲到自建云函数将om放到自己服务器的方法,但是遗留了一些问题,1,经常会有“error finding function onemanagerforopenfaas.: Get http://faasd-provider:8081/system/func

minlearn's techrepos 429

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

一种设想:在网盘里coding,debuging,运行linux rootfs作全面devops及一种基于分离服务为api的融合appstack新分布式开发设想

本文关键字:Jupyter visual debug,基于网盘backend的ide和snippter空间,debug driven programming,make chrome like visual debug for every lanaguage,make every language a dsl,c系语言学习最好的时代 2020版的macbook要迁移到arm了。这说明,云时代去终端的thin化努力在继续,未来我们的PC和手机会统一(请注意我指的并非是笔记本平板一体机,变形本这些玩意层面上的意思

minlearn's techrepos 376

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

打造小程序版本公号和自托管的公号(2):利用mini-blog将你的blog做到微信

打造小程序版本公号和自托管的公号(2):利用mini-blog将你的blog做到微信 本文关键字:合并多个cloudfuncions为一个 在《打造小程序版本公号和自托管的公号(1)》中,我们谈到了建立blog小程序的一些理论基础和必要条件,现在,我们选择一个这类小程序的源码,来实践一下: 我们选择的是https://github.com/CavinCao/mini-blog/commit/7921a126122f4a980e1270475aeb22bb2d50c3d0,积分功能v2版本后面的一个修复版,为

minlearn's techrepos 355

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

在pai面板上devops部署static site

本文关键字:blog联合,一文多发,blog内容联合。headless ghost cms 前面《在云主机上手动安装腾讯PAI面板》中,我们发现PAI是一个利用git和devops,在仓库的根下放置.pai.yml来达到自动部署+运行APP目的的一种机制,除了没有容器和隔离,其它都这属于CD/CD的思路,下面来实际部署官方的hexo static blog例子,虽然我有点不承认它是serverless的hexo静态网站生成器(tx云函数官方也有一个staticsite版本,稍后会谈到真正的这类产品是hea

minlearn's techrepos 255
上一篇: 利用fodi给onemanager前后端分离(1):将fodi py后端安装在腾讯免费cloudbase
下一篇: 编程语言选型之技法融合,与领域融合的那些套路
Minlearn
博客等级 码龄18年 20粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值