花影流年
IP:江苏
11关注数
25粉丝数
71获得的赞
浙江万有码力网络科技有限公司
Java开发工程师
山东协和学院
本科
工作8年
编辑资料
链接我:

创作·54

全部
问答
动态
项目
学习
专栏
花影流年

后端如何正确接收Long类型的数据,且防止前端随便输入字符串

后端如何正确接收Long类型的数据,且防止前端随便输入字符串 @Data public class CommunityManageV1Req { @ApiModelProperty(value = "业务id", required = true, dataType = "Long", position = 1, example = "1") @NotNull(message = "操作业务id不能为空") private Long businessId; @ApiModelProperty(value = "操作业务类型 1-问题 2-回答 3-评论 4-动态 8-项目(根据类型分别对应业务ID)", required = true, dataType = "Integer", position = 1, example = "1") @NotNull(message = "操作业务类型不能为空") private Integer businessType; @ApiModelProperty(value = "操作类型 0-隐藏 1-展示 2-删除", required = true, dataType = "Integer", position = 1, example = "1") @NotNull(message = "操作状态不能为空") private Integer optStatus; @ApiModelProperty(hidden = true, value = "操作人", required = true, dataType = "String", position = 1, example = "1") private String optUserName; @ApiModelProperty(hidden = true, value = "操作人ID", required = true, dataType = "Long", position = 1, example = "1") private Long optUserId; }
14
1
0
浏览量374
花影流年

用产生式得出最短巡查路线的距离的算法是什么?

