如何建立一个Webservice WSDL的简单例子(完整例子)

news2024/11/24 11:46:31

一:根据对方给的wsdl 的接口地址创建Web 的逻辑端口

1:例如这个用C#写的Web

2.我们需要在SAP里建立一个Service Consumers 的服务记得后缀要加?wsdl

2:然后就会生成对应方法的出参 入参 返回的消息根据接口方法来判断

二:如何通过LPCONFIG建立逻辑端口或者通过SOAMANAGER来建立

1:指定对应的名称

2:绑定对应的地址再绑定对应SOAP的操作

SOAP操作 = ”Namespace && 调用方法“

三:程序里改如何调用呢

*&---------------------------------------------------------------------*
*& REPORT ZMM_COUNT_MATNR
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zmm_count_matnr.

DATA:lr_alv_data TYPE REF TO data.

FIELD-SYMBOLS : <lt_alv_data> TYPE ANY TABLE .
FIELD-SYMBOLS : <ls_data> TYPE any.

DATA:zwb_log_s   TYPE zwb_log.
DATA:zwb_log_t   TYPE TABLE OF zwb_log.

DATA:zwb_log_id  TYPE TABLE OF zwb_log.
DATA:zwb_log_del TYPE TABLE OF zwb_log.
DATA:zwb_log_in  TYPE TABLE OF zwb_log.

DATA:lt_lgort TYPE TABLE OF zwb_lgort.

DATA:lv_x.

DATA:BEGIN OF gs_excel,
       werks   TYPE string,
       lgort   TYPE string,
       matnr   TYPE string,
       charg   TYPE string,
       labst   TYPE string,
       fact    TYPE string,
       extime  TYPE char08,
       type    TYPE string,
       message TYPE string,
       datum   TYPE string,
     END OF gs_excel.
DATA:zwb_log_excel  LIKE TABLE OF gs_excel.

DATA gt_fieldcat TYPE lvc_t_fcat.         "列结构
DATA gs_fieldcat TYPE lvc_s_fcat.         "列结构 --工作区
DATA gs_layout TYPE lvc_s_layo.           "表单格式


TYPES: BEGIN OF ty_fieldname,
         name TYPE char20,
       END OF ty_fieldname.

DATA: lt_fieldname TYPE TABLE OF ty_fieldname WITH HEADER LINE.

DATA:lv_data1 TYPE sy-datum.
DATA:lv_data2 TYPE sy-datum.

IF sy-datum+7(1) = 1.
  lv_data1 = sy-datum.
  lv_data2 = sy-datum - 1.
ELSE.
  lv_data1 = sy-datum.
  lv_data2 = sy-datum.
ENDIF.


DEFINE fieldcatset.
  CLEAR gs_fieldcat.
  gs_fieldcat-fieldname   = &1.                  "字段名称
  gs_fieldcat-coltext     = &2.                  "字段显示名称
  gs_fieldcat-outputlen   = &3.                  "输出长度
 APPEND gs_fieldcat TO gt_fieldcat.
END-OF-DEFINITION.

PARAMETERS:s_werks1 TYPE marc-werks OBLIGATORY.
RANGES:s_werks FOR marc-werks.
RANGES:s_matnr FOR mara-matnr.
RANGES:s_lgort FOR mard-lgort.


DATA: lcx_ex TYPE REF TO cx_ai_system_fault.
DATA: lv_err_msg    TYPE string,
      lcx_fault     TYPE REF TO cx_ai_application_fault,
      lcl_zmm20     TYPE REF TO zmm20co_if_trs_cpi_delivery_so,
      ls_acc_input  TYPE zmm20get_pdmaterial_data_soap1,
      ls_acc_output TYPE zmm20get_pdmaterial_data_soap,
      ls_return     TYPE zmm20pdmaterial_return_item.
DATA:zmm20pdmaterial_result_item TYPE zmm20pdmaterial_result_item.


AT SELECTION-SCREEN OUTPUT.

  IF sy-datum+6(2) = '01' .

    MESSAGE '还未到盘点时间' TYPE 'E'.


  ENDIF.


