企业码小程序

gatsby e7e12168be feat: 更新 1 сар өмнө
.husky e9c322f636 chore: 初始化项目 1 сар өмнө
.vscode e9c322f636 chore: 初始化项目 1 сар өмнө
config e9c322f636 chore: 初始化项目 1 сар өмнө
scripts e9c322f636 chore: 初始化项目 1 сар өмнө
src e7e12168be feat: 更新 1 сар өмнө
types e9c322f636 chore: 初始化项目 1 сар өмнө
.editorconfig e9c322f636 chore: 初始化项目 1 сар өмнө
.env.development 5381e141d0 feat: 更新 1 сар өмнө
.env.production 5381e141d0 feat: 更新 1 сар өмнө
.env.test e9c322f636 chore: 初始化项目 1 сар өмнө
.eslintrc e9c322f636 chore: 初始化项目 1 сар өмнө
.gitignore e9c322f636 chore: 初始化项目 1 сар өмнө
.prettierrc e9c322f636 chore: 初始化项目 1 сар өмнө
README.md e9c322f636 chore: 初始化项目 1 сар өмнө
babel.config.js e9c322f636 chore: 初始化项目 1 сар өмнө
commitlint.config.mjs e9c322f636 chore: 初始化项目 1 сар өмнө
nutui-usage.spec.md e9c322f636 chore: 初始化项目 1 сар өмнө
package-lock.json e9c322f636 chore: 初始化项目 1 сар өмнө
package.json e9c322f636 chore: 初始化项目 1 сар өмнө
project.config.json e9c322f636 chore: 初始化项目 1 сар өмнө
stylelint.config.mjs e9c322f636 chore: 初始化项目 1 сар өмнө
tsconfig.json e9c322f636 chore: 初始化项目 1 сар өмнө

README.md

payment-mini

项目简介

payment-mini 是一个基于 Taro React 的支付宝小程序项目,主要用于企业扫码支付管理平台。项目使用 TypeScript、React、Zustand 状态管理,并遵循 Taro 小程序开发规范。

主要特性

  • 支持支付宝小程序编译
  • 使用 Taro 4.x React 版本
  • 使用 Zustand 管理本地状态
  • 已配置 ESLint、Stylelint 和 Prettier
  • 已配置 Husky + lint-staged + commitlint,支持语义化提交规范

环境要求

  • Node.js 16+ 或 18+
  • npm

安装依赖

npm install

本地开发

npm run dev:alipay

构建发布

npm run build:alipay

代码风格与检查

  • ESLint:npm run lint
  • Prettier:npm run format
  • Stylelint:项目已配置 stylelint.config.mjs

Git 提交规范

项目采用 commitlint 进行提交信息校验,遵循 Conventional Commits 规范,例如:

git commit -m "feat(login): add agree dialog before login"

常用类型包括:

  • feat:新功能
  • fix:修复 bug
  • docs:文档变更
  • style:代码格式或风格调整
  • refactor:重构
  • test:测试相关
  • chore:构建/工具/依赖等杂项

项目目录

src/
  app.ts
  app.less
  pages/
    login/
    index/
    mine/
  components/
  schemas/
  stores/
config/
  index.ts
.babelrc
.eslintrc
.stylelint.config.mjs
.prettierrc
.commitlint.config.mjs
.husky/

其他说明

  • 若使用支付宝小程序编译失败,请先清理 dist 目录和 .taro 缓存后重试。
  • 当前已移除 zod,改为本地校验逻辑,避免支付宝小程序运行时兼容性问题。

FAQ

Q: 支付宝小程序编译出错:TypeError: Constructor Map requires 'new'?

A:dist/taro.js 中的 EventSource ES6写法:

class EventSource extends Map {
  removeNode(child) {
    const {
      sid,
      uid
    } = child;
    this.delete(sid);
    if (uid !== sid && uid) this.delete(uid);
  }
  removeNodeTree(child) {
    this.removeNode(child);
    const {
      childNodes
    } = child;
    childNodes.forEach(node => this.removeNodeTree(node));
  }
}

替换成

class EventSource {
	data = {};

	get(id) {
		return this.data[id];
	}

	set(id, value) {
		this.data[id] = value;
	}

	delete(id) {
		delete this.data[id];
	}

	has(id) {
		return id in this.data;
	}

	removeNode(child) {
		const { sid, uid } = child;
		this.delete(sid);
		if (uid !== sid && uid) this.delete(uid);
	}

	removeNodeTree(child) {
		this.removeNode(child);
		const { childNodes } = child;
		childNodes.forEach((node) => this.removeNodeTree(node));
	}
}