thinkjs

thinkjs升级到3.0后的图片上传

岁酱吖の 提交于 2021-02-14 15:28:16
似乎当thinkjs升级到3.0后,才接手了一个项目。只是在实际运用过程中,还是发现了与2.2的些许差别——今天先分享关于图片上传的一些问题。 1.上传文件,我们选择了jQuery的插件: http://www.jq22.com/jquery-info230 屡试不爽,各种好评。只是后来项目上线的时候,才发现保存在数据库的img都没有后缀名…… 这是什么情况。。。。。。原谅自己没仔细看数据库存的方式,只是从表面看见图片可以显示了就随意了,结果导致后来又坑了自己。检查了很久,还是从自身找问题吧,翻看thinkjs文档,有什么差距呢? 给接口的文件路径中缺少后缀名,导致接口返回过来的文件也就缺少了后缀! 那合理的解决办法呢? 1.接口修改一下方法?No,他们说这是一个公共方法,不能因为一个项目而更改接口; 2.我来修改方法,将完整的图片路径传给接口然后就ok了。 1.后台上传方法js: 1 async uploadAction() { 2 if (!think.isEmpty( this .file('uploadFile' ))) { 3 // 进行压缩等处理 4 let file = think.extend({}, this .file('uploadFile' )); 5 6 // 保存文件的路径 7 let savepath =think.ROOT_PATH + '/www

基于 ThinkJS 的云开发体验

眉间皱痕 提交于 2021-02-14 14:21:09
ThinkJS 是一款企业级的 Node.js Web 开发框架,致力于集成项目最佳实践,规范项目让企业级团队开发变得更加简单,更加高效。 它基于 Koa 2.0 开发,兼容 Koa 的所有 Middleware。 内核小巧,支持 Adapter, Extend 等多种插件扩展方式,框架内的大部分功能也是通过这些方式进行扩展的。 性能优异,支持 TypeScript。 云开发 CloudBase 是云原生一体化应用研发平台为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等能力,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用、Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。 其实在云开发中使用 ThinkJS 和我们日常使用大同小异,除了启动文件需要按照云开发的要求修改一下以外,内部的业务逻辑基本不需要改动。 我们可以使用云开发的 CLI 工具 快速的初始化一个适配云开发的 ThinkJS 项目。 其中 thinkjs-app 是你的项目文件夹名称。 tcb new thinkjs-app thinkjs-starter 初始化完毕进入项目目录后执行 npm install 安装好依赖,就可以通过 npm start 启动开发环境了

今年最值得期待的JavaScript传奇绿皮书登场!

跟風遠走 提交于 2021-01-07 10:57:43
文末送书!!! “能用 JavaScript 实现的东西, 迟早会用 JavaScript 实现” 这句“狂妄”的话,如今正在实现着 …… 今天,博文菌带来一本JavaScript领域的经典之作, 介绍之前,我不得不感叹: 这本书的份量,实在是太重了! 它的厚重不仅体现在, 当你首次读完时 , 能明显感觉到自己对JS的理解有了质的飞跃, 更是体现在, 在你日后的每次翻阅中 , 这本书仍然总能让你有所收获! 它就是有着 JavaScript 传奇绿皮书美名的 《JavaScript语言精髓与编程实践》 ! 在经过了 两个版本的积累和三年的全面重写 后,我们迎来了它的第三版的问世—— ▊《JavaScript语言精髓与编程实践(第3版)》 周爱民 著 本书基于 ES6,并涵盖最新的 ES2019 规范,全面讲述 JavaScript 在五个方面的语言特性,以及将这些特性融会如一的方法。书中不但完整解析了 JavaScript 语言,还逐一剖析了相关特性在多个开源项目中的编程实践与应用,是难得的语言学习参考书。 扫码获取详情 广深共铸 JavaScript宏篇巨著 很多人在工作中,很少会和团队讨论语言相关的问题,大家的话题总是围绕着流行的框架、工具及应用开发实践。而当你审核各种项目的代码时,时常会发现对语言理解不够造成的各种实现问题。 理解自己使用的语言是对每个程序员的基本要求

