feat: 添加公共配置获取与订阅消息模板加载
This commit is contained in:
parent
b9246bc728
commit
7edb2e7844
13
App.vue
13
App.vue
@ -1,4 +1,5 @@
|
|||||||
<script>
|
import { getPublicConfig } from '@/api/appUser'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
onLaunch: function(options) {
|
onLaunch: function(options) {
|
||||||
console.log('App Launch', options)
|
console.log('App Launch', options)
|
||||||
@ -7,6 +8,16 @@ export default {
|
|||||||
console.log('App Launch captured invite_code:', options.query.invite_code)
|
console.log('App Launch captured invite_code:', options.query.invite_code)
|
||||||
try { uni.setStorageSync('inviter_code', options.query.invite_code) } catch (e) { console.error('Save invite code failed', e) }
|
try { uni.setStorageSync('inviter_code', options.query.invite_code) } catch (e) { console.error('Save invite code failed', e) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 加载公开配置 (如订阅消息模板ID)
|
||||||
|
getPublicConfig().then(res => {
|
||||||
|
if (res && res.subscribe_templates) {
|
||||||
|
console.log('Loaded public config:', res)
|
||||||
|
try { uni.setStorageSync('subscribe_templates', res.subscribe_templates) } catch (_) {}
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
console.warn('Failed to load public config:', err)
|
||||||
|
})
|
||||||
},
|
},
|
||||||
onShow: function() {
|
onShow: function() {
|
||||||
console.log('App Show')
|
console.log('App Show')
|
||||||
|
|||||||
@ -276,6 +276,11 @@ export function getUserInfo() {
|
|||||||
return authRequest({ url: '/api/app/users/info', method: 'GET' })
|
return authRequest({ url: '/api/app/users/info', method: 'GET' })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取公开配置
|
||||||
|
export function getPublicConfig() {
|
||||||
|
return request({ url: '/api/app/config/public', method: 'GET' })
|
||||||
|
}
|
||||||
|
|
||||||
export const getUserTasks = getTasks
|
export const getUserTasks = getTasks
|
||||||
export function getInviteRecords(page = 1, page_size = 20) {
|
export function getInviteRecords(page = 1, page_size = 20) {
|
||||||
const user_id = uni.getStorageSync('user_id')
|
const user_id = uni.getStorageSync('user_id')
|
||||||
|
|||||||
@ -3,8 +3,18 @@
|
|||||||
* 用于在抽奖前请求用户授权接收开奖通知
|
* 用于在抽奖前请求用户授权接收开奖通知
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// 抽奖结果通知模板 ID
|
// 抽奖结果通知模板 ID (默认兜底)
|
||||||
const LOTTERY_RESULT_TEMPLATE_ID = 'O2eqJQD3pn-vQ6g2z9DWzINVwOmPoz8yW-172J_YcpI'
|
const DEFAULT_LOTTERY_RESULT_TEMPLATE_ID = 'O2eqJQD3pn-vQ6g2z9DWzINVwOmPoz8yW-172J_YcpI'
|
||||||
|
|
||||||
|
function getLotteryTemplateId() {
|
||||||
|
try {
|
||||||
|
const templates = uni.getStorageSync('subscribe_templates')
|
||||||
|
if (templates && templates.lottery_result) {
|
||||||
|
return templates.lottery_result
|
||||||
|
}
|
||||||
|
} catch (e) { console.error(e) }
|
||||||
|
return DEFAULT_LOTTERY_RESULT_TEMPLATE_ID
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 请求用户订阅抽奖结果通知
|
* 请求用户订阅抽奖结果通知
|
||||||
@ -13,15 +23,16 @@ const LOTTERY_RESULT_TEMPLATE_ID = 'O2eqJQD3pn-vQ6g2z9DWzINVwOmPoz8yW-172J_YcpI'
|
|||||||
export function requestLotterySubscription() {
|
export function requestLotterySubscription() {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
|
const tmplId = getLotteryTemplateId()
|
||||||
wx.requestSubscribeMessage({
|
wx.requestSubscribeMessage({
|
||||||
tmplIds: [LOTTERY_RESULT_TEMPLATE_ID],
|
tmplIds: [tmplId],
|
||||||
success(res) {
|
success(res) {
|
||||||
console.log('订阅消息授权结果:', res)
|
console.log('订阅消息授权结果:', res)
|
||||||
resolve({
|
resolve({
|
||||||
success: true,
|
success: true,
|
||||||
result: res,
|
result: res,
|
||||||
// 检查用户是否接受了订阅
|
// 检查用户是否接受了订阅
|
||||||
accepted: res[LOTTERY_RESULT_TEMPLATE_ID] === 'accept'
|
accepted: res[tmplId] === 'accept'
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
fail(err) {
|
fail(err) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user