package com.wm.course.utils; import java.util.ArrayList; import java.util.List; public class TSP { // 距离矩阵 private static final int[][] distances = { {0, 7, 10, 5, 10}, {7, 0, 10, 7, 10}, {10, 10, 0, 6, 8}, {5, 7, 6, 0, 9}, {10, 10, 8, 9, 0} }; // 地点数量 private static final int N = distances.length; // 保存最短路径 private static List shortestPath = new ArrayList(); // 保存最短路径的距离 private static int shortestDistance = Integer.MAX_VALUE; public static void main(String[] args) { List path = new ArrayList(); path.add(0); // 从A开始 boolean[] visited = new boolean[N]; visited[0] = true; tsp(path, visited, 0, 0); System.out.println("最短路径: " + shortestPath); System.out.println("最短距离: " + shortestDistance); } private static void tsp(List path, boolean[] visited, int currentCity, int currentDistance) { if (path.size() == N) { // 回到起点A currentDistance += distances[currentCity][0]; if (currentDistance (path); shortestPath.add(0); // 添加起点A } return; } for (int city = 0; city < N; city++) { if (!visited[city]) { visited[city] = true; path.add(city); tsp(path, visited, city, currentDistance + distances[currentCity][city]); path.remove(path.size() - 1); visited[city] = false; } } } }
18
0
0
浏览量0
花影流年

年终了你们公司有述职报告吗

年终了你们公司有述职报告吗?快来参与我的小调研吧
10
0
0
浏览量354
花影流年

wanglin2/mind-map

该项目包含一个不依赖任何框架的思维导图 JavaScript 库,以及一个采用 Vue.js+ElementUI 开发的支持本地部署、功能丰富的在线思维导图应用。
17
0
0
浏览量62
花影流年

veloren/veloren

灵感来自《塞尔达传说:旷野之息》、《矮人要塞》和《我的世界》等游戏。虽然这款游戏的画质低,但拥有广阔
12
0
0
浏览量63
花影流年

澳门回归祖国25周年丨倾听,莲花盛开的声音——澳门社会文化发展纪事

澳门回归祖国25周年丨倾听,莲花盛开的声音——澳门社会文化发展纪事
20
0
0
浏览量186
花影流年

spingboot3.0的新特性有哪些?

"https://wmprod.oss-cn-shanghai.aliyuncs.com/community/FnhgQs3NX7unIUoj_XIYnEDv0iRX.jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/community/FnhgQs3NX7unIUoj_XIYnEDv0iRX.jpg)
u3d
0
0
0
浏览量342
花影流年

喜提鸿蒙专业证书

喜提鸿蒙专业证书,伙伴们加油,66666!
5
0
3
浏览量487
花影流年

发表我的第一个动态

发表我的第一个动态,程序员上线加班的一天
3
0
6
浏览量90
花影流年

程序员不上班还有哪些出路?(1024活动话题)

未来的保安,快递员,外卖员都是归宿
7
0
0
浏览量0
花影流年

找对象和赚钱哪个更重要?(1024活动话题)

找对象重要,有钱不一定有对象,有对象大概率会很花钱
7
0
0
浏览量0
花影流年

上几年班,才能买得起所在城市的房子?(1024活动话题)

上班两年就和对象东拼西借买了房,现在是一起还的状态,月光族的成员
7
0
0
浏览量0
花影流年

程序员们现在手头都有多少存款?(1024活动话题)

我是月光族,还房贷,养娃剩下的刚好够吃饭
6
0
0
浏览量0
花影流年

java11的新特性有哪些

java11的新特性有哪些
0
1
0
浏览量270
花影流年

spingboot3.0的新特性有哪些

spingboot3.0的新特性有哪些
1
1
0
浏览量181
花影流年

vue3: v-model如何传递多层嵌套属性?

vue3: v-model如何传递多层嵌套属性?
2
1
0
浏览量176
花影流年

javak控指针有多少种原因

"https://wmprod.oss-cn-shanghai.aliyuncs.com/community/FqicTjBjBEFqjVIC6YkJlgqZJh1B.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/community/FqicTjBjBEFqjVIC6YkJlgqZJh1B.png)
0
0
0
浏览量190
花影流年

rocketMQ第一波发送的延迟消息消费者不消费

org.apache.rocketmq rocketmq-spring-boot-starter 2.2.3 rocketMQ第一波发送的延迟消息消费者不消费,然而第二波发送的延迟消息能被消费者消费,求大声解答
0
0
0
浏览量204
花影流年

如何评价9月10日发布的iPhone16系列?你会购买吗?

听说后面的苹果不让用微信了,但是我必须用微信,所以想换华为替代下
2
0
1
浏览量0
花影流年

VUE开发中,很多NPM第三方包没有TS版本的?

在使用Vue进行开发时,确实可能会遇到一些NPM上的第三方库没有提供TypeScript支持的情况。这种情况对于希望利用TypeScript来增强代码质量和可维护性的开发者来说是一个挑战。下面是一些建议来应对这个问题: 手动添加类型声明: 可以为这些库创建自己的.d.ts文件,定义你需要的类型。这样可以让你的IDE或者其他TypeScript工具更好地理解和提示相关的API。 使用declare模块: 在你的项目中创建一个.d.ts文件,并使用declare module 'moduleName'来为第三方库声明类型。例如: declare module 'some-npm-package' { export function doSomething(param: string): void; } 查找社区提供的类型声明文件: 有时候,即使官方没有提供类型定义,社区成员也可能已经为某些流行的库创建了类型定义文件。你可以访问如DefinitelyTyped这样的仓库寻找合适的类型定义文件。 使用@types包: TypeScript社区维护了一个名为DefinitelyTyped的项目,它包含了大量非TypeScript库的类型定义。如果你要使用的库在这个项目中有对应的类型定义,那么可以通过安装相应的@types包来获得类型支持。例如,如果有一个名为example-library的库,你可以尝试安装@types/example-library。 忽略特定文件的类型检查: 如果某个库非常小或者你确定不会修改它的代码,可以选择性地忽略对这个库的类型检查。可以在导入该库的地方加上/// 注释来告诉TypeScript忽略这个库的类型检查。 贡献类型定义: 如果你发现某个库缺少类型定义,并且你有时间的话,可以考虑自己编写类型定义然后贡献给DefinitelyTyped项目,这样不仅能够帮助你自己,也能帮助其他开发者。 通过上述方法,你应该能够在使用那些没有TypeScript支持的NPM包时,仍然能够有效地利用TypeScript的优势。希望这些建议对你有所帮助!如果有更具体的问题或者需要进一步的帮助,请随时告诉我。
3
0
0
浏览量0
花影流年

not available when running the Angular CLI outside a workspace?

项目不是自己创建的, 是在网上下载的. 我在项目根目录运行 ng serve, 终端提示下面这个错误: This command is not available when running the Angular CLI outside a workspace.
0
1
0
浏览量212
花影流年

Angular.js Dependency Injection 的实现原理是什么

The simplest way to get hold of the dependencies, is to assume that the function parameter names are the names of the dependencies. function MyController($scope, greeter) { ... } Given a function the injector can infer the names of the service to inject by examining the function declaration and extracting the parameter names. In the above example $scope, and greeter are two services which need to be injected into the function. 上文是在Dependency Injection这篇Guide中截去的原文。其中讲到如果Controller需要某样服务,则只需在他构造函数的参数里添加并指定正确的名称就行了。像上面的例子里,Angular会自动寻找$scope和greeter这两个服务,并传递给函数。 但是令我不解的是,Angular是如何知道MyController签名(参数)的?和Function参数相关的变量似乎只有arguments,但这个变量只能在函数内部使用,在外部调用会返回null。 function ACtrl(paramA,paramB){} ACtrl.arguments //null 那么,Angular到底是如何知道函数签名(参数)的?
0
1
0
浏览量175
花影流年

如何去搭建一个完整的angularJS框架项目

如何去搭建一个完整的angularJS框架项目,是手动页面搭建还是怎么?路由什么如何配置
0
1
0
浏览量206
花影流年

angular中的自定义指令

minesweeper.directive('ngRightClick', function($parse) { return function(scope, element, attrs) { var fn = $parse(attrs.ngRightClick); element.bind('contextmenu', function(event) { scope.$apply(function() { event.preventDefault(); fn(scope, {$event:event}); }); }); }; }); 如上代码,解释说是自定义ngRightClick指令,但是首先不能理解它的意思,再一个自定义指令不应该是下面这种形式吗: minesweeper.directive("mineGrid",function(){ return { restrict:'E', replace:false, templateUrl:'./templates/mineGrid.html' } }); 求指教
0
1
0
浏览量142
花影流年

是否有必要学习angular

说下自己的情况。 开发前端主要用bootstrap,jquery,ajax。效果动画表单验证什么的也是jq。 后台主要用thinkphp。 前段时间想搜一下更好的前端框架,看到angular。但是学习了一段时间感觉非常困惑。 那篇神问答也看了三四遍,主要的核心就是不要操作DOM。但是按照angular的写法,扩展每个html标签,这样对比jquery那种html和js分离的写法貌似没任何优势啊。 第二个就是数据双向绑定,感觉也是用处不大,不论是表单验证还是其它动画效果感觉jq无压力啊。 还有个疑问就是MVC,为什么不用tp的mvc,而要用angular在前端再分离一次,这样有什么好处呢,假如我要循环下的,常规用tp可以直接foreach,但是用angular就必须写成这样: {{**}} 这样将数据写在js里面,sql出的数据怎么分配呢,岂不给自己找不自在? 那为什么那么多人在用angular,她到底好在哪里呢?
0
1
0
浏览量133
花影流年

为什么单页应用看起来很火,但都没有看到大厂们的产品在用?

现在HTML5很火,各种前端MVC,MVVC框架很火,framework7,angulerjs,react,vue.js这些现在几乎是前端工程师最喜欢折腾的东西了,这些东西打破了原来固有的一些思想,视图和功能必须分离,模块化,再加上HTML5的特性,使得现代web充满可能,网页终于不再是跳来跳去的了,有点APP的味道了。 但随之而来也有很多问题,比如性能,还有对后端开发的影响,原来模板渲染在主要后端处理,现在后端则主要侧重与接口的开发了。 扯远了,我想说为什么现在市面上见不到一个使用这些技术,单页的网页呢,手机淘宝,手机天猫,58同城,美团,饿了么,各大手机新闻门户,……,很多很多,都还是链接跳来跳去的普通网页,网上各种demo倒是多,但是为什么没有大厂用呢? 难道由于那些“问题”,这些东西只适合于做内部系统,后台管理的东西吗?不能普及,做那些流量大的网站,比如手机美团吗?
2
2
0
浏览量185
花影流年

协同工具Worktile 全站都是用的JS实现,具体是什么样的架构?

看到协同工具Worktile 说用node和angularjs(差不多全站逻辑都是由JS来控制)实现. 这样的网站架构具体是什么样子的? 什么优缺点? 后补: Worktile CTO TerryLee 的文章: 团队协作工具Worktile技术架构揭秘 讲的比较详细
0
1
0
浏览量155
花影流年

ng-alain sf表单如何刷新部分表单?

我在change使用this["sf"].refreshSchema()刷新表单,发现refreshSchema()方法会把整个表单都重置,有什么方法能够只刷新一部分表单吗?还是需要在刷新前获取到表单的值,刷新之后重新赋值?具体怎么实现呢
0
1
0
浏览量169
花影流年

求助:请问有没有实现既可手工录入,又可模糊查询的下拉框的jq插件?

项目一直用select2作为下拉框的插件,可满足模糊查询,但需求还想要能够在下拉列表中没有选项时可以手工录入,一直找不到可以满足这两个条件的插件,求助各位。
0
1
0
浏览量122
花影流年

angular表单验证问题

angular表单验证,如何做到只验证部分表单元素,根据需求,不同的情况显示的表单元素不一样
0
1
0
浏览量194
花影流年

请教 TypeScript 中私有静态成员看和 ES 规范解决方案或 TS 相关的最新提案?

初学 TypeScript 遇到此问题: 静态属性修饰符 static 和私有类字段前缀 # 互斥。 我的方案(目前测试项目是基于 rollup 构建的): rollup & Babel 生态支持伪 TypeScript【Done】 借助 Babel 的预设或者插件可以解决问题一,但这是会丧失 type check,这显然违背了使用 TS 的初衷,不到万不得已本人并不想采用此方案; rollup & TypeScript【TODO】 使用了 rollup 的 TypeScript 插件,其中在 TS 编译之前转化代码的 before 钩子配置,我尝试使用 Babel 的编译功能作为 TS 编译的前置钩子,也就是在 TS 真正编译之前先让 Babel 转化 static #propName 语法,然后再让 TS 编译,目前是理论阶段,因为我的工厂函数失效了,不知道有没有大佬尝试过 before 转化这种 rollup 的 TS 插件配置,请问此思路是否存在可行性。
1
0
0
浏览量123
花影流年

求助:请问有没有实现既可手工录入,又可模糊查询的下拉框的jq插件?

项目一直用select2作为下拉框的插件,可满足模糊查询,但需求还想要能够在下拉列表中没有选项时可以手工录入,一直找不到可以满足这两个条件的插件,求助各位。
0
1
0
浏览量119
花影流年

angular13 无法卸载?

问题1:npm install -g @angular/cli 装了最新的angular 13,由于太新了导致我有些功能用不了,于是按照网上的教程卸载angular,最后一步删掉了@angular,重装低版本(npm install -g @angular/cli@8.3.0)之后,一直不识别ng命令,报错信息如下,google无果,请问各位大佬,这问题咋解决呢? 问题2:如果不删除C:\Users\YOU\AppData\Roaming\npm\node_modules@angular 目录,则执行卸载命令后,执行ng --version时一直显示angular 13.0版本,无法完全卸载angular。 删掉了@angular目录,然后重装低版本,就不识别ng命令了 说明:删掉了@angular目录,然后重装低版本,就不识别ng命令了 "https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826589425_cS8o.jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826589425_cS8o.jpg)"https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826643895_RIQr.jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826643895_RIQr.jpg) 卸载步骤: npm uninstall -g angular-cli npm uninstall --save-dev angular-cli npm uninstall -g @angular/cli npm cache clean (如果报错,执行强制清除缓存npm cache clean --force) Delete the C:\Users\YOU\AppData\Roaming\npm\node_modules@angular folder.
0
0
0
浏览量154
花影流年