今年最值得期待的JavaScript传奇绿皮书登场!

故事扮演 提交于 2021-01-07 10:36:11
今天,刀哥带来一本JavaScript领域的经典之作, 介绍之前,我不得不感叹: 这本书的份量,实在是太重了! 它的厚重不仅体现在, 当你首次读完时 , 能明显感觉到自己对JS的理解有了质的飞跃, 更是体现在, 在你日后的每次翻阅中 , 这本书仍然总能让你有所收获! 它就是有着 JavaScript 传奇绿皮书美名的 《JavaScript语言精髓与编程实践》 ! 在经过了 两个版本的积累和三年的全面重写 后,我们迎来了它的第三版的问世—— ▊《JavaScript语言精髓与编程实践(第3版)》 周爱民 著 本书基于 ES6,并涵盖最新的 ES2019 规范,全面讲述 JavaScript 在五个方面的语言特性,以及将这些特性融会如一的方法。书中不但完整解析了 JavaScript 语言,还逐一剖析了相关特性在多个开源项目中的编程实践与应用,是难得的语言学习参考书。 广深共铸 JavaScript宏篇巨著 很多人在工作中,很少会和团队讨论语言相关的问题,大家的话题总是围绕着流行的框架、工具及应用开发实践。而当你审核各种项目的代码时,时常会发现对语言理解不够造成的各种实现问题。 理解自己使用的语言是对每个程序员的基本要求,是实现靠谱应用的基石。 这本书能够帮助你真正理解JavaScript。论深,本书深究JS之所以然,举世无可出其右;论广,本书遍历语义之细部,看罢再无机理之惑

电商商城的物流解决方案——PUSHmall 推贴跑腿订单服务系统

孤人 提交于 2021-01-06 13:48:37
PUSHmall 推贴 跑腿订单服务系统 基于当前流行技术组合的前后端分离商城系统: 本项目采用 Thinkjs3.0+Vue + uniapp 开发的一套跑腿下单、服务系统。 前后端分离的公众号、小程序、APP多端系统。 支持:跑腿订单系统与电商商城系统无缝对接接口。 主要功能: 地址解析 配送路程计算 物品重量价格计算 分销 微信支付下单 积分抵扣 优惠券 配送系统(抢单模式/平均分配订单) 支持IM客服:CRM/工单/客服管理/坐席分配; 支持跑腿服务:支持用户选择商品+服务价格。 支持商城对接:用户商城可以与pushmall跑腿订单对接。 来源: oschina 链接: https://my.oschina.net/u/4146138/blog/4881418

前端最新技术学习地址总结

允我心安 提交于 2020-12-19 01:59:18
1. 主流技术官网总结 1.1. 工具类 Glup 官网: http://www.gulpjs.com.cn/ http://i5ting.github.io/stuq-gulp/#10202 Webpack 官网: http://webpack.js.org GitBook: http://fakefish.github.io/react-webpack-cookbook/index.html webpack-handbook: http://zhaoda.net/webpack-handbook/ SASS 官网: http://www.sass.hk http://sass.bootcss.com/ NPM 官网: https://docs.npmjs.com/ Markdown 官网: http://www.markdown.cn/ Git http://git-scm.com/book/zh/v1/ http://gitbook.liuhui998.com/ 1.2. 流行技术类 Vue2.0 2.0官网: http://vuejs.org/guide/ 2.0中网网: http://vuefe.cn/ 微信开发者文档 官方文档 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html ES5

Web安全漏洞之CSRF