END-OF-SELECTION.
  PERFORM get_data.           "获取数据
  PERFORM check_data.         "检查数据
  PERFORM frm_pre_fieldcat.   "设置字段
  PERFORM frm_set_layout.     "设置布局
  PERFORM frm_show_alv.
*PERFORM Filter_data.        "过滤发送的数据

*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM get_data .


  s_werks+0(3) = 'IEQ'.
  s_werks-low = s_werks1.
  APPEND s_werks.

  SELECT * FROM zwb_lgort WHERE werks IN @s_werks INTO CORRESPONDING FIELDS OF TABLE @lt_lgort.

  LOOP AT lt_lgort INTO DATA(ls_lgort).
    SELECT single lgort FROM ZMM_LGORT
      WHERE werks = @ls_lgort-werks
      AND lgort = @ls_lgort-lgort
      INTO  @DATA(ls_mm_lgort) .
    IF ls_mm_lgort IS  INITIAL.
      MESSAGE '盘点的线边仓' && ls_lgort-lgort  && '不存在!!' TYPE 'S' DISPLAY LIKE 'E'.
      LEAVE PROGRAM.
    ENDIF.
  ENDLOOP.


  CLEAR:s_lgort.
  LOOP AT lt_lgort INTO ls_lgort.
    s_lgort+0(3) = 'IEQ'.
    s_lgort-low = ls_lgort-lgort.
    APPEND s_lgort.
  ENDLOOP.


  cl_salv_bs_runtime_info=>set( EXPORTING display  = abap_false
                                              metadata = abap_false
                                              data     = abap_true ).
  CLEAR lr_alv_data.
  UNASSIGN <lt_alv_data>.

  SUBMIT rm07mlbs WITH werks IN s_werks
                  WITH matnr IN s_matnr
                  WITH lgort IN s_lgort
                  WITH pa_sond = ''
                  WITH nozero = 'X'
                  WITH xmchb = 'X'
                  WITH pa_hsq = ''
                  WITH pa_flt = 'X'
                  AND RETURN.

  TRY.
      cl_salv_bs_runtime_info=>get_data_ref( IMPORTING r_data = lr_alv_data ).

      ASSIGN lr_alv_data->* TO <lt_alv_data>.
    CATCH cx_salv_bs_sc_runtime_info.

      MESSAGE 'Unable to retrieve ALV data! Please try other conditions.' TYPE 'E'.
  ENDTRY.

  cl_salv_bs_runtime_info=>clear_all( ).

ENDFORM.

*&---------------------------------------------------------------------*
*& Form check_data
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM check_data .
  DATA:lv_posnr TYPE n LENGTH 6.
  DATA:lv_uuid  TYPE uuid.
  CLEAR:lv_uuid.
  TRY.
      CALL METHOD cl_system_uuid=>if_system_uuid_static~create_uuid_x16
        RECEIVING
          uuid = lv_uuid.
    CATCH cx_uuid_error.
  ENDTRY.

  IF <lt_alv_data> IS ASSIGNED.
    UNASSIGN <ls_data>.
    LOOP AT <lt_alv_data> ASSIGNING <ls_data>."即所需要内表数据


      MOVE-CORRESPONDING <ls_data> TO zwb_log_s.
      zwb_log_s-uuid = lv_uuid.

      READ TABLE lt_lgort INTO DATA(ls_lgort) WITH KEY werks = zwb_log_s-werks
                                                       lgort = zwb_log_s-lgort.
      IF sy-subrc = 0.
        zwb_log_s-fact = ls_lgort-fact.
      ENDIF.

      IF zwb_log_s-matnr+0(6) <> 'Q01-EN' AND zwb_log_s-labst = '0'.
        CLEAR:zwb_log_s.
      ENDIF.


      IF zwb_log_s-matnr IS NOT INITIAL.

        SELECT SINGLE vfdat FROM mch1 WHERE matnr = @zwb_log_s-matnr AND charg = @zwb_log_s-charg INTO @DATA(ls_vfadt).

        "没有过期日期赋值
        IF ls_vfadt IS INITIAL.
          zwb_log_s-extime = sy-datum+0(7) && '2000000'.
        ELSE.
          zwb_log_s-extime = ls_vfadt && '000000'.
        ENDIF.


        IF zwb_log_s-extime >= sy-datum && '000000'.
