萤火php端: 查询数据的时候报错: “message“: “Undefined index: pay_status“,
代码:getGoodsFromHistory
<?php
// +----------------------------------------------------------------------
// | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2024 https://www.yiovo.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
// +----------------------------------------------------------------------
// | Author: 萤火科技 <admin@yiovo.com>
// +----------------------------------------------------------------------
declare (strict_types=1);namespace app\api\service;use app\api\model\Order as OrderModel;
use app\api\model\order\Delivery as DeliveryModel;
use app\api\model\OrderAddress as OrderAddressModel;
use app\api\service\User as UserService;
use app\common\service\Order as OrderService;
use app\common\service\Express as ExpressService;
use app\common\enum\order\OrderStatus as OrderStatusEnum;
use cores\exception\BaseException;/*** 订单服务类* Class Order* @package app\common\service*/
class Order extends OrderService
{/*** 获取物流信息* @param int $orderId 订单ID* @return mixed* @throws BaseException* @throws \think\db\exception\DataNotFoundException* @throws \think\db\exception\DbException* @throws \think\db\exception\ModelNotFoundException*/public function express(int $orderId){// 获取发货单列表$model = new DeliveryModel;$list = $model->getList($orderId);// 整理物流跟踪信息return $this->getExpressTraces($orderId, $list);}/*** 整理物流跟踪信息* @param int $orderId 订单ID* @param $list* @return mixed* @throws BaseException* @throws \think\db\exception\DataNotFoundException* @throws \think\db\exception\DbException* @throws \think\db\exception\ModelNotFoundException*/private function getExpressTraces(int $orderId, $list){// 订单收货地址$address = OrderAddressModel::detail(['order_id' => $orderId]);// 整理物流跟踪信息$Express = new ExpressService;foreach ($list as $item) {if (!empty($item['express'])) {$item['traces'] = $Express->traces($item['express'],$item['express_no'],$address,$this->getStoreId());}}return $list;}/*** 获取某商品的购买件数* @param int $userId 用户ID* @param int $goodsId 商品ID* @param int $orderSource* @return int*/public static function getGoodsBuyNum(int $userId, int $goodsId, int $orderSource): int{return (int) (new OrderModel)->setBaseQuery('order', [['order_goods', 'order_id']])->where('order_goods.user_id', '=', $userId)->where('order_goods.goods_id', '=', $goodsId)->where('order.order_source', '=', $orderSource)->where('order.order_status', '<>', OrderStatusEnum::CANCELLED)->where('order.is_delete', '=', 0)->sum('order_goods.total_num');}/*** 根据用户id 来判断是否是新用户* @return \app\api\model\Goods[]|array|\think\Collection* @throws \cores\exception\BaseException* @throws \think\db\exception\DataNotFoundException* @throws \think\db\exception\DbException* @throws \think\db\exception\ModelNotFoundException*/public function getGoodsList(){// 当前用户ID$userId = UserService::getCurrentLoginUserId();// 查询列表记录return (new orderModel)->where('user_id', '=', $userId)->where('is_delete', '=', 0)->select();}public function getGoodsFromHistory(){$userId = UserService::getCurrentLoginUserId();return (new OrderModel())->alias('a')->join('order_goods b', 'a.order_id = b.order_id')->where('a.user_id', '=', $userId)->where('a.is_delete', '=', 0)//->field('b.goods_id,a.order_status')->field('b.goods_id,a.order_status,a.pay_status,a.delivery_status,a.receipt_status') // 选择商品ID和购买总数->select()->toArray();}}
表结构:
CREATE TABLE `yoshop_order` (`order_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '订单ID',`order_no` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '订单号',`order_type` tinyint(3) unsigned NOT NULL DEFAULT '10' COMMENT '订单类型(10实物订单)',`total_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '商品总金额(不含优惠折扣)',`order_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '订单金额(含优惠折扣)',`coupon_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '优惠券ID',`coupon_money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '优惠券抵扣金额',`points_money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '积分抵扣金额',`points_num` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '积分抵扣数量',`pay_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '实际付款金额(包含运费)',`update_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '后台修改的订单金额(差价)',`buyer_remark` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '买家留言',`pay_method` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '支付方式(余额/微信/支付宝)',`pay_status` tinyint(3) unsigned NOT NULL DEFAULT '10' COMMENT '付款状态(10未付款 20已付款)',`pay_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '付款时间',`trade_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '第三方交易记录ID',`delivery_type` tinyint(3) unsigned NOT NULL DEFAULT '10' COMMENT '配送方式(10快递配送 20门店自提 30无需配送)',`express_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '运费金额',`delivery_status` tinyint(3) unsigned NOT NULL DEFAULT '10' COMMENT '发货状态(10未发货 20已发货 30部分发货)',`delivery_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '发货时间',`receipt_status` tinyint(3) unsigned NOT NULL DEFAULT '10' COMMENT '收货状态(10未收货 20已收货)',`receipt_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '收货时间',`order_status` tinyint(3) unsigned NOT NULL DEFAULT '10' COMMENT '订单状态(10进行中 20取消 21待取消 30已完成)',`points_bonus` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '赠送的积分数量',`merchant_remark` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '商家备注',`is_settled` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '订单是否已结算(0未结算 1已结算)',`settled_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '订单结算时间',`is_comment` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '是否已评价(0否 1是)',`order_source` tinyint(3) unsigned NOT NULL DEFAULT '10' COMMENT '订单来源(10普通订单 20砍价订单 30秒杀订单)',`order_source_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '来源记录ID',`order_source_data` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '来源记录的参数 (json格式)',`platform` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '来源客户端 (APP、H5、小程序等)',`user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',`is_delete` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除',`store_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '商城ID',`create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',`update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',PRIMARY KEY (`order_id`),UNIQUE KEY `order_no` (`order_no`),KEY `store_id` (`store_id`),KEY `user_id` (`user_id`),KEY `pay_status` (`pay_status`),KEY `delivery_status` (`delivery_status`),KEY `receipt_status` (`receipt_status`),KEY `order_status` (`order_status`),KEY `is_settled` (`is_settled`),KEY `order_source` (`order_source`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单记录表';CREATE TABLE `yoshop_order_goods` (`order_goods_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '订单商品ID',`goods_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '商品ID',`goods_type` tinyint(3) unsigned NOT NULL DEFAULT '10' COMMENT '商品类型(10实物商品)',`goods_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '商品名称',`image_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '商品封面图ID',`deduct_stock_type` tinyint(3) unsigned NOT NULL DEFAULT '20' COMMENT '库存计算方式(10下单减库存 20付款减库存)',`spec_type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '规格类型(10单规格 20多规格)',`goods_sku_id` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '商品sku唯一标识',`goods_props` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT 'SKU的规格属性(json格式)',`content` longtext COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商品详情',`goods_no` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '商品编码',`goods_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '商品价格(单价)',`line_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '商品划线价',`goods_weight` double unsigned NOT NULL DEFAULT '0' COMMENT '商品重量(Kg)',`is_user_grade` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '是否存在会员等级折扣',`grade_ratio` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '会员折扣比例(0-10)',`grade_goods_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '会员折扣的商品单价',`grade_total_money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '会员折扣的总额差',`coupon_money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '优惠券折扣金额',`points_money` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '积分金额',`points_num` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '积分抵扣数量',`points_bonus` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '赠送的积分数量',`total_num` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '购买数量',`total_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '商品总价(数量×单价)',`total_pay_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '实际付款价(折扣和优惠后)',`delivery_status` tinyint(3) unsigned NOT NULL DEFAULT '10' COMMENT '发货状态(10未发货 20已发货 30部分发货)',`delivery_num` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '已发货数量',`is_comment` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '是否已评价(0否 1是)',`order_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '订单ID',`user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户ID',`goods_source_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '来源记录ID',`store_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '商城ID',`create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',PRIMARY KEY (`order_goods_id`),KEY `goods_id` (`goods_id`),KEY `order_id` (`order_id`),KEY `user_id` (`user_id`),KEY `store_id` (`store_id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单商品记录表';
我只想查到用户下单的商品的id 。 然后filed 中只写了 goods_id 报错如上。
然后发现在Order 模型中有一个将 订单的付款状态返回成 0-》 未支付 的函数 ,因为我查询出来的数据没有这个字段所以报错。 加上所需要的字段就正常了
Order 模型代码:getStateTextAttr
<?php
// +----------------------------------------------------------------------
// | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2024 https://www.yiovo.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
// +----------------------------------------------------------------------
// | Author: 萤火科技 <admin@yiovo.com>
// +----------------------------------------------------------------------
declare (strict_types=1);namespace app\common\model;use app\api\model\Order as OrderModel;
use app\api\service\User as UserService;
use cores\BaseModel;
use app\common\service\Order as OrderService;
use app\common\enum\order\PayStatus as PayStatusEnum;
use app\common\enum\order\OrderStatus as OrderStatusEnum;
use app\common\enum\order\ReceiptStatus as ReceiptStatusEnum;
use app\common\enum\order\DeliveryStatus as DeliveryStatusEnum;
use app\common\library\helper;
use think\db\exception\DataNotFoundException;
use think\db\exception\DbException;
use think\db\exception\ModelNotFoundException;
use think\model\relation\HasOne;
use think\model\relation\HasMany;
use think\model\relation\BelongsTo;/*** 订单模型* Class Order* @package app\common\model*/
class Order extends BaseModel
{// 定义表名protected $name = 'order';// 定义表名(外部引用)public static string $tableName = 'order';// 定义主键protected $pk = 'order_id';// 定义别名protected string $alias = 'order';/*** 追加字段* @var array*/protected $append = ['state_text', // 售后单状态文字描述];/*** 订单商品列表* @return HasMany*/public function goods(): HasMany{$module = self::getCalledModule();return $this->hasMany("app\\{$module}\\model\\OrderGoods")->withoutField('content');}/*** 关联订单发货单* @return hasMany*/public function delivery(): HasMany{$module = self::getCalledModule();return $this->hasMany("app\\{$module}\\model\\order\\Delivery");}/*** 关联订单收货地址表* @return HasOne*/public function address(): HasOne{$module = self::getCalledModule();return $this->hasOne("app\\{$module}\\model\\OrderAddress");}/*** 关联用户表* @return BelongsTo*/public function user(): BelongsTo{$module = self::getCalledModule();return $this->belongsTo("app\\{$module}\\model\\User");}/*** 关联物流公司表 (仅用于兼容旧物流数据)* @return BelongsTo*/public function express(): BelongsTo{$module = self::getCalledModule();return $this->belongsTo("app\\{$module}\\model\\Express");}/*** 关联模型:第三方交易记录* @return BelongsTo*/public function trade(): BelongsTo{$module = self::getCalledModule();return $this->belongsTo("app\\{$module}\\model\\PaymentTrade", 'trade_id', 'trade_id');}/*** 获取器:订单状态文字描述* @param $value* @param $data* @return string*/public function getStateTextAttr($value, $data): string{//todo 这种设置了TextAttr 的查询的时候会加上这个// 订单状态if ($data['order_status'] != OrderStatusEnum::NORMAL) {return OrderStatusEnum::data()[$data['order_status']]['name'];}// 付款状态if ($data['pay_status'] == PayStatusEnum::PENDING) {return '待支付';}// 发货状态if ($data['delivery_status'] != DeliveryStatusEnum::DELIVERED) {$enum = [DeliveryStatusEnum::NOT_DELIVERED => '待发货', DeliveryStatusEnum::PART_DELIVERED => '部分发货'];return $enum[$data['delivery_status']];}// 收货状态if ($data['receipt_status'] == ReceiptStatusEnum::NOT_RECEIVED) {return '待收货';}return $value;}/*** 获取器:订单金额(含优惠折扣)* @param $value* @param $data* @return string*/public function getOrderPriceAttr($value, $data): string{// 兼容旧数据:订单金额if ($value == 0) {return helper::bcadd(helper::bcsub($data['total_price'], $data['coupon_money']), $data['update_price']);}return $value;}/*** 获取器:改价金额(差价)* @param $value* @return array*/public function getUpdatePriceAttr($value): array{return ['symbol' => $value < 0 ? '-' : '+','value' => sprintf('%.2f', abs((float)$value))];}/*** 获取器:付款时间* @param $value* @return false|string*/public function getPayTimeAttr($value){return format_time($value);}/*** 获取器:发货时间* @param $value* @return false|string*/public function getDeliveryTimeAttr($value){return format_time($value);}/*** 获取器:收货时间* @param $value* @return false|string*/public function getReceiptTimeAttr($value){return format_time($value);}/*** 获取器:来源记录的参数* @param $json* @return array*/public function getOrderSourceDataAttr($json): array{return $json ? helper::jsonDecode($json) : [];}/*** 修改器:来源记录的参数* @param array $data* @return string*/public function setOrderSourceDataAttr(array $data): string{return helper::jsonEncode($data);}/*** 生成订单号* @return string*/public function orderNo(): string{return OrderService::createOrderNo();}/*** 订单详情* @param $where* @param array $with* @return static|array|null*/public static function detail($where, array $with = []){is_array($where) ? $filter = $where : $filter['order_id'] = (int)$where;return self::get($filter, $with);}/*** 批量获取订单列表* @param array $orderIds* @param array $with* @return array* @throws DataNotFoundException* @throws DbException* @throws ModelNotFoundException*/public function getListByIds(array $orderIds, array $with = []): array{$data = $this->getListByInArray('order_id', $orderIds, $with);return helper::arrayColumn2Key($data, 'order_id');}/*** 批量获取订单列表* @param $field* @param $data* @param array $with* @return \think\Collection* @throws \think\db\exception\DataNotFoundException* @throws \think\db\exception\DbException* @throws \think\db\exception\ModelNotFoundException*/private function getListByInArray($field, $data, array $with = []): \think\Collection{return $this->with($with)->where($field, 'in', $data)->where('is_delete', '=', 0)->select();}/*** 根据订单号批量查询* @param $orderNos* @param array $with* @return \think\Collection* @throws \think\db\exception\DataNotFoundException* @throws \think\db\exception\DbException* @throws \think\db\exception\ModelNotFoundException*/public function getListByOrderNos($orderNos, array $with = []): \think\Collection{return $this->getListByInArray('order_no', $orderNos, $with);}/*** 批量更新订单* @param $orderIds* @param $data* @return bool|false*/public function onBatchUpdate($orderIds, $data): bool{return static::updateBase($data, [['order_id', 'in', $orderIds]]);}
}
相关文章:
萤火php端: 查询数据的时候报错: “message“: “Undefined index: pay_status“,
代码:getGoodsFromHistory <?php // ---------------------------------------------------------------------- // | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ] // -----------------------------------------------------…...
程序人生-2024我的个人总结
可能现在写个人总结比较早,但是眼看着还有三个月,今年就过去了,所以决定提前写写,今年对于我来说是不平凡的一年,先是加薪,之后求婚,以为快要走上人生巅峰的时候,被裁员,…...
SQL自学:什么是联结,如何编写使用联结的SELECT语句
在 SQL(Structured Query Language,结构化查询语言)的世界里,联结(JOIN)是一个强大且至关重要的概念。它允许我们从多个表中检索数据,从而实现更复杂的查询和数据分析。本文将深入探讨联结的概念…...

【C++】函数重载+引用
大家好,我是苏貝,本篇博客带大家了解C的函数重载和引用,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一. 预处理、编译、汇编、链接二. 函数重载1 概念2 C支持函数重载的原理—名字修饰…...
华为S5735交换机console密码重置和恢复出厂设置
比较简单,简单说就是进入bootload清除密码,然后进入default mode下重置密码。 1.开机按CtrlB,进入启动加载菜单(BootLoad menu) 拨电源重启交换机,大约开机10多秒的时候会出现提示按CtrlB可以进入BootLoa…...

Spring Security无脑使用
步骤1:添加Spring Security依赖 在你的Spring Boot项目的pom.xml文件中,添加Spring Security的依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</art…...

学习 PostgreSQL + Spring Boot 3 +mybatisplus整合过程中的报错记录
今天计划学习 PostgreSQL,并顺便尝试使用 Spring Boot 3.x 框架,打算整合 Spring Boot 3、PostgreSQL 和 MyBatis-Plus。整合后一直出现以下报错: 去AI上面搜了讲的是sqlSessionFactory 或 sqlSessionTemplate 没有正确配置 初始分析&#…...

立仪光谱共焦传感器在玻璃测量技术上的突破
近年来,随着科技的不断发展,光谱共焦传感器逐渐成为了工业检测领域的重要工具。尤其是在玻璃这种透明材质的厚度测量中,光谱共焦传感器展现出了其独特的优势。立仪科技小编将围绕光谱共焦传感器在玻璃行业中的应用,从问题、分析到…...

Llama系列上新多模态!3.2版本开源超闭源,还和Arm联手搞了手机优化版,Meta首款多模态Llama 3.2开源!1B羊驼宝宝,跑在手机上了
Llama系列上新多模态!3.2版本开源超闭源,还和Arm联手搞了手机优化版,Meta首款多模态Llama 3.2开源!1B羊驼宝宝,跑在手机上了! 在多模态领域,开源模型也超闭源了! 就在刚刚结束的Met…...

系统缺失mfc140.dll的修复方法,有效修复错误mfc140.dll详细步骤
mfc140.dll丢失原因分析 1 系统文件损坏或病毒感染 系统文件损坏或被病毒感染是导致mfc140.dll丢失的常见原因之一。根据用户反馈和安全研究报告,大约有30%的mfc140.dll丢失案例与系统文件损坏或病毒感染有关。病毒、木马或其他恶意软件可能会破坏或删除系统中的m…...

移动app的UI和接口自动化测试怎么进行?
标题:从0到1:移动App的UI和接口自动化测试 导语:移动App的快速发展使得UI和接口自动化测试成为了确保应用质量的重要环节。本文将从零开始介绍移动App的UI和接口自动化测试的基本概念以及如何进行测试。 第一部分:了解移动App自动…...

Unity实现自定义图集(二)
以下内容是根据Unity 2020.1.0f1版本进行编写的 实现一个自定义图集,该怎么入手呢。首先简单思考一下unity是怎么实现图集的。 因为unity的ui部分是开源的,所以我们可以看到UGUI的源代码,另外,Unity的内置Shader也是开源的,可以直接在官网下载(在下载的网页选择Built…...
智能码二维码zhinengma.cn的动态数据更新是如何实现的?
智能码二维码的动态数据更新功能是通过其背后的技术原理实现的,主要依赖于服务器和二维码的链接结构。以下是具体介绍: 动态数据更新的实现原理 链接嵌入:动态二维码中嵌入了一个链接,该链接指向服务器上的数据源。数据请求与更…...
uniapp view怎么按长度排列一行最多四个元素,并且换行后,每一行之间都有间隔
推荐学习文档 golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔…...

Android列表组件api
目录 1.ListView控件 1)android:divider 2)android:dividerHeight 3)android:entries 4)android:footerDividersEnabled 5)android:headerDividersEnabled 6)android:listSelector 7)android:sc…...
ToB项目身份认证AD集成(完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法介绍
在前面的两篇文章中,我详细的介绍了使用ldap与window AD服务集成,实现ToB项目中的身份认证集成方案,包括技术方案介绍、环境配置: ToB项目身份认证AD集成(一):基于目录的用户管理、LDAP和Active…...
SpringBoot+SeetaFace6搭建人脸识别平台
前言 最近多个项目需要接入人脸识别功能,之前的方案是使用百度云api集成,但是后续部分项目是内网部署及使用,考虑到接入复杂程度及收费等多种因素,决定参考开源方案自己搭建,保证服务的稳定性与可靠性 项目地址&…...

MySQL-06.DDL-表结构操作-创建
一.DDL(表操作) create database db01;use db01;create table tb_user(id int comment ID,唯一标识,username varchar(20) comment 用户名,name varchar(10) comment 姓名,age int comment 年龄,gender char(1) comment 性别 ) comment 用户表; 此时并没有限制ID为…...

在Visual Studio中使用CMakeLists.txt集成EasyX库的详细指南
EasyX库是一款专为Windows平台设计的轻量级C图形库,适合初学者和教育领域使用。结合Visual Studio和CMake工具链,用户可以轻松创建C项目,并集成EasyX库,实现丰富的图形编程效果。本文将详细介绍如何在Visual Studio中通过CMakeLis…...

CRC码计算原理
CRC8这里先以CRC8来说明CRC的计算过程1、CRC8在线计算器通过CRC在线计算器可以看见CRC8的特征多项式:x8+x2+x+1,初始值为0000’0000。CRC计算的核心是:反转+异或+移位(此处的CRC8没有涉及反转,见后面CRC16)。2、CRC8计算过程(1)、取值从高到低依次取需校验数据的位,这里…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...

【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...