微笑、不失礼 提交于 2020-12-16 10:44:46
来自:ThinkJS(来源:掘金) 什么是 CSRF 在了解 CSRF 之前我们需要科普两个前提。首先是登录权限验证的方式有很多种,目前绝大多数网站采用的还是 session 会话任务的方式。session 机制简单的来说就是服务端使用一个键值对记录登录信息,同时在 cookie 中将 session id(即刚才说的键)存储到 cookie 中。另外我们又知道浏览器中 HTTP(s) 请求是会自动帮我们把 cookie 带上传给服务端的。这样在每次请求的时候通过 cookie 获取 session id,然后通过它在服务端获取登录信息即可完成用户权限的校验。 本来这也是个不错的功能。但是由于 cookie 实在是太开放了,如果一个用户在 A 网站登录了,如果用户在 B 网站访问的时候发送了一个 A 网站的请求,那么这个请求其实是带有这个用户在 A 网站的登录信息的。如果这时候 B 站的 A 网站请求是用户不知道的,那就是非常严重的危害了。以上的过程就是跨站请求攻击,即 Cross-Site Request Forgery,即 CSRF。 CSRF 的危害 简单总结 CSRF 漏洞就是利用网站权限校验方面的漏洞在用户不知觉的情况下发送请求,达到“伪装”用户的目的。攻击者利用 CSRF 实现的攻击主要有以下几种: 攻击者能够欺骗受害用户完成该受害者所允许的任一状态改变的操作,比如

前端使用elementUI框架,后端使用thinkjs,上传图片至ali-oss系统

我的未来我决定 提交于 2020-08-10 07:24:35
博主在最近的工作中,接触到了使用thinkjs框架作为后台架构的网店后台Node服务,因为其使用的qiniu上传图片接口不符合需求,需要改为ali-oss接口,一路遇到不少坑,在此做一下记录总结。 首先是elementUI前端部分 上传至后台,需要将flie文件,转为 FormData 对象后传至后台,因使用的组件库为element,其upload的组件中, action 为必传(博主此项传空),同时将 auto-upload 传 false (意思为不自动上传),然后上传操作在 on-change 事件中完成,回调完毕后重显DOM。具体代码片段如下: < el - form - item label = "印花图片" prop = "url" v - if = "infoForm.url" class = "image-uploader-diy new-height" > < img v - if = "infoForm.url" : src = "infoForm.url" class = "image-show" / > < el - button class = "dele-list-pic" type = "primary" @click = "delePicList" > < i class = "fa fa-trash-o" > < / i > < / el -

thinkjs+swagger Editor

霸气de小男生 提交于 2020-05-02 05:40:02
一直很好奇专门写接口同事的工作,于是趁着手边工作中的闲暇时间,特地看看神奇的接口文档怎么摆弄。 总览: 这是基于thinkjs(3.0),使用swagger editor编写,实现功能性测试的接口文档。 先了解一些必要的知识吧: 1.)什么是Swagger? Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件;是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。( https://swagger.io/ ) Swagger的目标是为REST APIs 定义一个标准的,与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下能发现和理解各种服务的功能。当服务通过Swagger定义,消费者就能与远程的服务互动通过少量的实现逻辑。类似于低级编程接口,Swagger去掉了调用服务时的很多猜测。 2.)Swagger Editor 可以直接使用在线编辑器 https://editor.swagger.io/ (左边编辑,右边实时效果),方便我们直接写文档,并将其转成所需的json或者yaml格式。 3.

think.js 项目搭建

南笙酒味 提交于 2019-12-23 19:58:13
搭建 全局安装 脚手架 npm install -g think-cli 脚手架命令都以 thinkjs 为开始 thinkjs new think(文件夹项目名称) 打开文件夹 cd think 安装依赖 npm i 运行 npm start 终端展示 浏览器展示 拓展-新增页面 新增model文件 thinkjs model my(文件名) 新增controller 文件 thinkjs controller my(文件名) 最后新增index.html文件 最终的项目结构 来源: CSDN 作者: 秦璐璐 链接: https://blog.csdn.net/qinlulucsdn/article/details/103660943