*        IF zwb_log_s-extime >= '20240901000000'.

          zwb_log_s-type     = ''.
          zwb_log_s-message  = ''.
          zwb_log_s-datum    = ''.
          zwb_log_s-uzeit    = ''.

        ELSE.

          zwb_log_s-type     = 'D'.
          zwb_log_s-message  = 'SAP货架过期日期已过期'.
          zwb_log_s-datum    = sy-datum.
          zwb_log_s-uzeit    = sy-uzeit.


        ENDIF.



        lv_posnr = lv_posnr + 1.
        zwb_log_s-posnr = lv_posnr.
        APPEND zwb_log_s TO zwb_log_t.
      ENDIF.
    ENDLOOP.
  ENDIF.

  "先检索相同批次不同物料的
  MOVE-CORRESPONDING zwb_log_t TO zwb_log_id.
  DATA(lv_lines1) = lines( zwb_log_t ).

  SORT zwb_log_id BY charg.
  DELETE ADJACENT DUPLICATES FROM zwb_log_id COMPARING charg.
  DATA(lv_lines2) = lines( zwb_log_id ).


  IF lv_lines1 <> lv_lines2.
    CALL FUNCTION 'CTVB_COMPARE_TABLES'
      EXPORTING
        table_old  = zwb_log_t
        table_new  = zwb_log_id
        key_length = 100  "键长度,指定内表中的前若干个字节为主键,做为内表行是否为增加的判断条件。
      IMPORTING
        table_del  = zwb_log_del. "new比old 少的数据

    LOOP AT zwb_log_del INTO DATA(zwb_log_des).

      LOOP AT zwb_log_t INTO zwb_log_s WHERE charg = zwb_log_des-charg.

        zwb_log_s-type     = 'D'.
        zwb_log_s-message  = '批次相同不同料号'.
        zwb_log_s-datum    = sy-datum.
        zwb_log_s-uzeit    = sy-uzeit.
        MODIFY zwb_log_t FROM zwb_log_s.

      ENDLOOP.

    ENDLOOP.
  ENDIF.

  SORT zwb_log_t BY werks lgort matnr.
ENDFORM.

*&---------------------------------------------------------------------*
*& Form frm_pre_fieldcat
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_pre_fieldcat .
  fieldcatset:
              'WERKS'   '工厂'          '80' ,
              'LGORT'   '储存地点'      '80' ,
              'MATNR'   '物料编码'      '80' ,
              'CHARG'   '批次'          '80' ,
              'LABST'   '数量'          '80' ,
              'FACT'    'MES工厂'       '80' ,
              'EXTIME'  '货架过期日期'  '80' ,
              'TYPE'    '当前状态'      '80' ,
              'MESSAGE' '状态文本'      '80' .


ENDFORM.

*&---------------------------------------------------------------------*
*& Form frm_set_layout
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_set_layout .
  gs_layout-cwidth_opt = 'X'.
  gs_layout-zebra = 'X'.
  gs_layout-no_toolbar = 'X'.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form Filter_data
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM Filter_data .
  SORT zwb_log_t BY werks lgort matnr.
  "宁波厂的WLP要分开发
  LOOP AT zwb_log_t ASSIGNING FIELD-SYMBOL(<fs>) GROUP BY ( fact = <fs>-fact ).

    CLEAR:ls_acc_input.

    ls_acc_input-pdmaterial_data-id = sy-datum && sy-uzeit.

    LOOP AT zwb_log_t INTO zwb_log_s WHERE fact = <fs>-fact
                                       AND type IS INITIAL.

      zmm20pdmaterial_result_item-mat_id   = zwb_log_s-matnr.
      zmm20pdmaterial_result_item-mat_lot  = zwb_log_s-charg.
      zmm20pdmaterial_result_item-fac      = zwb_log_s-fact.
      zmm20pdmaterial_result_item-ck       = zwb_log_s-lgort.
      zmm20pdmaterial_result_item-qty      = zwb_log_s-labst.
      zmm20pdmaterial_result_item-e_eate   = zwb_log_s-extime.
      APPEND zmm20pdmaterial_result_item TO ls_acc_input-pdmaterial_data-input-pdmaterial_result_item .

    ENDLOOP.


