Initial commit: 小众厨房项目代码

Co-authored-by: Cursor <cursoragent@cursor.com>
这个提交包含在:
可乐加冰
2026-09-23 17:04:10 +08:00
当前提交 f7d3d7d1bd
共有 1761 个文件被更改,包括 453668 次插入 和 0 次删除

查看文件

@@ -0,0 +1,241 @@
<style>
</style>
<form id="add-form" class="form-horizontal nice-validator n-default n-bootstrap" role="form" data-toggle="validator" method="POST" action="">
<table class="table table-striped">
<thead>
<tr>
<th style="width:15%">
变量标题
</th>
<th style="width: 85%;">
变量值
</th>
</tr>
</thead>
<tbody>
<tr>
<td>微信公众号</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<dl class="fieldlist">
<dd>
<ins>键名</ins>
<ins>键值</ins>
</dd>
<dd class="form-inline">
<input type="text" class="form-control">
<input type="text" class="form-control">
<span class="btn btn-sm btn-danger btn-remove">
<i class="fa fa-times"></i>
</span>
</dd>
<dd class="form-inline">
<input type="text" class="form-control">
<input type="text" class="form-control">
<span class="btn btn-sm btn-danger btn-remove">
<i class="fa fa-times"></i>
</span>
</dd>
<dd>
<a href="javascript:;" class="btn btn-sm btn-success btn-append">
<i class="fa fa-plus"> 追加</i>
</a>
</dd>
</dl>
</div>
</div>
</td>
</tr>
<tr>
<td>微信小程序</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<dl class="fieldlist">
<dd class="form-inline">
<input type="text" class="form-control">
<input type="text" class="form-control">
<span class="btn btn-sm btn-danger btn-remove">
<i class="fa fa-times"></i>
</span>
</dd>
<dd class="form-inline">
<input type="text" class="form-control">
<input type="text" class="form-control">
<span class="btn btn-sm btn-danger btn-remove">
<i class="fa fa-times"></i>
</span>
</dd>
<dd>
<a href="javascript:;" class="btn btn-sm btn-success btn-append">
<i class="fa fa-plus"> 追加</i>
</a>
</dd>
</dl>
</div>
</div>
</td>
</tr>
<tr>
<td>微信开放平台</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<dl class="fieldlist">
<dd>
<a href="javascript:;" class="btn btn-sm btn-success btn-append">
<i class="fa fa-plus"> 追加</i>
</a>
</dd>
</dl>
</div>
</div>
</td>
</tr>
<tr>
<td>微信公众号校验文件</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<dl class="fieldlist">
<dd class="form-inline">
<input type="text" class="form-control">
<span style="position: relative;"><button type="button" id="" class="btn btn-danger plupload" data-input-id="" data-multiple=""><i
class="fa fa-upload"></i>
{:__('Upload')}</button>
<input style="position: absolute;left: 0;top: 0;width: 30px;height: 30px;" type="file">
</span>
<span><button type="button" id="}" class="btn btn-primary fachoose" data-input-id="" data-multiple=""><i
class="fa fa-list"></i>
{:__('Choose')}</button></span>
</dd>
</dl>
</div>
</div>
</td>
</tr>
<tr>
<td>微信小程序校验文件</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<dl class="fieldlist">
<dd class="form-inline">
<input type="text" class="form-control">
<span><button type="button" id="" class="btn btn-danger plupload" data-input-id="" data-multiple=""><i
class="fa fa-upload"></i>
{:__('Upload')}</button></span>
<span><button type="button" id="}" class="btn btn-primary fachoose" data-input-id="" data-multiple=""><i
class="fa fa-list"></i>
{:__('Choose')}</button></span>
</dd>
</dl>
</div>
</div>
</td>
</tr>
<tr>
<td>公众号服务器地址</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<dl class="fieldlist">
<dd class="form-inline">
<input type="text" class="form-control">
</dd>
</dl>
</div>
</div>
</td>
</tr>
<tr>
<td>IP白名单</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<dl class="fieldlist">
<dd class="form-inline">
<input type="text" class="form-control">
</dd>
</dl>
</div>
</div>
</td>
</tr>
<tr>
<td>微信支付</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<dl class="fieldlist">
<dd>
<ins>键名</ins>
<ins>键值</ins>
</dd>
<dd class="form-inline">
<input type="text" class="form-control">
<input type="text" class="form-control">
<span class="btn btn-sm btn-danger btn-remove">
<i class="fa fa-times"></i>
</span>
</dd>
<dd class="form-inline">
<input type="text" class="form-control">
<input type="text" class="form-control">
<span class="btn btn-sm btn-danger btn-remove">
<i class="fa fa-times"></i>
</span>
</dd>
<dd>
<a href="javascript:;" class="btn btn-sm btn-success btn-append">
<i class="fa fa-plus"> 追加</i>
</a>
</dd>
</dl>
</div>
</div>
</td>
</tr>
<tr>
<td>支付宝支付</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<dl class="fieldlist">
<dd>
<a href="javascript:;" class="btn btn-sm btn-success btn-append">
<i class="fa fa-plus"> 追加</i>
</a>
</dd>
</dl>
</div>
</div>
</td>
</tr>
<tr>
<td>余额支付</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<dl class="fieldlist">
<dd>
<a href="javascript:;" class="btn-switcher" data-input-id="c-walletpay" data-yes="1" data-no="0">
<i class="fa fa-toggle-on text-success fa-2x"></i>
</a>
</dd>
</dl>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</form>

查看文件