js中有什么办法能让对象进行排序呢?

后台返回了一个json对象,顺序是已经排好了的 "https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826360054_KqEY.jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826360054_KqEY.jpg) 但是我用js像遍历数组那样去for in遍历这个对象时 结果和原对象却不一样了 查过资料后才知道js对象是无序的。。 那么有办法顺序遍历这个对象么? 或者怎么顺序得到原对象的属性? 但是我用js像遍历数组那样去for in遍历这个对象时 结果和原对象却不一样了 查过资料后才知道js对象是无序的。。 那么有办法顺序遍历这个对象么? 或者怎么顺序得到原对象的属性?
0
1
0
浏览量122
花影流年

vscode语法提示异常

请教一个问题,现在在一个ionic项目中引用了IonicSafeString,在我vscode上没问题,但是在同事的vscode上就会报错,vscode的版本还一样,node_modules删掉重下也不管用,这个可能是哪些原因啊?"https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826170272_D7Mo.jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826170272_D7Mo.jpg)"https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826202742_zjpK.jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724826202742_zjpK.jpg)
0
1
0
浏览量197
花影流年

laravel 如何在不使用sanctum中间件在控制器中获取用户信息?

我有一个api,需要在控制器中获取用户信息 这个api需要在登录 或者 不登录的情况下都能访问 如果我不加上 auth:sanctum 中间件则无法通过Auth::check()来验证用户是否登录 没有加上中间件 auth:sanctum , Auth::check() 方法始终返回的是false 我想在控制器中来验证用户信息而不是在中间件中验证直接返回401 望大佬解答
0
1
0
浏览量158
花影流年

