- 🏠 简介
- 🔌 api接口
-
🔧 插件开发
- 介绍
- 插件优势
- 新建插件
- 技术栈
- 插件开发规范
- 插件目录结构
- model 层开发
- service 层开发
- api 接口开发
- menu 菜单开发
-
event 事件钩子开发
- 开发指南
- 常用事件
- SiteInit 站点初始化事件
- AddSiteAfter 站点创建后事件
- MemberRegister 会员注册后事件
- MemberLogin 会员登录后事件
- PayCreate 支付创建事件
- PaySuccess 支付成功事件
- RefundSuccess 退款成功事件
- TransferSuccess 转账成功事件
- BottomNavigation 底部导航事件
- NoticeData 消息模板数据内容事件
- GetQrcodeOfChannel 创建二维码事件
- ExportDataType 导出数据类型事件
- ExportData 导出数据源事件
- GetPosterType 海报类型事件
- GetPosterData 海报数据事件
- ShowCustomer 应用管理加载事件
- GetWechatTransferTradeScene 微信支付转账场景事件
- ThemeColor 主题风格事件
- initWap 手机端初始化加载事件
- dict 数据字典开发
- layout 自定义布局开发
- job 消息队列和计划任务开发
- notice 消息发送开发
- printer 小票打印模板开发
- export 数据导出开发
- diy 自定义组件/页面装修开发
- diy 自定义表单组件开发
- poster 自定义海报开发
- icon 引入图标
- 支付方式开发
- upgrade 插件版本升级
- 打包插件
- 授权信息变更回调通知
- 官网上架
- 📝 二次开发须知
- 👨💻 二次开发指导
-
🎬 二次开发应用插件视频教程
- 二次开发安装视频教程
- 准备工作与创建插件
- 插件目录整体说明
- 插件admin目录
- 插件app目录说明(adminapi、api、验证器)
- 插件app目录(dict、job)
- 插件app目录说明(lang、listener)
- 插件app目录说明(model、service)
- 插件uniapp目录说明
- 插件开发之后台功能开发(代码生成器)
- 插件开发之uniapp功能开发(api)第一节
- 插件开发之uniapp功能开发(api)第二节
- 插件开发之uniapp功能开发(api)第三节
- 插件安装与打包原理
- 消息队列开发
- 计划任务开发
- DIY组件和自定义页面装修开发
- 支付接口开发
- 插件升级包打包流程以及云编译功能
海报模板开发
开发自定义海报模板
定义海报模板文件位置:niucloud/addon/shop/app/dict/poster/template.php
文件名称必须对应,框架会寻找所有插件下的这个文件,进行加载

template.php 海报模板开发
每种海报类型可以定义N个海报模板,效果图如下
文件位置:shop/app/dict/poster/template.php
代码说明
<?php
return [
[
"name" => "海报模板", // 海报模板名称
'type' => 'my_poster', // 海报类型
"data" => [
// todo 自定义海报数据结构
]
],
];
维护海报模板时,根据美工设计的原型图,先装修出来
然后打开数据库,找到 sys_poster 数据表 中找到那条数据
格式化一下 value的值,可以看到自定义海报的数据结构
将 value 转换成 php的格式,放到 data中即可
关键代码:
<?php
return [
[
"name" => "找朋友帮忙付模板", // 海报模板名称
'type' => 'friendspay', // 海报类型
"data" => [
"global" => [
"width" => 720,
"height" => 1280,
"bgType" => "url",
"bgColor" => "#ffffff",
"bgUrl" => "static/resource//markdown/niucloud-admin-saas/images/pay/friendspay_bg.jpg"
],
"value" => [
[
"type" => "text",
"path" => "text",
"uses" => 0,
"relate" => "",
"value" => "您的帮付金额",
"id" => "wgvspr9fafk",
"componentName" => "Text",
"componentTitle" => "文本",
"width" => 518,
"height" => 48,
"minWidth" => 120,
"minHeight" => 44,
"x" => "center",
"y" => 759,
"angle" => 0,
"zIndex" => 8,
"fontFamily" => "static/font/PingFang-Medium.ttf",
"fontSize" => 24,
"weight" => false,
"lineHeight" => 20,
"fontColor" => "#333333"
],
[
"type" => "text",
"path" => "friendspay-money",
"uses" => 1,
"relate" => "friendspay_money",
"value" => "¥369.00",
"id" => "2waud25nthq0",
"componentName" => "FriendsPayMoney",
"componentTitle" => "帮付金额",
"width" => 518,
"height" => 58,
"minWidth" => 120,
"minHeight" => 44,
"x" => "center",
"y" => 694,
"angle" => 0,
"zIndex" => 9,
"fontFamily" => "static/font/price.ttf",
"fontSize" => 56,
"weight" => false,
"lineHeight" => 10,
"fontColor" => "#FF4142"
],
[
"type" => "text",
"path" => "text",
"uses" => 0,
"relate" => "",
"value" => "长按识别二维码,帮我付款",
"id" => "639vjo8ebo40",
"componentName" => "Text",
"componentTitle" => "文本",
"width" => 518,
"height" => 59,
"minWidth" => 120,
"minHeight" => 44,
"x" => "center",
"y" => 1097,
"angle" => 0,
"zIndex" => 10,
"fontFamily" => "static/font/PingFang-Medium.ttf",
"fontSize" => 26,
"weight" => false,
"lineHeight" => 26,
"fontColor" => "#333333"
],
[
"type" => "text",
"path" => "friendspay-message",
"uses" => 1,
"relate" => "friendspay_message",
"value" => "帮我付一下这笔订单吧,谢谢啦~",
"id" => "5oyikcgoylo0",
"componentName" => "FriendsPayMessage",
"componentTitle" => "帮付留言",
"width" => 600,
"height" => 48,
"minWidth" => 120,
"minHeight" => 44,
"x" => "center",
"y" => 570,
"angle" => 0,
"zIndex" => 4,
"fontFamily" => "static/font/PingFang-Medium.ttf",
"fontSize" => 26,
"weight" => false,
"lineHeight" => 10,
"fontColor" => "#666666"
],
[
"type" => "qrcode",
"path" => "qrcode",
"uses" => 1,
"relate" => "url",
"value" => "",
"id" => "3m6szk6d98m0",
"componentName" => "Qrcode",
"componentTitle" => "二维码",
"width" => 214,
"height" => 214,
"minWidth" => 60,
"minHeight" => 60,
"x" => 254,
"y" => 844,
"angle" => 0,
"zIndex" => 8
],
[
"type" => "text",
"path" => "nickname",
"uses" => 1,
"relate" => "nickname",
"value" => "",
"id" => "31wsjudfc7m0",
"componentName" => "NickName",
"componentTitle" => "昵称",
"width" => 600,
"height" => 40,
"minWidth" => 120,
"minHeight" => 50,
"x" => "center",
"y" => 512,
"angle" => 0,
"zIndex" => 6,
"fontFamily" => "static/font/PingFang-Medium.ttf",
"fontSize" => 30,
"weight" => false,
"lineHeight" => 10,
"fontColor" => "#303133"
],
[
"type" => "image",
"path" => "headimg",
"uses" => 1,
"relate" => "headimg",
"value" => "",
"id" => "5asgzwz9f5s0",
"componentName" => "HeadImg",
"componentTitle" => "头像",
"width" => 149,
"height" => 149,
"minWidth" => 60,
"minHeight" => 60,
"x" => 286,
"y" => 344,
"angle" => 0,
"zIndex" => 7,
"shape" => "circle"
]
]
]
],
];