@@ -0,0 +1,64 @@
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Group')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-group" data-rule="required" class="form-control" name="row[group]" type="text" value="{$row.group|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-title" data-rule="required" class="form-control" name="row[title]" type="text" value="{$row.title|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Tip')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-tip" data-rule="required" class="form-control" name="row[tip]" type="text" value="{$row.tip|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-type" data-rule="required" class="form-control" name="row[type]" type="text" value="{$row.type|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Value')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-value" data-rule="required" class="form-control " rows="5" name="row[value]" cols="50">{$row.value|htmlentities}</textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Content')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-content" data-rule="required" class="form-control editor" rows="5" name="row[content]" cols="50">{$row.content|htmlentities}</textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Rule')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-rule" data-rule="required" class="form-control" name="row[rule]" type="text" value="{$row.rule|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Extend')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-extend" data-rule="required" class="form-control" name="row[extend]" type="text" value="{$row.extend|htmlentities}">
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>

查看文件

@@ -0,0 +1,208 @@
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
<style>
#configIndex {
background: #fff;
border-radius: 10px 10px 0px 0px;
color: #444;
font-weight: 500;
}
.el-tabs__nav {
margin-left: 30px;
}
.el-tabs__header {
margin-bottom: 0;
}
.el-tabs__item {
margin-bottom: 8px;
width: 120px;
}
.el-tabs__active-bar {
width: 80px !important;
left: 10px;
height: 3px;
}
.el-tabs--top .el-tabs__item.is-top:last-child {
padding-right: 20px;
}
.custom-tabs {
padding-top: 12px;
}
.custom-body {
padding: 30px 30px 0;
}
.tip-container {
padding: 0 10px;
}
.config-item {
width: 100%;
/* max-width: 370px; */
height: 254px;
border-radius: 20px;
padding: 0 10px 24px;
margin-bottom: 30px;
display: flex;
align-items: stretch;
color: #fff;
justify-content: space-between;
}
.config-item-icon-container {
/* width: 48px; */
height: 48px;
}
.config-title {
font-size: 22px;
margin-top: 28px;
}
.config-tip {
font-size: 14px;
color: rgba(255, 255, 255, 0.8);
margin-top: 14px;
}
.config-message {
font-size: 14px;
max-width: 170px;
margin-top: 26px;
}
.set-container {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.config-item-btn {
width: 98px;
height: 40px;
border-radius: 20px;
font-size: 14px;
cursor: pointer;
}
.item-icon-1 {
width: 48px;
height: 48px;
border-radius: 50%;
}
.item-icon-1 img {
width: 100%;
height: 100%;
}
.item-icon-2 {
width: 48px;
height: 48px;
background: #fff;
border-radius: 50%;
position: absolute;
left: 36px;
opacity: 0.5;
}
.config-item-leaf-container {
display: flex;
flex: 1;
}
.leaf {
width: 54px;
height: 54px;
}
.leaf-11 {
background: rgba(255, 255, 255, 0.2);
border-radius: 0px 34px;
}
.leaf-12 {
border-radius: 0px 35px;
transform: matrix(-1, 0, 0, 1, 0, 0);
}
.leaf-13 {
background: rgba(255, 255, 255, 0.66);
border-radius: 0px 34px;
}
.item-leaf-2 {
width: 40px;
height: 40px;
background: rgba(255, 255, 255, 0.4);
border-radius: 6px;
transform: rotate(-45deg);
margin-top: 86px;
margin-left: 10px;
}
.config-item {
cursor: pointer;
transition: all 0.2s;
}
.config-item:hover {
transform: scale(1.05);
filter: drop-shadow(0px 1px 8px rgba(0, 0, 0, 0.1));
}
[v-cloak] {
display: none
}
</style>
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
<div id="configIndex" v-cloak>
<div class="custom-tabs">
<el-tabs v-model="activeName" @tab-click="tabClick">
<el-tab-pane label="基础配置" name="basic"></el-tab-pane>
<el-tab-pane label="平台配置" name="platform"></el-tab-pane>
<el-tab-pane label="支付配置" name="payment"></el-tab-pane>
</el-tabs>
</div>
<div class="custom-body">
<el-row :gutter="30">
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" v-for="item in configData[activeName]">
<div class="config-item" :style="{background:item.background}">
<div class="tip-container">
<div class="config-item-icon-container"
style="margin-top: 30px;position: relative;display: flex;">
<div class="item-icon-1"><img :src="'/assets/addons/shopro/img/config/'+item.icon+'.png'" />
</div>
<div class="item-icon-2"></div>
</div>
<div class="config-title">{{item.title}}</div>
<div class="config-tip ellipsis-item">{{item.tip}}</div>
<div class="config-message ellipsis-item">{{item.message}}</div>
</div>
<div class="set-container">
<div class="config-item-leaf-container">
<div class="item-leaf-1">
<div class="leaf leaf-11"></div>
<div class="leaf leaf-12" :style="{background:item.leaf}"></div>
<div class="leaf leaf-13"></div>
</div>
<div class="item-leaf-2"></div>
</div>
<div v-if="item.id!='apple'" class="config-item-btn display-flex-c" :style="item.button"
@click="operation(item.id,item.title)">{{item.buttonMessage?item.buttonMessage:'立即设置'}}</div>
<div v-if="item.id=='apple'" class="config-item-btn display-flex-c" :style="item.button">暂未开通
</div>
</div>
</div>
</el-col>
</el-row>
</div>
</div>

文件差异内容过多而无法显示 加载差异