*   测试端口是否连通
    CLEAR lv_err_msg.
    CLEAR lcx_ex.
    CLEAR ls_acc_output.
    IF lcl_zmm20 IS INITIAL.
      TRY.
          CREATE OBJECT lcl_zmm20
            EXPORTING
              logical_port_name = 'ZM20WEBSV'.       "逻辑端口名称
        CATCH cx_ai_system_fault INTO lcx_ex .
      ENDTRY.
    ENDIF.


    IF NOT lcx_ex IS INITIAL.
      MESSAGE '远程连接生管系统失败,请联系管理员!' TYPE 'S' DISPLAY LIKE 'E'.
      EXIT.

    ELSE.

      TRY.
          CALL METHOD lcl_zmm20->get_pdmaterial_data
            EXPORTING
              input  = ls_acc_input
            IMPORTING
              output = ls_acc_output.
        CATCH cx_ai_system_fault INTO lcx_ex.
          CALL METHOD lcx_ex->get_text
            RECEIVING
              result = lv_err_msg.
      ENDTRY.

      IF lv_err_msg IS NOT INITIAL.

        "接口异常
        MESSAGE lv_err_msg TYPE 'S' DISPLAY LIKE 'E'.

        EXIT.

      ELSEIF ls_acc_output-get_pdmaterial_data_result-message_type = 'E' .

        "错误返回消息记录日志

        MESSAGE ls_acc_output-get_pdmaterial_data_result-message_text TYPE 'S' DISPLAY LIKE 'E'.

        IF ls_acc_output-get_pdmaterial_data_result-message_text CA '违反唯一约束条件'.

          LOOP AT zwb_log_t INTO zwb_log_s WHERE fact = <fs>-fact
                             AND type IS INITIAL.

            zwb_log_s-type     = 'E'.
            zwb_log_s-message  = '违反唯一约束条件'.
            zwb_log_s-datum    = sy-datum.
            zwb_log_s-uzeit    = sy-uzeit.
            MODIFY zwb_log_t FROM zwb_log_s.
          ENDLOOP.

        ELSE.

          LOOP AT zwb_log_t INTO zwb_log_s WHERE fact = <fs>-fact
                 AND type IS INITIAL.

            zwb_log_s-type     = 'E'.
            zwb_log_s-message  = ls_acc_output-get_pdmaterial_data_result-message_text.
            zwb_log_s-datum    = sy-datum.
            zwb_log_s-uzeit    = sy-uzeit.
            MODIFY zwb_log_t FROM zwb_log_s.
          ENDLOOP.


        ENDIF.




        EXIT.

      ELSEIF ls_acc_output-get_pdmaterial_data_result-message_type = 'S' .

        LOOP AT zwb_log_t INTO zwb_log_s WHERE fact = <fs>-fact
                         AND type IS INITIAL.

          zwb_log_s-type     = 'S'.
          zwb_log_s-message  = '已盘点完成'.
          zwb_log_s-datum    = sy-datum.
          zwb_log_s-uzeit    = sy-uzeit.
          MODIFY zwb_log_t FROM zwb_log_s.
        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDLOOP.

  IF lv_x = ''.
    INSERT zwb_log FROM TABLE zwb_log_t.
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_show_alv
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_show_alv .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       = sy-cprog
      i_callback_pf_status_set = 'SUB_STATUS_SET'
      i_callback_user_command  = 'SUB_USER_COMMAND'
