尽量不写错字 發表於 2019-9-1 22:52:00

C#开发微信小程序(四)

<div>导航:C#开发微信小程序系列</div>
<p>&nbsp;</p>
<p>关于小程序项目结构,框架介绍,组件说明等,请查看微信小程序官方文档,关于以下贴出来的代码部分我只是截取了一些片段,方便说明问题,如果需要查看完整源代码,可以在我的项目库中下载:</p>
<p>https://github.com/dwBurning/WeChatMiniProgram.git</p>
<p>睡一觉醒来,看到微信公众号推送的一篇鸡汤文,叫做《不会,我可以学!!!》深受鼓舞,回顾这些年,每天忙于业务开发,留给自己的学习时间并不多,一直很仰慕那些大牛们,梦想着自己有一天也能成为同样牛逼的人物,无奈只是一个普普通通的码农,但是梦想总是要有的,万一哪天实现了呢?</p>
<p>言归正传,还是回到小程序的话题上,随着Vue这两年的火爆,前后端完全分离的设计模式已经深入人心了,微信小程序就是该模式下的典型应用,至于该模式有什么优势,我就不说了,随便搜一下都能检索出来大量的文章,那么接下来的篇幅,就介绍一下小程序的前端代码。</p>
<p>前后端完全分离,按理一定会涉及到http请求跨域的问题,但是小程序通过wx.request发起请求的时候,并未涉及到跨域,为何?其实想想也知道,wx.request肯定不是通过ajax直接发请求到你的服务器的,而是先把请求交给微信的服务端,然后再由微信的服务端转发请求到你的服务器,每一个请求都在微信服务端做了中转,当然这个是小程序正式发布上线后的实现,那么,本地开发的时候是怎么解决这个问题的呢?</p>
<p>本地开发的时候,我搭建的http站点都是直接在本地跑的,也没有固定IP,用微信小程序的开发工具照样能拿到请求的数据,且没有跨域,这就要研究一下这个开发工具了,打开微信小程序开发工具的安装目录,你会发现里边有一个node.exe的文件,启动开发工具的时候,在进程中能找到node.exe的进程,关于这个进程的描述,写的很清楚,<span style="color: rgba(255, 102, 0, 1)">Node.js;JavaScript服务端<span style="color: rgba(0, 0, 0, 1)">到这里真相已经明了。</span></span><br><img src="https://img2018.cnblogs.com/blog/635258/201909/635258-20190901215335186-1207599215.png"></p>
<p>&nbsp;解决了跨域的问题,我们来看看首页的前端代码,如下图所示,首页分为三个部分,上边的轮播,左边导航,右边菜单</p>
<p><img src="https://img2018.cnblogs.com/blog/635258/201909/635258-20190901220959818-40247703.png"></p>
<p>&nbsp;轮播是微信小程序提供的组件swiper,直接拿示例代码,改一改就是了</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)"> swiper 轮播图片 </span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">view </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="top"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">swiper </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="swiper"</span><span style="color: rgba(255, 0, 0, 1)"> indicator-dots</span><span style="color: rgba(0, 0, 255, 1)">="true"</span><span style="color: rgba(255, 0, 0, 1)"> autoplay</span><span style="color: rgba(0, 0, 255, 1)">="true"</span><span style="color: rgba(255, 0, 0, 1)"> interval</span><span style="color: rgba(0, 0, 255, 1)">="5000"</span><span style="color: rgba(255, 0, 0, 1)"> duration</span><span style="color: rgba(0, 0, 255, 1)">="1000"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">block </span><span style="color: rgba(255, 0, 0, 1)">wx:for</span><span style="color: rgba(0, 0, 255, 1)">="{{movies}}"</span><span style="color: rgba(255, 0, 0, 1)"> wx:for-index</span><span style="color: rgba(0, 0, 255, 1)">="index"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">swiper-item</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
          <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">image </span><span style="color: rgba(255, 0, 0, 1)">src</span><span style="color: rgba(0, 0, 255, 1)">="{{item.url}}"</span><span style="color: rgba(255, 0, 0, 1)"> class</span><span style="color: rgba(0, 0, 255, 1)">="slide-image"</span><span style="color: rgba(255, 0, 0, 1)"> mode</span><span style="color: rgba(0, 0, 255, 1)">="aspectFill"</span> <span style="color: rgba(0, 0, 255, 1)">/&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">swiper-item</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">block</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">swiper</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">view</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">*
   * 页面的初始数据
   </span><span style="color: rgba(0, 128, 0, 1)">*/</span><span style="color: rgba(0, 0, 0, 1)">
