Appearance
支付
uTools 支持插件应用向用户提供付费功能。开发者需要开通支付权限后,才能使用相关支付 API。
如需开通支付能力,请联系我们。
TIP
插件应用可以根据业务需求选择以下付费模式:
- 基础功能免费,高级功能付费:用户可以免费使用基础功能,购买后解锁高级功能。推荐使用此模式。
- 完全付费:用户购买授权后,才能使用插件应用的功能。
用户购买商品后,将获得对应的授权。授权在有效期内可以使用对应的付费功能。
如果商品配置为永久授权,则用户购买后可以永久使用对应功能。推荐使用永久授权。
utools.isPurchasedUser()
获取当前用户的购买授权状态。
类型定义
ts
function isPurchasedUser(): boolean | string返回
false:用户未购买,或当前授权已失效。true:用户拥有永久授权。string:用户拥有有效期授权,返回授权到期时间,格式为yyyy-MM-dd HH:mm:ss。
该 API 返回的是当前用户的授权状态,插件应用可以据此判断用户是否可以使用需要付费授权的功能。
示例
js
const purchasedUser = utools.isPurchasedUser();
if (purchasedUser) {
// 已获得有效授权,可使用付费功能
if (purchasedUser === true) {
// 永久授权
} else {
// 有效期授权
console.log(`授权到期时间:${purchasedUser}`);
}
} else {
// 未获得有效授权,打开插件应用的购买弹窗
utools.openPurchase({
goodsId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, () => {
console.log("购买成功");
});
}utools.openPurchase(options, callback)
打开插件应用的购买弹窗。
类型定义
ts
function openPurchase(
options: OpenPurchaseOptions,
callback?: () => void
): void参数
options:购买参数。callback:购买成功后的回调函数。
OpenPurchaseOptions 类型定义
ts
interface OpenPurchaseOptions {
/**
* 商品 ID,在「uTools 开发者工具」中创建。
*/
goodsId: string;
/**
* 第三方服务生成的订单号,长度为 6~64 个字符。
*/
outOrderId?: string;
/**
* 第三方服务附加数据。
* 在订单查询 API 和支付通知中原样返回,可用于传递自定义参数。
* 最多 256 个字符。
*/
attach?: string;
}示例
js
utools.openPurchase({
goodsId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, () => {
const purchasedUser = utools.isPurchasedUser();
if (purchasedUser) {
console.log("用户已获得有效授权");
}
});