# 在 微信小程序 中使用
# 方式 1:通过 npm 安装
# 1. 先找到小程序项目的根目录,看是否有package.json
文件,如果没有再执行下面的命令来创建该文件
npm init -y
# 2. 安装 npm 包
npm install @lucky-canvas/mini@latest
# 3. 构建 npm
构建 npm
微信开发者工具
-> 找到左上角点击 ->工具
- 点击 ->
构建 npm
- 弹窗提示
构建成功
即可!
# 4. 引入自定义组件
可以在
app.json
全局引入, 也可以在指定组件的json
文件里引入
{
...
"usingComponents": {
"lucky-wheel": "/miniprogram_npm/@lucky-canvas/mini/lucky-wheel/index",
"lucky-grid": "/miniprogram_npm/@lucky-canvas/mini/lucky-grid/index"
"slot-machine": "/miniprogram_npm/@lucky-canvas/mini/slot-machine/index"
}
...
}
# 5. 我在这里提供一个简略的 demo 供你进行测试, 更多抽奖类型或复杂的效果可以跳转示例页面查看
<view>
<lucky-wheel
id="myLucky"
width="600rpx"
height="600rpx"
blocks="{{blocks}}"
prizes="{{prizes}}"
buttons="{{buttons}}"
bindstart="start"
bindend="end"
/>
</view>
const app = getApp()
Page({
data: {
blocks: [{ padding: '13px', background: '#617df2' }],
prizes: [
{ fonts: [{ text: '0', top: '10%' }], background: '#e9e8fe' },
{ fonts: [{ text: '1', top: '10%' }], background: '#b8c5f2' },
{ fonts: [{ text: '2', top: '10%' }], background: '#e9e8fe' },
{ fonts: [{ text: '3', top: '10%' }], background: '#b8c5f2' },
{ fonts: [{ text: '4', top: '10%' }], background: '#e9e8fe' },
{ fonts: [{ text: '5', top: '10%' }], background: '#b8c5f2' },
],
buttons: [
{ radius: '50px', background: '#617df2' },
{ radius: '45px', background: '#afc8ff' },
{
radius: '40px', background: '#869cfa',
pointer: true,
fonts: [{ text: '开始\n抽奖', top: '-20px' }]
},
],
},
start () {
// 获取抽奖组件实例
const child = this.selectComponent('#myLucky')
// 调用play方法开始旋转
child.lucky.play()
// 用定时器模拟请求接口
setTimeout(() => {
// 3s 后得到中奖索引 (假设抽到第0个奖品)
const index = 0
// 调用stop方法然后缓慢停止
child.lucky.stop(index)
}, 3000)
},
end (event) {
// 中奖奖品详情
console.log(event.detail)
}
})