mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2026-01-05 20:48:11 +00:00
update
This commit is contained in:
parent
2146de16fe
commit
2f230c9255
20
admin/src/lang/zh-cn/channel.weapp.code.json
Normal file
20
admin/src/lang/zh-cn/channel.weapp.code.json
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"operatePrompt": "操作提示",
|
||||||
|
"operatePromptTipsOne": "下载之后需使用微信开发者工具上传代码,微信开发者工具下载地址",
|
||||||
|
"operatePromptTipsTwo": "上传之后登录微信公众平台,在版本管理中选择刚上传的版本提交审核,审核通过之后即可发布小程序。",
|
||||||
|
"weappName": "小程序名称",
|
||||||
|
"weappId": "小程序ID",
|
||||||
|
"weappOriginalId": "小程序原始ID",
|
||||||
|
"weappInfo": "小程序信息",
|
||||||
|
"versionCode": "小程序代码",
|
||||||
|
"version": "版本",
|
||||||
|
"down": "下载",
|
||||||
|
"codeDown": "代码下载",
|
||||||
|
"downWeappCode": "下载代码",
|
||||||
|
"weappTips": "请先完善小程序配置",
|
||||||
|
"codeDownOneTips": "下载小程序代码包",
|
||||||
|
"codeDownTwoDesc": "上传代码",
|
||||||
|
"codeDownTwoTips": "下载完成之后,使用微信开发工具进行上传",
|
||||||
|
"codeDownThreeDesc": "发布小程序",
|
||||||
|
"codeDownThreeTips": "上传之后提交审核,审核通过发布小程序"
|
||||||
|
}
|
||||||
189
admin/src/views/channel/weapp/code.vue
Normal file
189
admin/src/views/channel/weapp/code.vue
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
<template>
|
||||||
|
<div class="main-container min-h-[300px]" v-loading="loading">
|
||||||
|
<div class="flex ml-[18px] justify-between items-center mt-[20px]" v-if="!loading">
|
||||||
|
<span class="text-[20px]">{{pageName}}</span>
|
||||||
|
</div>
|
||||||
|
<el-card class="box-card !border-none" shadow="never" v-if="!loading">
|
||||||
|
<el-collapse v-model="activeNames">
|
||||||
|
<el-collapse-item :title="t('operatePrompt')" name="1">
|
||||||
|
<div>
|
||||||
|
<p class="indent-4">{{ t('operatePromptTipsOne') }}: https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html</p>
|
||||||
|
<p class="indent-4">{{ t('operatePromptTipsTwo') }}</p>
|
||||||
|
</div>
|
||||||
|
</el-collapse-item>
|
||||||
|
</el-collapse>
|
||||||
|
<el-row class="mt-[50px]">
|
||||||
|
<el-col :span="12">
|
||||||
|
<div class="p-[20px]">
|
||||||
|
<p class="flex items-center"><span class="block w-[3px] h-[14px] bg-[#273de3] mr-[10px] bg-primary"></span><span class="text-[14px] font-bold">{{ t('weappInfo') }}</span></p>
|
||||||
|
<div class="mt-[30px]">
|
||||||
|
<div class="flex items-center justify-center mb-[30px]">
|
||||||
|
<img class="w-[150px] h-[150px]" src=""/>
|
||||||
|
</div>
|
||||||
|
<div class="flex">
|
||||||
|
<div class="mr-[30px] w-1/2 ">
|
||||||
|
<p class="text-[12px] mt-2 text-right"><span class="text-[#999]">{{ t('weappName') }}</span></p>
|
||||||
|
<p class="text-[12px] mt-2 text-right"><span class="text-[#999]">{{ t('weappId') }}</span></p>
|
||||||
|
<p class="text-[12px] mt-2 text-right"><span class="text-[#999]">{{ t('weappOriginalId') }}</span></p>
|
||||||
|
</div>
|
||||||
|
<div class="w-1/2">
|
||||||
|
<p class="text-[12px] mt-2 text-left">{{ weapp_config.weapp_name }}</p>
|
||||||
|
<p class="text-[12px] mt-2 text-left">{{ weapp_config.app_id }} </p>
|
||||||
|
<p class="text-[12px] mt-2 text-left">{{ weapp_config.weapp_original }} </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<div class="p-[20px]">
|
||||||
|
<p class="flex items-center"><span class="block w-[3px] h-[14px] bg-[#273de3] mr-[10px] bg-primary"></span><span class="text-[14px] font-bold">{{ t('codeDown') }}</span></p>
|
||||||
|
<div class="mt-[30px]">
|
||||||
|
<div style="height: 300px">
|
||||||
|
<div class="flex">
|
||||||
|
<div>
|
||||||
|
<div
|
||||||
|
class="w-[16px] h-[16px] flex items-center bg-[#D1EBFF] border-[1px] border-[#0091FF] rounded-[999px]">
|
||||||
|
<div class="w-[8px] h-[8px] mx-auto bg-[#0091FF] rounded-[999px]"></div>
|
||||||
|
</div>
|
||||||
|
<div class="w-[2px] h-[100px] bg-[#D1EBFF] mx-auto"></div>
|
||||||
|
</div>
|
||||||
|
<div class="ml-[20px] leading-[1]">
|
||||||
|
<span class="leading-[1] text-[14px]">{{ t('codeDownOneTips') }}</span>
|
||||||
|
<div class="mt-3">
|
||||||
|
<el-button type="primary" class="w-[100px]" @click="showDialog = true">{{ t('downWeappCode') }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex">
|
||||||
|
<div>
|
||||||
|
<div
|
||||||
|
class="w-[16px] h-[16px] flex items-center bg-[#D1EBFF] border-[1px] border-[#0091FF] rounded-[999px]">
|
||||||
|
<div class="w-[8px] h-[8px] mx-auto bg-[#0091FF] rounded-[999px]"></div>
|
||||||
|
</div>
|
||||||
|
<div class="w-[2px] h-[100px] bg-[#D1EBFF] mx-auto"></div>
|
||||||
|
</div>
|
||||||
|
<div class="ml-[20px] leading-[1]">
|
||||||
|
<span class="leading-[1] text-[14px]">{{ t('codeDownTwoDesc') }}</span>
|
||||||
|
<div class="mt-2">
|
||||||
|
<p class="text-[12px] text-[#999]">{{ t('codeDownTwoTips') }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex">
|
||||||
|
<div>
|
||||||
|
<div
|
||||||
|
class="w-[16px] h-[16px] flex items-center bg-[#D1EBFF] border-[1px] border-[#0091FF] rounded-[999px]">
|
||||||
|
<div class="w-[8px] h-[8px] mx-auto bg-[#0091FF] rounded-[999px]"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="ml-[20px] leading-[1]">
|
||||||
|
<span class="leading-[1] text-[14px]">{{ t('codeDownThreeDesc') }}</span>
|
||||||
|
<div class="mt-2">
|
||||||
|
<p class="text-[12px] text-[#999]">{{ t('codeDownThreeTips') }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-card>
|
||||||
|
<el-dialog v-model="showDialog" :title="t('versionCode')" width="550px" :destroy-on-close="true">
|
||||||
|
<el-table :data="weappTableData.data" size="large" v-loading="weappTableData.loading">
|
||||||
|
<el-table-column prop="version" :label="t('version')" min-width="100" />
|
||||||
|
<el-table-column prop="create_time" :label="t('createTime')" min-width="150" />
|
||||||
|
<el-table-column :label="t('operation')" fixed="right" width="100">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-button type="danger" link @click="down(row.id)">{{ t('down') }}</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="mt-[16px] flex justify-end">
|
||||||
|
<el-pagination v-model:current-page="weappTableData.page" v-model:page-size="weappTableData.limit" layout="total, prev, pager, next" :total="weappTableData.total" @current-change="loadWeappTemplateList" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<template #footer>
|
||||||
|
<span class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="showDialog = false">{{ t('close') }}</el-button>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { reactive, ref, watch } from 'vue'
|
||||||
|
import { getWeappConfig, getVersionList, versionDown } from '@/api/weapp'
|
||||||
|
import { t } from '@/lang'
|
||||||
|
import { useClipboard } from '@vueuse/core'
|
||||||
|
import { ElMessage, FormInstance, FormRules } from 'element-plus'
|
||||||
|
import { useRoute } from 'vue-router'
|
||||||
|
|
||||||
|
const route = useRoute()
|
||||||
|
const pageName = route.meta.title
|
||||||
|
|
||||||
|
const loading = ref(true)
|
||||||
|
const activeNames = ref('1')
|
||||||
|
const showDialog = ref(false)
|
||||||
|
|
||||||
|
const weappTableData = reactive({
|
||||||
|
page: 1,
|
||||||
|
limit: 5,
|
||||||
|
total: 0,
|
||||||
|
loading: true,
|
||||||
|
data: []
|
||||||
|
})
|
||||||
|
|
||||||
|
const weapp_config = ref([])
|
||||||
|
const checkWeappConfig = () =>{
|
||||||
|
getWeappConfig().then(res => {
|
||||||
|
if(res.data.app_id != ''){
|
||||||
|
loading.value = false
|
||||||
|
weapp_config.value = res.data
|
||||||
|
}else{
|
||||||
|
ElMessage(t('weappTips'))
|
||||||
|
setTimeout(function() {
|
||||||
|
history.back()
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
checkWeappConfig()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取版本列表
|
||||||
|
*/
|
||||||
|
const loadWeappTemplateList = (page: number = 1) => {
|
||||||
|
weappTableData.loading = true
|
||||||
|
weappTableData.page = page
|
||||||
|
|
||||||
|
getVersionList({
|
||||||
|
page: weappTableData.page,
|
||||||
|
limit: weappTableData.limit,
|
||||||
|
}).then(res => {
|
||||||
|
weappTableData.loading = false
|
||||||
|
weappTableData.data = res.data.data
|
||||||
|
weappTableData.total = res.data.total
|
||||||
|
}).catch(() => {
|
||||||
|
weappTableData.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
loadWeappTemplateList()
|
||||||
|
|
||||||
|
const down = (id) => {
|
||||||
|
versionDown(id).then(()=>{})
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.el-collapse {
|
||||||
|
border: 0px !important
|
||||||
|
|
||||||
|
}
|
||||||
|
.el-collapse-item .el-collapse-item__wrap {
|
||||||
|
border: 0px !important
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -67,7 +67,7 @@
|
|||||||
<el-table-column :show-overflow-tooltip="true" :label="t('memberInfo')" align="left" min-width="140">
|
<el-table-column :show-overflow-tooltip="true" :label="t('memberInfo')" align="left" min-width="140">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div class="flex items-center cursor-pointer " @click="toMember(row.member.member_id)">
|
<div class="flex items-center cursor-pointer " @click="toMember(row.member.member_id)">
|
||||||
<img class="w-[50px] h-[50px] mr-[10px]" v-if="row.headimg" :src="img(row.member.headimg)" alt="">
|
<img class="w-[50px] h-[50px] mr-[10px]" v-if="row.member.headimg" :src="img(row.member.headimg)" alt="">
|
||||||
<img class="w-[50px] h-[50px] mr-[10px]" v-else src="@/assets/images/default_headimg.png" alt="">
|
<img class="w-[50px] h-[50px] mr-[10px]" v-else src="@/assets/images/default_headimg.png" alt="">
|
||||||
<div class="flex flex flex-col">
|
<div class="flex flex flex-col">
|
||||||
<span class="">{{ row.member.nickname || '' }}</span>
|
<span class="">{{ row.member.nickname || '' }}</span>
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div class="mt-[16px] flex justify-end">
|
<div class="mt-[16px] flex justify-end">
|
||||||
<el-pagination v-model:current-page="weappTableData.page" v-model:page-size="weappTableData.limit" layout="total, sizes, prev, pager, next, jumper" :total="cronTableData.total" @size-change="loadCronList()" @current-change="loadCronList" />
|
<el-pagination v-model:current-page="weappTableData.page" v-model:page-size="weappTableData.limit" layout="total, sizes, prev, pager, next, jumper" :total="weappTableData.total" @size-change="loadWeappTemplateList()" @current-change="loadWeappTemplateList" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -82,18 +82,8 @@ const weappTableData = reactive({
|
|||||||
last_time:''
|
last_time:''
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const templateList = ref([])
|
|
||||||
const date_type = ref([])
|
|
||||||
const week_list = ref([])
|
|
||||||
const searchFormRef = ref<FormInstance>()
|
const searchFormRef = ref<FormInstance>()
|
||||||
|
|
||||||
const setTypeList = async () => {
|
|
||||||
templateList.value = await (await getCronTemplate()).data
|
|
||||||
date_type.value = await (await getCronDateType()).data
|
|
||||||
week_list.value = await (await getWeek()).data
|
|
||||||
}
|
|
||||||
setTypeList()
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取任务列表
|
* 获取任务列表
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -370,11 +370,7 @@ function filter($string)
|
|||||||
*/
|
*/
|
||||||
function create_no(string $prefix = '', string $tag = '')
|
function create_no(string $prefix = '', string $tag = '')
|
||||||
{
|
{
|
||||||
$data_center_id = 1;
|
return $prefix.date('YmdHis').$tag;
|
||||||
$machine_id = 2;
|
|
||||||
$snowflake = new Snowflake($data_center_id, $machine_id);
|
|
||||||
$id = $snowflake->generateId();
|
|
||||||
return $prefix.date('YmdHi').$tag.$id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user