小程序 web-view h5页面背景音乐自动播放

news2024/11/27 9:47:30

在这里插入图片描述

在这里插入图片描述

/**
 * 年度账单-登录首页
 */
import React,{useEffect} from 'react'
import 'swiper/swiper-bundle.min.css'
import styles from './styles.less'
import bgm from './bgm2.mp3'
// 主体
const annualAccountLoginIndex = (props) => {
  const goAnnualAccount =()=>{
    const {location: { query: { name,phone} } } = props;
    props.history.push({
      pathname: `/annualAccountLoginDetail`,
      query:{
        name,
        phone
      }
    })
  }
  const imgUrl = 'http://oss.yoyoeco.com/Image/annualbill2021/'
  useEffect(() => {
  	//  提前加载audio音乐
    const myAudio = new Audio()
    myAudio.preload = true;
    myAudio.autoplay = false;
    myAudio.loop = true;
    myAudio.src = bgm;
    document.getElementById("audioBox").appendChild(myAudio);
  }, [])
      
  return (
    <div className={styles.swpierBox} style={{background: `url(${imgUrl}index_bg.jpg) no-repeat center #000`,backgroundSize:'cover', height:'100vh'}}>
      <div id='audioBox' style={{ position: 'fixed', top: 15, right: 15, width: 40, height: 40, zIndex: 0 }} />
      <div className={styles.heart} style={{width:'41%',position:'fixed',top:'calc(52% + 5px)',left:'29.5%'}} onClick={goAnnualAccount}>
        <img style={{display:'block',width:'100%'}} src={`${imgUrl}index_button.png`} alt="" />
      </div>
    </div>
  )
}
export default annualAccountLoginIndex;

/**
 * 年度账单-详情页
 */
import React, { createRef, PureComponent, } from 'react';
import { Form } from '@ant-design/compatible';
import '@ant-design/compatible/assets/index.css';
import { connect } from 'dva';
import Swiper from 'swiper'
import moment from 'moment';
import echarts from 'echarts/lib/echarts';
import 'echarts/lib/chart/line';
import 'echarts/lib/chart/pie';
import 'echarts/lib/chart/bar';
import 'echarts/lib/component/tooltip';
import 'echarts/lib/component/title';
import { message } from 'antd';
import styles from './styles.less';
import html2canvas from './html2canvas1.0.0-rc.4'; // 1.0.0-rc.4版本
import 'swiper/swiper-bundle.min.css'
import bgm from './bgm2.mp3'

// 主体内容
@connect(({ annualAccount, loading }) => ({
  annualAccount,
  loading: loading.models.annualAccount,
}))

@Form.create()
class annualAccountLoginDetail extends PureComponent {
  constructor(props) {
    super(props);
    this.gw = createRef();
    this.gw1 = createRef();
    this.state = {
      billData: {},
      imgUrl: `http://oss.yoyoeco.com/Image/annualbill2021/`,
      myAudio:{}
    }
  }

  // (装载完成),在render之后调用
  componentDidMount() {
    const { dispatch, location: { query: { phone} } } = this.props;
    dispatch({
      type: 'annualAccount/queryYearBills',
      payload: phone,
      callback: res => {
        const { data } = res
        this.setState(
          {
            billData: data,
          }
        );
      },
    });
    const mySwiper = new Swiper('.swiper-container', {
      direction: 'vertical',
      effect: 'fade',
      observer: true,
      observeParents: true,
      resistanceRatio: 0,
      autoHeight: true, // 高度随内容变化
      height: window.innerHeight,  // 高度占满整个设备高度
      paginationClickable: true,
      onTouchStart(swiper) {
        swiper.unlockSwipeToPrev();
        swiper.unlockSwipeToNext();
        if (swiper.isEnd) {
          swiper.lockSwipeToNext();
        } else if (swiper.activeIndex === 0) {
          swiper.lockSwipeToPrev();
        }
      }
    })
    // 音乐播放
    const myAudio = new Audio()
    myAudio.preload = true;
    myAudio.autoplay = true;
    myAudio.loop = true;
    myAudio.src = bgm;
    document.getElementById("audioBox").appendChild(myAudio);
    this.setState({
      myAudio
    })
    const play = function () {
      myAudio.play();
      document.removeEventListener("touchstart", play, false);
    };
    myAudio.play();
    document.addEventListener("WeixinJSBridgeReady", () => {// 微信
      play();
    }, false);
    document.addEventListener("touchstart", play, false);
  }