*     I_GRID_SETTINGS          = GS_SETTING   "编辑回填数据时候打开
      is_layout_lvc            = gs_layout
      it_fieldcat_lvc          = gt_fieldcat
      i_save                   = 'A'
    TABLES
      t_outtab                 = zwb_log_t
    EXCEPTIONS
      program_error            = 1
      OTHERS                   = 2.
  IF sy-subrc <> 0.
* Implement suGT_OUTle error handling here
  ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  SUB_STATUS_SET
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM sub_status_set USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'STATUS01'.
*  set titlebar 'TITLE'.
ENDFORM.                    "SUB_STATUS_SET

*&---------------------------------------------------------------------*
*&      Form  SUB_USER_COMMAND
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM sub_user_command USING s_ucomm TYPE sy-ucomm
                            re_selfield TYPE slis_selfield.

*  修改Alv表的数据实时刷新,并在内表中显示修改的内容
  DATA: lr_grid TYPE REF TO cl_gui_alv_grid,
        myindex TYPE sy-tabix.
*  刷新屏幕



  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = lr_grid.
  CALL METHOD lr_grid->check_changed_data.
  lr_grid->set_frontend_layout( is_layout = gs_layout ).    "防止LAYOUT失效
  re_selfield-col_stable     = 'X'.
  re_selfield-row_stable     = 'X'.
  re_selfield-refresh        = 'X'.

  CASE s_ucomm.
    WHEN '&OUT'.
      IF lv_x = ''.

        SELECT SINGLE werks FROM zwb_log WHERE datum BETWEEN @lv_data1 AND @lv_data2 AND werks = @s_werks1 INTO @DATA(lv_werks).
        IF lv_werks IS NOT INITIAL.
          MESSAGE '工厂:' && lv_werks && '已经盘料!!!' TYPE 'E'.
        ELSE.
          PERFORM filter_data.
        ENDIF.
        lv_x = 'X'.
      ELSE.
        MESSAGE '不允许再次点击发送盘点数据' TYPE 'S' DISPLAY LIKE 'E'.
      ENDIF.


    WHEN '&DOWNLOAD'.
      PERFORM download_excel.
  ENDCASE.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form DOWNLOAD_EXCEL
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM download_excel .

  MOVE-CORRESPONDING zwb_log_t TO zwb_log_excel.
  DELETE zwb_log_excel WHERE type = 'S'.
  DELETE zwb_log_excel WHERE type = ''.

  SORT zwb_log_excel BY charg.


  PERFORM frm_set_fieldname USING '工厂'.
  PERFORM frm_set_fieldname USING '储存地点'.
  PERFORM frm_set_fieldname USING '物料编码'.
  PERFORM frm_set_fieldname USING '批次'.
  PERFORM frm_set_fieldname USING '数量'.
  PERFORM frm_set_fieldname USING 'MES工厂'.
  PERFORM frm_set_fieldname USING '货架过期日期'.
  PERFORM frm_set_fieldname USING '当前状态'.
  PERFORM frm_set_fieldname USING '状态文本'.
  PERFORM frm_set_fieldname USING '建立日期'.

  DATA lv_file TYPE string.

  DATA:p_files TYPE rlgrap-filename .

  p_files = s_werks1 && '工厂盘点异常数据'.

  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      def_filename     = p_files      "默认文件名称
*     DEF_PATH         = ' '     "默认文件路径
      mask             = ',excel.xls,*.xls,excel.xlsx,*.xlsx,text.txt,*.txt.'
      mode             = 'S'    "s 保存  ; o打开
      title            = '保存文件'   "窗口显示名称
    IMPORTING
      filename         = lv_file
*     RC               =
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.

  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
*     BIN_FILESIZE                    =
      filename   = lv_file
      filetype   = 'DAT' "ASC格式 1000- 不会显示为 -1000 DBF格式 字符前空格 前导0不会显示
      codepage   = '8404' "四位字符集代码 可通过表TCP00A,查询对应字符集代
    TABLES
      data_tab   = zwb_log_excel       "内表数据
      fieldnames = lt_fieldname.       "表头字段名
