合伙人端开店选照片

This commit is contained in:
2026-07-09 17:26:24 +08:00
parent 3f60c37265
commit b506417f5e
3 changed files with 97 additions and 27 deletions
@@ -7,6 +7,7 @@ import {
needsWechatAuth,
type PartnerProfile,
} from '../lib/wechat-auth';
import { formatChooseImageFailMessage } from '@dukang/weixin-sdk';
import { isWechatEnv, weixinSdk } from '../lib/weixin';
import type { ClientRuntimeConfig } from '@dukang/shared-types';
@@ -28,12 +29,11 @@ const DEFAULT_MAX_MB = 10;
function formatWechatUploadError(e: unknown): string {
const msg = e instanceof Error ? e.message : '无法打开相册';
const formatted = formatChooseImageFailMessage(msg);
if (formatted) return formatted;
if (/invalid signature/i.test(msg)) {
return '微信 JSSDK 签名校验失败:请确认公众号已配置 JS 接口安全域名为 user.runxian.top,并刷新页面后重试';
}
if (/permission|denied|拒绝/i.test(msg)) {
return '微信选图权限被拒绝,请在微信设置中允许相册/相机访问后重试';
}
return msg;
}
@@ -116,9 +116,10 @@ export default function OssUploadField({
}
async function pickWechatImage() {
await weixinSdk.init();
const files = await weixinSdk.chooseImages({
count: 1,
sourceType: ['album', 'camera'],
sourceType: ['album'],
});
if (files?.[0]) {
await uploadSelectedFile(files[0]);
@@ -143,7 +144,6 @@ export default function OssUploadField({
const msg = e instanceof Error ? e.message : '无法打开相册';
if (/cancel/i.test(msg)) return;
setError(formatWechatUploadError(e));
openNativeFilePicker();
}
return;
}