data: {
    <span style="color: rgba(255, 102, 0, 1)">movies: [{
      url: app.globalData.url </span></span><span style="color: rgba(255, 102, 0, 1)">+ '?fileName=1.jpg'
      },
      {
      url: app.globalData.url + '?fileName=2.jpg'
      },
      {
      url: app.globalData.url + '?fileName=3.jpg'</span><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(255, 102, 0, 1)">
      }
    ],</span>
    navLeftItems: [],
    navRightItems: [],
    curNav: </span>1<span style="color: rgba(0, 0, 0, 1)">,
    curIndex: </span>0<span style="color: rgba(0, 0, 0, 1)">
},</span></pre>
</div>
<p>左边导航是菜单的分类,右边显示了这个分类下的菜单明细,这个就涉及到我们的实体设计了,通过我们的swagger界面接口测试http://localhost:8089/api/Category,可以拿到接口的数据,下面我先贴出来,只关注前端的同学或者没有.Net开发环境的同学,可以直接在JS文件中贴上去,就可以预览到效果了。</p>
<p>此段的重点就在数组下标的绑定:<span style="color: rgba(255, 0, 0, 1)">data-index<span style="color: rgba(0, 0, 255, 1)">="{{index}}",</span></span></p>
<p><span style="color: rgba(255, 0, 0, 1)"><span style="color: rgba(0, 0, 255, 1)"><span style="color: rgba(0, 0, 0, 1)">每一次点击通过JQuery获取到这个index:<span style="color: rgba(0, 0, 0, 1)">index =<span style="color: rgba(0, 0, 0, 1)"> parseInt(e.target.dataset.index),</span></span></span></span></span></p>
<p><span style="color: rgba(255, 0, 0, 1)"><span style="color: rgba(0, 0, 255, 1)"><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(0, 0, 0, 1)">然后右边就绑定这个数组下标对应得数据:<span style="color: rgba(0, 0, 255, 1)">&lt;<span style="color: rgba(128, 0, 0, 1)">block <span style="color: rgba(255, 0, 0, 1)">wx:for<span style="color: rgba(0, 0, 255, 1)">="{{navRightItems.Menus}}"<span style="color: rgba(0, 0, 255, 1)">&gt;</span></span></span></span></span></span></span></span></span></span></p>
<div class="cnblogs_code"><img alt="" id="code_img_closed_ddb8bc88-f3ac-4cbc-b451-e22ccce1384b" class="code_img_closed lazyload" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img alt="" id="code_img_opened_ddb8bc88-f3ac-4cbc-b451-e22ccce1384b" class="code_img_opened lazyload" style="display: none" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_ddb8bc88-f3ac-4cbc-b451-e22ccce1384b" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">{
</span>"Code": 0<span style="color: rgba(0, 0, 0, 1)">,
</span>"Message": "Success"<span style="color: rgba(0, 0, 0, 1)">,
</span>"Context"<span style="color: rgba(0, 0, 0, 1)">: [
    {
      </span>"CategoryId": 1<span style="color: rgba(0, 0, 0, 1)">,
      </span>"CategoryName": "经济快餐"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"Menus"<span style="color: rgba(0, 0, 0, 1)">: [
      {
          </span>"MenuId": 1<span style="color: rgba(0, 0, 0, 1)">,
          </span>"CategoryId": 1<span style="color: rgba(0, 0, 0, 1)">,
          </span>"MenuName": "腐竹炒肉"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"ImgPath": "http://localhost:8089/api/lazyorders?fileName=11.jpg"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"Price": 15<span style="color: rgba(0, 0, 0, 1)">
      },
      {
          </span>"MenuId": 2<span style="color: rgba(0, 0, 0, 1)">,
          </span>"CategoryId": 1<span style="color: rgba(0, 0, 0, 1)">,
          </span>"MenuName": "芹菜香干"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"ImgPath": "http://localhost:8089/api/lazyorders?fileName=12.jpg"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"Price": 14<span style="color: rgba(0, 0, 0, 1)">
      },
      {
          </span>"MenuId": 3<span style="color: rgba(0, 0, 0, 1)">,
          </span>"CategoryId": 1<span style="color: rgba(0, 0, 0, 1)">,
          </span>"MenuName": "农家小炒肉"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"ImgPath": "http://localhost:8089/api/lazyorders?fileName=13.jpg"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"Price": 18<span style="color: rgba(0, 0, 0, 1)">
      },
      {
          </span>"MenuId": 4<span style="color: rgba(0, 0, 0, 1)">,
          </span>"CategoryId": 1<span style="color: rgba(0, 0, 0, 1)">,
          </span>"MenuName": "青瓜炒蛋"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"ImgPath": "http://localhost:8089/api/lazyorders?fileName=14.jpg"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"Price": 14<span style="color: rgba(0, 0, 0, 1)">
      }
      ]
    },
    {
      </span>"CategoryId": 2<span style="color: rgba(0, 0, 0, 1)">,
      </span>"CategoryName": "精美小炒"<span style="color: rgba(0, 0, 0, 1)">,
      </span>"Menus"<span style="color: rgba(0, 0, 0, 1)">: [
      {
          </span>"MenuId": 5<span style="color: rgba(0, 0, 0, 1)">,
          </span>"CategoryId": 2<span style="color: rgba(0, 0, 0, 1)">,
          </span>"MenuName": "茄子煲"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"ImgPath": "http://localhost:8089/api/lazyorders?fileName=25.jpg"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"Price": 28<span style="color: rgba(0, 0, 0, 1)">
      },
      {
          </span>"MenuId": 6<span style="color: rgba(0, 0, 0, 1)">,
          </span>"CategoryId": 2<span style="color: rgba(0, 0, 0, 1)">,
          </span>"MenuName": "小龙虾"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"ImgPath": "http://localhost:8089/api/lazyorders?fileName=26.jpg"<span style="color: rgba(0, 0, 0, 1)">,
          </span>"Price": 88<span style="color: rgba(0, 0, 0, 1)">
      }
      ]
    }
]
}</span></pre>
</div>
<span class="cnblogs_code_collapse">View Code</span></div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">*
   * 生命周期函数--监听页面加载
   </span><span style="color: rgba(0, 128, 0, 1)">*/</span><span style="color: rgba(0, 0, 0, 1)">