  playMusic=()=>{
    const {myAudio} = this.state
    myAudio.play()
  }

  muteMusic=()=>{
    const {myAudio} = this.state
    myAudio.pause()
  }

  // 返回首页
  goHome = () => {
    wx.miniProgram.navigateTo({ url: `/pages/start/start` })
  }

  // html转化成图片
  htmlToImg = () => {
    html2canvas(document.getElementById('picture1'), {
      dpi: 169 * 2,// window.devicePixelRatio * 2,
      scale: 2,
      logging: false, // 日志开关,便于查看html2canvas的内部执行流程
      scrollY: 0,
      scrollX: 0,
      useCORS: true,
      allowTaint: false
    })
      .then((canvas) => {
        const imageSrc = canvas.toDataURL("image/png", 1)
        this.doSavePic(imageSrc)
      }).catch(err => {
        message.info(err)
      });
  }

  changeData=(date2,type)=>{
    const reg = new RegExp( '-' , "g" )
    const date = date2.replace(reg,'/')
    const year = new Date(date).getFullYear()
    const month = new Date(date).getMonth() + 1
    const day = new Date(date).getDate()
    const hour = new Date(date).getHours() < 10 ? `0${new Date(date).getHours()}` : new Date(date).getHours()
    const min = new Date(date).getMinutes()< 10 ? `0${new Date(date).getMinutes()}` : new Date(date).getMinutes()
    let time 
    switch (type) {
      case 'MM月dd日':
        time = `${month}月${day}日`
        break;
      case 'X点XX分':
        time = `${hour}点${min}分`
        break;
      default:
        time = `${year}-${month}-${day}`
        break;
    }
    return time
  }

  getKeyWords=(num)=>{
    let txt = ''    
    if (num < 275001 ) {
      txt = '踩油门就像踩缝纫机'
    } else if (num > 275000 && num < 350001){
      txt = '消费力YYDS'
    } else if (num > 350000 && num < 625001) {
      txt = '佛系豚友'
    } else {
      txt = '加油,你差点就追上我了'
    }
    return txt
  }

  // 保存图片到相册
  doSavePic = (imgUrl) => {
    wx.miniProgram.postMessage({
      data: {
        imgData: imgUrl // 刚才拿到的base64 数据
      }
    });
    wx.miniProgram.navigateBack({ delta: 1 }) // 注意这里.
  }

