作者 lihan
1 个管道 的构建 通过 耗费 1 秒

提供地址接口给前端

<?php
/**
* Created by PhpStorm.
* User: yhbr
* Date: 2018/10/13
* Time: 11:44
*/
namespace app\address\controller;
use cmf\controller\HomeBaseController;
use think\Db;
class PlaceController extends HomeBaseController
{
public function add()
{
$request = request();
if ($request->isAjax()) {
$post = $request->param();
$code = $post['code'];
$label = $post['label'];
$arr1 = explode(',', $code);
$post['province_id'] = $arr1[0];
$post['city_id'] = $arr1[1];
$post['county_id'] = $arr1[2];
$arr2 = explode(' ', $label);
$post['province'] = $arr2[0];
$post['city'] = $arr2[1];
$post['county'] = $arr2[2];
unset($post['code']);
unset($post['label']);
$post['uid'] = session('user.id');
if (Db::name('zj_user_place')->insert($post)) {
echo json_encode(['msg' => 'insert ok', 'code' => 20000]);
exit();
} else {
echo json_encode(['msg' => 'insert failed', 'code' => 40000]);
exit();
}
} else {
echo '
<strong>接口说明:POST 添加地址接口传值方式(把省市区的id用逗号隔开参数名叫code,省市区用空格隔开参数名叫label,其他不变)</strong><br/>
 name:收货人姓名<br/>
 mobile:电话<br/>
 code:省id,市id,区id<br/>
 label:省 市 区<br/>
 place:详细地址<br/>
';
}
}
public function edit()
{
$data = Db::name('zj_user_place')
->field('id,name,mobile,place,province_id,city_id,county_id,province,city,county')
->where(['id' => request()->param('id')])
->find();
if (request()->isAjax()) {
echo json_encode(['data' => $data]);
} else {
print_r($data);
}
}
public function editDo()
{
if (request()->isAjax()) {
$request = request();
$post = $request->param();
$code = $post['code'];
$label = $post['label'];
$arr1 = explode(',', $code);
$post['province_id'] = $arr1[0];
$post['city_id'] = $arr1[1];
$post['county_id'] = $arr1[2];
$arr2 = explode(' ', $label);
$post['province'] = $arr2[0];
$post['city'] = $arr2[1];
$post['county'] = $arr2[2];
unset($post['code']);
unset($post['label']);
$post['uid'] = session('user.id');
if (Db::name('zj_user_place')->update($post)) {
echo json_encode(['msg' => 'edit ok', 'code' => 20000]);
exit();
} else {
echo json_encode(['msg' => 'no changed', 'code' => 40000]);
exit();
}
} else {
echo '
<strong>接口说明:POST 更新地址接口传值方式(把省市区的id用逗号隔开参数名叫code,省市区用空格隔开参数名叫label,其他不变)</strong><br/>
 id:地址id<br/>
 name:收货人姓名<br/>
 mobile:电话<br/>
 code:省id,市id,区id<br/>
 label:省 市 区<br/>
 place:详细地址<br/>
';
}
}
public function del()
{
if (Db::name('zj_user_place')->delete(request()->param('id'))) {
echo json_encode(['msg' => 'del ok', 'code' => 20000]);
exit();
} else {
echo json_encode(['msg' => 'del failed', 'code' => 40000]);
exit();
}
}
public function setDefault()
{
if(request()->isAjax()) {
//默认is_sta=2;
Db::name('zj_user_place')->where(['uid' => session('user.id')])->update(['is_sta' => 1]);
if (Db::name('zj_user_place')->where(['id' => request()->param('id')])->update(['is_sta' => request()->param('is_sta')])) {
echo json_encode(['msg' => 'set def ok', 'code' => 20000]);
exit();
} else {
echo json_encode(['msg' => 'set def failed', 'code' => 40000]);
exit();
}
}else {
echo '
<strong>接口说明:POST 设置默认地址接口传值方式</strong><br/>
 id:地址id<br/>
 is_sta:2
';
}
}
}
\ No newline at end of file
... ...
... ... @@ -491,7 +491,6 @@
<!--</volist>-->
<!--</div>-->
<div class="haveplace" >
<div class="managerplace">
<volist name="address" id="vo">
... ... @@ -511,23 +510,22 @@
<div class="default">
<p class="iconfont icon-xuanzekuang xuan" ></p>
<p class="iconfont icon-xuanze-fangkuang" style="display:none"></p>
<p class="default_place">默认地址</p>
<p class="default_place" data-id="{$vo.id}">默认地址</p>
</div>
<div class="default_type">
<div class="edit">
<p class="iconfont icon-bianji"></p>
<p class="defauledi">编辑</p>
<p class="defauledi" data-id="{$vo.id}">编辑</p>
</div>
<div class="delect">
<p class="iconfont icon-shanchu"></p>
<p class="defaultdel">删除</p>
<p class="defaultdel" data-id="{$vo.id}">删除</p>
</div>
</div>
</div>
</div>
</volist>
</div>
<div class="addplace">新增收货地址</div>
</div>
</div>
... ... @@ -831,4 +829,22 @@
$(".deletewrapper").css("display","none")
})
</script>
<!--订单地址相关-->
<script>
$(".default_place").click(function () {
var id = $(this).attr('data-id');
})
$(".defaultedi").click(function () {
var id = $(this).attr('data-id');
})
$(".defaultdel").click(function () {
var id = $(this).attr('data-id');
})
</script>
</html>
... ...