diff --git a/project.private.config.json b/project.private.config.json index 5b48130..cb01d35 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -4,12 +4,19 @@ "condition": { "miniprogram": { "list": [ + { + "name": "passport/webview/index", + "pathName": "passport/webview/index", + "query": "url=https%3A%2F%2Fwebsopy.websoft.top%2Fdeveloper", + "scene": null, + "launchMode": "default" + }, { "name": "passport/login", "pathName": "passport/login", "query": "", - "scene": null, - "launchMode": "default" + "launchMode": "default", + "scene": null }, { "name": "passport/invite/index", diff --git a/src/api/ticket.ts b/src/api/ticket.ts index 605eb22..66a955e 100644 --- a/src/api/ticket.ts +++ b/src/api/ticket.ts @@ -187,7 +187,7 @@ export async function listTicketReply(ticketId: string): Promise export async function createTicket(data: Partial): Promise { const newTicket: Ticket = { id: String(Date.now()), - ticketNo: `TK${new Date().toISOString().replace(/[-:T]/g, '').slice(0, 12)}`, + ticketNo: `TK${new Date().toISOString().replace(/[\-:T]/g, '').slice(0, 12)}`, title: data.title || '', content: data.content || '', type: data.type || 'technical', diff --git a/src/developer/developer/apply.tsx b/src/developer/developer/apply.tsx index a74acd6..3318c72 100644 --- a/src/developer/developer/apply.tsx +++ b/src/developer/developer/apply.tsx @@ -31,6 +31,7 @@ const DeveloperApplyPage: React.FC = () => { experience: '', }) const [submitting, setSubmitting] = useState(false) + const [agreementChecked, setAgreementChecked] = useState(false) // 加载申请记录 const loadData = async (pageNum: number = 1, isRefresh = false) => { @@ -77,6 +78,15 @@ const DeveloperApplyPage: React.FC = () => { return } + // 检查隐私协议是否同意 + if (!agreementChecked) { + Taro.showToast({ + title: '请先同意服务协议和隐私政策', + icon: 'none' + }); + return false; + } + setSubmitting(true) try { await createApply({ @@ -203,9 +213,26 @@ const DeveloperApplyPage: React.FC = () => { - - 点击提交即表示您同意《开发者协议》和《隐私政策》 - + + setAgreementChecked(!agreementChecked)} + > + {agreementChecked && } + + + 我已阅读并同意 + Taro.navigateTo({ url: '/passport/webview/index?url=' + encodeURIComponent('https://websopy.websoft.top/agreement') })}>《开发者协议》 + 和 + Taro.navigateTo({ url: '/passport/webview/index?url=' + encodeURIComponent('https://websopy.websoft.top/privacy') })}>《隐私政策》 + + + marginBottom: '16px', + fontSize: '12px' + }}> + setPrivacyAgreed(value)} + /> + + 我已阅读并同意 + openAgreement('service')}>《服务协议》 + 和 + openAgreement('privacy')}>《隐私政策》 + + +
+ +
) }