ENDFORM.

FORM frm_set_fieldname  USING    VALUE(p_fieldname).         "控制获取的字段名
  lt_fieldname = p_fieldname.
  APPEND lt_fieldname.
ENDFORM.

四:如何在Postman里调用

1:输入调用方法的路径

2:更改或添加Headers参数 

3:复制XML报文 raw改成XML调用即可

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

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

相关文章

day21JS-axios数据通信

1. 什么是axios axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端&#xff0c;简单的理解就是ajax的封装&#xff0c;只不过它是Promise的实现版本。 特性&#xff1a; 从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转…

基于Java的固定资产管理系统

基于Java的固定资产管理系统是一个实用的应用程序&#xff0c;用于跟踪和管理公司的资产。这种系统可以包括资产的采购日期、位置、状态、折旧等信息。下面是一个简单的固定资产管理系统的设计概述&#xff0c;以及一些关键功能模块的实现思路。 系统设计概览 用户管理&…

2-97 基于matlab的小波变换模量最大值 (WTMM) 方法进行图像边缘检测

基于matlab的小波变换模量最大值 &#xff08;WTMM&#xff09; 方法进行图像边缘检测。利用小波基函数的局部化和振荡特性来检测图像中的边缘&#xff0c;沿每个像素的梯度方向搜索局部最大值&#xff0c;保留局部最大值&#xff0c;抑制其他系数&#xff0c;实现边缘检测。程…

一文入门生成式AI(理解ChatGPT的原理)

一、什么是生成式AI&#xff1f; 以ChatGPT为代表的生成式AI&#xff0c;是对已有的数据和知识进行向量化的归纳&#xff0c;总结出数据的联合概率。从而在生成内容时&#xff0c;根据用户需求&#xff0c;结合关联字词的概率&#xff0c;生成新的内容。 可以这么联想&#x…

(9) protobuf 与cmake

文章目录 概要整体架构流程代码优化 概要 protobuf的安装与用cmake编译protobuf程序 整体架构流程 安装protobuf3 21.12&#xff0c;最新版本好像要用到一个新的库&#xff0c;有点麻烦。 https://github.com/protocolbuffers/protobuf/releases/tag/v21.12 all和cpp后缀的包…

python植物大战僵尸项目源码【免费】

植物大战僵尸是一款经典的塔防游戏&#xff0c;玩家通过种植各种植物来抵御僵尸的进攻。 源码下载地址&#xff1a; 植物大战僵尸项目源码 提取码: 8muq

【前端】prop传值的用法

