This commit is contained in:
2026-04-25 15:14:22 +08:00
parent 6aca41d70e
commit 0124730063
9 changed files with 83 additions and 269 deletions

View File

@@ -1 +1 @@
VUE_APP_BASE_URL='http://154.12.94.229:8080/'
VUE_APP_BASE_URL='http://156.238.240.18:8081/'

View File

@@ -3,7 +3,7 @@
//const DEV_BASE_URL = "ws://1.92.85.51:8080";
const DEV_BASE_URL = "ws://127.0.0.1:8081";
const DEV_BASE_URL = "ws://156.238.240.18:8081";
export default {
BASE_API: DEV_BASE_URL,
};

View File

@@ -23,7 +23,7 @@ const reqAxios = axios.create({
//baseURL:'http://1.92.85.51:8080',
// baseURL:'http://3.92.67.237:8080',
baseURL:'http://127.0.0.1:8081/',
baseURL:'http://156.238.240.18:8081/',
// baseURL: "http://beecsgo.com/prod-api/",
// baseURL: "http://www.f2cs2.com/prod-api/",
@@ -95,11 +95,14 @@ reqAxios.interceptors.response.use(
// console.log('response',res)
vue.$hide();
if (res.data.code == 401) {
Message({
message: "登录已过期,请重新登陆",
type: "warning",
customClass: "log_warning",
});
const token = getToken();
if (token) {
Message({
message: "登录已过期,请重新登陆",
type: "warning",
customClass: "log_warning",
});
}
removeToken();
store.commit("LOGIN_IS_SHOW", true);
store.commit("ADVERT_IS_SHOW", true);
@@ -134,14 +137,17 @@ reqAxios.interceptors.response.use(
});
}
if (err.response.status == 401) {
const token = getToken();
if (token) {
Message({
message: "登录过期,请重新登陆",
type: "warning",
customClass: "log_warning",
});
}
removeToken();
store.commit("LOGIN_IS_SHOW", true);
store.commit("ADVERT_IS_SHOW", true);
Message({
message: "登录过期,请重新登陆",
type: "warning",
customClass: "log_warning",
});
}
}
);

View File

@@ -1,9 +1,9 @@
# 页面标题
VUE_APP_TITLE = WildCS2
VUE_APP_TITLE = 后台管理系统
# 生产环境配置
ENV = 'production'
# skins管理系统/生产环境
# VUE_APP_BASE_API = 'http://8.160.181.6:8081'
VUE_APP_BASE_API = 'https://hou.wildcs2.com'
VUE_APP_BASE_API = 'http://156.238.240.18:8081'

View File