  render() {
    const { billData,imgUrl } = this.state
    const {location: { query: { name} } } = this.props;
    return (
      <>
        <div className={styles.Hello}>
          <div id='audioBox' style={{ position: 'fixed', top: 15, right: 15, width: 40, height: 40, zIndex: 0 }} />
          <div style={{display:'flex',alignItems:'center',position: 'fixed',right:15,zIndex:999,top:15}}>
            <img src={`${imgUrl}4319d39a0edfbeb2c34655889cb488c.png`} onClick={this.muteMusic} alt="" style={{marginRight:10,width:30,height:30,display:'block',padding:5}} />
            <img onClick={this.playMusic} src={`${imgUrl}acb67f079a488b2a1c6cd2da00d4dd4.png`} alt="" style={{width:30,height:30,display:'block',padding:5.5}} />
          </div>
          <div className="swiper-container">
            <div className="swiper-wrapper">
              <div className="swiper-slide">
                <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page2_bg.jpg) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }}>
                  <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                  <div className={styles.heart} style={{ position: 'absolute', bottom: '88px', left: '0', width: '100%' }}>
                    <div className={styles.textContent} style={{ fontSize: 18, fontWeight: 600, paddingBottom: 23 }}>嗨!{name},你好</div>
                    <div className={styles.textContent}>好久不见</div>
                    <div className={styles.textContent}>欢迎乘坐Y2021号宇宙飞船,我是本次航班的机长豚豚</div>
                    <div className={styles.textContent}>此次航班航行总里程520光年,预计用时1314秒</div>
                    <div className={styles.textContent}>本次旅行严禁携带忧伤、烦恼等危险品</div>
                    <div className={styles.textContent}>请带上愉快的心情,系好安全带</div>
                    <div className={styles.textContent}>跟随我一起开启元宇宙惊喜吧</div>
                  </div>
                </div>
              </div>
              <div className="swiper-slide">
                <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page3_bg.jpg) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }} />
                <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                <div className={styles.heart} style={{ paddingLeft: 38, position: 'absolute', width: '100%', top: 200 }}>
                  <div className={styles.textContent2}>去征服世界,我为您加油</div>
                  <div className={styles.textContent2}>从2017,走到2021</div>
                  <div className={styles.textContent2}>。。目前已</div>
                  <div className={styles.textContent2}>布局 <span className={styles.spanText}>22个 </span> 省份 </div>
                  <div className={styles.textContent2}>点亮 <span className={styles.spanText}>71个 </span> 城市</div>
                </div>
              </div>
              <div className="swiper-slide">
                <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page4_bg.jpg) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }} />
                <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                <img src={`${imgUrl}goOil.png`} onClick={this.goHome} alt="" style={{ position: 'absolute', top: 60, right: 20, width: 137 }} />
                <div className={styles.heart} style={{ paddingLeft: 38, position: 'absolute', width: '100%', bottom: 220 }}>
                  <div className={styles.textContent2}>在过去的一年里</div>
                  <div className={styles.textContent2}>YOYO—ECO智慧油站系统</div>
                  <div className={styles.textContent2}>为<span className={styles.spanText}>1575277位 </span>朋友</div>
                  <div className={styles.textContent2}>处理了<span className={styles.spanText}>15082339笔 </span>订单</div>
                  <div className={styles.textContent2}>平均每分钟完成了<span className={styles.spanText}>21次 </span>计算</div>
                  <div className={styles.textContent2}>距离成为12306那样的平台</div>
                  <div className={styles.textContent2}>还有2/3的路要走</div>
                </div>
              </div>
              <div className="swiper-slide">
                <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page5_bg.jpg) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }} />
                <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                <img src={`${imgUrl}page5_popo.png`} alt="" style={{ position: 'absolute', top: 0, left: 0, width: '100%', zIndex: 0 }} />
                <div className={styles.heart} style={{ paddingLeft: 38, position: 'absolute', width: '100%', top: 160, zIndex: 2 }}>
                  <div className={styles.textContent2}>2021年,便利店</div>
                  <div className={styles.textContent2} style={{ position: 'relative' }}>共计卖出了<span className={styles.spanText}>18900个</span><img src={`${imgUrl}page5_pic.png`} alt="" style={{ position: 'absolute', bottom: 0, left: 210, width: 95, zIndex: 1 }} /></div>
                  <div className={styles.textContent2}>YOUNG-小红<span className={styles.spanText}>虎皮凤爪</span></div>
                  <div className={styles.textContent2}>有<span className={styles.spanText}>9450只</span>小鸡失去了</div>
                  <div className={styles.textContent2}>他们的小jio jio</div>
                </div>
              </div>
              {
                billData && billData.firstOilTime ?
                  <>
                    <div className="swiper-slide">
                      <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page6_bg.jpg) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }} />
                      <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                      <div className={styles.heart} style={{ paddingLeft: 60, position: 'absolute', width: '100%', bottom: 250 }}>
                        <div className={styles.textContent2}>还记得2021年<span className={styles.spanText}>{moment(billData.firstOilTime).format('MM月DD日')}</span>吗</div>
                        <div className={styles.textContent2}>你踏入<span className={styles.spanText}>{this.changeXHT(billData.firstOilGasName)}</span></div>
                        <div className={styles.textContent2}>加了第一箱油</div>
                        <div className={styles.textContent2}>消费了 <span className={styles.spanText}>{billData.firstOilAmount/100}元</span></div>
                        <div className={styles.textContent2}>宇宙中的原子用140亿年</div>
                        <div className={styles.textContent2}>穿越时间和空间来创造我们</div>
                        <div className={styles.textContent2}>为的是让我们彼此相遇</div>
                      </div>
                    </div>
                    {
                      billData && billData.oilOrderCount ?
                        <div className="swiper-slide">
                          <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page5_bg.jpg) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }} />
                          <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                          <img src={`${imgUrl}page7_bg2.png`} alt="" style={{ position: 'absolute', top: 40, left: 0, width: '100%', zIndex: 0 }} />
                          <div className={styles.heart} style={{ paddingLeft: 60, position: 'absolute', width: '100%', top: 147 }}>
                            <div className={styles.textContent2}>2021年,你在 <span className={styles.spanText}>{billData.oilCitys}</span></div>
                            <div className={styles.textContent2}>打卡过。。。</div>
                            <div className={styles.textContent2}>这一年</div>
                            <div className={styles.textContent2}>我为你加油 <span className={styles.spanText}>{billData.oilOrderCount}次</span></div>
                            <div className={styles.textContent2}>每一次跨越时空的相遇 </div>
                            <div className={styles.textContent2}>总会令人神往</div>
                          </div>
                        </div>
                      :
                      null
                    }
                    {billData && billData.nightOilTime?// 深夜加油
                      <div className="swiper-slide">
                        <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page5_bg.jpg) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }} />
                        <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                        <img src={`${imgUrl}page8_bg2.png`} alt="" style={{ position: 'absolute', top: 55, left: 0, width: '100%', zIndex: 0 }} />
                        <div className={styles.heart} style={{ paddingLeft: 60, position: 'absolute', width: '100%', top: 207 }}>
                          <div className={styles.textContent2}>最晚一次加油~</div>
                          <div className={styles.textContent2}>{moment(billData.nightOilTime).format('MM月DD日')}<span className={styles.spanText}>{moment(billData.nightOilTime).format('HH点mm分')}</span></div>
                          <div className={styles.textContent2}>深夜里,你开车驶入。。。</div>
                          <div className={styles.textContent2}>星月为伴,我想对你说</div>
                          <div className={styles.textContent2}>你努力的样子So beautiful</div>
                        </div>
                      </div>
                    :null}
                    {billData && billData.maxOilQuantity ?// 加油最多 
                      <div className="swiper-slide">
                        <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page9_bg.png) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }} />
                        <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                        <img src={`${imgUrl}page9_popo.png`} alt="" style={{ position: 'absolute', top: 160, left: 0, width: '100%', zIndex: 0 }} />
                        <div className={styles.heart} style={{ paddingLeft: 60, position: 'absolute', width: '100%', top: 55 }}>
                          <img src={`${imgUrl}page9_pic.png`} alt="" style={{ width: '85%', marginLeft: '-23px', marginBottom: 20 }} />
                          <div className={styles.textContent2}>{moment(billData.maxOilDatetime).format('MM月DD日')},也许是很特别的一天</div>
                          <div className={styles.textContent2}>你加了<span className={styles.spanText}> {billData.maxOilQuantity / 1000} 升</span> 油</div>
                          <div className={styles.textContent2}>是你2021年加油升数最多的一次</div>
                          <div className={styles.textContent2}>很高兴,这一次我能陪你的时间更久</div>
                          <div className={styles.textContent2}>走的更远</div>
                        </div>
                      </div>
                    : null}
                    {billData && billData.discountAmount ?// 优惠信息 
                      <div className="swiper-slide">
                        <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page5_bg.jpg) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }} />
                        <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                        <img src={`${imgUrl}page10_popo.png`} alt="" style={{ position: 'absolute', top: '17%', left: 0, width: '87%', zIndex: 0 }} />
                        <div className={styles.heart} style={{ paddingLeft: 60, position: 'absolute', width: '100%', top: '28%' }}>
                          <div className={styles.textContent2}>这一年,你在。。。</div>
                          <div className={styles.textContent2}>使用了 <span className={styles.spanText}>{billData.couponCount}张</span> 优惠券</div>
                          <div className={styles.textContent2}>共省下了 <span className={styles.spanText}>{billData.discountAmount/100}元</span></div>
                          <div className={styles.textContent2}>剩余可用的积分 <span className={styles.spanText}>{billData.integralAll}个</span></div>
                          <div className={styles.textContent2}>省下来的,就是幸福的本钱</div>
                        </div>
                      </div>
                     : null}
                    {billData && billData.oilOrderQuantity ?// 会员消费汇总 
                      <div className="swiper-slide">
                        <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page2_bg.jpg) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }}>
                          <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                          <div className={styles.heart} style={{ position: 'absolute', bottom: '88px', left: '0', width: '100%' }}>
                            <div className={styles.textContent} style={{ fontSize: 18, fontWeight: 600, paddingBottom: 23 }}>尊敬的各位旅客</div>
                            <div className={styles.textContent}>。。。Y2021号宇宙飞船即将到站</div>
                            <div className={styles.textContent}>2021这一站,你在。。。累计加注{billData.oilOrderQuantity/1000}升汽油</div>
                            <div className={styles.textContent}>在。。。大家族中消费排名第{billData.quantityNumber}位</div>
                            <div className={styles.textContent}>你的年度消费关键词:<span className={styles.spanText}>{this.getKeyWords(billData.quantityNumber)}</span></div>
                            <div className={styles.textContent}>这一年,日迈月征,朝暮轮转</div>
                            <div className={styles.textContent}>。。。何其有幸,与你共度</div>
                            <div className={styles.textContent}>请携带好你的回忆,我们一起奔向2022</div>
                          </div>
                        </div>
                      </div>
                     : null} 
                  </>
                  :
                  <div className="swiper-slide"> {/* 未登录的话走到这 */}
                    <div className={styles.swpierBox} style={{ background: `url(${imgUrl}page6_bg.jpg) no-repeat center bottom #000`, backgroundSize: '100% auto', height: '100vh' }} />
                    <img src={`${imgUrl}page2_icon.png`} alt="" style={{ position: 'absolute', top: 25, left: 30, width: 100 }} />
                    <div className={styles.heart} style={{ paddingLeft: 103, position: 'absolute', width: '100%', bottom: 320 }}>
                      <div className={styles.textContent2} style={{ fontSize: 22, fontWeight: 600 }}>新的一年</div>
                      <div className={styles.textContent2} style={{ fontSize: 22, fontWeight: 600 }}>要加油哦</div>
                    </div>
                  </div>
              }
            </div>
          </div>
        </div>
      </>
    )
  }
}
export default annualAccountLoginDetail;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/722173.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java Web Tomcat 23.7.5

