低代碼可視化-轉盤小游戲可視化-代碼生成器

轉盤小程序是一種互動工具,它通過模擬真實的轉盤抽獎或決策體驗,為用戶提供了一種有趣且公平的選擇方式。以下是對轉盤小程序的詳細介紹:

轉盤小程序的應用場景

日常決策:轉盤小程序可以幫助用戶解決日常生活中的選擇困難問題,如決定晚餐吃什么、周末去哪里玩等。
聚會游戲:在聚會或派對中,轉盤小程序可以作為互動游戲,增添歡樂氣氛。用戶可以自定義轉盤內容,如真心話大冒險、喝酒游戲等。
企業活動:轉盤小程序也常被用于企業年會、新品發布、客戶答謝等活動中,作為抽獎或互動環節,提升現場氣氛并收集參與者信息。


轉盤小程序的特點

用戶友好:轉盤小程序通常具有直觀易用的界面,用戶無需編程基礎即可快速上手。
高度可定制:用戶可以根據自己的需求自定義轉盤樣式、選項、概率等,滿足特定場景下的使用需求。
互動性強:轉盤小程序支持分享功能,用戶可以將自己制作的轉盤分享給朋友或家人,一起享受互動的樂趣。
數據收集:在企業活動中,轉盤小程序可以幫助主辦方收集參與者信息,為后續營銷活動提供數據支持。

功能設計?

大轉盤組件

拖進一個轉盤組件進設計器。

轉盤中獎自定義

轉盤中獎項通過子表單用戶快速自定義

實現代碼如下