@@ -20,7 +20,7 @@ export function getOrnaments(id) {
// 新增饰品数据
export function addOrnaments(data) {
return request({
url: '/admin/ornaments',
url: '/admin/ornaments/addTtOrnament',
method: 'post',
data: data
})
@@ -37,8 +37,8 @@ export function grantOrnaments(data,userId,ornamentsId,num) {
// 修改饰品数据
export function updateOrnaments(data) {
return request({
url: '/admin/ornaments',
method: 'put',
url: '/admin/ornaments/editTtOrnament',
method: 'post',
data: data
})
}

View File

@@ -14,26 +14,6 @@
<el-form-item label="饰品名称">
<el-input v-model="queryParams.itemName" placeholder="请输入饰品名称" clearable></el-input>
</el-form-item>
<el-form-item label="外观">
<el-select v-model="queryParams.exterior" placeholder="请选择" clearable>
<el-option
v-for="dict in dict.type.ornaments_exterior_name"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="类型">
<el-select v-model="queryParams.type" placeholder="请选择" clearable>
<el-option
v-for="dict in dict.type.ornaments_type_name"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="价格区间 ">
<div style="width: 50%; display:flex;">
<el-input v-model="queryParams.minPrice" placeholder="最小值" clearable></el-input>
@@ -48,6 +28,15 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增饰品</el-button>
</el-col>
<el-col :span="1.5">
<el-button
v-hasPermi="['admin:ornaments:export']"
@@ -64,37 +53,17 @@
<el-table v-loading="loading" :data="ornamentsList" @selection-change="handleSelectionChange">
<el-table-column align="center" type="selection" width="55" />
<el-table-column align="center" label="饰品ID" prop="id" width="100" />
<el-table-column align="center" label="饰品名称" prop="name" width="300" />
<el-table-column align="center" label="外观名称" prop="exteriorName">
<template slot-scope="scope">{{ scope.row.exteriorName || '无涂装' }}</template>
</el-table-column>
<el-table-column align="center" label="稀有度">
<template slot-scope="scope">
<el-tag :color="scope.row.rarityColor" style="color: #fff;">{{ scope.row.rarityName }}</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="封面">
<el-table-column align="center" label="饰品名称" prop="name" width="250" />
<el-table-column align="center" label="图片" prop="imageUrl" width="80">
<template slot-scope="scope">
<image-preview :src="scope.row.imageUrl" :width="50" :height="50" />
</template>
</el-table-column>
<el-table-column align="center" label="类型">
<template slot-scope="scope">
<el-tag>{{ scope.row.typeName }}</el-tag>
</template>
</el-table-column>
<el-table-column align="center" label="本站价格" prop="usePrice" />
<el-table-column align="center" label="在售数量" prop="quantity" />
<el-table-column align="center" label="更新时间" prop="updateTime" />
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<el-table-column align="center" label="操作" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
icon="el-icon-date"
size="mini"
type="text"
@click="handleGrant(scope.row)"
>发放饰品</el-button>
<el-button icon="el-icon-date" size="mini" type="text" @click="handleDetail(scope.row)">详情</el-button>
<el-button size="mini" type="text" @click="handleUpdate(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
@@ -184,60 +153,24 @@
</el-dialog>
<!-- 添加或修改饰品数据对话框 -->
<el-dialog :title="title" :visible.sync="open" append-to-body width="500px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="饰品名称" prop="itemName">
<el-input v-model="form.itemName" placeholder="请输入饰品名称" />
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="饰品图片URL" prop="imageUrl">
<el-input v-model="form.imageUrl" placeholder="请输入图片地址" />
</el-form-item>
<el-form-item label="本网站使用价格" prop="usePrice">
<el-input v-model="form.usePrice" placeholder="请输入本网站使用价格" />
<el-form-item label="饰品名称" prop="name">
<el-input v-model="form.name" placeholder="请输入饰品名称" />
</el-form-item>
<el-form-item label="饰品图片地址" prop="imageUrl">
<el-input v-model="form.imageUrl" placeholder="请输入饰品图片地址" />
<el-form-item label="本站价格" prop="usePrice">
<el-input v-model="form.usePrice" placeholder="请输入价格" />
</el-form-item>
<el-form-item label="饰品唯一名称英文" prop="marketHashName">
<el-input v-model="form.marketHashName" placeholder="请输入饰品唯一名称英文" />
</el-form-item>
<el-form-item label="ZBT官网饰品id" prop="itemId">
<el-input v-model="form.itemId" placeholder="请输入ZBT官网饰品id" />
</el-form-item>
<el-form-item label="在售最低价" prop="price">
<el-input v-model="form.price" placeholder="请输入在售最低价" />
</el-form-item>
<el-form-item label="短名称,去掉前缀" prop="shortName">
<el-input v-model="form.shortName" placeholder="请输入短名称,去掉前缀" />
</el-form-item>
<el-form-item label="steam类型中文" prop="typeName">
<el-input v-model="form.typeName" placeholder="请输入steam类型中文" />
</el-form-item>
<el-form-item label="品质" prop="quality">
<el-input v-model="form.quality" placeholder="请输入品质" />
</el-form-item>
<el-form-item label="品质名称" prop="qualityName">
<el-input v-model="form.qualityName" placeholder="请输入品质名称" />
</el-form-item>
<el-form-item label="品质颜色" prop="qualityColor">
<el-input v-model="form.qualityColor" placeholder="请输入品质颜色" />
</el-form-item>
<el-form-item label="稀有度" prop="rarity">
<el-input v-model="form.rarity" placeholder="请输入稀有度" />
</el-form-item>
<el-form-item label="稀有度名称" prop="rarityName">
<el-input v-model="form.rarityName" placeholder="请输入稀有度名称" />
</el-form-item>
<el-form-item label="稀有度颜色" prop="rarityColor">
<el-input v-model="form.rarityColor" placeholder="请输入稀有度颜色" />
</el-form-item>
<el-form-item label="外观" prop="exterior">
<el-input v-model="form.exterior" placeholder="请输入外观" />
</el-form-item>
<el-form-item label="外观名称" prop="exteriorName">
<el-input v-model="form.exteriorName" placeholder="请输入外观名称" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入内容" type="textarea" />
</el-form-item>
<el-form-item label="商城是否上架" prop="isPutaway">
<el-input v-model="form.isPutaway" placeholder="请输入商城是否上架" />
<el-form-item label="更新时间" prop="updateTime">
<el-date-picker
v-model="form.updateTime"
type="datetime"
placeholder="选择更新时间"
value-format="yyyy-MM-dd HH:mm:ss"
style="width:100%"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -246,7 +179,7 @@
</div>
</el-dialog>
<el-dialog :title="Detialtitle" :visible.sync="isDetia">
<el-form ref="form" :model="formDetial" :rules="rules" label-width="150px">
<el-form ref="formDetialRef" :model="formDetial" :rules="rules" label-width="150px">
<el-form-item label="饰品图片" prop="imageUrl">
<image-preview :src="formDetial.imageUrl" :width="100" :height="100" />
</el-form-item>
@@ -538,39 +471,13 @@ export default {
},
// 表单重置
reset() {
this.queryParams.id = "";
this.queryParams.itemName = "";
this.queryParams.isPutaway = "";
this.queryParams.exterior = "";
this.queryParams.maxPrice = "";
this.queryParams.minPrice = "";
this.queryParams.type = "";
this.getList();
this.form = {
id: null,
itemName: null,
name: null,
usePrice: null,
imageUrl: null,
marketHashName: null,
itemId: null,
price: null,
shortName: null,
type: null,
typeName: null,
quality: null,
qualityName: null,
qualityColor: null,
rarity: null,
rarityName: null,
rarityColor: null,
exterior: null,
exteriorName: null,
createTime: null,
updateTime: null,
remark: null,
isPutaway: null
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
@@ -619,12 +526,16 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getOrnaments(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改饰品数据";
});
this.form = {
id: row.id,
marketHashName: row.marketHashName,
name: row.name,
usePrice: row.usePrice,
imageUrl: row.imageUrl,
updateTime: row.updateTime
};
this.open = true;
this.title = "修改饰品数据";
},
/** 提交按钮 */
submitForm() {

View File

@@ -81,8 +81,6 @@
<el-table-column align="center" prop="rollPassword" label="密码" width="80"></el-table-column>
<el-table-column align="center" prop="peopleNum" label="可参与人数" width="123"></el-table-column>
<el-table-column align="center" prop="endTime" label="开奖时间" width="188"></el-table-column>
<el-table-column align="center" prop="rechargeStartTime" label="计算充值起始日期" width="188"></el-table-column>
<el-table-column align="center" prop="minRecharge" label="充值X币" width="103"></el-table-column>
<el-table-column align="center" prop="rollStatus" label="状态" width="103">
<template slot-scope="scope">
<div

View File

@@ -24,16 +24,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户类型" prop="userType">
<el-select v-model="queryParams.userType" placeholder="请选择用户类型" clearable>
<el-option
v-for="dict in dict.type.user_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="手机号码" prop="phoneNumber">
<el-input
v-model="queryParams.phoneNumber"
@@ -42,32 +32,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择用户状态" clearable>
<el-option
v-for="dict in dict.type.user_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="邀请码" prop="invitationCode">
<el-input
v-model="queryParams.invitationCode"
placeholder="请输入邀请码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="上级ID" prop="parentId">
<el-input
v-model="queryParams.parentId"
placeholder="请输入上级ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -107,14 +71,6 @@
v-hasPermi="['admin:user:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
icon="el-icon-circle-plus-outline"
type="success"
size="mini"
@click="addNewUser = true"
>生成招商账号</el-button>
</el-col>
<el-col :span="1.5">
<el-button
icon="el-icon-circle-plus-outline"
@@ -136,87 +92,12 @@
</template>
</el-table-column>
<el-table-column label="手机号码" align="center" prop="phoneNumber" />
<el-table-column label="上级" align="center" prop="parentId" />
<el-table-column label="邀请码" align="center" prop="invitationCode" />
<el-table-column label="用户类型" align="center" prop="userType">
<template slot-scope="scope">
<dict-tag :options="dict.type.user_type" :value="scope.row.userType" />
</template>
</el-table-column>
<el-table-column label="账户金额" align="center" prop="accountAmount" />
<el-table-column label="账户积分" align="center" prop="accountCredits" />
<el-table-column label="帐号状态" align="center" prop="status" class="kg">
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
:active-value="'1'"
:inactive-value="'0'"
active-color="#D9534F"
inactive-color="#5CB85C"
active-text="正常"
inactive-text="停用"
@change="updateUserStatus(scope.row)"
></el-switch>
</template>
</el-table-column>
<el-table-column label="提货状态" align="center" prop="deliveryStatus" class="kg">
<template slot-scope="scope">
<el-switch
v-model="scope.row.deliveryStatus"
:active-value="'1'"
:inactive-value="'0'"
active-color="#D9534F"
inactive-color="#5CB85C"
active-text="启用"
inactive-text="禁用"
@change="updateUserStatus(scope.row)"
></el-switch>
</template>
</el-table-column>
<el-table-column label="推广等级" align="center" prop="promotionLevel">
<template slot-scope="scope">LV{{scope.row.promotionLevel }}</template>
</el-table-column>
<el-table-column label="VIP等级" align="center" prop="vipLevel">
<template slot-scope="scope">VIP{{scope.row.vipLevel }}</template>
</el-table-column>
<el-table-column label="最后登录IP" align="center" prop="loginIp" />
<el-table-column label="最后登录时间" align="center" prop="loginDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.loginDate, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="备注" align="center" prop="remark" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="handleCount(scope.row)">统计</el-button>
<el-button size="mini" type="text" @click="handlePsack(scope.row)">背包</el-button>
<el-dropdown size="mini">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-hasPermi="['admin:user:edit']"
@click.native="handleUpdate(scope.row)"
>修改</el-dropdown-item>
<el-dropdown-item
v-hasPermi="['admin:user:remove']"
@click.native="handleView(scope.row)"
>详情</el-dropdown-item>
<el-dropdown-item
v-hasPermi="['admin:user:edit']"
@click.native="handleResetBalance(scope.row)"
>重置余额积分</el-dropdown-item>
<el-dropdown-item
v-hasPermi="['admin:user:remove']"
@click.native="handleDelete(scope.row)"
>删除</el-dropdown-item>
<el-dropdown-item
v-hasPermi="['admin:user:remove']"
@click.native="handleForceDelete(scope.row)" style="color: #F56C6C;"
>真删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!-- 生成账号 -->
<el-dialog title="新增招商用户" :visible.sync="addNewUser" width="600px">

View File

@@ -65,6 +65,24 @@ public class TtOrnamentsController extends BaseController {
return ornamentsService.grantOrnaments(userId, ornamentsId, ornamentsLevelId, num);
}
@ApiOperation("新增饰品")
@PostMapping("/addTtOrnament")
public AjaxResult add(@RequestBody TtOrnament ttOrnament) {
if (ttOrnament.getId() == null) {
ttOrnament.setId(System.currentTimeMillis());
}
if (ttOrnament.getMarketHashName() == null){
ttOrnament.setMarketHashName(String.valueOf(System.currentTimeMillis()));
}
return toAjax(ornamentsService.save(ttOrnament));
}
@ApiOperation("修改饰品")
@PostMapping("/editTtOrnament")
public AjaxResult edit(@RequestBody TtOrnament ttOrnament) {
return toAjax(ornamentsService.updateById(ttOrnament));
}
@PutMapping("/updateOrnamentPrice")
public AjaxResult updateOrnamentPrice(@RequestBody TtOrnamentsPrice ttOrnamentsPrice) {
return ornamentsService.updateOrnamentPrice(ttOrnamentsPrice.getId(), ttOrnamentsPrice.getPrice());