更新记录
1.0(2026-02-06)
新增功能
- 支持短剧初始化和加载
- 支持短剧方法调用
- 支持场景切换功能
- 支持短视频功能
- 提供组件和JS SDK两种使用方式
- 支持广告功能 优化改进
- 模块化设计,使用uni_modules规范
- 跨平台兼容,支持多端运行
- 简洁易用的API设计
- 完善的错误处理机制 修复问题
v1.0.1
功能优化 新增功能
- 增加短剧进度保存功能
- 增加用户数据同步功能
- 增加短剧设置选项 优化改进
- 优化短剧加载速度
- 优化广告展示逻辑
- 优化原生插件性能
- 改进错误提示信息
平台兼容性
三栏短剧集插件使用说明
插件介绍
三栏短剧集插件是一个基于LayaAir引擎的游戏插件,支持在uni-app项目中集成和使用三栏短剧集游戏。该插件提供了完整的游戏加载、初始化和交互功能,支持Android和iOS平台,并且在Web环境中也能正常运行。
功能特点
- 跨平台兼容:支持Android、iOS和Web平台
- 模块化设计:使用uni_modules规范,实现了插件的模块化管理
- 简单易用:提供了简洁的API,方便开发者集成和使用
- 完整功能:支持游戏初始化、加载、方法调用、场景切换和摇骰子等功能
安装方法
方法一:通过uni_modules安装
- 将
uni_modules/sanlan-drama目录复制到您的uni-app项目的uni_modules目录中 - 项目会自动识别并加载插件
方法二:通过插件市场安装
- 在HBuilderX中打开您的uni-app项目
- 点击"插件市场",搜索"三栏短剧集"
- 点击"安装到项目",选择您的项目
- 等待安装完成
使用方法
方法一:使用组件方式
在页面中引入sanlan-drama组件:
<template>
<div class="container">
<sanlan-drama ref="sanlanDrama" :game-url="gameUrl" :auto-load="true"></sanlan-drama>
<div class="control-buttons">
<button class="btn" @click="handleSwitch">切换</button>
<button class="btn" @click="handleShakeDice">短剧</button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
gameUrl: '/static/js/index.js'
}
},
methods: {
handleSwitch() {
this.$refs.sanlanDrama.switchScene()
},
handleShakeDice() {
this.$refs.sanlanDrama.shakeDice()
}
}
}
</script>
<style scoped>
.container {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
}
.control-buttons {
position: absolute;
bottom: 20px;
left: 0;
right: 0;
display: flex;
justify-content: space-around;
padding: 0 20px;
z-index: 100;
}
.btn {
padding: 10px 20px;
background-color: #2a43e3;
color: white;
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
}
</style>
方法二:使用JS SDK方式
在页面中引入并使用sanlan-drama SDK:
<template>
<div class="container">
<div class="laya-container" ref="layaContainer"></div>
<div class="control-buttons">
<button class="btn" @click="handleSwitch">切换</button>
<button class="btn" @click="handleShakeDice">短剧</button>
</div>
</div>
</template>
<script>
import sanLanDrama from '@/uni_modules/sanlan-drama/js_sdk/sanlan-drama.js'
export default {
mounted() {
this.initPlugin()
},
methods: {
async initPlugin() {
try {
// 初始化插件
await sanLanDrama.init()
console.log('插件初始化成功')
// 加载游戏
await sanLanDrama.loadGame('/static/js/index.js')
console.log('游戏加载成功')
} catch (error) {
console.error('插件初始化失败:', error)
}
},
async handleSwitch() {
try {
await sanLanDrama.switchScene()
console.log('场景切换成功')
} catch (error) {
console.error('场景切换失败:', error)
}
},
async handleShakeDice() {
try {
await sanLanDrama.shakeDice()
console.log('短剧成功')
} catch (error) {
console.error('短剧失败:', error)
}
}
}
}
</script>
API文档
组件API
属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| gameUrl | String | '/static/js/index.js' | 游戏资源路径 |
| autoLoad | Boolean | true | 是否自动加载游戏 |
方法
| 方法名 | 参数 | 返回值 | 说明 |
|---|---|---|---|
| initLayaAir() | 无 | 无 | 初始化LayaAir引擎和游戏资源 |
| callGameMethod(method, params) | method: String 方法名 params: String 参数 |
Promise | 调用游戏中的方法,传递参数 |
| switchScene() | 无 | 无 | 触发游戏中的"切换"事件 |
| shakeDice() | 无 | 无 | 触发游戏中的"短剧"事件 |
| callNative(method, params) | method: String 方法名 params: Object 参数 |
Promise | 与原生插件通信 |
事件
| 事件名 | 说明 |
|---|---|
| initialized | LayaAir引擎初始化完成时触发 |
| error | 加载失败时触发 |
| switch | 切换场景时触发 |
| shake-dice | 短剧时触发 |
JS SDK API
方法
| 方法名 | 参数 | 返回值 | 说明 |
|---|---|---|---|
| init() | 无 | Promise | 初始化插件 |
| loadGame(url) | url: String 游戏资源路径 | Promise | 加载游戏 |
| callGameMethod(method, params) | method: String 方法名 params: String 参数 |
Promise | 调用游戏中的方法,传递参数 |
| switchScene() | 无 | Promise | 触发游戏中的"切换"事件 |
| shakeDice() | 无 | Promise | 触发游戏中的"短剧"事件 |
原生插件API
Android API
| 方法名 | 参数 | 返回值 | 说明 |
|---|---|---|---|
| init(Context context) | context: Context 上下文 | 无 | 初始化插件 |
| loadGame(String url, UniJSCallback callback) | url: String 游戏资源路径 callback: UniJSCallback 回调函数 |
无 | 加载游戏 |
| callGameMethod(String method, String params, UniJSCallback callback) | method: String 方法名 params: String 参数 callback: UniJSCallback 回调函数 |
无 | 调用游戏中的方法,传递参数 |
| switchScene(UniJSCallback callback) | callback: UniJSCallback 回调函数 | 无 | 触发游戏中的"切换"事件 |
| shakeDice(UniJSCallback callback) | callback: UniJSCallback 回调函数 | 无 | 触发游戏中的"短剧"事件 |
iOS API
| 方法名 | 参数 | 返回值 | 说明 |
|---|---|---|---|
| init:(NSDictionary *)options callback:(UniJSCallback)callback | options: NSDictionary 选项 callback: UniJSCallback 回调函数 |
无 | 初始化插件 |
| loadGame:(NSDictionary *)options callback:(UniJSCallback)callback | options: NSDictionary 选项,包含url字段 callback: UniJSCallback 回调函数 |
无 | 加载游戏 |
| callGameMethod:(NSDictionary *)options callback:(UniJSCallback)callback | options: NSDictionary 选项,包含method和params字段 callback: UniJSCallback 回调函数 |
无 | 调用游戏中的方法,传递参数 |
| switchScene:(NSDictionary *)options callback:(UniJSCallback)callback | options: NSDictionary 选项 callback: UniJSCallback 回调函数 |
无 | 触发游戏中的"切换"事件 |
| shakeDice:(NSDictionary *)options callback:(UniJSCallback)callback | options: NSDictionary 选项 callback: UniJSCallback 回调函数 |
无 | 触发游戏中的"短剧"事件 |
注意事项
- 资源路径:确保游戏资源路径正确,特别是在不同平台上的路径差异
- 权限配置:在Android平台上,需要确保应用具有网络访问权限
- 性能优化:游戏资源较大时,建议使用异步加载,避免阻塞UI线程
- 兼容性:插件支持uni-app 2.9.8及以上版本
- 调试建议:在开发过程中,可以开启控制台日志,方便调试和排查问题
常见问题
1. 游戏加载失败
问题:插件初始化成功,但游戏加载失败
解决方案:
- 检查游戏资源路径是否正确
- 确保网络连接正常
- 检查游戏资源是否完整
2. 原生方法调用失败
问题:在App环境中,原生方法调用失败
解决方案:
- 检查插件是否正确安装
- 确保应用具有所需权限
- 检查原生插件代码是否正确编译
3. Web环境中功能不可用
问题:在Web环境中,某些功能不可用
解决方案:
- Web环境中使用的是模拟实现,部分功能可能与原生环境有所差异
- 建议在实际设备上测试完整功能
版本说明
v1.0.0
- 初始版本
- 支持游戏初始化、加载、方法调用、场景切换和短剧等功能
- 支持Android、iOS和Web平台
联系方式
如果您在使用过程中遇到问题,或者有任何建议和意见,欢迎联系我们:
- 邮箱:
- 微信:
- GitHub:
许可证
本插件采用MIT许可证,详见LICENSE文件。

收藏人数:
购买普通授权版(
试用
赞赏(0)
下载 0
赞赏 0
下载 11245327
赞赏 1856
赞赏
京公网安备:11010802035340号