Tomcat 1, Tomcat 1.1 简介 1.1.1 什么是Web服务器 Web服务器是一个应用程序&#xff08;软件&#xff09;&#xff0c;对HTTP协议的操作进行封装&#xff0c;使得程序员不必直接对协议进行操作&#xff0c;让Web开发更加便捷。主要功能是"提供网上信息浏览服务"…

[Python系列] Python虚拟环境Virtualenv

1. 什么是Virtualenv Python virtualenv 是一个用于创建和管理虚拟环境的工具。它可以帮助开发者在不同的项目中使用不同的 Python 版本和包&#xff0c;而不会相互干扰。使用 virtualenv&#xff0c;可以轻松地创建一个独立的 Python 环境&#xff0c;在其中安装所需的包和版本…

【网络】思科网络vlan配置+单臂路由

文章目录 前言一、vlan&#xff08;虚拟局域网&#xff09;二、配置vlan配置交换机0配置交换机1&#xff08;和交换机0相同&#xff09;配置计算机&#xff1a;测试联通性 三、单臂路由配置R0配置交换机1测试配置&#xff1a; 前言 VLAN&#xff08;Virtual Local Area Networ…

力扣 491. 递增子序列

题目来源&#xff1a;https://leetcode.cn/problems/non-decreasing-subsequences/description/ 回溯三部曲&#xff08;来源代码随想录&#xff09;&#xff1a; 递归函数参数&#xff1a;求子序列&#xff0c;很明显一个元素不能重复使用&#xff0c;所以需要startIndex&…

