【第二篇】使用RhaPHP开发微信应用之Config.php说明

第一篇已经说明参数作用说明,这一篇menu与config使用方法。使用上也是非常简单的,能够快速对应用插件配置建立表单。那么先看看一个完整Config.php代码:
return array(
'name' => '',
'addon' => '',
'desc' => '',
'version' => '1.0',
'author' => 'Geeson',
'logo' => 'logo.jpg',
'menu_show' => '1',
'entry_url' => '',
'admin_url' => '',
'install_sql' => '',
'upgrade_sql' => '',
'menu' => [//后台菜单列表
[
'name' => '菜单1',
'url' => '应用名称/控制器/方法',
'icon' => ''
],

[ 'name' => '菜单2',
'url' => '应用名称/控制器/方法',
'icon' => ''
],


],
'config' => array(
[
'name' => 'name',
'title' => '名称',
'type' => 'text',
'value' => '',
'placeholder' => '请输入关名称',
'tip' => '这里是提示,比喻:名称请填写真实性名',
],
[
'name' => 'select',
'title' => '四大城市',
'type' => 'select',
'value' => [
0 => [
'title' => '北京',
'value' => '1',
'selected' => '1'
],
1 => [
'title' => '上海',
'value' => '2',
'selected' => '0'
],
2 => [
'title' => '广州',
'value' => '3',
'selected' => '0'
]
,
3 => [
'title' => '深圳',
'value' => '4',
'selected' => '0'
]
],
'placeholder' => '',
'tip' => '你的城市',
],
[
'name' => 'likes',
'title' => '喜欢谁?',
'type' => 'checkbox',
'value' => [
0 => [
'name'=>'ldh',
'title' => '刘德华',
'value' => '0',
'checked' => '0'
],
1 => [
'name'=>'fbb',
'title' => '冰冰',
'value' => '1',
'checked' => '1'
],
2 => [
'name'=>'fj',
'title' => '凤姐',
'value' => '1',
'checked' => '1'
]
],
'placeholder' => '',
'tip' => '',
],
[
'name' => 'time',
'title' => '时间',
'type' => 'date',
'value' => '',
'placeholder' => '',
'tip' => '',
],
[
'name' => 'sex',
'title' => '性别',
'type' => 'radio',
'value' => [
0 => [
'title' => '男',
'value' => '0',
'checked' => '0'
],
1 => [
'title' => '女',
'value' => '1',
'checked' => '1'
]
],
'placeholder' => '',
'tip' => '如果你男与女都不是,系统认为你是条汉子。',
],
[
'name' => 'content',
'title' => '描述',
'type' => 'textarea',
'value' => '',
'placeholder' => '',
'tip' => '',
],
[
'name' => 'myFile',
'title' => '上传文件',
'type' => 'file',
'value' => '',
'placeholder' => '',
'tip' => '',
],
[
'name' => 'myImage',
'title' => '上传图片',
'type' => 'image',
'value' => '',
'placeholder' => '',
'tip' => '',
],
[
'name' => 'myImages',
'title' => '多图上传',
'type' => 'images',
'value' => '',
'placeholder' => '',
'tip' => '',
],

)
);
我们平时开发常用的,RhaPHP都已经集合好了。后台菜单相信大家一看就能懂,看看redPack中的menu
 'menu' => [
[
'name' => '红包记录',
'url' => 'redPack/Index/index',
'icon' => ''
],
],
进入红包应用后台,在后台的左侧就能看到这个菜单了,当然也是支持多个的。如下图:

QQ图片20171007145555.png

那么再看Config表单配置项:redPack为例:
'config' => array(
[
'name' => 'amount',//input 中的name值
'title' => '红包总额', //该input的名称
'type' => 'text',//input 类型
'value' => '0',// input 默认值
'placeholder' => '',
'tip' => '单位/元',
],
[
'name' => 'money',
'title' => '红包金额',
'type' => 'text',
'value' => '1',
'placeholder' => '',
'tip' => '领取红包份额,注意红包金额微信不能低于1蚊鸡(1元钱)。',
],
[
'name' => 'nick_name',
'title' => '提供方名',
'type' => 'text',
'value' => '',
'placeholder' => '',
'tip' => '列如:绮梦科技、 RhaPHP、冰冰工作室等等。',
],
[
'name' => 'send_name',
'title' => '红包发送者名',
'type' => 'text',
'value' => '',
'placeholder' => '',
'tip' => '例如:冰冰、努力就有希望、有钱的二狗子等等,字数尽量不要太多。',
],
[
'name' => 'wishing',
'title' => '红包祝福语',
'type' => 'text',
'value' => '',
'placeholder' => '',
'tip' => '例如:恭喜发财、早生贵子、早日分手、你想对领取红包的人说的话。',
],
[
'name' => 'reply_msg',
'title' => '成功回复',
'type' => 'text',
'value' => '红包发放成功,请你继续关注活动,后面福利多多!',
'placeholder' => '',
'tip' => '红包发送成功,回复的消息内容。',
],
[
'name' => 'act_name',
'title' => '活动名称',
'type' => 'text',
'value' => '',
'placeholder' => '',
'tip' => '例如:五一假日活动、三周年庆、等等。',
],
[
'name' => 'start_time',
'title' => '开始时间',
'type' => 'date',
'value' => '',
'placeholder' => '',
'tip' => '',
],
[
'name' => 'end_time',
'title' => '结束时间',
'type' => 'date',
'value' => '',
'placeholder' => '',
'tip' => '',
],
[
'name' => 'number_of_times',
'title' => '领取次数',
'type' => 'text',
'value' => '1',
'placeholder' => '',
'tip' => '每人领取红包次数,默认1次',
],
),
那么进入应用后,在后台左侧看到,如下图:

5B10F604-CF2C-403E-BC22-ADCDD0154E15.png



提交表单,系统自动保存参数配置表单的值。不需要开发者写增删改查代码的。

重要的话要来了!重要的话要来了!重要的话要来了!
如果此应用已经安装后,你修改Config.php,请卸载应用重新安装才会生效。因为每一个应用可以对应多个公众号的。所有配置项需入库。
如何在应用中获取配置参数?以redPack为例:

QQ图片20171007151443.png

对就是它,getAddonInfo()函数。一般不需要传参数系统自动处理获取到当前公众号的应用的配置参数。
可以dump下可以看到参数。
如何传参?请看代码:
/**
* 获取应用配置信息
* @author geeson myrhzq@qq.com
* $param $addonName string //当前应用名称
* @param string $mid //公众号标识 ID
* @return array|bool|mixed
*/
function getAddonInfo($addonName = '', $mid = '')
{
if ($addonName == '' || $mid == '') {
$addonName = session('addonName');
$mid = session('mid')?session('mid'):input('mid');
}
if ($addonName == '' || $mid == '') {
exit('参数不完整:应用名称或者公众号标识不存在');
}
$addon = \think\Db::name('addons')->where(['addon' => $addonName])->find();
$addonInfo = \think\Db::name('addon_info')->where(['addon' => $addonName, 'mpid' => input('mid')])->find();
$addon['path'] = ADDON_PATH . $addonName . '/';
$addon['mp_config'] = json_decode($addonInfo['infos'], true);
$addon['common_config'] = json_decode($addon['config'], true);
unset($addon['config']);
return $addon;

}


 
QQ图片20171007150529.png

0 个评论

要回复文章请先登录注册