prop配置项的作用是让组件接收外部传过来的值。 组件标签上传值给vue组件对象 <script> export default {name: HelloWorld,data(){return{ }},props:[name,age] #简单接收 } </script>方式2:利用对象方式设置数据类型进行类型限制 props:{name:String…

kubernetes中pause容器的作用与源码详解

概述 摘要&#xff1a;上一篇文章我们介绍了kubernetes是如何通过pause容器来构建一个pod。本文我们对pause容器做一个总结&#xff0c;并再此基础上次深入浅出&#xff0c;从pause容器的源码详细了解pause容器的实现原理。 正文 pause容器是什么 在 Kubernetes 中&#xff…

echarts 实现中国geo地图自定义贴图实例

文章目录 1. 实现效果2. 设置自定义图片&#xff0c;做好准备3. echarts 实现贴图 1. 实现效果 实现自定义背景图&#xff0c;给echarts地图贴背景图效果&#xff0c; 先准备两张背景图片&#xff0c;一张是默认的&#xff0c;一张是鼠标悬浮替换的&#xff0c;如下两张图 2.…

基于EchoMimic加速版,可编辑标志点控制实现逼真音频驱动的肖像动画

EchoMimic 是蚂蚁集团终端技术部门开发的一项技术,旨在通过音频驱动生成逼真的肖像动画。对于那些初次接触这项技术的用户,本教程将带你逐步了解如何设置开发环境、获取项目代码、安装依赖,并最终成功运行示例生成自己的肖像动画。 文章目录 项目代码安装依赖业务拓展参数调…

webpack的热更新原理

Webpack热更新&#xff08; Hot Module Replacement&#xff0c;简称 HMR&#xff09;&#xff0c;无需完全刷新整个页面的同时&#xff0c;更新所有类型的模块&#xff0c;是 Webpack 提供的最有用的功能之一。 保留在完全重新加载页面期间丢失的应用程序状态。只更新变更内容…

【bug】通过lora方式微调sdxl inpainting踩坑

报错内容 ValueError: Attempting to unscale FP16 gradients. 报错位置 if accelerator.sync_gradients:params_to_clip (itertools.chain(unet_lora_parameters, text_lora_parameters_one, text_lora_parameters_two)if args.train_text_encoderelse unet_lora_parameters…

温湿度传感器SHT20的功能介绍和时序分析

目录 概述 1 认识SHT20 1.1 SHT20介绍 1.2 SHT20属性 1.3 接口介绍 1.4 SHT20的相关命令 1.5 转换时间 2 寄存器操作 2.1 复位操作 2.2 User Register 2.3 CRC Checksum 3 温湿度计算 3.1 相对湿度转换 3.2 温度换算 3.3 转换公式的C语言实现 概述 本文主要介绍…

ChatGLM-6B部署到本地电脑

引言 ChatGLM-6B是由清华大学开源的双语对话大模型&#xff0c;该模型有62亿参数&#xff0c;但在经过量化后模型体积大幅下降&#xff0c;因此不同于其他需要部署到服务器上的大模型&#xff0c;该模型可以部署到本地电脑&#xff0c;那么接下来我们来看看如何部署该模型。 …

OpenAI API key not working in my React App

题意&#xff1a;OpenAI API 密钥在我的 React 应用中不起作用 问题背景&#xff1a; I am trying to create a chatbot in my react app, and Im not able to generate an LLM powered response. Ive been studying documentation and checking out tutorials but am unable …

【CMake】使用CMake在Visual Studio中配置glad和glfw

下载glad和glfw g l a d glad glad下载&#xff1a;glad下载 这个是 g i t h u b github github上的资源&#xff0c;进不去的话就开开魔法。 g l f w glfw glfw下载&#xff1a;glfw下载 下载CMake C M a k e CMake CMake下载&#xff1a; CMake下载 根据自己的平台选择&…

【Java 优选算法】双指针(下)

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 有效三角形的个数 题目链接 解法 解法1:暴力枚举--->O(n^3) 解法2:利用单调性,使用双指针来解决---->O(n^2) 优化:对整个数组进行排序先固定最大数在最大数的左…

文心智能体 城市印象之漫行北京 开发分享

城市印象之漫行北京 请点击文心智能体平台AgentBuilder | 想象即现实 (baidu.com) 一、开发灵感 这个智能体为笔者“城市印象”系列当中的作品之一&#xff0c;这个智能体侧重于为用户提供丈量北京的个性化城市之旅&#xff0c;或漫步历史文化街区细细品味&#xff0c;或领略…

动态内存管理之malloc,free,calloc和realloc函数

Hello&#xff0c;各位小伙伴们&#xff0c;小编在这里祝福各位中秋佳节快乐呀&#xff0c;今天让我们来学习一下动态内存管理吧&#xff01; 引言 像我们之前在开辟一段空间的时候你可能会使用整型变量来申请一块空间&#xff0c;或者使用数组来申请一段连续的空间&#xff…

网络协议全景:Linux环境下的TCP/IP、UDP

目录 1.UDP协议解析1.1.定义1.2.UDP报头1.3.特点1.4.缓冲区 2.TCP协议解析2.1.定义2.2.报头解析2.2.1.首部长度&#xff08;4位&#xff09;2.2.2.窗口大小2.2.3.确认应答机制2.2.4.6个标志位 2.3.超时重传机制2.4.三次握手四次挥手2.4.1.全/半连接队列2.4.2.listen2.4.3.TIME_…