160 lines
3.3 KiB
JavaScript
160 lines
3.3 KiB
JavaScript
// pages/course/applyPromotion/applyPromotion.js
|
||
Page({
|
||
|
||
data: {
|
||
showCode: false,
|
||
buttonText: '生成推广码',
|
||
codeImageUrl: 'https://img.picui.cn/free/2025/06/24/685a8953cae83.png'
|
||
},
|
||
|
||
// 点击“生成推广码”或“查看推荐的用户”
|
||
handleGenerate() {
|
||
if (!this.data.showCode) {
|
||
// 1. 显示带遮罩的 loading,防止用户点击其他地方
|
||
wx.showLoading({
|
||
title: '生成中...',
|
||
mask: true
|
||
});
|
||
|
||
// 2. 调用后端接口生成推广码图片
|
||
wx.request({
|
||
url: 'https://your-backend.com/api/generatePromotionCode', // TODO: 替换成你真实的接口地址
|
||
method: 'POST',
|
||
data: {
|
||
// 如果需要传用户信息或参数,在这里补充
|
||
},
|
||
success: res => {
|
||
if (1) {
|
||
// 3. 接口返回正确,更新图片地址并显示
|
||
this.setData({
|
||
codeImageUrl: res.data.imageUrl,
|
||
showCode: true,
|
||
buttonText: '查看推荐的用户'
|
||
});
|
||
} else {
|
||
wx.showToast({
|
||
title: '生成失败,请重试',
|
||
icon: 'none'
|
||
});
|
||
}
|
||
},
|
||
fail: () => {
|
||
wx.showToast({
|
||
title: '网络错误,请检查连接',
|
||
icon: 'none'
|
||
});
|
||
},
|
||
complete: () => {
|
||
// 4. 隐藏 loading
|
||
wx.hideLoading();
|
||
}
|
||
});
|
||
|
||
} else {
|
||
// 已生成时,跳转到查看推荐用户页(如有)
|
||
wx.navigateTo({
|
||
url: '/pages/course/recommendUser/recommendUser',
|
||
})
|
||
}
|
||
},
|
||
|
||
// 保存图片到相册(与之前一致)
|
||
saveImage() {
|
||
const {
|
||
codeImageUrl
|
||
} = this.data;
|
||
wx.showLoading({
|
||
title: '保存中...',
|
||
mask: true
|
||
});
|
||
wx.downloadFile({
|
||
url: codeImageUrl,
|
||
success: res => {
|
||
if (res.statusCode === 200) {
|
||
wx.saveImageToPhotosAlbum({
|
||
filePath: res.tempFilePath,
|
||
success: () => {
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: '保存成功',
|
||
icon: 'success'
|
||
});
|
||
},
|
||
fail: err => {
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: '保存失败',
|
||
icon: 'none'
|
||
});
|
||
console.error('saveImageToPhotosAlbum 失败', err);
|
||
}
|
||
});
|
||
}
|
||
},
|
||
fail: err => {
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: '下载失败',
|
||
icon: 'none'
|
||
});
|
||
console.error('downloadFile 失败', err);
|
||
}
|
||
});
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad(options) {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage() {
|
||
|
||
}
|
||
}) |