onLoad: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(options) {
    </span><span style="color: rgba(0, 0, 255, 1)">var</span> _this = <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">;
    util.checkSession();
    wx.request({
      url: app.globalData.urlCategory,
      success: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(res) {
      _this.setData({
          navLeftItems: res.data.Context,
          navRightItems: res.data.Context
      })
      }
    })

},

</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">事件处理函数</span>
switchRightTab: <span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)">(e) {
    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 获取item项的id,和数组的下标值</span>
    let id =<span style="color: rgba(0, 0, 0, 1)"> e.target.dataset.id,
      index </span>=<span style="color: rgba(0, 0, 0, 1)"> parseInt(e.target.dataset.index);
    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 把点击到的某一项,设为当前index</span>
    <span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)">.setData({
      curNav: id,
      curIndex: index
    })
},</span>
</pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">左侧栏</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">view </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="nav_left"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">block </span><span style="color: rgba(255, 0, 0, 1)">wx:for</span><span style="color: rgba(0, 0, 255, 1)">="{{navLeftItems}}"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">view </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="nav_left_items {{curNav == item.CategoryId ? 'active' : ''}}"</span><span style="color: rgba(255, 0, 0, 1)"> bindtap</span><span style="color: rgba(0, 0, 255, 1)">="switchRightTab"</span><span style="color: rgba(255, 0, 0, 1)"> data-index</span><span style="color: rgba(0, 0, 255, 1)">="{{index}}"</span><span style="color: rgba(255, 0, 0, 1)"> data-id</span><span style="color: rgba(0, 0, 255, 1)">="{{item.CategoryId}}"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">
          {{item.CategoryName}}
      </span><span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">view</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">block</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">view</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>

    <span style="color: rgba(0, 128, 0, 1)">&lt;!--</span><span style="color: rgba(0, 128, 0, 1)">右侧栏</span><span style="color: rgba(0, 128, 0, 1)">--&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">view </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="nav_right"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">scroll-view </span><span style="color: rgba(255, 0, 0, 1)">scroll-y</span><span style="color: rgba(0, 0, 255, 1)">="true"</span><span style="color: rgba(255, 0, 0, 1)"> style</span><span style="color: rgba(0, 0, 255, 1)">="height: 100%"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
      <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">block </span><span style="color: rgba(255, 0, 0, 1)">wx:for</span><span style="color: rgba(0, 0, 255, 1)">="{{navRightItems.Menus}}"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>

          <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">view </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">="nav_right_items"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">navigator </span><span style="color: rgba(255, 0, 0, 1)">url</span><span style="color: rgba(0, 0, 255, 1)">="details/details?menuId={{item.MenuId}}"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">image </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">='nav_right_items_image' </span><span style="color: rgba(255, 0, 0, 1)">src</span><span style="color: rgba(0, 0, 255, 1)">="{{item.ImgPath}}"</span><span style="color: rgba(0, 0, 255, 1)">&gt;&lt;/</span><span style="color: rgba(128, 0, 0, 1)">image</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">navigator</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">text</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>{{item.MenuName}}<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">text</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">text </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">='price_text'</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>{{item.Price}}元/份<span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">text</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">navigator </span><span style="color: rgba(255, 0, 0, 1)">url</span><span style="color: rgba(0, 0, 255, 1)">="details/details?menuId={{item.MenuId}}"</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">image </span><span style="color: rgba(255, 0, 0, 1)">class</span><span style="color: rgba(0, 0, 255, 1)">='add_image' </span><span style="color: rgba(255, 0, 0, 1)">src</span><span style="color: rgba(0, 0, 255, 1)">='/images/add.png'</span><span style="color: rgba(0, 0, 255, 1)">&gt;&lt;/</span><span style="color: rgba(128, 0, 0, 1)">image</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
            <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">navigator</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>
          <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">view</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>

      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">block</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>

      <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">scroll-view</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span>

    <span style="color: rgba(0, 0, 255, 1)">&lt;/</span><span style="color: rgba(128, 0, 0, 1)">view</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>