2023年 vue使用腾讯地图搜索、关键字输入提示、地点显示

先看结果 vue 在public文件下的index.html文件中引入&#xff1a; <script src"//map.qq.com/api/js?v2.exp&key你自己的key"></script><script src"https://map.qq.com/api/gljs?v1.exp&librariesservice&key你自己的key"&…

【保姆级教程】PyCharm通过SSH远程连接ModelArts

文章目录 一、创建Notebook二、配置SSH三、配置远程Python解释器四、成果展示 一、创建Notebook 首先&#xff0c;找到云资源下面的 ModelArts&#xff0c;然后点击并进入 ModelArts控制台。 在ModelArts控制台中&#xff0c;点击开发环境下的 Notebook 。然后点击创建&#x…

记录一次Nginx日志偶现499的排查

背景 查看到nginx日志在整点整分的时候频繁出现 499&#xff0c;因为配置了存活检查和就绪检查&#xff0c;担心业务会出现大面积重建导致现网故障&#xff0c;所以对出现499的原因进行排查&#xff0c;记录下排查思路&#xff0c;方便以后查看。 业务链路&#xff1a; 负载均…

B/S版手术麻醉系统源码,基于php、mysql和vue2开发

手术麻醉系统是一套以数字形式与医院信息系统&#xff08;如HIS、EMR、LIS、PACS等&#xff09;和医疗设备等软、硬件集成并获取围手术期相关信息的计算机系统&#xff0c;其核心是对围手术期患者信息自动采集、储存、分析并呈现。该系统通过整合围手术期中病人信息、人员信息、…

