Merge branch 'v5.0.0dev' into v5.1.0dev

This commit is contained in:
evoxwht 2023-06-01 09:29:21 +08:00
commit dae04d81e6
14 changed files with 71 additions and 52 deletions

View File

@ -33,7 +33,7 @@ class Request extends \think\Request
* 不过滤变量名
* @var array
*/
protected $except = ['menu_path', 'api_url', 'unique_auth', 'description', 'custom_form', 'content'];
protected $except = ['menu_path', 'api_url', 'unique_auth', 'description', 'custom_form', 'content', 'tableField'];
/**
* 获取请求的数据

View File

@ -111,7 +111,7 @@ class SystemMenus extends AuthController
['is_show', 0],
['is_show_path', 0],
]);
$data['is_show_path'] = $data['is_show'];
if (!$data['menu_name'])
return app('json')->fail(400198);
$data['path'] = implode('/', $data['path']);

View File

@ -682,10 +682,10 @@ if (!function_exists('get_file_link')) {
if (!$link) {
return '';
}
if (strstr('http', $link) === false) {
return app()->request->domain() . $link;
} else {
if (substr($link, 0, 4) === "http" || substr($link, 0, 2) === "//") {
return $link;
} else {
return app()->request->domain() . $link;
}
}
}

View File

@ -139,21 +139,17 @@ class UserSignServices extends BaseServices
if (!$user) {
throw new ApiException(410032);
}
if ($this->getIsSign($uid, 'today')) {
throw new ApiException(410293);
}
// if ($this->getIsSign($uid, 'today')) {
// throw new ApiException(410293);
// }
$sign_num = 0;
$user_sign_num = $user['sign_num'];
//检测昨天是否签到
if ($this->getIsSign($uid, 'yesterday')) {
if ($user->sign_num > (count($sign_list) - 1)) {
$user->sign_num = 0;
}
} else {
$user->sign_num = 0;
}
// if (!$this->getIsSign($uid, 'yesterday')) {
// $user->sign_num = 0;
// }
foreach ($sign_list as $key => $item) {
if ($key == $user->sign_num) {
if ($key == $user->sign_num || ($user->sign_num > 6 && $key == 6)) {
$sign_num = $item['sign_num'];
break;
}

View File

@ -9,6 +9,16 @@
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
return [
// 系统程序接收到发送过来的消息,通过此端口推送给对应的客户或者客服,以及后台新订单弹窗提醒
'channel' => [
//内部通讯监听端口
'port' => 40003,
//内部通讯地址
'ip' => '127.0.0.1',
],
// notice 新订单和新退款单发送消息给程序,后台的消息通知
'admin' => [
//协议
'protocol' => 'websocket',
@ -20,6 +30,7 @@ return [
'serverCount' => 1,
],
// msg 客户或者客服发送消息给程序,客服消息通知
'chat' => [
//协议
'protocol' => 'websocket',
@ -30,12 +41,4 @@ return [
//设置当前Worker实例启动多少个进程
'serverCount' => 1,
],
'channel' => [
//内部通讯监听端口
'port' => 40003,
//内部通讯地址
'ip' => '127.0.0.1',
],
];

View File

@ -25,9 +25,9 @@
<!--<Input type="password" v-model="formInline.password" prefix="ios-lock-outline"-->
<!--placeholder="请确认短信平台密码/token" />-->
<!--</FormItem>-->
<FormItem prop="url" class="maxInpt">
<Input type="text" v-model="formInline.url" prefix="ios-contact-outline" placeholder="请输入网址域名" />
</FormItem>
<!-- <FormItem prop="url" class="maxInpt"> -->
<!-- <Input type="text" v-model="formInline.url" prefix="ios-contact-outline" placeholder="请输入网址域名" /> -->
<!-- </FormItem> -->
<!--<FormItem prop="sign">-->
<!--<Input type="text" v-model="formInline.sign" prefix="ios-contact-outline"-->
<!--placeholder="请输入短信签名,例如:CRMEB" />-->
@ -81,7 +81,7 @@ export default {
ruleInline: {
account: [{ required: true, message: '请输入短信平台账号', trigger: 'blur' }],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
url: [{ required: true, message: '请输入网址域名', trigger: 'blur' }],
// url: [{ required: true, message: '请输入网址域名', trigger: 'blur' }],
phone: [{ required: true, validator: validatePhone, trigger: 'blur' }],
sign: [{ required: true, message: '请输入短信签名', trigger: 'blur' }],
verify_code: [{ required: true, message: '请输入验证码', trigger: 'blur' }],

View File

@ -48,8 +48,8 @@
<Col
span="12"
class="fontColor3 mb10"
v-if="parseFloat(orderDatalist.orderInfo.refund_price) && orderDatalist.orderInfo.refund_type != 3"
>退款金额:{{ parseFloat(orderDatalist.orderInfo.refund_price) }}</Col
v-if="parseFloat(orderDatalist.orderInfo.refunded_price) && orderDatalist.orderInfo.refund_type != 3"
>退款金额:{{ parseFloat(orderDatalist.orderInfo.refunded_price) }}</Col
>
<Col span="12" class="fontColor3 mb10" v-if="parseFloat(orderDatalist.orderInfo.use_integral)"
>使用积分:{{ parseFloat(orderDatalist.orderInfo.use_integral) }}</Col

View File

@ -47,12 +47,19 @@
</Input>
</FormItem>
</Col>
<Col v-bind="grid" v-if="authType == 2">
<FormItem label="请求方式:" prop="methods">
<Select v-model="formValidate.methods">
<Option value="GET">GET</Option>
<Option value="POST">POST</Option>
<Option value="PUT">PUT</Option>
<Option value="DELETE">DELETE</Option>
</Select>
</FormItem>
</Col>
<Col v-bind="grid" v-if="authType == 2">
<FormItem label="接口地址:" prop="api_url">
<Input v-model="formValidate.api_url" placeholder="请输入接口地址" @on-change="changeUnique">
<template #prepend>
<span>adminapi/</span>
</template>
</Input>
</FormItem>
</Col>
@ -369,10 +376,13 @@ export default {
datas: this.formValidate,
};
if (!this.formValidate.menu_name) {
return this.$Message.warning('请填写按钮名称');
return this.$Message.warning('请填写菜单/按钮/接口名称');
}
if (!this.formValidate.menu_path) {
return this.$Message.warning('请填写路由地址');
if (!this.formValidate.menu_path && this.authType != 2) {
return this.$Message.warning('请填写页面地址');
}
if (!this.formValidate.api_url && this.authType == 2) {
return this.$Message.warning('请填写接口地址');
}
this.valids = true;
addMenusApi(data)

View File

@ -71,10 +71,10 @@
<span>
<a @click="addRoute(row)" v-if="row.auth_type === 1 || row.auth_type === 3">选择权限</a>
<Divider type="vertical" v-if="row.auth_type === 1 || row.auth_type === 3"/>
<a @click="addE(row, '添加子菜单')" v-if="row.auth_type === 1">添加下级</a>
<a @click="addE(row, '添加子菜单')" v-if="row.auth_type === 1 || row.auth_type === 3">添加下级</a>
<!-- <a @click="addE(row, '添加规则')" v-else>添加规则</a> -->
</span>
<Divider type="vertical" v-if="row.auth_type === 1" />
<Divider type="vertical" v-if="row.auth_type === 1 || row.auth_type === 3" />
<a @click="edit(row, '编辑')">编辑</a>
<Divider type="vertical" />
<a @click="del(row, '删除规则')">删除</a>

View File

@ -18,7 +18,7 @@
<Row type="flex">
<Col v-bind="grid">
<Button type="primary" icon="md-add" @click="addBatch" class="mr20">添加批次</Button>
<Button @click="getMemberScan">下载二维码</Button>
<Button @click="getMemberScan">卡密使用页面二维码</Button>
</Col>
</Row>
</Form>

View File

@ -42,7 +42,7 @@ const themeConfigModule = {
// 是否开启菜单水平折叠效果
isCollapse: false,
// 是否开启菜单手风琴效果
isUniqueOpened: false,
isUniqueOpened: true,
// 是否开启固定 Header
isFixedHeader: true,

View File

@ -2,9 +2,12 @@
<view class="goodsList">
<view class="item" v-for="(item,index) in tempArr" :key='index' @click="goDetail(item)">
<view class="pictrue">
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '1'">{{$t(`秒杀`)}}</span>
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '2'">{{$t(`砍价`)}}</span>
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '3'">{{$t(`拼团`)}}</span>
<span class="pictrue_log pictrue_log_class"
v-if="item.activity && item.activity.type === '1'">{{$t(`秒杀`)}}</span>
<span class="pictrue_log pictrue_log_class"
v-if="item.activity && item.activity.type === '2'">{{$t(`砍价`)}}</span>
<span class="pictrue_log pictrue_log_class"
v-if="item.activity && item.activity.type === '3'">{{$t(`拼团`)}}</span>
<image :src="item.recommend_image" mode="" v-if="item.recommend_image"></image>
<image :src="item.image" mode="" v-else></image>
</view>
@ -17,7 +20,8 @@
<view v-if="item.stock>0">
<view class="bnt"
v-if="(item.activity && (item.activity.type === '1' || item.activity.type === '2' || item.activity.type === '3') || item.is_virtual) || !item.cart_button">
{{$t(`立即购买`)}}</view>
{{$t(`立即购买`)}}
</view>
<view v-else>
<!-- 多规格 -->
<view class="bnt" @click.stop="goCartDuo(item)" v-if="item.spec_type">
@ -26,7 +30,8 @@
</view>
<!-- 单规格 -->
<view class="bnt" v-if="!item.spec_type && !item.cart_num" @click.stop="goCartDan(item,index)">
{{$t(`加入购物车`)}}</view>
{{$t(`加入购物车`)}}
</view>
<view class="cart acea-row row-middle" v-if="!item.spec_type && item.cart_num">
<view class="pictrue iconfont icon-jianhao" @click.stop="CartNumDes(index,item)"></view>
<view class="num">{{item.cart_num}}</view>
@ -98,15 +103,20 @@
margin-bottom: 63rpx;
.pictrue {
width: 100%;
height: 290rpx;
// width: 100%;
// height: 290rpx;
border-radius: 16rpx;
position: relative;
padding-top: 40%;
image {
border-radius: 10rpx;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 10rpx;
object-fit: cover;
}
}
@ -186,4 +196,4 @@
}
}
}
</style>
</style>

View File

@ -969,7 +969,7 @@
margin-bottom: 33rpx !important;
.pictrue {
height: 216rpx;
// height: 216rpx;
}
.text {

View File

@ -27,7 +27,7 @@
{{(item.day==$t(`第七天`) || item.day==$t(`第7天`))?$t(`奖励`):$t(item.day)}}
</view>
<view class='venus'
:class="(index + 1 === signSystemList.length ? 'reward' : '') + ' ' +(sign_index >= index + 1 ? 'venusSelect' : '')">
:class="(index + 1 === signSystemList.length ? 'venusSelect' : '') + ' ' +(sign_index >= index + 1 ? 'venusSelect' : '')">
</view>
<view class='num' :class="sign_index >= index + 1 ? 'on' : ''">+{{item.sign_num}}</view>
</view>