<p>&nbsp;前端的设计就完成了,当然还有CSS相关的代码,因为有完整的源代码,这里就不贴了,贴一下对应的C#实体类吧!</p>
<div class="cnblogs_code"><img alt="" id="code_img_closed_746e78e0-ef6f-4869-a1e4-2ef11e3d80a8" class="code_img_closed lazyload" data-src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"><img alt="" id="code_img_opened_746e78e0-ef6f-4869-a1e4-2ef11e3d80a8" class="code_img_opened lazyload" style="display: none" data-src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif">
<div id="cnblogs_code_open_746e78e0-ef6f-4869-a1e4-2ef11e3d80a8" class="cnblogs_code_hide">
<pre><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;summary&gt;</span>
<span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)"> 分类
</span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;/summary&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> Category
{
    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;summary&gt;</span>
    <span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)"> 主键ID
    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;/summary&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">int</span> CategoryId { <span style="color: rgba(0, 0, 255, 1)">get</span>; <span style="color: rgba(0, 0, 255, 1)">set</span><span style="color: rgba(0, 0, 0, 1)">; }

    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;summary&gt;</span>
    <span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)"> 分类 类别名
    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;/summary&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">string</span> CategoryName { <span style="color: rgba(0, 0, 255, 1)">get</span>; <span style="color: rgba(0, 0, 255, 1)">set</span><span style="color: rgba(0, 0, 0, 1)">; }

    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;summary&gt;</span>
    <span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)"> 该类别下的菜单
    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;/summary&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span> List&lt;Menu&gt; Menus { <span style="color: rgba(0, 0, 255, 1)">get</span>; <span style="color: rgba(0, 0, 255, 1)">set</span><span style="color: rgba(0, 0, 0, 1)">; }
}

</span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;summary&gt;</span>
<span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)"> 菜单表
</span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;/summary&gt;</span>
<span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)"> Menu
{
    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;summary&gt;</span>
    <span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)"> 菜单ID
    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;/summary&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">int</span> MenuId { <span style="color: rgba(0, 0, 255, 1)">get</span>; <span style="color: rgba(0, 0, 255, 1)">set</span><span style="color: rgba(0, 0, 0, 1)">; }

    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;summary&gt;</span>
    <span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)"> 类别ID
    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;/summary&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">int</span> CategoryId { <span style="color: rgba(0, 0, 255, 1)">get</span>; <span style="color: rgba(0, 0, 255, 1)">set</span><span style="color: rgba(0, 0, 0, 1)">; }

    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;summary&gt;</span>
    <span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)"> 菜单名
    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;/summary&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">string</span> MenuName { <span style="color: rgba(0, 0, 255, 1)">get</span>; <span style="color: rgba(0, 0, 255, 1)">set</span><span style="color: rgba(0, 0, 0, 1)">; }

    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;summary&gt;</span>
    <span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)"> 对应的图片路径
    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;/summary&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">string</span> ImgPath { <span style="color: rgba(0, 0, 255, 1)">get</span>; <span style="color: rgba(0, 0, 255, 1)">set</span><span style="color: rgba(0, 0, 0, 1)">; }

    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;summary&gt;</span>
    <span style="color: rgba(128, 128, 128, 1)">///</span><span style="color: rgba(0, 128, 0, 1)"> 单价
    </span><span style="color: rgba(128, 128, 128, 1)">///</span> <span style="color: rgba(128, 128, 128, 1)">&lt;/summary&gt;</span>
    <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">decimal</span> Price { <span style="color: rgba(0, 0, 255, 1)">get</span>; <span style="color: rgba(0, 0, 255, 1)">set</span><span style="color: rgba(0, 0, 0, 1)">; }
}</span></pre>
</div>
<span class="cnblogs_code_collapse">View Code</span></div>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    牛人之所以是牛人,是因为你现在在踩的坑,他曾经都已经踩过了。<br><br>
来源:https://www.cnblogs.com/dwBurning/p/wechatminiprogramwithwebapi4.html
頁: [1]
查看完整版本: C#开发微信小程序(四)