Packet Tracer – 研究 NAT 操作

Packet Tracer – 研究 NAT 操作 目标 第 1 部分&#xff1a;通过内联网研究 NAT 操作 第 2 部分&#xff1a;研究互联网中的 NAT 操作 第 3 部分&#xff1a;执行进一步研究 拓扑图 场景 帧通过网络时&#xff0c;MAC 地址可能更改。 当数据包由配置了 NAT 的设备转发时&…

转录组和蛋白组如何关联分析?先从绘制九象限图开始

转录组和蛋白组如何关联分析&#xff1f;先从绘制九象限图开始 五种常用蛋白质组学定量分析方法对比 - 知乎 (zhihu.com) 九象限图在多组学关联分析中非常重要&#xff0c;例如我们可以用九象限图展示“转录组蛋白组”、“转录组翻译组”等关联分析中不同基因的差异表达情况。…

DotNet VOL.Core框架学习使用笔记(二)(持续更新)

2023-7-5 生成代码的列表界面&#xff0c;在数据行里增加一个操作列 查看按钮&#xff0c;打开编辑框&#xff0c;然后让编辑框成为一个只读的查看界面。 页面对应的js文件中增加如下 this.columns.push 函数内容。 按钮的点击事件 重点代码 this.edit(row); 这就是框架里编…

构建工具——webpack、vite

文章目录 构建工具Webpack使用步骤配置文件&#xff08;webpack.config.js&#xff09;插件&#xff08;plugin&#xff09; ViteVite 也是前端的构建工具使用命令构建配置文件&#xff1a;vite.config.js 构建工具 当我们习惯了在 node 中编写代码的方式后&#xff0c;在回到…

page-break-after: always打印时强制分页

page-break-before 元素在指定元素前添加分页符。 <div stylepage-break-after: always;></div> <p stylepage-break-after: always;></p>https://www.runoob.com/cssref/pr-print-pagebb.html

小样本图像目标检测研究综述——张振伟论文阅读

小样本图像目标检测研究综述——张振伟&#xff08;计算机工程与应用 2022&#xff09; 论文阅读 目前&#xff0c;小样本图像目标检测方法多基于经典的俩阶段目标检测算法Faster R-CNN作为主干网络&#xff0c;当然也有将YOLO&#xff0c;SSD一阶段目标检测算法作为主干网络的…

Android Studio实现内容丰富的安卓公交线路查询平台

如需源码可以添加q-------3290510686&#xff0c;也有演示视频演示具体功能&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动。 项目编号084 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 开发语言&#xff1a;java 2.功能介绍 安卓端&#xff1a; …

zabbix基础3——邮箱告警

文章目录 一、环境说明二、第三方邮箱告警2.1 开启第三方邮箱SMTP服务2.2 配置用户媒介2.3 定义媒介类型2.4 配置告警方式和动作2.5 触发告警&#xff0c;测试效果 三、本地邮箱脚本3.1 服务端设置脚本3.2 设置用户媒介3.3 定义媒介类型3.4 配置告警方式动作3.4 触发告警&#…

Leetcode-每日一题【92.反转链表Ⅱ】

题目 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4输出&#xff1a;…

算法中的递推算法

递推算法 给定一个数的序列H0,H1,…,Hn,…若存在整数n0&#xff0c;使当n>n0时,可以用等号(或大于号、小于号)将Hn与其前面的某些项Hi(0<i<n)联系起来&#xff0c;这样的式子就叫做递推关系。 递推算法是一种简单的算法&#xff0c;即通过已知条件&#xff0c;利用特…

免费 Selenium各大浏览器驱动【谷歌chrme、火狐Firefox、IE浏览器】

aardio群 625494397 废话不多说 直接开整&#xff01; 竟然还有脸收费 服了 下载对应版本的浏览器驱动 目标网址 应用场景 Selenium库涉及到 安装selenium库 pip install selenium-i https://mirrors.aliyun.com/pypi/simple/下载对应浏览器驱动 https://registry.npmmirror.c…

The 14th Jilin Provincial Collegiate Programming Contest(暑期训练)

Attachments - The 14th Jilin Provincial Collegiate Programming Contest - Codeforces 目录 Problem A. Chord Problem B. Problem Select Problem C. String Game Problem E. Shorten the Array Problem F. Queue Problem G. Matrix Problem J. Situation Problem L. …