@downcity/services
统一安装 Downcity 官方 accounts、balance、usage、Stripe 支付和 Creem 支付服务。
@downcity/services 把 Downcity 官方服务合并成一个包,但仍然保留清晰的能力边界。
你安装一个包,就能按需启用:
AccountsService:注册、登录、OAuth、会话和user_tokenBalanceService:全局余额、流水、充值单和 redeem codePaymentService:统一暴露当前 City 开放的支付方式,配合stripePaymentProvider、creemPaymentProvider等 provider 使用UsageService:记录真实用户侧 service 调用事实
安装
pnpm add @downcity/services最小接入
import { Federation } from "@downcity/city";
import {
AccountsService,
BalanceService,
creemPaymentProvider,
PaymentService,
stripePaymentProvider,
UsageService,
} from "@downcity/services";
const base = new Federation({ db });
const balance = new BalanceService();
base.use(new AccountsService());
base.use(balance);
base.use(new PaymentService({
readTopup: async (topup_id) => await balance.readTopup(topup_id),
finishTopup: async (topup_id, extra) => await balance.finishTopup(topup_id, extra),
providers: [
stripePaymentProvider(),
creemPaymentProvider(),
],
}));
base.use(new UsageService());产品侧通常先调用:
const methods = await guest.service("payment").get("methods");然后再根据返回的 methods.items 选择具体支付方式,比如 stripe 或 creem。
按能力阅读
- 账号能力读 Accounts 服务
- 余额能力读 Balance 服务
- 使用记录读 Usage 服务
- Stripe 充值读 Stripe Payment 服务
- Creem 充值读 Creem Payment 服务