Ver código fonte

系统配置项调整;
收入列表 增加下单率字段;

dodo hold 1 ano atrás
pai
commit
a5cb05afd0

+ 2 - 0
.env.development

@@ -1,2 +1,4 @@
 VITE_API_BASE_URL= 'http://localhost:8186'
+VITE_API_BASE_URL= 'https://adminapi.molilian.com'
+
 VITE_API_BASE_SCOPE = 'admin'

+ 5 - 2
src/api/taobao.ts

@@ -24,6 +24,7 @@ export interface UpdateConfigModel {
 
     jd_limit_per_ip_24h: number;
     jd_limit_per_oaid_24h: number;
+    jd_blacklist_regular: string;
 
     tk_limit_per_ip_24h: number;
     tk_limit_per_oaid_24h: number;
@@ -32,16 +33,18 @@ export interface UpdateConfigModel {
     cps_limit_per_ip_24h: number;
     cps_limit_per_oaid_24h: number;
 
+    pddIgnorePercentageCity: string;
+    pddIgnorePercentage: number;
     pdd_limit_per_oaid_24h: number;
     pdd_limit_per_ip_24h: number;
+    pdd_blacklist_regular: string;
 
-    pddIgnorePercentageCity: string;
-    pddIgnorePercentage: number;
 
     ks_limit_per_ip_24h: number;
     ks_limit_per_oaid_24h: number;
     ksIgnorePercentageCity: string;
     ksIgnorePercentage: number;
+    ks_blacklist_regular: string;
     ksTestToken: string;
 }
 

+ 4 - 35
src/views/settings/components/regular-tester.vue

@@ -8,34 +8,13 @@
                         <template #extra>
                         </template>
                     </a-form-item>
-                    <a-form-item label="淘口令正则" placeholder="需要匹配的正则表达式,一行一个" row-class="keep-margin">
-                        <a-textarea class="textarea" v-model="pattern" auto-size />
+                    <a-form-item label="正则" placeholder="需要匹配的正则表达式,一行一个" row-class="keep-margin">
+                        <a-textarea class="textarea" :auto-size="{ minRows: 5, maxRows: 20 }" v-model="pattern" />
                         <template #extra>
                             <a-alert type="success" v-if="testResult === true">正则匹配</a-alert>
                             <a-alert type="error" v-else-if="testResult === false">正则不匹配</a-alert>
-                            <a-alert type="error" v-else-if="testResult instanceof Error">发生错误:{{ testResult.message
-                                }}</a-alert>
-
-
-                        </template>
-                    </a-form-item>
-                    <a-form-item label="淘口令排除正则" placeholder="需要匹配的正则表达式,一行一个" row-class="keep-margin">
-                        <a-textarea class="textarea" v-model="pattern2" auto-size />
-                        <template #extra>
-                            <a-alert type="success" v-if="testResult2 === true">正则匹配</a-alert>
-                            <a-alert type="error" v-else-if="testResult2 === false">正则不匹配</a-alert>
-                            <a-alert type="error" v-else-if="testResult2 instanceof Error">
-                                发生错误:{{ testResult2.message }}</a-alert>
-                        </template>
-                    </a-form-item>
-
-                    <a-form-item label="混合口令正则" placeholder="需要匹配的正则表达式,一行一个" row-class="keep-margin">
-                        <a-textarea class="textarea" v-model="pattern3" auto-size />
-                        <template #extra>
-                            <a-alert type="success" v-if="testResult3 === true">正则匹配</a-alert>
-                            <a-alert type="error" v-else-if="testResult3 === false">正则不匹配</a-alert>
-                            <a-alert type="error" v-else-if="testResult3 instanceof Error">
-                                发生错误:{{ testResult3.message }}</a-alert>
+                            <a-alert type="error" v-else-if="testResult instanceof Error">
+                                发生错误:{{ testResult.message }}</a-alert>
                         </template>
                     </a-form-item>
 
@@ -64,13 +43,9 @@ import {
 
 const content = ref<string>('');
 const pattern = defineModel<string>('pattern', { default: '', required: true })
-const pattern2 = defineModel<string>('pattern2', { default: '', required: true })
-const pattern3 = defineModel<string>('pattern3', { default: '', required: true })
 const visible = defineModel<boolean>('visible', { default: false, required: true })
 
 const testResult = ref<boolean | undefined | Error>(undefined)
-const testResult2 = ref<boolean | undefined | Error>(undefined)
-const testResult3 = ref<boolean | undefined | Error>(undefined)
 
 const testPatterns = (text: string, patterns: string): boolean | Error => {
     try {
@@ -91,19 +66,13 @@ const handleTester = () => {
     console.log('test');
     const msg = 'test'
     testResult.value = testPatterns(content.value, pattern.value)
-    testResult2.value = testPatterns(content.value, pattern2.value)
-    testResult3.value = testPatterns(content.value, pattern3.value)
 };
 const handleCancel = () => {
     testResult.value = undefined
-    testResult2.value = undefined
-    testResult3.value = undefined
     visible.value = false;
 }
 
 testResult.value = undefined
-testResult2.value = undefined
-testResult3.value = undefined
 
 </script>
 

+ 47 - 9
src/views/settings/config.vue

@@ -77,7 +77,8 @@
                                         <a-textarea v-model="formData.tk_whitelist_regular"
                                             :auto-size="{ minRows: 5, maxRows: 20 }" placeholder="淘口令正则" />
                                         <template #extra>
-                                            <a-button type="outline" @click="clickRegularTester">正则测试
+                                            <a-button type="outline"
+                                                @click="clickRegularTester(formData.tk_whitelist_regular)">正则测试
                                             </a-button>
                                         </template>
                                     </a-form-item>
@@ -86,7 +87,8 @@
                                         <a-textarea v-model="formData.tk_blacklist_regular"
                                             :auto-size="{ minRows: 5, maxRows: 20 }" placeholder="淘口令排除正则" />
                                         <template #extra>
-                                            <a-button type="outline" @click="clickRegularTester">正则测试
+                                            <a-button type="outline"
+                                                @click="clickRegularTester(formData.tk_blacklist_regular)">正则测试
                                             </a-button>
                                         </template>
                                     </a-form-item>
@@ -95,7 +97,8 @@
                                         <a-textarea v-model="formData.multi_token_regular"
                                             :auto-size="{ minRows: 5, maxRows: 20 }" placeholder="混合口令正则" />
                                         <template #extra>
-                                            <a-button type="outline" @click="clickRegularTester">正则测试
+                                            <a-button type="outline"
+                                                @click="clickRegularTester(formData.multi_token_regular)">正则测试
                                             </a-button>
                                         </template>
                                     </a-form-item>
@@ -143,6 +146,16 @@
                                             placeholder="同 oaid 在24小时内可转链的次数。" />
                                     </a-form-item>
 
+                                    <a-form-item field="jd_blacklist_regular" label="排除正则">
+                                        <a-textarea v-model="formData.jd_blacklist_regular"
+                                            :auto-size="{ minRows: 5, maxRows: 20 }" placeholder="排除正则" />
+                                        <template #extra>
+                                            <a-button type="outline"
+                                                @click="clickRegularTester(formData.jd_blacklist_regular)">正则测试
+                                            </a-button>
+                                        </template>
+                                    </a-form-item>
+
                                 </a-tab-pane>
                                 <a-tab-pane key="pdd" title="拼多多">
                                     <a-form-item field="pddIgnorePercentage" label="放弃流量" :rules="[{ required: true }]">
@@ -166,6 +179,16 @@
                                             placeholder="同 oaid 在24小时内可转链的次数。" />
                                     </a-form-item>
 
+                                    <a-form-item field="pdd_blacklist_regular" label="排除正则">
+                                        <a-textarea v-model="formData.pdd_blacklist_regular"
+                                            :auto-size="{ minRows: 5, maxRows: 20 }" placeholder="排除正则" />
+                                        <template #extra>
+                                            <a-button type="outline"
+                                                @click="clickRegularTester(formData.pdd_blacklist_regular)">正则测试
+                                            </a-button>
+                                        </template>
+                                    </a-form-item>
+
                                 </a-tab-pane>
                                 <a-tab-pane key="ks" title="快手">
                                     <a-form-item field="ksIgnorePercentage" label="放弃流量" :rules="[{ required: true }]">
@@ -188,6 +211,15 @@
                                         <a-input-number v-model="formData.ks_limit_per_oaid_24h" :min="0"
                                             placeholder="同 oaid 在24小时内可转链的次数。" />
                                     </a-form-item>
+                                    <a-form-item field="ks_blacklist_regular" label="排除正则">
+                                        <a-textarea v-model="formData.ks_blacklist_regular"
+                                            :auto-size="{ minRows: 5, maxRows: 20 }" placeholder="排除正则" />
+                                        <template #extra>
+                                            <a-button type="outline"
+                                                @click="clickRegularTester(formData.ks_blacklist_regular)">正则测试
+                                            </a-button>
+                                        </template>
+                                    </a-form-item>
 
                                     <a-form-item field="ksTestToken" label="测试token">
                                         <a-input v-model="formData.ksTestToken" />
@@ -212,8 +244,7 @@
                 </a-col>
             </a-row>
         </a-card>
-        <RegularTester v-model:visible="showRegularTester" v-model:pattern="formData.tk_whitelist_regular"
-            v-model:pattern2="formData.tk_blacklist_regular" v-model:pattern3="formData.multi_token_regular" />
+        <RegularTester v-model:visible="showRegularTester" v-model:pattern="RegularTesterPattern" />
     </div>
 </template>
 
@@ -248,10 +279,7 @@ const formData = ref<UpdateConfigModel>({
     cookie: '',
     blacklist_oaid: '',
     ignorePercentage: 0,
-    jdIgnorePercentage: 0,
     pass_salt: '',
-    ignorePercentageCity: '',
-    jdIgnorePercentageCity: '',
     fake_click_min: 0,
     fake_click_max: 0,
     fake_click_ttl: 0,
@@ -260,29 +288,39 @@ const formData = ref<UpdateConfigModel>({
     tk_whitelist_regular: '',
     tk_blacklist_regular: '',
     multi_token_regular: '',
-    jd_limit_per_ip_24h: 0,
     tk_limit_per_ip_24h: 0,
+
     cpsIgnorePercentageCity: '',
     cps_limit_per_ip_24h: 0,
 
+    jdIgnorePercentage: 0,
+    ignorePercentageCity: '',
+    jdIgnorePercentageCity: '',
+    jd_limit_per_ip_24h: 0,
+    jd_blacklist_regular: '',
+
     pdd_limit_per_ip_24h: 0,
     pdd_limit_per_oaid_24h: 0,
     pddIgnorePercentageCity: '',
     pddIgnorePercentage: 0,
+    pdd_blacklist_regular: '',
 
     ks_limit_per_ip_24h: 0,
     ksIgnorePercentageCity: '',
     ksIgnorePercentage: 0,
+    ks_blacklist_regular: '',
     ksTestToken: '',
 
 });
 
 const showRegularTester = ref<boolean>(false);
+const RegularTesterPattern = ref<string>('');
 
 
 
 const clickRegularTester = (pattern: string) => {
     showRegularTester.value = true
+    RegularTesterPattern.value = pattern
 };
 
 const validate = async () => {

+ 11 - 1
src/views/taobao/report_daily.vue

@@ -105,7 +105,6 @@
                 </template>
 
 
-
                 <template #pay_ord_amt_56="{ record }">
                     <viewOrdersModal filter-type='pay_ord_amt_56' :data="record">
                         {{ amountFormat(record.pay_ord_amt_56) }}
@@ -372,6 +371,17 @@ const columns = computed<TableColumnData[]>(() => [
     {
         title: '点击',
         children: [
+            {
+                title: '下单率',
+                slotName: 'order_rate',
+                render: ({ record }: { record: TkReportRecord }) => {
+                    if (record.uclk_pv_56 === 0) return `0%`;
+                    const rate = (record.eff_ord_num / record.uclk_pv_56) * 100;
+                    return `${rate.toFixed(2)}%`;
+                },
+                width: 100,
+                align: 'right'
+            },
             {
                 title: '点击人数',
                 dataIndex: 'uclk_uv_56',