如何分析nginx 499超时,php-fpm慢日志是否有关联?

站点流量起来后nginx很多499超时,upstream_response_time基本都大于5s以上,php慢日志设置3s,但是只有少量慢日志,和499数量对不上。常态下请求时间稳定 环境:k8s、laravel5.5、php7.2、nginx、es、mysql, php-fpm 配置静态25个进程 网站很多请求会有内部curl请求其他服务。 疑问:为什么499数量和php慢日志数量相差很大,应该怎么分析性能瓶颈找到问题?
0
0
0
浏览量150
花影流年

vue使用cryptojs加密 lumen使用aes解密,但失败了,有代码,如何解决?

function decrypt($encryptedData, $key,$iv) { $decryptedData = openssl_decrypt( base64_decode($encryptedData), 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv ); if ($decryptedData === false) { echo 'failed'; } return $decryptedData; } vuejs方法 export function encryptionValue(value, key = 'E7D9B13077291073041EE0AD54EAD975', iv = '0000000000000000') { value = value.toString() key = CryptoJS.enc.Utf8.parse(key) iv = CryptoJS.enc.Utf8.parse(iv) const encrypted = CryptoJS.AES.encrypt(value, key, { iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString() }
0
0
0
浏览量186
花影流年

Laravel 10 Composer 安装或更新依赖时出现错误的解决方案?

laravel10中使用 composer install或composer update 安装或更新依赖会出现所有依赖变成 "https://wmprod.oss-cn-shanghai.aliyuncs.com/b/comp/1724823830576_6C8r.jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/b/comp/1724823830576_6C8r.jpg) 。
0
0
0
浏览量177
花影流年

我发现django的orm使用了数据库层面的外键,而laravel的多对多等关联就没有,django不用外键可以吗?

"https://wmprod.oss-cn-shanghai.aliyuncs.com/b/comp/1724823613729_QdhZ.jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/b/comp/1724823613729_QdhZ.jpg)
0
0
0
浏览量166
花影流年

php-fpm进程cpu占用率过高,如何优化

服务器8核心16g内存,运行一个laravel开发的系统。性能表现如下: "https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724822775060_9MHl.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724822775060_9MHl.png) 每个php-fpm进程占用了30%~60%的cpu。我们的另一个基于ci的php系统,每个php-fpm的cpu占用在5%以下。 请问php-fpm进程的cpu占用率正常吗?优化方向应该如何呢?
0
0
0
浏览量154
花影流年

jwt多账号登陆,后端多次生成token后,如何让旧token失效

jwt多账号登陆,后端多次生成后,如何让旧token失效?
0
0
0
浏览量174
花影流年

laravel 后端数据变化时前端页面自动刷新的问题?

使用laravel 做一个展示大屏项目,后台的数据变化时,如何让前端的页面自动刷新.我想到的办法是使用laravel livewire组件. 具体代码如下: http/livewire/show.php(控制器代码) use App\Zdrw; use App\Djgz; use App\Shgg; use App\Sjjb; class Show extends Component { public $zdrws; public $djgzs; public $shggs; public $sjjbs; public function mount() { $this->zdrws = Zdrw::all(); $this->djgzs = Djgz::all(); $this->shggs = Shgg::all(); $this->sjjbs = Sjjb::all(); } public function render() { return view('livewire.show'); } } 前端页面 views/home.blade.php //这里按照文档添加了wie:poll views/livewire/show.blade.php ID 任务名称 牵头科室 责任人 完成时限 工作进度 @foreach($zdrws as $zdrw) {{$zdrw->id}} {{$zdrw->name}} {{$zdrw->department}} {{$zdrw->person}} {{$zdrw->finish}} {{$zdrw->status}} @endforeach 后台数据变动时,删除\修改\添加, 前端数据都不自动变化,我哪里出问题了,应该怎么解决?请各位高手赐教,非常感谢
0
0
0
浏览量144
花影流年

laravel 如何让一个 controller method 既可以匿名访问,也可以身份认证后访问?

举例: 一篇新闻,匿名用户可以正常访问,已登录用户访问后会记录阅读历史。 这种情况下路由该怎么写的? Route::middleware('guest')->group(function () { Route::get('/news/{news}', [\App\Http\Controllers\Api\NewsController::class, 'show']); });
0
1
0
浏览量158
花影流年

一个关于nuxt同时使用ssr和csr的时候api服务器的跨域如何配置

前端项目在服务器a,nuxt2写的,首页使用了ssr,其它页面csr,服务器配置 location / { proxy_pass http://localhost:3000; } 后端api在服务器b,使用laravel开发,其中加入了对服务器a开启的跨域中间件。 现在发现,访问项目时,首页没有渲染,F5刷新也没有,其他页面可以渲染,从其它页面切到首页时首页可以渲染,求解。
1
1
0
浏览量178
花影流年

如何在Laravel以编程的方式实现交互?

我想用编程的方式实现Artisan交互,就好像下图这样,在命令行需要输入两个yes,但是用编程的模式是怎么实现的呢?求指教! "https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724821950399_8qg5.jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724821950399_8qg5.jpg) 我这边的代码 Artisan::call( 'backup:restore', [ '--backup' => $filename, ] ); 这样的话,会弹出错误
0
1
0
浏览量150
花影流年

php 类型转换问题是怎么样的

namespace app\facade; use app\service\AdminService; class TestFacade { function test() { /** * @var AdminService $adminServcie */ $adminService = invoke(AdminService::class); } } 上面的代码是,我从容器里面实例化的一个类,AdminService,invoke返回的是一个mixed任意类型,这样我就出现了一个问题了。 如果我不写@var 标注,我的编辑器就无法识别这个$adminService 实例下的方法了。 请问如何将$adminService 转换成AdminServcie 类型! $adminService = (AdminService)invoke(AdminService::class); $adminService = (AdminService::class)invoke(AdminService::class); // 这样写是错的
1
1
0
浏览量176
花影流年

Laravel如何上传文件

写文章的背景:最近失业在家,每天去图书馆阅读大量的书籍。 名句: 人这一生机会很多,重要的机会只有一个 创业成功绝对不是靠技术,而是靠市场 巨人公司的故事、企业助穷、Apple VS 诺亚机、微软如何崛起 如何减压 And 对抗焦虑 平面构成(对称与平衡,对比与调和) 情商课 1. 关切对方(就像父母对话孩子一样的温暖,天气冷不冷啊) 2. 学会道歉,有没有吓到你了 (对不起给你添麻烦了) 3. 共鸣 (那我们把空调开起来吧) 如下代码: namespace App\Http\Controllers\Api\Air\v_1_0; use App\Http\Controllers\Core\ApiController; use App\Models\LoginLog; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use OSS\OssClient; class FileController extends ApiController { public function uploadFile(Request $request) { $file = $request->file(); $ret = $this->_upload($file); echo json_encode($ret); exit; } protected function _upload($file) { $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']); $storage_path = config('upload.storage'); $webpath_path = config('upload.webpath'); $image_path = $dir_name . '/' . date("Y-m") . '/'; $app_url = env('APP_URL') . '/'; if (!$file) { return array('error'=>1,'message'=>"文件上传失败,请检查后重试"); } $ossConfig = config('oss.' . config('upload.ossflag')); if($ossConfig['bucket_addr']) { $app_url = $ossConfig['bucket_addr']; } foreach ($file as $k=>$v) { $tmpName = $v->getPathName(); $fileExtension = $v->getClientOriginalExtension(); $filePath = md5_file($tmpName) . '.' . $fileExtension; $file_size = $v->getSize(); if($file_size > config('upload.maxSize')) { return array('error'=>1,'message'=>"文件不可以超过50MB"); } if (!in_array(strtolower($fileExtension),config('upload.allowExts'))) { return array('error'=>1,'message'=>"文件类型不支持"); } //上传成功后处理 if(config('oss.' . 'oss_open') == 1) { $oss = new OssClient($ossConfig['access_key_id'], $ossConfig['access_key_secret'], $ossConfig['endpoint']); $res = $oss->uploadFile($ossConfig['bucket'],$webpath_path . $image_path . $filePath,$v->getPathName()); if ($res) { $data['oss'] = 1; $data['attach_url'] = $ossConfig['bucket_addr'] . $webpath_path . $image_path . $filePath; } else { $data['attach_url'] = $app_url . $webpath_path . $image_path . $filePath; $data['oss'] = 0; } $data['time'] = time(); $attach_id = DB::table('attachment')->insertGetId($data); $attach_array[] = $attach_id; $attach_url[] = $data['attach_url']; } else { $data['oss'] = 0; $data['attach_url'] = $app_url. $webpath_path . $image_path . $filePath; $data['time'] = time(); $attach_id = DB::table('attachment')->insertGetId($data); $attach_array[] = $attach_id; $attach_url[] = $data['attach_url']; } if(!$data['oss'] || config('oss.' . 'is_delete') != 1) { $v->move($storage_path . $image_path, $filePath); unset($data); } return array('error'=>0,'attach'=>$attach_array,'url'=>$attach_url[0],'url_arr'=>$attach_url); } } }
2
0
0
浏览量218
花影流年

如何直接点击lumen的路由的控制器跳转到相关文件?

$router->group(['namespace'=>'\App\Http\Controllers','prefix' => 'api'], function () use ($router) { $router->post('register', 'UserController@register'); $router->post('login', 'UserController@login'); $router->post('info', 'UserController@info'); $router->post('logout', 'UserController@logout'); }); laravel的路由可以使用Route::get('/user', [UserController::class, 'index']);
1
1
0
浏览量127
花影流年

laravel的with懒加载 如果相关记录不存在 如何返回空对象?

return Order::where('user_id', $id)->with(['user' => function ($query) { return $query; },'product'])->select()->get();如果product不存在会返回null。如何解决?
0
0
1
浏览量181

履历

Java开发工程师
浙江万有码力网络科技有限公司
2024.07-至今
,
Java开发工程师
上海豹云网络科技有限公司
2021.05-2024.05
,
全栈开发工程师
鹏讯(大连)科技有限公司
2017.03-2021.04
,
山东协和学院
本科
2013.09-2017.07
,
山东协和学院
本科
2013.09-2017.06