fastadmin是基于thinkphp的后台开发框架,由于是第一次用,很多东西都是盲人摸象啊,官方文档又少,所以记录一下一些自己摸索了一些时间的操作
需求:用过的都知道,左边的添加,编辑等按钮是框架自动给我们生成好的,然后现在我想在这里增加一个“设备注册”的按钮,该怎么实现呢
由于这个按钮是我们自己添加的,所以我们要给它写一个事件
//设备注册
$(document).on("click",".btn-register",function(){
Layer.open({
content: Template("register", {}),
yes:function (index,layero) {
Fast.api.ajax({
url: 'devicemanager/device_detail_manager/register',
dataType: 'jsonp',
data: {udid: $("#udid", layero).val(), _method: 'GET'}
}, function (data, ret) {
Layer.closeAll();
Layer.alert(ret.msg);
});
}
});
});
这里的content就是点击之后会弹出一个窗口,Template是模板名字,这个等一会要在view层中写的,这里面的url就是controller层的定义的方法,还需要在这个js文件最开始定义一下template这个变量
定义一个template,这里的Config里面是view层的文件夹名
define(['jquery', 'bootstrap', 'backend', 'table', 'form','template'], function ($, undefined, Backend, Table, Form,Template) {
Template.helper("Moment", Moment);
Template.helper("addons", Config['device_detail_manager']);
var table = $("#table");
然后我们进去到view层,添加一个id和上面的content对应的script,这样你点击按钮就会弹出你写这个窗口
<script id="register" type="text/html">
<div>
<form class="form-horizontal">
<fieldset>
<div class="form-group">
<label for="inputAccount" class="col-lg-3 control-label">{:__('udid')}</label>
<div class="col-lg-9">
<input type="text" class="form-control" id="udid" value="" placeholder="{:__('Your Register Udid')}">
</div>
</div>
</fieldset>
</form>
</div>
</script>
最后呢去到model层,添加register这个方法,这样就大功告成了
public function register($ids=NULL) {
$request = $this->request()->get();
if ($request) {
$udid = $request['udid'];
if ($this->model->registerUdid($udid)) {
$this->success();
} else {
$this->error();
}
}
}