# 安装依赖
npm i
# 初始化子项目
npm run nova init nova-doctor
# 开发者工具选择 nova-wapp 目录启动项目
更多目录介绍请查看:目录及开发规范
npm run nova help
> node .release-tool.js help usage: .release-tool.js <command> 命令: .release-tool.js list 列出所有可用小程序清单 .release-tool.js init <appname> 初始化小程序:根据appname 选项: --help 显示帮助信息 [布尔] --version 显示版本号 [布尔]
# 调试打包 完整
rm -r dist/docs/*
jsdoc -c .config-jsdoc.json
cp -r docs/* dist/docs/
http-server ./dist/docs/
# 调试打包
npm run docs
# 发布上线
rsync -avPW dist/docs/ root@server.fmode.cn:/var/www/ng-fmode/wapp/
scp -r dist/docs/* root@server.fmode.cn:/var/www/ng-fmode/wapp/
H5 在小程序 web-view 容器内,支付时发送:
wx.miniProgram.postMessage({
data: {
type: 'requestMiniPay',
payload: {
tradeNo: 'ORDER202604090001',
price: 99.9,
orderId: 'parse_order_object_id',
orderType: 'shopgoods',
showType: 'all',
showBonus: false,
profileId: '',
// 可选:用于接收小程序支付结果(会刷新 web-view 到该地址)
callbackUrl: 'https://www.yuban.co/pay/result'
}
}
});
小程序内部统一生成 miniPayResult 结构:
{
type: 'miniPayResult',
payload: {
success: true,
tradeNo: 'ORDER202604090001',
payType: 'wxpay',
cancelled: false,
errMsg: ''
}
}
说明:
web-view 不支持小程序反向 postMessage 到 H5。callbackUrl,小程序会把结果拼接到 URL 查询参数并刷新到该地址。callbackUrl,建议 H5 按 tradeNo 轮询订单状态。function isMiniProgramEnv() {
return window.__wxjs_environment === 'miniprogram';
}
function pay(order) {
if (isMiniProgramEnv() && window.wx?.miniProgram?.postMessage) {
wx.miniProgram.postMessage({
data: {
type: 'requestMiniPay',
payload: {
tradeNo: order.tradeNo,
price: order.price,
orderId: order.orderId,
orderType: order.orderType || 'shopgoods',
callbackUrl: order.callbackUrl || ''
}
}
});
return;
}
// 非小程序容器:保持原 H5 支付逻辑(chooseWXPay/WeixinJSBridge)
runLegacyH5Pay(order);
}
当质量检查命中 miniprogram_npm/@vant/weapp/** 下的第三方文件时,建议在微信代码质量平台配置路径排除:
miniprogram_npm/@vant/weapp/**建议保留业务目录扫描:
common-page/**components/**yuban/**app.jsapp.json