- 博客(34)
- 问答 (1)
- 收藏
- 关注
原创 Shopify b2b 登录重定向(非hydrogen)
B端访问链接如下:首先B端用户登录需要商家提供访问此链接,客户邮箱验证后再点回商店进行购物,但在真实场景中,有B端业务的商家让用户这样操作再点回商城是不太合理的。
2025-03-27 17:47:16
138
原创 Shopify Checkout UI Extensions
Shopify于2024年推出结账UI扩展,取代checkout.liquid,计划于2025年8月28日停用。开发者通过配置shopify.extension.toml文件,插入自定义UI组件和功能,如API访问、网络访问及敏感数据权限。扩展允许在结账流程的不同位置展示UI,需使用官方组件库并编写React代码。开发完成后,通过shopify app deploy部署并测试应用。
2025-03-23 18:19:54
1084
原创 在shopify liquid代码中记录点击列表展示相对应的点击项
通过liquid for循环出对应的内容,默认全部隐藏,为最外层的元素添加id为循环项的唯一标识,为按钮添加自定义属性data-id同最外层元素的id值,当点击按钮的时候取出自定义属性id,通过这个id找到对应的标签,添加其class比如open来展示所对应的内容。
2024-01-18 11:57:31
550
原创 node.js mongoose index(索引)
在 Mongoose 中,索引(Index)是一种用于提高查询性能的数据结构,它可以加速对数据库中文档的检索操作。
2023-12-21 14:26:33
1328
原创 node.js mongoose schemaTypes
SchemaTypes定义MongoDB文档模型中字段的数据类型。在Mongoose中,每个字段都有一个关联的SchemaType,它定义了该字段的数据类型、验证规则等信息。
2023-12-20 15:37:08
2024
原创 node.js mongoose middleware
mongoose中间件是一种允许在执行数据库操作前(pre)或后(post)执行自定义逻辑的机制
2023-12-19 17:48:55
1347
原创 node.js mongoose aggregate
在 Mongoose 中,Aggregate 是用于执行 MongoDB 聚合操作的类。MongoDB 聚合操作是一种强大的数据处理工具,可以用于对集合中的文档进行变换和计算。aggregate链式操作,因为Aggregate的原型方法返回的是this(aggregate实例自身)控制台打印aggregate查看所积累的pipeline操作。也可通过async await的方式获得查询结果。对aggregate对象进行操作。或者通过传入pipeline参数。
2023-12-18 09:31:06
864
原创 node.js mongoose
Mongoose是用于Node.js环境下MongoDB对象建模的工具。通过定义Schema,开发者可以规定MongoDB集合中document的字段、类型和验证规则。通过Model,实现与数据库的交互,进行数据操作,例如查询、插入、更新、删除等。查询返回的是Query实例,可链式调用。Document是Model的实例,代表MongoDB中的文档,通过它进行数据操作
2023-12-16 16:12:57
1293
原创 Next.js ts redux/toolkit状态管理
reduxjs/toolkit是Redux 官方提供的一个工具集,旨在简化和改善 Redux 应用的开发体验。它包含一些工具函数和约定,可以帮助你更快、更轻松地构建和维护 Redux 应用。
2023-12-13 14:32:40
2066
2
原创 node.js express mongoose用户建模、权限校验
基于Express和mongoose构建用户认证系统,使用Mongoose定义用户模型。通过中间件进行身份验证和权限控制,使用JWT实现用户认证,同时借助next传递控制权。利用中间件进行错误处理和统一错误捕获。
2023-12-12 15:55:30
687
原创 node.js express cors解决跨域
在express框架中使用cors中间件,可解决前端项目在浏览器中发起的跨域请求问题。配置corsOptions参数可以更细致地控制跨域请求的行为。
2023-12-11 17:34:02
3035
原创 node.js express JWT token生成与校验
JWT 是轻量级的数据交换格式,相对于传统的 Session 机制,JWT 不需要在服务器端存储会话信息,而是将所有必要的信息包含在令牌本身中。之后用户每次请求资源的时候将访问令牌token放在请求头中,服务端在验证其是否有效之后,返回相对应的资源信息。通常包括生成jwt的非隐私信息,用户的唯一标识符id,发行时间iat,到期时间exp。2、在代码controller层引入依赖,在登录、注册的时候生成token。生成token的头信息,通常由两部分组成,包含。通过HMACSHA256加密算法生成的签名。
2023-12-11 11:54:40
1628
原创 JS原生实现浏览器滚动条滚动侧边栏高亮响应
实现一个左侧侧边栏与右侧内容的联动效果。当点击左侧链接时,页面滚动到对应内容处;手动滚动页面时,左侧链接高亮显示当前在视口中的内容。使用节流函数来减少滚动事件的频率,提高性能
2023-12-08 17:59:50
1375
1
原创 Shopify二次开发之五:元字段(Metafields)
Shopify Metafields 是一种用于存储和管理自定义数据的功能。它们允许商户在商城中的产品、订单、客户、Page等对象上添加自定义字段,以满足特定业务需求。
2023-12-06 17:53:18
2140
1
原创 JS this指向详解
JavaScript中的this关键字在代码执行过程中动态绑定。全局上下文中this指向全局对象,在函数调用中this指向调用者对象,函数中的this可通过call、apply、bind指定特定的对象,箭头函数中的this由外部上下文决定,在定义时确定,不可更改this指向。
2023-12-04 13:58:23
914
原创 JS for...of iterator(迭代器),for...in可枚举,不可枚举属性,对象属性遍历
介绍JavaScript中的三个关键概念:迭代器、可枚举属性和对象描述属性,迭代器是一种访问集合元素的方法,通过Symbol.iterator属性定义了一个迭代器生成函数,提供next方法来按顺序获取集合中的元素,可通过for...of遍历迭代器。通过Object.getOwnPropertyDescriptor方法获取的包含属性特性信息的对象,描述属性值、是否可写、是否可枚举和是否可配置等信息,通过Object.defineProperty方法,可以将属性设置为不可枚举。可枚举属性可以通过for...in
2023-12-01 13:14:23
1155
1
原创 node.js express路由和中间件
Express 路由用于定义应用程序中的不同端点(endpoints)。每个端点对应于一个特定的 URL 路径,并关联着处理该路径请求的处理器函数。通过定义路由,你可以组织应用程序的不同功能和页面,使其更具结构。中间件是在请求到达路由处理器之前执行的函数。它可以修改请求对象、响应对象,或者终止请求-响应周期。中间件的存在使得可以在处理请求之前执行一些通用逻辑,例如身份验证、日志记录等。
2023-11-30 17:49:46
1761
2
原创 Shopify二次开发之四:完成第一个section
简单的开发第一个shopify liquid section, 通过之前学习到的schema配置、liquid语法学习,模板渲染对象。
2023-11-30 10:02:53
1688
1
原创 前端请求patch接口,只传入已修改字段值的字段
在实际开发中前端肯定会遇到一个更新需求,回显数据 => 修改数据 => 请求更新接口这个步骤。通常建议前端仅传递发生更改的字段,而不是将所有字段都传递给后端。
2023-11-29 16:56:08
1285
1
原创 Shopify二次开发之三:liquid语法学习(访问Objects和Schema数据模型)
在 Shopify 主题开发中,使用 Liquid 模板语言访问数据和配置,并根据这些数据渲染页面。包括全局对象、页面模板对象、模板对象、以及在配置文件中定义的模型对象:
2023-11-28 17:04:28
1967
原创 Shopify二次开发之三:liquid语法学习(Filters)
在 Shopify 中,过滤器(Filter)是 Liquid 模板语言的一个重要特性,它为开发者提供了对数据进行处理、转换和格式化的强大工具。过滤器通常应用于 Liquid 变量,以便灵活地修改变量的输出形式。Shopify 的过滤器涵盖了多个领域,包括对字符串、数学运算、购物车数据、媒体处理、货币格式化、数组操作等方面的处理。
2023-11-28 13:32:31
1714
原创 Shopify二次开发之三:liquid语法学习(Tags)
shopify liquid语法学习,包括数据类型、变量声明、条件判断、遍历、{{ }}、{% %}。
2023-11-28 11:07:07
2185
原创 Shopify二次开发之二:配置schema
阐述通常来说,Shopify开发是的,可以通过section中的文件配置,但也不乏特定场景,需要ajax进行接口请求。当进行Shopify二次开发时,模板访问模型数据是至关重要的一步。在Shopify中,由schema定义数据模型以及其他,模型则包含实际的数据(可以在admin后台去配置数据)由模板去进行访问,这就是为什么不需要后端的原因,因为数据完全来自于商城后台。至于如何在scheme中配置可以通过查阅shopify theme官方文档进行学习。
2023-11-27 14:40:04
2933
1
原创 使用nvm版本管理工具快速切换node版本
文章简介:"NVM"(Node Version Manager)是一个用于管理 Node.js 版本的工具,它允许你在不同项目中使用不同的 Node.js 版本,确保项目可以在所需的特定版本下正确运行。本文介绍了在 Windows 环境下安装 NVM 的两种方法:一种是通过安装器进行一步到位的安装,另一种是手动配置的方式。安装完成后,你可以使用一系列简单的命令来管理你的 Node.js 版本,如查看当前安装的版本、安装新版本、切换版本等。
2023-11-06 15:40:30
310
原创 理解npm依赖管理
有关npm依赖管理和版本控制的基本知识,包括命令、写入方式、依赖解释和版本范围解释。这些知识对于有效地管理项目的依赖关系非常重要,可以保证项目的稳定性和可靠性。
2023-11-06 13:52:32
145
原创 Js es6以前类的创建以及原型链
至此就创建出了一个Foo的实例,这个实例拥有Foo的原型方法,也有了Foo类this.attr的属性,f1和f2的原型指向的是同一个原型对象也就是Foo的prototype,而属性attr又是自身相互独立不互相干扰的。当访问一个对象的属性或方法时,如果该对象本身没有这个属性或方法,JavaScript 会沿着原型链向上查找,直到找到匹配的属性或方法,或者到达原型链的末尾(,上图中不管o1和o2是Object的实例,几乎任何类的原型也是如此,所以我们看到o1、o2的。在js中是这样解释的,
2023-10-16 11:47:10
111
1
Js中关于this指向的两个简单问题,疑惑。
2020-08-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人