<template><view class="container container334706"><u-form-item :borderBottom="false" v-if="!showForm && globalData.isshow" class="diygw-col-24 title-clz" labelPosition="top" prop="title"><u-input @blur="listApi" :data-title_like="title" :focus="titleFocus" placeholder="請輸入產品標題" v-model="title"></u-input><text @tap="navigateTo" data-type="listApi" :data-title_like="title" class="diy-icon-search" style="color: #363636; font-size: 32rpx"></text></u-form-item><view v-if="!showForm && list.total > 0" class="flex flex-wrap diygw-col-24 flex-direction-column"><view v-for="(item, index) in list.rows" :key="index" class="flex flex-wrap diygw-col-24 flex-direction-column flex4-clz" @tap="navigateTo" data-type="page" data-url="/pages/index" :data-id="item.id" data-redirect="1"><text class="diygw-text-line2 diygw-col-24 text1-clz">{{ item.title }}</text><text v-if="item.remark" class="diygw-text-line3 diygw-col-24 text2-clz">{{ item.remark }}</text><view class="flex flex-wrap diygw-col-24 justify-end items-center flex2-clz"><text @tap.stop="navigateTo" data-type="editFunction" :data-index="index" class="diygw-col-0 text6-clz"> 修改 </text><text @tap.stop="navigateTo" data-type="copyApi" :data-id="item.id" :data-index="index" class="diygw-col-0 text4-clz"> 復制 </text><text @tap.stop="navigateTo" data-type="delApi" :data-id="item.id" :data-index="index" class="diygw-col-0 text13-clz"> 刪除 </text></view></view></view><view v-if="!showForm && globalData.isshow && (globalOption.isself || userInfo.username == 'admin')" class="flex flex-wrap diygw-col-24 justify-start diygw-bottom flex3-clz"><view class="flex flex-wrap diygw-col-24 justify-center items-center green flex20-clz" @tap="showForm = true"><text class="flex icon2 diygw-col-0 diy-icon-add"></text><text class="diygw-col-0"> 新增轉盤 </text></view></view><view v-if="globalData.isshow && list.code == 200 && list.total == 0" class="flex flex-wrap diygw-col-24 flex-direction-column items-center flex-clz"><image src="/static/zwjl.png" class="image-size diygw-image diygw-col-0" mode="widthFix"></image><text class="diygw-col-0 text-clz"> 未找到任何數據 </text></view><u-form :model="form" :rules="formRules" :errorType="['message', 'toast']" ref="formRef" v-if="showForm" class="flex diygw-form diygw-col-24 form-clz"><view class="flex flex-wrap diygw-col-24 flex-direction-column flex1-clz"><u-form-item class="diygw-col-24" :required="true" label="轉盤標題" prop="title"><u-input :focus="formData.titleFocus" placeholder="請輸入標題" v-model="form.title"></u-input></u-form-item><u-form-item class="diygw-col-24" label="轉盤描述" prop="remark"><u-input maxlength="200" height="60px" class="" placeholder="請輸入提示信息" v-model="form.remark" type="textarea"></u-input></u-form-item><view class="flex flex-wrap diygw-col-24"><view class="diygw-col-24" v-for="(configItem, configIndex) in form.config" :key="configIndex"><u-form class="diygw-col-24" :model="form.config[configIndex]" :errorType="['message', 'toast']" ref="configRef" :rules="configItemRules"><view class="flex flex-wrap diygw-col-24 flex-direction-column flex5-clz"><u-form-item class="diygw-col-24" label="獎項" prop="text"><u-input :focus="formData.configItemDatas[configIndex].textFocus" placeholder="請輸入獎項" v-model="configItem.text"></u-input></u-form-item><u-form-item class="diygw-col-24" label="中獎率" prop="range"><u-input :focus="formData.configItemDatas[configIndex].rangeFocus" placeholder="請輸入提示信息" v-model="configItem.range"></u-input></u-form-item><u-form-item class="diygw-col-24" label="獎項背景色" prop="background"><u-input @tap="formData.configItemDatas[configIndex].showBackground = true" placeholder="請輸入獎項背景色,不填寫默認生成" v-model="configItem.background"></u-input><text class="diygw-text-lg diy-icon-colorlens" @tap="formData.configItemDatas[configIndex].showBackground = true" :style="{ color: configItem.background }"></text><diy-color-picker v-model="formData.configItemDatas[configIndex].showBackground" :hexcolor="configItem.background" @confirm="changeConfigItemBackground($event, configIndex, configItem)"></diy-color-picker></u-form-item></view></u-form><view class="formconfigtools flex justify-end"><button @tap="upConfigItem" :data-index="configIndex" class="diygw-btn flex-sub radius margin-xs"><text class="button-icon diy-icon-fold"></text> 上移</button><button @tap="downConfigItem" :data-index="configIndex" class="diygw-btn flex-sub radius margin-xs"><text class="button-icon diy-icon-unfold"></text> 下移</button><button @tap="addConfigItem" :data-index="configIndex" class="diygw-btn flex-sub radius margin-xs"><text class="button-icon diy-icon-add"></text> 新增</button><button @tap="delConfigItem" :data-index="configIndex" class="diygw-btn flex-sub radius margin-xs"><text class="button-icon diy-icon-close"></text> 刪除</button></view></view></view></view><view class="flex diygw-col-24"><button @tap="showForm = false" class="diygw-btn red radius flex-sub margin-xs button-button-clz">取消</button><button @click="submitForm" class="diygw-btn green radius flex-sub margin-xs button-button-clz">保存</button></view></u-form><view class="clearfix"></view></view>
</template><script>export default {data() {return {//用戶全局信息userInfo: {},//頁面傳參globalOption: {},//自定義全局變量globalData: { isshow: false },listNum: 1,list: {rows: [{id: 0,title: '',remark: '',img: '',userId: 0,createTime: '',updateTime: '',deleteTime: null}],total: 0,code: 0,msg: ''},copy: {code: 200,msg: '復制成功'},del: {code: 200,msg: '刪除成功'},titleFocus: false,title: '',showForm: false,formRules: {title: [{trigger: ['change', 'blur'],required: true,message: '標題不能為空'}]},form: {title: '',remark: '',config: []},formData: {titleFocus: false,configItemDatas: []},configItemRules: {},configItemData: {textFocus: false,rangeFocus: false,showBackground: false},configItem: {text: '',range: '',background: ''}};},onShow() {this.setCurrentPage(this);},onLoad(option) {this.setCurrentPage(this);if (option) {this.setData({globalOption: this.getOption(option)});}this.init();},onReady() {this.$refs.formRef?.setRules(this.formRules);this.initConfigData();},methods: {async init() {await this.listApi();await this.initResetform();},// 列表數據 API請求方法async listApi(param) {let thiz = this;param = param || {};//如果請求要重置頁面,請配置點擊附加參數refresh=1  增加判斷如輸入框回調param不是對象if (param.refresh || typeof param != 'object') {this.listNum = 1;}//請求地址及請求數據,可以在加載前執行上面增加自己的代碼邏輯let http_url = '/game/project/list';let http_data = {pageNum: this.listNum,pageSize: 10,title_like: param.title_like || this.title};let http_header = {};if (!this.globalOption.isself) {http_data.userId = '1';} else {http_data.isself = '1';}let list = await this.$http.post(http_url, http_data, http_header, 'json');let datarows = list.rows;if (http_data.pageNum == 1) {this.list = list;} else if (datarows) {let rows = this.list.rows.concat(datarows);list.rows = rows;this.list = Object.assign(this.list, list);}if (datarows && datarows.length > 0) {this.listNum = this.listNum + 1;}this.globalData.isshow = true;},// 復制數據 API請求方法async copyApi(param) {let thiz = this;param = param || {};//請求地址及請求數據,可以在加載前執行上面增加自己的代碼邏輯let http_url = '/game/project/copy';let http_data = {id: param.id || this.item.id || '1',index: param.index || this.index};let http_header = {};let flag = await this.showModal('是否確定復制該數據');if (!flag) {this.showToast('你已取消刪');return;}let copy = await this.$http.post(http_url, http_data, http_header, 'json');this.copy = copy;await this.listApi({ refresh: 1 });},// 刪除數據 API請求方法async delApi(param) {let thiz = this;param = param || {};//請求地址及請求數據,可以在加載前執行上面增加自己的代碼邏輯let http_url = '/game/project/del';let http_data = {id: param.id || this.item.id,index: param.index || this.index};let http_header = {};let flag = await this.showModal('是否確定刪除該數據');if (!flag) {this.showToast('你已取消刪');return;}let del = await this.$http.post(http_url, http_data, http_header, 'json');this.del = del;if (del.code == 200) {this.list.rows.splice(param.index, 1);this.list.total = this.list.rows.length;this.showToast('刪除數據成功');} else {this.showToast('刪除數據失敗', 'error');}},// 修改數據 自定義方法async editFunction(param) {let thiz = this;let index = param && (param.index || param.index == 0) ? param.index : thiz.index || '';let form = JSON.parse(JSON.stringify(this.list.rows[param.index]));form.config = JSON.parse(form.config);let configItemDatas = [];form.config.forEach((item) => {configItemDatas.push(JSON.parse(JSON.stringify(this.configItemData)));});this.formData.configItemDatas = configItemDatas;this.form = form;this.showForm = true;},//初始化顯示子表單數據條數initConfigData() {for (let i = 0; i < 1; i++) {this.form.config.push(JSON.parse(JSON.stringify(this.configItem)));this.formData.configItemDatas.push(JSON.parse(JSON.stringify(this.configItemData)));}this.initConfigValid();},//子表單驗證initConfigValid() {this.$nextTick(() => {this.$refs['configRef']?.forEach((subform) => {subform.setRules(this.configItemRules);});});},//上移子表單upConfigItem(evt) {let { index } = evt.currentTarget.dataset;if (index == 0) {this.navigateTo({type: 'tip',tip: '已經是第一個'});return false;}this.form.config[index] = this.form.config.splice(index - 1, 1, this.form.config[index])[0];this.formData.configItemDatas[index] = this.formData.configItemDatas.splice(index - 1, 1, this.formData.configItemDatas[index])[0];this.initConfigValid();},//下移子表單downConfigItem(evt) {let { index } = evt.currentTarget.dataset;if (index == this.form.config.length - 1) {this.navigateTo({type: 'tip',tip: '已經是最后一個'});return false;}this.form.config[index] = this.form.config.splice(index + 1, 1, this.form.config[index])[0];this.formData.configItemDatas[index] = this.formData.configItemDatas.splice(index + 1, 1, this.formData.configItemDatas[index])[0];this.initConfigValid();},//刪除子表單delConfigItem(evt) {let { index } = evt.currentTarget.dataset;this.form.config.splice(index, 1);this.formData.configItemDatas.splice(index, 1);this.initConfigValid();},//增加子表單addConfigItem() {this.form.config.push(JSON.parse(JSON.stringify(this.configItem)));this.formData.configItemDatas.push(JSON.parse(JSON.stringify(this.configItemData)));this.initConfigValid();},//驗證所有的子表單checkConfigValid() {let flag = true;this.$refs['configRef']?.forEach((subform) => {subform.validate((valid) => {if (!valid) {flag = false;return false;}});});return flag;},changeConfigItemBackground(evt, configIndex, configItem) {let result = evt.hex;configItem.background = result;},initResetform() {this.initform = JSON.stringify(this.form);//如果想給表單默認初始值,其中row為某一行數據也可能是API返回的結果集,然后給到this.form//this.form = this.$tools.changeRowToForm(row,this.form)},resetForm() {this.form = JSON.parse(this.initform);},async submitForm(e) {this.$refs.formRef?.setRules(this.formRules);this.initConfigValid();this.$nextTick(async () => {let configvalid = await this.checkConfigValid();let valid = await this.$refs.formRef.validate();if (valid && configvalid) {//保存數據let param = this.form;let header = {'Content-Type': 'application/json'};let url = '/game/project/add';if (this.form.id) {url = '/game/project/update';}uni.showLoading({title: '正在保存...'});let res = await this.$http.post(url, param, header, 'json');uni.hideLoading();if (res.code == 200) {//更新列表數據this.listNum = 1;this.listApi();if (this.form.id) {this.showToast('更新成功');//關閉表單this.showForm = false;} else {//提示是否繼續新增let flag = await this.showModal('是否繼續新增');if (flag) {//重置表單this.resetForm();} else {//關閉窗口this.showForm = false;}}} else {this.showModal(res.msg, '提示', false);}} else {console.log('驗證失敗');}});}},onPullDownRefresh() {// 列表數據 API請求方法this.listNum = 1;this.listApi();uni.stopPullDownRefresh();},onReachBottom() {// 列表數據 API請求方法this.listApi();}};
</script><style lang="scss" scoped>.title-clz {background-color: #ffffff;margin-left: 16rpx;border-bottom-left-radius: 12rpx;overflow: hidden;width: calc(100% - 16rpx - 16rpx) !important;border-top-left-radius: 12rpx;margin-top: 16rpx;border-top-right-radius: 12rpx;border-bottom-right-radius: 12rpx;margin-bottom: 16rpx;margin-right: 16rpx;}.flex4-clz {padding-top: 10rpx;border-bottom-left-radius: 12rpx;padding-left: 10rpx;padding-bottom: 10rpx;border-top-right-radius: 12rpx;margin-right: 20rpx;background-color: #ffffff;margin-left: 20rpx;overflow: hidden;width: calc(100% - 20rpx - 20rpx) !important;border-top-left-radius: 12rpx;margin-top: 10rpx;border-bottom-right-radius: 12rpx;margin-bottom: 10rpx;padding-right: 10rpx;}.text1-clz {padding-top: 10rpx;padding-left: 10rpx;font-size: 28rpx !important;padding-bottom: 10rpx;padding-right: 10rpx;}.text2-clz {padding-top: 10rpx;color: #7c7c7c;padding-left: 10rpx;padding-bottom: 10rpx;padding-right: 10rpx;}.flex2-clz {border-top: 2rpx solid #eee;padding-top: 10rpx;color: #6b6b6b;padding-left: 10rpx;padding-bottom: 10rpx;padding-right: 10rpx;}.text6-clz {border: 2rpx solid #038af2;padding-top: 10rpx;border-bottom-left-radius: 10rpx;color: #038af2;padding-left: 20rpx;padding-bottom: 10rpx;border-top-right-radius: 10rpx;margin-right: 10rpx;background-color: #f0f1ff;margin-left: 10rpx;overflow: hidden;border-top-left-radius: 10rpx;margin-top: 10rpx;border-bottom-right-radius: 10rpx;margin-bottom: 10rpx;padding-right: 20rpx;}.text4-clz {border: 2rpx solid #038af2;padding-top: 10rpx;border-bottom-left-radius: 10rpx;color: #038af2;padding-left: 20rpx;padding-bottom: 10rpx;border-top-right-radius: 10rpx;margin-right: 10rpx;background-color: #f0f1ff;margin-left: 10rpx;overflow: hidden;border-top-left-radius: 10rpx;margin-top: 10rpx;border-bottom-right-radius: 10rpx;margin-bottom: 10rpx;padding-right: 20rpx;}.text13-clz {border: 2rpx solid #ffb08f;padding-top: 10rpx;border-bottom-left-radius: 10rpx;color: #ff592c;padding-left: 20rpx;padding-bottom: 10rpx;border-top-right-radius: 10rpx;margin-right: 10rpx;background-color: #fff4f0;margin-left: 10rpx;overflow: hidden;border-top-left-radius: 10rpx;margin-top: 10rpx;border-bottom-right-radius: 10rpx;margin-bottom: 10rpx;padding-right: 20rpx;}.flex3-clz {padding-top: 16rpx;border-bottom-left-radius: 0rpx;color: #747474;bottom: 0rpx;padding-left: 16rpx;padding-bottom: 16rpx;border-top-right-radius: 20rpx;background-color: #ffffff;overflow: hidden;left: 0rpx;border-top-left-radius: 20rpx;border-bottom-right-radius: 0rpx;padding-right: 16rpx;}.flex20-clz {padding-top: 16rpx;border-bottom-left-radius: 200rpx;overflow: hidden;font-weight: bold;padding-left: 10rpx;font-size: 28rpx !important;padding-bottom: 16rpx;border-top-left-radius: 200rpx;border-top-right-radius: 200rpx;border-bottom-right-radius: 200rpx;padding-right: 10rpx;}.icon2 {font-size: 40rpx;}.flex-clz {padding-top: 20rpx;padding-left: 20rpx;padding-bottom: 20rpx;padding-right: 20rpx;}.image-size {height: 400rpx !important;width: 400rpx !important;}.text-clz {color: #969696;font-size: 28rpx !important;}.form-clz {padding-top: 10rpx;border-bottom-left-radius: 12rpx;padding-left: 10rpx;padding-bottom: 10rpx;border-top-right-radius: 12rpx;margin-right: 20rpx;background-color: #ffffff;margin-left: 20rpx;overflow: hidden;width: calc(100% - 20rpx - 20rpx) !important;border-top-left-radius: 12rpx;margin-top: 10rpx;border-bottom-right-radius: 12rpx;margin-bottom: 10rpx;padding-right: 10rpx;}.flex1-clz {overflow: auto;}.formconfigtools {position: absolute;z-index: 1;right: 30rpx;bottom: 16rpx;}.formconfigtools .diygw-btn {padding: 5px;height: auto;flex: inherit;border-radius: 20px;}.flex5-clz {border: 2rpx solid #eee;padding-top: 10rpx;border-bottom-left-radius: 12rpx;padding-left: 10rpx;padding-bottom: 80rpx;border-top-right-radius: 12rpx;margin-right: 10rpx;margin-left: 10rpx;overflow: hidden;width: calc(100% - 10rpx - 10rpx) !important;border-top-left-radius: 12rpx;margin-top: 10rpx;border-bottom-right-radius: 12rpx;margin-bottom: 10rpx;padding-right: 10rpx;}.button-button-clz {margin: 6rpx !important;}.container334706 {padding-bottom: 160rpx;background-color: #f5f5f5;}
</style>

點擊列表傳id進轉盤頁面

首頁獲取轉盤ID

根據用戶維護的列表id動態顯示出來。

<template><view class="container container334706"><view v-if="isshow" class="flex flex-wrap diygw-col-24 flex-direction-column items-center flex-clz"><view class="diygw-col-24"><diy-lucky-wheel ref="refPrize" width="600rpx" height="600rpx" :blocks="prizeConfig.blocks" :prizes="prizeConfig.prizes" :buttons="prizeConfig.buttons" :defaultStyle="prizeConfig.defaultStyle" :defaultConfig="prizeConfig.defaultConfig" @start="startPrize" @end="endPrize"></diy-lucky-wheel></view><view class="flex flex-wrap diygw-col-24 justify-center flex1-clz"><text @tap="navigateTo" data-type="page" data-url="/pages/records" class="diygw-col-0 more-clz"> 熱門轉盤 </text><text @tap="navigateTo" data-type="page" data-url="/pages/records" data-isself="1" class="diygw-col-0 text-clz"> 我的轉盤 </text></view></view><view class="clearfix"></view></view>
</template><script>export default {data() {return {//用戶全局信息userInfo: {},//頁面傳參globalOption: {},//自定義全局變量globalData: {},dataNum: 1,data: {code: 0,msg: '',data: {id: 0,title: '',config: '',remark: '',userId: 0,createTime: '',updateTime: '',deleteTime: null}},isshow: false,prize: undefined,prizeConfig: {blocks: [{ padding: '0' }],prizes: [{ range: 1, background: '#fea832', fonts: [{ text: '一等獎', top: '20' }], imgs: [{ src: '/static/ps.png', top: '50', width: '50px' }] },{ range: 1, background: '#fedb41', fonts: [{ text: '二等獎', top: '20' }] },{ range: 1, background: '#fea832', fonts: [{ text: '三等獎', top: '20' }] },{ range: 1, background: '#fedb41', fonts: [{ text: '四等獎', top: '20' }] },{ range: 1, background: '#fea832', fonts: [{ text: '五等獎', top: '20' }] },{ range: 1, background: '#fedb41', fonts: [{ text: '謝謝參與', top: '20' }] }],buttons: [{ radius: '40%', background: '#f44b24' },{ radius: '35%', background: '#fea832' },{ radius: '30%', background: '#ffecbf', pointer: true, fonts: [{ text: '開始', top: '-25' }] },{ radius: '30%', pointer: true, fonts: [{ text: '抽獎' }] }],defaultStyle: { gutter: 0, speed: 20, accelerationTime: 2500, decelerationTime: 2500 }}};},onShow() {this.setCurrentPage(this);},onLoad(option) {this.setCurrentPage(this);if (option) {this.setData({globalOption: this.getOption(option)});}this.init();},methods: {async init() {await this.dataApi();await this.isloginFunction();},// 列表數據 API請求方法async dataApi(param) {let thiz = this;param = param || {};//如果請求要重置頁面,請配置點擊附加參數refresh=1  增加判斷如輸入框回調param不是對象if (param.refresh || typeof param != 'object') {this.dataNum = 1;}//請求地址及請求數據,可以在加載前執行上面增加自己的代碼邏輯let http_url = '/game/api.project/get';let http_data = {pageNum: this.dataNum,pageSize: 10,id: param.id || this.globalOption.id || '1'};let http_header = {};//不是修改,初始化用戶信息if (!this.globalOption.id) {this.isshow = true;return;}let data = await this.$http.post(http_url, http_data, http_header, 'json');let datarows = data.rows;if (http_data.pageNum == 1) {this.data = data;} else if (datarows) {let rows = this.data.rows.concat(datarows);data.rows = rows;this.data = Object.assign(this.data, data);}if (datarows && datarows.length > 0) {this.dataNum = this.dataNum + 1;}uni.setNavigationBarTitle({title: data.data.title});let config = JSON.parse(data.data.config);function getRandomColor(index) {let colors = ['#fea832', 'fedb41'];return colors[index % 2];}let prizes = config.map((item, index) => {return { range: item.range ? parseInt(item.range) : 1, background: item.background || getRandomColor(index), fonts: [{ text: item.text, top: '20' }] };});this.prizeConfig.prizes = prizes;this.isshow = true;},// 判斷用戶是否登錄 自定義方法async isloginFunction(param) {let thiz = this;if (!this.$session.getToken()) {//比如未登錄,轉身到其他頁面等this.showToast('請先登錄');this.navigateTo({type: 'page',url: 'login'});return;}},// 退出登錄 自定義方法async logoutFunction(param) {let thiz = this;this.$session.clearUser();this.navigateTo({type: 'page',url: 'login'});},// 得獎回調 自定義方法async changeZhongjiangFunction(param) {let thiz = this;let prize = param && (param.prize || param.prize == 0) ? param.prize : thiz.prize || '';console.log(JSON.stringify(prize));this.navigateTo({type: 'tip',tip: prize.fonts[0].text});let flag = await this.showModal(prize.fonts[0].text);},//開始startPrize() {this.$refs.refPrize.play();setTimeout(() => {this.$refs.refPrize.stop();}, 3000);},// 停止endPrize(prize) {this.prize = prize;this.navigateTo({ prize: this.prize, type: 'changeZhongjiangFunction' });}},onPullDownRefresh() {// 列表數據 API請求方法this.dataNum = 1;this.dataApi();uni.stopPullDownRefresh();},onReachBottom() {// 列表數據 API請求方法this.dataApi();}};
</script><style lang="scss" scoped>.flex-clz {padding-top: 40rpx;padding-left: 10rpx;padding-bottom: 10rpx;padding-right: 10rpx;}.flex1-clz {margin-left: 10rpx;font-weight: bold;width: calc(100% - 10rpx - 10rpx) !important;font-size: 32rpx !important;margin-top: 30rpx;margin-bottom: 10rpx;margin-right: 10rpx;}.more-clz {padding-top: 10rpx;padding-left: 10rpx;padding-bottom: 10rpx;padding-right: 10rpx;}.text-clz {padding-top: 10rpx;padding-left: 10rpx;padding-bottom: 10rpx;padding-right: 10rpx;}.container334706 {}
</style>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66873.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66873.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66873.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MongoDB文檔查詢

一、實驗目的 1. 理解MongoDB文檔數據庫的基本概念和特性。 2. 掌握在MongoDB中創建集合和插入文檔數據的方法。 3. 學習使用MongoDB進行文檔查詢操作&#xff0c;包括查詢、過濾和排序等。 二、實驗環境準備 1. JAVA環境準備&#xff1a;確保Java Development Kit (J…

速通Docker === 使用最佳實踐總結

目錄 主要使用步驟 1. 命令 2. 網絡 3. 存儲 卷存儲&#xff08;Volumes&#xff09; 目錄掛載&#xff08;Bind Mounts&#xff09; 比較 4. 環境變量 5. 端口 示例&#xff1a;啟動 MySQL 容器 解釋&#xff1a; 總結 Docker 是一個開源的應用容器引擎&#xff0…

Postgresql源碼(140)理解PG的編譯流程(make、Makefile、Makefile.global.in)

PG16 PG中使用的makefile看起來代碼比較多&#xff0c;但是實際邏輯比較簡單&#xff0c;這里做一些抽象總結。 總結 Makefile.global.in的$(recurse)宏自動生成了target&#xff0c;可以方便的進入內存目錄進行編譯。 all: all-common-recurse all-common-recurse: submak…

c語言中的數組(上)

數組的概念 數組是?組相同類型元素的集合&#xff1b; 數組中存放的是1個或者多個數據&#xff0c;但是數組元素個數不能為0。 數組中存放的多個數據&#xff0c;類型是相同的。 數組分為?維數組和多維數組&#xff0c;多維數組?般?較多?的是?維數組。 數組創建 在C語言…

戴爾電腦設置u盤啟動_戴爾電腦設置u盤啟動多種方法

最近有很多網友問&#xff0c;戴爾臺式機怎么設置u盤啟動&#xff0c;特別是近兩年的戴爾臺式機比較復雜&#xff0c;有些網友不知道怎么設置&#xff0c;其實設置u盤啟動有兩種方法&#xff0c;下面小編教大家戴爾電腦設置u盤啟動方法。 戴爾電腦設置u盤啟動方法一、戴爾進入b…

2【選修】再探寶可夢、數碼寶貝分類器

1 Pokemon/Digimon Classifier 1.1 Observation 1.2 Function 1.3 Loss 1.4 Training Examples – OOPS what do we want? 2 What is the probability of sampling bad D t r a i n D_{train} Dtrain? 2.1 Theroy – Larger N N N smaller ∣ H ∣ |H| ∣H∣ 2.2…

微信小程序中實現背景圖片完全覆蓋顯示,可以通過設置CSS樣式來實現

wxml頁面代碼 <view class"beijing"></view>wxss樣式代碼 /* pages/beiJing/beiJing.wxss */ .beijing {background-image: url("https://www.qipa250.com/qipa.jpg");/* 定位&#xff1a;絕對定位 */position: absolute;/* 上下左右都定位到…

Mongodb 慢查詢日志分析 - 1

Mongodb 慢查詢日志分析 使用 mloginfo 處理過的日志會在控制臺輸出, 顯示還是比較友好的. 但是如果內容較大, 就不方便查看了, 如果可以導入到 excel 就比較方便篩選/排序. 但是 mloginfo 并沒有提供生成到 excel 的功能. 可以通過一個 python 腳本輔助生成: import pandas…

ASP.NET Core 6.0 如何處理丟失的 Startup.cs 文件

介紹 .NET 6.0 已經發布&#xff0c;ASP.NET Core 6.0 也已發布。其中有不少變化讓很多人感到困惑。例如&#xff0c;“誰動了我的奶酪”&#xff0c;它在哪里Startup.cs&#xff1f;在這篇文章中&#xff0c;我將深入研究這個問題&#xff0c;看看它移動到了哪里以及其他變化。…

歐幾里得算法求最小公倍數和最大公約數

一.最大公約數 gcd(a,b)gcd(b,a%b) 遞歸式,當且僅當b0&#xff0c;易得0和a的公約數為a.(可作為遞歸的出口) 證明&#xff1a; int gcd(int a, int b) {if (b 0) return a;else return gcd(b, a % b); } 二.最小公倍數 給定整數a b&#xff0c;求a b的最小公倍數 有圖可知…

文檔解析:PDF里的復雜表格、少線表格如何還原?

PDF中的復雜表格或少線表格還原通常需要借助專業的工具或在線服務&#xff0c;以下是一些可行的方法&#xff1a; 方法一&#xff1a;使用在線PDF轉換工具 方法二&#xff1a;使用桌面PDF編輯軟件 方法三&#xff1a;通過OCR技術提取表格 方法四&#xff1a;手動重建表格 …

局域網中 Windows 與 Mac 互相遠程連接的最佳方案

由于工作需要&#xff0c;經常需要遠程連接或登錄到幾臺不同的工作用機上進行操作。 下面基于免費、高體驗等基本訴求&#xff0c;簡要記錄幾種不同場景下的實踐方案選擇&#xff0c;僅供參考。如您有更簡單且更優的方案&#xff0c;歡迎一起探討。 1 遠程桌面連接的幾種不同…

二叉樹的所有路徑(力扣257)

因為題目要求路徑是從上到下的&#xff0c;所以最好采用前序遍歷。這樣可以保證按從上到下的順序將節點的值存入一個路徑數組中。另外&#xff0c;此題還有一個難點就是如何求得所有路徑。為了解決這個問題&#xff0c;我們需要用到回溯。回溯和遞歸不分家&#xff0c;每遞歸一…

Centos 修改歷史讀錄( HISTSIZE)

history命令 -c #清空命令歷史 -r #讀歷史文件附加到歷史列表 -w #保存歷史列表到指定的歷史文件 命令歷史相關環境變量 HISTSIZE #命令歷史記錄的條數 HISTFILE #指定歷史文件&#xff0c;默認為~/.bash_history HISTFILESIZE #命令歷史文件記錄歷史的條數 以上變量可以 exp…

【C++高并發服務器WebServer】-2:exec函數簇、進程控制

本文目錄 一、exec函數簇介紹二、exec函數簇 一、exec函數簇介紹 exec 函數族的作用是根據指定的文件名找到可執行文件&#xff0c;并用它來取代調用進程的內容&#xff0c;換句話說&#xff0c;就是在調用進程內部執行一個可執行文件。 exec函數族的函數執行成功后不會返回&…

TDengine 與上海電氣工業互聯網平臺完成兼容性認證

在工業數字化轉型和智能化升級的浪潮中&#xff0c;企業對高效、可靠的數據管理解決方案的需求日益增長。特別是在風電智能運維、火電遠程運維、機床售后服務等復雜多樣的工業場景下&#xff0c;如何實現海量設備和時序數據的高效管理&#xff0c;已經成為推動行業升級的關鍵。…

Jenkins pipline怎么設置定時跑腳本

目錄 示例&#xff1a;在Jenkins Pipeline中設置定時觸發 使用pipeline指令設置定時觸發 使用Declarative Pipeline設置定時觸發 使用Scripted Pipeline設置定時觸發 解釋Cron表達式 保存和應用配置 小結 在Jenkins中&#xff0c;定時跑腳本&#xff08;例如定時執行Pip…

kotlin的協程的基礎概念

Kotlin的協程是一種用于簡化異步編程的強大工具。 理解協程的基礎概念可以幫助開發者有效地利用其能力。 以下是Kotlin協程的一些關鍵基礎概念&#xff1a; 協程&#xff08;Coroutines&#xff09; &#xff1a; 協程是一種用于處理并發任務的編程模型&#xff0c;它可以在單…

machine learning knn算法之使用KNN對鳶尾花數據集進行分類

通過導入必要的scikit-learn導入必要的庫&#xff0c;加載給定的數據&#xff0c;劃分測試集和訓練集之后訓練預測和評估即可 具體代碼如下&#xff1a; import numpy as np from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split f…

springEl 構建通用樹

再項目開發中&#xff0c;需要構建組織的樹形&#xff0c;菜單的樹形&#xff0c;字典樹形。感覺相似的代碼寫了一堆&#xff0c;就想著有沒有辦法&#xff0c;寫個通用的方法去處理下&#xff1f; 學習了《SpringEL詳解》&#xff0c;用springEl處理下。 構建樹形&…