zoukankan      html  css  js  c++  java
  • 微信公众号的开发

    0、写在前面

    为了更好的宣传公司产品,也为了更方便的做一些运维工作,就想着做个微信公众号

    结果刚做完测试,发现搞不到公司的营业执照,通过不了微信认证,所以胎死腹中了

    以下是我在测试号上做的一些demo,展示给领导看的

    1、需求分析

    1.1 原理

    微信公众号大概就是一个前后端分离的web项目,微信公众号是前端,后端需要自己搭建服务器,主要就是前后端的一些API交互

     

    1.2 需求

    对用户:推文发送,历史文章查询,企业微官网,部分小工具

    对公司内部人员:运维工具,用户回复的处理

    2、数据库设计

    本来是想让一些注册用户使用更多的工具,然而测试阶段还没整这个、、

    3、框架选择

    前端:weui,微信官方的手机端前端框架,另外可以使用《微信Web开发工具》来查看微页面效果

    后端:flask,随便的一个熟悉的框架都行

    4、具体功能实现

     公众号功能

     所有后端功能都挤在一个文件中

      1 # -*- coding: UTF-8 -*-
      2 import time
      3 import requests
      4 from flask import Flask, request, make_response,render_template
      5 import hashlib
      6 try:
      7     import xml.etree.cElementTree as ET
      8 except ImportError:
      9     import xml.etree.ElementTree as ET
     10 import json
     11 from config import AppID,AppSecret,xml_rep
     12 import subprocess
     13 
     14 
     15 app = Flask(__name__,static_url_path='',root_path='/root/var/web/weixin')
     16 
     17 
     18 def get_access_token():
     19     url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s' % (AppID, AppSecret)
     20     f = requests.get(url)
     21     stringjson = f.text
     22     access_token = json.loads(stringjson)['access_token']
     23     return access_token
     24 
     25 def ping(host):
     26     p = subprocess.Popen(['ping', '-c5', host],stdin=subprocess.PIPE,stdout=subprocess.PIPE,)
     27     out = p.stdout.read()
     28     return out
     29 
     30 
     31 
     32 @app.route('/create_menu')
     33 def create_menu():
     34     access_token = get_access_token()
     35     url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token=%s' % access_token
     36     req = requests.post(url,menu)
     37     return req.text
     38 
     39 
     40 @app.route('/', methods=['GET', 'POST'])
     41 def weixin_token():
     42     if request.method == 'GET':
     43         token = 'chenliu'
     44         data = request.args
     45         signature = data.get('signature', '')
     46         timestamp = data.get('timestamp', '')
     47         nonce = data.get('nonce', '')
     48         echostr = data.get('echostr', '')
     49         l = [token, timestamp, nonce]
     50         l.sort()
     51         sl = ''.join(l)
     52         sec_sl = hashlib.sha1(sl.encode('utf-8')).hexdigest()
     53         if sec_sl == signature:
     54             return echostr
     55     else:
     56         rec = request.stream.read()
     57         try:
     58             xml_rec = ET.fromstring(rec)
     59             tou = xml_rec.find('ToUserName').text
     60             fromu = xml_rec.find('FromUserName').text
     61             content = xml_rec.find('Content').text
     62         except:
     63             xml_rec = ''
     64             tou = ''
     65             fromu = ''
     66             content = ''
     67         if content.lower() == 'test':
     68             response = make_response(xml_rep % (fromu, tou, str(int(time.time())), "测试:%s" % content))
     69             response.content_type = 'application/xml'
     70             return response
     71         else:
     72             response = make_response(xml_rep % (fromu, tou, str(int(time.time())), "复读机启动,你说的是:%s" % content))
     73             response.content_type = 'application/xml'
     74             return response
     75 
     76 @app.route('/index')
     77 def index():
     78     return render_template('index.html')
     79 
     80 @app.route('/index_page')
     81 def index_page():
     82     return render_template('index_page.html')
     83 
     84 
     85 @app.route('/tool_zhanzhang')
     86 def tool_ping():
     87     return render_template('tools/tool_zhanzhang.html')
     88 
     89 @app.route('/tool_check')
     90 def tool_check():
     91     return render_template('tools/tool_check.html')
     92 
     93 @app.route('/tool_subnet_calc')
     94 def tool_subnet_calc():
     95     return render_template('tools/tool_subnet_calc.html')
     96 
     97 @app.route('/tool_ipv6_check')
     98 def tool_ipv6_check():
     99     return render_template('tools/tool_ipv6_check.html')
    100 
    101 @app.route('/test')
    102 def test():
    103     return 'test'
    104 
    105 
    106 if __name__ == '__main__':
    107     app.run(host='0.0.0.0',port= 80,debug=True)
    app.py

     xml/json的模板

     1 # -*- coding: UTF-8 -*-
     2 AppID = 'wx98ec1ba268f4cda8'
     3 AppSecret = '2b0e2a6da8abeb8a293f994af0953471'
     4 
     5 menu = '''
     6  {
     7      "button":[
     8      {    
     9           "type":"click",
    10           "name":"历史文章",
    11           "key":"V1001_TODAY_MUSIC"
    12       },
    13         {    
    14                "type":"view",
    15                "name":"关于赛尔",
    16                "url":"http://121.194.14.19/index_page"
    17         },
    18       {
    19            "name":"工具包",
    20            "sub_button":[
    21            {    
    22                "type":"view",
    23                "name":"一键断网检测",
    24                "url":"http://121.194.14.19/tool_check"
    25             },
    26             {
    27                "type":"view",
    28                "name":"站长工具",
    29                "url":"http://121.194.14.19/tool_zhanzhang"
    30              },
    31             {
    32                "type":"view",
    33                "name":"子网计算器",
    34                "url":"http://121.194.14.19/tool_subnet_calc"
    35              },
    36             {
    37                "type":"view",
    38                "name":"IPv6站点检测",
    39                "url":"http://121.194.14.19/tool_ipv6_check"
    40              },
    41             ]
    42        }]
    43  }
    44     '''.encode('utf-8')
    45 
    46 xml_rep = '''<xml>
    47 <ToUserName><![CDATA[%s]]></ToUserName>
    48 <FromUserName><![CDATA[%s]]></FromUserName>
    49 <CreateTime>%s</CreateTime>
    50 <MsgType><![CDATA[text]]></MsgType>
    51 <Content><![CDATA[%s]]></Content>
    52 </xml>'''
    config.py

    企业微官网

       1 <!DOCTYPE html>
       2 <html lang="zh-cmn-Hans">
       3 <head>
       4     <meta charset="UTF-8">
       5     <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0,viewport-fit=cover">
       6     <title>WeUI</title>
       7     <link rel="stylesheet" href="../style/weui.css"/>
       8     <link rel="stylesheet" href="./example.css"/>
       9 </head>
      10 <body ontouchstart>
      11     <div class="weui-toptips weui-toptips_warn js_tooltips">错误提示</div>
      12 
      13     <div class="container" id="container"></div>
      14 
      15     <script type="text/html" id="tpl_home">
      16 <div class="page">
      17     <div class="page__hd">
      18         <h1 class="page__title">
      19             <img src="./images/logo.png" alt="WeUI" height="21px" />
      20         </h1>
      21         <p class="page__desc">WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。</p>
      22     </div>
      23     <div class="page__bd page__bd_spacing">
      24         <ul>
      25             <li>
      26                 <div class="weui-flex js_category">
      27                     <p class="weui-flex__item">表单</p>
      28                     <img src="./images/icon_nav_form.png" alt="">
      29                 </div>
      30                 <div class="page__category js_categoryInner">
      31                     <div class="weui-cells page__category-content">
      32                         <a class="weui-cell weui-cell_access js_item" data-id="button" href="javascript:;">
      33                             <div class="weui-cell__bd">
      34                                 <p>Button</p>
      35                             </div>
      36                             <div class="weui-cell__ft"></div>
      37                         </a>
      38                         <a class="weui-cell weui-cell_access js_item" data-id="input" href="javascript:;">
      39                             <div class="weui-cell__bd">
      40                                 <p>Input</p>
      41                             </div>
      42                             <div class="weui-cell__ft"></div>
      43                         </a>
      44                         <a class="weui-cell weui-cell_access js_item" data-id="list" href="javascript:;">
      45                             <div class="weui-cell__bd">
      46                                 <p>List</p>
      47                             </div>
      48                             <div class="weui-cell__ft"></div>
      49                         </a>
      50                         <a class="weui-cell weui-cell_access js_item" data-id="slider" href="javascript:;">
      51                             <div class="weui-cell__bd">
      52                                 <p>Slider</p>
      53                             </div>
      54                             <div class="weui-cell__ft"></div>
      55                         </a>
      56                         <a class="weui-cell weui-cell_access js_item" data-id="uploader" href="javascript:;">
      57                             <div class="weui-cell__bd">
      58                                 <p>Uploader</p>
      59                             </div>
      60                             <div class="weui-cell__ft"></div>
      61                         </a>
      62                     </div>
      63                 </div>
      64             </li>
      65             <li>
      66                 <div class="weui-flex js_category">
      67                     <p class="weui-flex__item">基础组件</p>
      68                     <img src="./images/icon_nav_layout.png" alt="">
      69                 </div>
      70                 <div class="page__category js_categoryInner">
      71                     <div class="weui-cells page__category-content">
      72                         <a class="weui-cell weui-cell_access js_item" data-id="article" href="javascript:;">
      73                             <div class="weui-cell__bd">
      74                                 <p>Article</p>
      75                             </div>
      76                             <div class="weui-cell__ft"></div>
      77                         </a>
      78                         <a class="weui-cell weui-cell_access js_item" data-id="badge" href="javascript:;">
      79                             <div class="weui-cell__bd">
      80                                 <p>Badge</p>
      81                             </div>
      82                             <div class="weui-cell__ft"></div>
      83                         </a>
      84                         <a class="weui-cell weui-cell_access js_item" data-id="flex" href="javascript:;">
      85                             <div class="weui-cell__bd">
      86                                 <p>Flex</p>
      87                             </div>
      88                             <div class="weui-cell__ft"></div>
      89                         </a>
      90                         <a class="weui-cell weui-cell_access js_item" data-id="footer" href="javascript:;">
      91                             <div class="weui-cell__bd">
      92                                 <p>Footer</p>
      93                             </div>
      94                             <div class="weui-cell__ft"></div>
      95                         </a>
      96                         <a class="weui-cell weui-cell_access js_item" data-id="gallery" href="javascript:;">
      97                             <div class="weui-cell__bd">
      98                                 <p>Gallery</p>
      99                             </div>
     100                             <div class="weui-cell__ft"></div>
     101                         </a>
     102                         <a class="weui-cell weui-cell_access js_item" data-id="grid" href="javascript:;">
     103                             <div class="weui-cell__bd">
     104                                 <p>Grid</p>
     105                             </div>
     106                             <div class="weui-cell__ft"></div>
     107                         </a>
     108                         <a class="weui-cell weui-cell_access js_item" data-id="icons" href="javascript:;">
     109                             <div class="weui-cell__bd">
     110                                 <p>Icons</p>
     111                             </div>
     112                             <div class="weui-cell__ft"></div>
     113                         </a>
     114                         <a class="weui-cell weui-cell_access js_item" data-id="loadmore" href="javascript:;">
     115                             <div class="weui-cell__bd">
     116                                 <p>Loadmore</p>
     117                             </div>
     118                             <div class="weui-cell__ft"></div>
     119                         </a>
     120                         <a class="weui-cell weui-cell_access js_item" data-id="panel" href="javascript:;">
     121                             <div class="weui-cell__bd">
     122                                 <p>Panel</p>
     123                             </div>
     124                             <div class="weui-cell__ft"></div>
     125                         </a>
     126                         <a class="weui-cell weui-cell_access js_item" data-id="preview" href="javascript:;">
     127                             <div class="weui-cell__bd">
     128                                 <p>Preview</p>
     129                             </div>
     130                             <div class="weui-cell__ft"></div>
     131                         </a>
     132                         <a class="weui-cell weui-cell_access js_item" data-id="progress" href="javascript:;">
     133                             <div class="weui-cell__bd">
     134                                 <p>Progress</p>
     135                             </div>
     136                             <div class="weui-cell__ft"></div>
     137                         </a>
     138                     </div>
     139                 </div>
     140             </li>
     141             <li>
     142                 <div class="weui-flex js_category">
     143                     <p class="weui-flex__item">操作反馈</p>
     144                     <img src="./images/icon_nav_feedback.png" alt="">
     145                 </div>
     146                 <div class="page__category js_categoryInner">
     147                     <div class="weui-cells page__category-content">
     148                         <a class="weui-cell weui-cell_access js_item" data-id="actionsheet" href="javascript:;">
     149                             <div class="weui-cell__bd">
     150                                 <p>Actionsheet</p>
     151                             </div>
     152                             <div class="weui-cell__ft"></div>
     153                         </a>
     154                         <a class="weui-cell weui-cell_access js_item" data-id="dialog" href="javascript:;">
     155                             <div class="weui-cell__bd">
     156                                 <p>Dialog</p>
     157                             </div>
     158                             <div class="weui-cell__ft"></div>
     159                         </a>
     160                         <a class="weui-cell weui-cell_access js_item" data-id="msg" href="javascript:;">
     161                             <div class="weui-cell__bd">
     162                                 <p>Msg</p>
     163                             </div>
     164                             <div class="weui-cell__ft"></div>
     165                         </a>
     166                         <a class="weui-cell weui-cell_access js_item" data-id="picker" href="javascript:;">
     167                             <div class="weui-cell__bd">
     168                                 <p>Picker</p>
     169                             </div>
     170                             <div class="weui-cell__ft"></div>
     171                         </a>
     172                         <a class="weui-cell weui-cell_access js_item" data-id="toast" href="javascript:;">
     173                             <div class="weui-cell__bd">
     174                                 <p>Toast</p>
     175                             </div>
     176                             <div class="weui-cell__ft"></div>
     177                         </a>
     178                     </div>
     179                 </div>
     180             </li>
     181             <li>
     182                 <div class="weui-flex js_category">
     183                     <p class="weui-flex__item">导航相关</p>
     184                     <img src="./images/icon_nav_nav.png" alt="">
     185                 </div>
     186                 <div class="page__category js_categoryInner">
     187                     <div class="weui-cells page__category-content">
     188                         <a class="weui-cell weui-cell_access js_item" data-id="navbar" href="javascript:;">
     189                             <div class="weui-cell__bd">
     190                                 <p>Navbar</p>
     191                             </div>
     192                             <div class="weui-cell__ft"></div>
     193                         </a>
     194                         <a class="weui-cell weui-cell_access js_item" data-id="tabbar" href="javascript:;">
     195                             <div class="weui-cell__bd">
     196                                 <p>Tabbar</p>
     197                             </div>
     198                             <div class="weui-cell__ft"></div>
     199                         </a>
     200                     </div>
     201                 </div>
     202             </li>
     203             <li>
     204                 <div class="weui-flex js_category">
     205                     <p class="weui-flex__item">搜索相关</p>
     206                     <img src="./images/icon_nav_search.png" alt="">
     207                 </div>
     208                 <div class="page__category js_categoryInner">
     209                     <div class="weui-cells page__category-content">
     210                         <a class="weui-cell weui-cell_access js_item" data-id="searchbar" href="javascript:;">
     211                             <div class="weui-cell__bd">
     212                                 <p>Search Bar</p>
     213                             </div>
     214                             <div class="weui-cell__ft"></div>
     215                         </a>
     216                     </div>
     217                 </div>
     218             </li>
     219             <li>
     220                 <div class="weui-flex js_item" data-id="layers">
     221                     <p class="weui-flex__item">层级规范</p>
     222                     <img src="./images/icon_nav_z-index.png" alt="">
     223                 </div>
     224             </li>
     225         </ul>
     226     </div>
     227     <div class="page__ft">
     228         <a href="javascript:home()"><img src="./images/icon_footer.png" /></a>
     229     </div>
     230 </div>
     231 <script type="text/javascript">
     232     $(function(){
     233         var winH = $(window).height();
     234         var categorySpace = 10;
     235 
     236         $('.js_item').on('click', function(){
     237             var id = $(this).data('id');
     238             window.pageManager.go(id);
     239         });
     240         $('.js_category').on('click', function(){
     241             var $this = $(this),
     242                 $inner = $this.next('.js_categoryInner'),
     243                 $page = $this.parents('.page'),
     244                 $parent = $(this).parent('li');
     245             var innerH = $inner.data('height');
     246             bear = $page;
     247 
     248             if(!innerH){
     249                 $inner.css('height', 'auto');
     250                 innerH = $inner.height();
     251                 $inner.removeAttr('style');
     252                 $inner.data('height', innerH);
     253             }
     254 
     255             if($parent.hasClass('js_show')){
     256                 $parent.removeClass('js_show');
     257             }else{
     258                 $parent.siblings().removeClass('js_show');
     259 
     260                 $parent.addClass('js_show');
     261                 if(this.offsetTop + this.offsetHeight + innerH > $page.scrollTop() + winH){
     262                     var scrollTop = this.offsetTop + this.offsetHeight + innerH - winH + categorySpace;
     263 
     264                     if(scrollTop > this.offsetTop){
     265                         scrollTop = this.offsetTop - categorySpace;
     266                     }
     267 
     268                     $page.scrollTop(scrollTop);
     269                 }
     270             }
     271         });
     272     });
     273 </script>
     274 
     275     <script type="text/html" id="tpl_button">
     276 <div class="page">
     277     <div class="page__hd">
     278         <h1 class="page__title">Button</h1>
     279         <p class="page__desc">按钮</p>
     280     </div>
     281     <div class="page__bd page__bd_spacing">
     282         <a href="javascript:;" class="weui-btn weui-btn_primary">页面主操作 Normal</a>
     283         <a href="javascript:;" class="weui-btn weui-btn_primary weui-btn_loading"><i class="weui-loading"></i>页面主操作 Loading</a>
     284         <a href="javascript:;" class="weui-btn weui-btn_disabled weui-btn_primary">页面主操作 Disabled</a>
     285         <a href="javascript:;" class="weui-btn weui-btn_default">页面次要操作 Normal</a>
     286         <a href="javascript:;" class="weui-btn weui-btn_default weui-btn_loading"><i class="weui-loading"></i>页面次操作 Loading</a>
     287         <a href="javascript:;" class="weui-btn weui-btn_disabled weui-btn_default">页面次要操作 Disabled</a>
     288         <a href="javascript:;" class="weui-btn weui-btn_warn">警告类操作 Normal</a>
     289         <a href="javascript:;" class="weui-btn weui-btn_warn weui-btn_loading"><i class="weui-loading"></i>警告类操作 Loading</a>
     290         <a href="javascript:;" class="weui-btn weui-btn_disabled weui-btn_warn">警告类操作 Disabled</a>
     291         
     292         <div class="button-sp-area">
     293             <a href="javascript:;" class="weui-btn weui-btn_plain-default">按钮</a>
     294             <a href="javascript:;" class="weui-btn weui-btn_plain-default weui-btn_plain-disabled">按钮</a>
     295             <a href="javascript:;" class="weui-btn weui-btn_plain-primary">按钮</a>
     296             <a href="javascript:;" class="weui-btn weui-btn_plain-primary weui-btn_plain-disabled">按钮</a>
     297             <a href="javascript:;" class="weui-btn weui-btn_mini weui-btn_primary">按钮</a>
     298             <a href="javascript:;" class="weui-btn weui-btn_mini weui-btn_default">按钮</a>
     299             <a href="javascript:;" class="weui-btn weui-btn_mini weui-btn_warn">按钮</a>
     300         </div>
     301     </div>
     302     <div class="page__ft">
     303         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
     304     </div>
     305 </div>
     306 
     307 </script>
     308     <script type="text/html" id="tpl_list">
     309 <div class="page">
     310     <div class="page__hd">
     311         <h1 class="page__title">List</h1>
     312         <p class="page__desc">列表</p>
     313     </div>
     314     <div class="page__bd">
     315         <div class="weui-cells__title">带说明的列表项</div>
     316         <div class="weui-cells">
     317             <div class="weui-cell">
     318                 <div class="weui-cell__bd">
     319                     <p>标题文字</p>
     320                 </div>
     321                 <div class="weui-cell__ft">说明文字</div>
     322             </div>
     323             <div class="weui-cell weui-cell_swiped">
     324                 <div class="weui-cell__bd" style="transform: translateX(-68px)">
     325                     <div class="weui-cell">
     326                         <div class="weui-cell__bd">
     327                             <p>标题文字</p>
     328                         </div>
     329                         <div class="weui-cell__ft">说明文字</div>
     330                     </div>
     331                 </div>
     332                 <div class="weui-cell__ft">
     333                     <a class="weui-swiped-btn weui-swiped-btn_warn" href="javascript:">删除</a>
     334                 </div>
     335             </div>
     336         </div>
     337 
     338         <div class="weui-cells__title">带图标、说明的列表项</div>
     339         <div class="weui-cells">
     340             <div class="weui-cell">
     341                 <div class="weui-cell__hd"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAMAAABgZ9sFAAAAVFBMVEXx8fHMzMzr6+vn5+fv7+/t7e3d3d2+vr7W1tbHx8eysrKdnZ3p6enk5OTR0dG7u7u3t7ejo6PY2Njh4eHf39/T09PExMSvr6+goKCqqqqnp6e4uLgcLY/OAAAAnklEQVRIx+3RSRLDIAxE0QYhAbGZPNu5/z0zrXHiqiz5W72FqhqtVuuXAl3iOV7iPV/iSsAqZa9BS7YOmMXnNNX4TWGxRMn3R6SxRNgy0bzXOW8EBO8SAClsPdB3psqlvG+Lw7ONXg/pTld52BjgSSkA3PV2OOemjIDcZQWgVvONw60q7sIpR38EnHPSMDQ4MjDjLPozhAkGrVbr/z0ANjAF4AcbXmYAAAAASUVORK5CYII=" alt="" style="20px;margin-right:5px;display:block"></div>
     342                 <div class="weui-cell__bd">
     343                     <p>标题文字</p>
     344                 </div>
     345                 <div class="weui-cell__ft">说明文字</div>
     346             </div>
     347             <div class="weui-cell">
     348                 <div class="weui-cell__hd"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAMAAABgZ9sFAAAAVFBMVEXx8fHMzMzr6+vn5+fv7+/t7e3d3d2+vr7W1tbHx8eysrKdnZ3p6enk5OTR0dG7u7u3t7ejo6PY2Njh4eHf39/T09PExMSvr6+goKCqqqqnp6e4uLgcLY/OAAAAnklEQVRIx+3RSRLDIAxE0QYhAbGZPNu5/z0zrXHiqiz5W72FqhqtVuuXAl3iOV7iPV/iSsAqZa9BS7YOmMXnNNX4TWGxRMn3R6SxRNgy0bzXOW8EBO8SAClsPdB3psqlvG+Lw7ONXg/pTld52BjgSSkA3PV2OOemjIDcZQWgVvONw60q7sIpR38EnHPSMDQ4MjDjLPozhAkGrVbr/z0ANjAF4AcbXmYAAAAASUVORK5CYII=" alt="" style="20px;margin-right:5px;display:block"></div>
     349                 <div class="weui-cell__bd">
     350                     <p>标题文字</p>
     351                 </div>
     352                 <div class="weui-cell__ft">说明文字</div>
     353             </div>
     354         </div>
     355 
     356         <div class="weui-cells__title">带跳转的列表项</div>
     357         <div class="weui-cells">
     358             <a class="weui-cell weui-cell_access" href="javascript:;">
     359                 <div class="weui-cell__bd">
     360                     <p>cell standard</p>
     361                 </div>
     362                 <div class="weui-cell__ft">
     363                 </div>
     364             </a>
     365             <a class="weui-cell weui-cell_access" href="javascript:;">
     366                 <div class="weui-cell__bd">
     367                     <p>cell standard</p>
     368                 </div>
     369                 <div class="weui-cell__ft">
     370                 </div>
     371             </a>
     372         </div>
     373 
     374         <div class="weui-cells__title">带说明、跳转的列表项</div>
     375         <div class="weui-cells">
     376             <a class="weui-cell weui-cell_access" href="javascript:;">
     377                 <div class="weui-cell__bd">
     378                     <p>cell standard</p>
     379                 </div>
     380                 <div class="weui-cell__ft">说明文字</div>
     381             </a>
     382             <a class="weui-cell weui-cell_access" href="javascript:;">
     383                 <div class="weui-cell__bd">
     384                     <p>cell standard</p>
     385                 </div>
     386                 <div class="weui-cell__ft">说明文字</div>
     387             </a>
     388 
     389         </div>
     390 
     391         <div class="weui-cells__title">带图标、说明、跳转的列表项</div>
     392         <div class="weui-cells">
     393 
     394             <a class="weui-cell weui-cell_access" href="javascript:;">
     395                 <div class="weui-cell__hd"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAMAAABgZ9sFAAAAVFBMVEXx8fHMzMzr6+vn5+fv7+/t7e3d3d2+vr7W1tbHx8eysrKdnZ3p6enk5OTR0dG7u7u3t7ejo6PY2Njh4eHf39/T09PExMSvr6+goKCqqqqnp6e4uLgcLY/OAAAAnklEQVRIx+3RSRLDIAxE0QYhAbGZPNu5/z0zrXHiqiz5W72FqhqtVuuXAl3iOV7iPV/iSsAqZa9BS7YOmMXnNNX4TWGxRMn3R6SxRNgy0bzXOW8EBO8SAClsPdB3psqlvG+Lw7ONXg/pTld52BjgSSkA3PV2OOemjIDcZQWgVvONw60q7sIpR38EnHPSMDQ4MjDjLPozhAkGrVbr/z0ANjAF4AcbXmYAAAAASUVORK5CYII=" alt="" style="20px;margin-right:5px;display:block"></div>
     396                 <div class="weui-cell__bd">
     397                     <p>cell standard</p>
     398                 </div>
     399                 <div class="weui-cell__ft">说明文字</div>
     400             </a>
     401             <a class="weui-cell weui-cell_access" href="javascript:;">
     402                 <div class="weui-cell__hd"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAMAAABgZ9sFAAAAVFBMVEXx8fHMzMzr6+vn5+fv7+/t7e3d3d2+vr7W1tbHx8eysrKdnZ3p6enk5OTR0dG7u7u3t7ejo6PY2Njh4eHf39/T09PExMSvr6+goKCqqqqnp6e4uLgcLY/OAAAAnklEQVRIx+3RSRLDIAxE0QYhAbGZPNu5/z0zrXHiqiz5W72FqhqtVuuXAl3iOV7iPV/iSsAqZa9BS7YOmMXnNNX4TWGxRMn3R6SxRNgy0bzXOW8EBO8SAClsPdB3psqlvG+Lw7ONXg/pTld52BjgSSkA3PV2OOemjIDcZQWgVvONw60q7sIpR38EnHPSMDQ4MjDjLPozhAkGrVbr/z0ANjAF4AcbXmYAAAAASUVORK5CYII=" alt="" style="20px;margin-right:5px;display:block"></div>
     403                 <div class="weui-cell__bd">
     404                     <p>cell standard</p>
     405                 </div>
     406                 <div class="weui-cell__ft">说明文字</div>
     407             </a>
     408         </div>
     409     </div>
     410     <div class="page__ft">
     411         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
     412     </div>
     413 </div>
     414 </script>
     415     <script type="text/html" id="tpl_input">
     416 <div class="page">
     417     <div class="page__hd">
     418         <h1 class="page__title">Input</h1>
     419         <p class="page__desc">表单输入</p>
     420     </div>
     421     <div class="page__bd">
     422         <div class="weui-cells__title">单选列表项</div>
     423         <div class="weui-cells weui-cells_radio">
     424             <label class="weui-cell weui-check__label" for="x11">
     425                 <div class="weui-cell__bd">
     426                     <p>cell standard</p>
     427                 </div>
     428                 <div class="weui-cell__ft">
     429                     <input type="radio" class="weui-check" name="radio1" id="x11"/>
     430                     <span class="weui-icon-checked"></span>
     431                 </div>
     432             </label>
     433             <label class="weui-cell weui-check__label" for="x12">
     434 
     435                 <div class="weui-cell__bd">
     436                     <p>cell standard</p>
     437                 </div>
     438                 <div class="weui-cell__ft">
     439                     <input type="radio" name="radio1" class="weui-check" id="x12" checked="checked"/>
     440                     <span class="weui-icon-checked"></span>
     441                 </div>
     442             </label>
     443             <a href="javascript:void(0);" class="weui-cell weui-cell_link">
     444                 <div class="weui-cell__bd">添加更多</div>
     445             </a>
     446         </div>
     447         <div class="weui-cells__title">复选列表项</div>
     448         <div class="weui-cells weui-cells_checkbox">
     449             <label class="weui-cell weui-check__label" for="s11">
     450                 <div class="weui-cell__hd">
     451                     <input type="checkbox" class="weui-check" name="checkbox1" id="s11" checked="checked"/>
     452                     <i class="weui-icon-checked"></i>
     453                 </div>
     454                 <div class="weui-cell__bd">
     455                     <p>standard is dealt for u.</p>
     456                 </div>
     457             </label>
     458             <label class="weui-cell weui-check__label" for="s12">
     459                 <div class="weui-cell__hd">
     460                     <input type="checkbox" name="checkbox1" class="weui-check" id="s12"/>
     461                     <i class="weui-icon-checked"></i>
     462                 </div>
     463                 <div class="weui-cell__bd">
     464                     <p>standard is dealicient for u.</p>
     465                 </div>
     466             </label>
     467             <a href="javascript:void(0);" class="weui-cell weui-cell_link">
     468                 <div class="weui-cell__bd">添加更多</div>
     469             </a>
     470         </div>
     471 
     472         <div class="weui-cells__title">表单</div>
     473         <div class="weui-cells weui-cells_form">
     474             <div class="weui-cell">
     475                 <div class="weui-cell__hd"><label class="weui-label">qq</label></div>
     476                 <div class="weui-cell__bd">
     477                     <input class="weui-input" type="number" pattern="[0-9]*" placeholder="请输入qq号"/>
     478                 </div>
     479             </div>
     480             <div class="weui-cell weui-cell_vcode">
     481                 <div class="weui-cell__hd">
     482                     <label class="weui-label">手机号</label>
     483                 </div>
     484                 <div class="weui-cell__bd">
     485                     <input class="weui-input" type="tel" placeholder="请输入手机号"/>
     486                 </div>
     487                 <div class="weui-cell__ft">
     488                     <button class="weui-vcode-btn">获取验证码</button>
     489                 </div>
     490             </div>
     491             <div class="weui-cell">
     492                 <div class="weui-cell__hd"><label for="" class="weui-label">日期</label></div>
     493                 <div class="weui-cell__bd">
     494                     <input class="weui-input" type="date" value=""/>
     495                 </div>
     496             </div>
     497             <div class="weui-cell">
     498                 <div class="weui-cell__hd"><label for="" class="weui-label">时间</label></div>
     499                 <div class="weui-cell__bd">
     500                     <input class="weui-input" type="datetime-local" value="" placeholder=""/>
     501                 </div>
     502             </div>
     503             <div class="weui-cell weui-cell_vcode">
     504                 <div class="weui-cell__hd"><label class="weui-label">验证码</label></div>
     505                 <div class="weui-cell__bd">
     506                     <input class="weui-input" type="number" placeholder="请输入验证码"/>
     507                 </div>
     508                 <div class="weui-cell__ft">
     509                     <img class="weui-vcode-img" src="./images/vcode.jpg" />
     510                 </div>
     511             </div>
     512         </div>
     513         <div class="weui-cells__tips">底部说明文字底部说明文字</div>
     514 
     515         <div class="weui-cells__title">表单报错</div>
     516         <div class="weui-cells weui-cells_form">
     517             <div class="weui-cell weui-cell_warn">
     518                 <div class="weui-cell__hd"><label for="" class="weui-label">卡号</label></div>
     519                 <div class="weui-cell__bd">
     520                     <input class="weui-input" type="number" pattern="[0-9]*" value="weui input error" placeholder="请输入卡号"/>
     521                 </div>
     522                 <div class="weui-cell__ft">
     523                     <i class="weui-icon-warn"></i>
     524                 </div>
     525             </div>
     526         </div>
     527 
     528 
     529         <div class="weui-cells__title">开关</div>
     530         <div class="weui-cells weui-cells_form">
     531             <div class="weui-cell weui-cell_switch">
     532                 <div class="weui-cell__bd">标题文字</div>
     533                 <div class="weui-cell__ft">
     534                     <input class="weui-switch" type="checkbox"/>
     535                 </div>
     536             </div>
     537             <div class="weui-cell weui-cell_switch">
     538                 <div class="weui-cell__bd">兼容IE Edge的版本</div>
     539                 <div class="weui-cell__ft">
     540                     <label for="switchCP" class="weui-switch-cp">
     541                         <input id="switchCP" class="weui-switch-cp__input" type="checkbox" checked="checked"/>
     542                         <div class="weui-switch-cp__box"></div>
     543                     </label>
     544                 </div>
     545             </div>
     546         </div>
     547 
     548         <div class="weui-cells__title">文本框</div>
     549         <div class="weui-cells">
     550             <div class="weui-cell">
     551                 <div class="weui-cell__bd">
     552                     <input class="weui-input" type="text" placeholder="请输入文本"/>
     553                 </div>
     554             </div>
     555         </div>
     556 
     557         <div class="weui-cells__title">文本域</div>
     558         <div class="weui-cells weui-cells_form">
     559             <div class="weui-cell">
     560                 <div class="weui-cell__bd">
     561                     <textarea class="weui-textarea" placeholder="请输入文本" rows="3"></textarea>
     562                     <div class="weui-textarea-counter"><span>0</span>/200</div>
     563                 </div>
     564             </div>
     565         </div>
     566 
     567         <div class="weui-cells__title">选择</div>
     568         <div class="weui-cells">
     569 
     570             <div class="weui-cell weui-cell_select weui-cell_select-before">
     571                 <div class="weui-cell__hd">
     572                     <select class="weui-select" name="select2">
     573                         <option value="1">+86</option>
     574                         <option value="2">+80</option>
     575                         <option value="3">+84</option>
     576                         <option value="4">+87</option>
     577                     </select>
     578                 </div>
     579                 <div class="weui-cell__bd">
     580                     <input class="weui-input" type="number" pattern="[0-9]*" placeholder="请输入号码"/>
     581                 </div>
     582             </div>
     583         </div>
     584         <div class="weui-cells__title">选择</div>
     585         <div class="weui-cells">
     586             <div class="weui-cell weui-cell_select">
     587                 <div class="weui-cell__bd">
     588                     <select class="weui-select" name="select1">
     589                         <option selected="" value="1">微信号</option>
     590                         <option value="2">QQ号</option>
     591                         <option value="3">Email</option>
     592                     </select>
     593                 </div>
     594             </div>
     595             <div class="weui-cell weui-cell_select weui-cell_select-after">
     596                 <div class="weui-cell__hd">
     597                     <label for="" class="weui-label">国家/地区</label>
     598                 </div>
     599                 <div class="weui-cell__bd">
     600                     <select class="weui-select" name="select2">
     601                         <option value="1">中国</option>
     602                         <option value="2">美国</option>
     603                         <option value="3">英国</option>
     604                     </select>
     605                 </div>
     606             </div>
     607         </div>
     608 
     609         <label for="weuiAgree" class="weui-agree">
     610             <input id="weuiAgree" type="checkbox" class="weui-agree__checkbox"/>
     611             <span class="weui-agree__text">
     612                 阅读并同意<a href="javascript:void(0);">《相关条款》</a>
     613             </span>
     614         </label>
     615 
     616         <div class="weui-btn-area">
     617             <a class="weui-btn weui-btn_primary" href="javascript:" id="showTooltips">确定</a>
     618         </div>
     619     </div>
     620     <div class="page__ft">
     621         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
     622     </div>
     623 </div>
     624 <script type="text/javascript">
     625     $(function(){
     626         var $tooltips = $('.js_tooltips');
     627 
     628         $('#showTooltips').on('click', function(){
     629             if ($tooltips.css('display') != 'none') return;
     630 
     631             // toptips的fixed, 如果有`animation`, `position: fixed`不生效
     632             $('.page.cell').removeClass('slideIn');
     633 
     634             $tooltips.css('display', 'block');
     635             setTimeout(function () {
     636                 $tooltips.css('display', 'none');
     637             }, 2000);
     638         });
     639     });
     640 </script>
     641 
     642     <script type="text/html" id="tpl_toast">
     643 <div class="page">
     644     <div class="page__hd">
     645         <h1 class="page__title">Toast</h1>
     646         <p class="page__desc">弹出式提示</p>
     647     </div>
     648     <div class="page__bd page__bd_spacing">
     649         <a href="javascript:;" class="weui-btn weui-btn_default" id="showToast">成功提示</a>
     650         <a href="javascript:;" class="weui-btn weui-btn_default" id="showLoadingToast">加载中提示</a>
     651     </div>
     652     <div class="page__ft">
     653         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
     654     </div>
     655 
     656     <!--BEGIN toast-->
     657     <div id="toast" style="display: none;">
     658         <div class="weui-mask_transparent"></div>
     659         <div class="weui-toast">
     660             <i class="weui-icon-success-no-circle weui-icon_toast"></i>
     661             <p class="weui-toast__content">已完成</p>
     662         </div>
     663     </div>
     664     <!--end toast-->
     665 
     666     <!-- loading toast -->
     667     <div id="loadingToast" style="display:none;">
     668         <div class="weui-mask_transparent"></div>
     669         <div class="weui-toast">
     670             <i class="weui-loading weui-icon_toast"></i>
     671             <p class="weui-toast__content">数据加载中</p>
     672         </div>
     673     </div>
     674 </div>
     675 <script type="text/javascript">
     676     // toast
     677     $(function(){
     678         var $toast = $('#toast');
     679         $('#showToast').on('click', function(){
     680             if ($toast.css('display') != 'none') return;
     681 
     682             $toast.fadeIn(100);
     683             setTimeout(function () {
     684                 $toast.fadeOut(100);
     685             }, 2000);
     686         });
     687     });
     688 
     689     // loading
     690     $(function(){
     691         var $loadingToast = $('#loadingToast');
     692         $('#showLoadingToast').on('click', function(){
     693             if ($loadingToast.css('display') != 'none') return;
     694 
     695             $loadingToast.fadeIn(100);
     696             setTimeout(function () {
     697                 $loadingToast.fadeOut(100);
     698             }, 2000);
     699         });
     700     });
     701 </script>
     702 
     703 
     704     <script type="text/html" id="tpl_dialog">
     705 <div class="page">
     706     <div class="page__hd">
     707         <h1 class="page__title">Dialog</h1>
     708         <p class="page__desc">对话框</p>
     709     </div>
     710     <div class="page__bd page__bd_spacing">
     711         <a href="javascript:;" class="weui-btn weui-btn_default" id="showIOSDialog1">iOS Dialog样式一</a>
     712         <a href="javascript:;" class="weui-btn weui-btn_default" id="showIOSDialog2">iOS Dialog样式二</a>
     713         <a href="javascript:;" class="weui-btn weui-btn_default" id="showAndroidDialog1">Android Dialog样式一</a>
     714         <a href="javascript:;" class="weui-btn weui-btn_default" id="showAndroidDialog2">Android Dialog样式二</a>
     715     </div>
     716     <div class="page__ft">
     717         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
     718     </div>
     719 
     720     <div id="dialogs">
     721         <!--BEGIN dialog1-->
     722         <div class="js_dialog" id="iosDialog1" style="display: none;">
     723             <div class="weui-mask"></div>
     724             <div class="weui-dialog">
     725                 <div class="weui-dialog__hd"><strong class="weui-dialog__title">弹窗标题</strong></div>
     726                 <div class="weui-dialog__bd">弹窗内容,告知当前状态、信息和解决方法,描述文字尽量控制在三行内</div>
     727                 <div class="weui-dialog__ft">
     728                     <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_default">辅助操作</a>
     729                     <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary">主操作</a>
     730                 </div>
     731             </div>
     732         </div>
     733         <!--END dialog1-->
     734         <!--BEGIN dialog2-->
     735         <div class="js_dialog" id="iosDialog2" style="display: none;">
     736             <div class="weui-mask"></div>
     737             <div class="weui-dialog">
     738                 <div class="weui-dialog__bd">弹窗内容,告知当前状态、信息和解决方法,描述文字尽量控制在三行内</div>
     739                 <div class="weui-dialog__ft">
     740                     <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary">知道了</a>
     741                 </div>
     742             </div>
     743         </div>
     744         <!--END dialog2-->
     745         <!--BEGIN dialog3-->
     746         <div class="js_dialog" id="androidDialog1" style="display: none;">
     747             <div class="weui-mask"></div>
     748             <div class="weui-dialog weui-skin_android">
     749                 <div class="weui-dialog__hd"><strong class="weui-dialog__title">弹窗标题</strong></div>
     750                 <div class="weui-dialog__bd">
     751                     弹窗内容,告知当前状态、信息和解决方法,描述文字尽量控制在三行内
     752                 </div>
     753                 <div class="weui-dialog__ft">
     754                     <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_default">辅助操作</a>
     755                     <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary">主操作</a>
     756                 </div>
     757             </div>
     758         </div>
     759         <!--END dialog3-->
     760         <!--BEGIN dialog4-->
     761         <div class="js_dialog" id="androidDialog2" style="display: none;">
     762             <div class="weui-mask"></div>
     763             <div class="weui-dialog weui-skin_android">
     764                 <div class="weui-dialog__bd">
     765                     弹窗内容,告知当前状态、信息和解决方法,描述文字尽量控制在三行内
     766                 </div>
     767                 <div class="weui-dialog__ft">
     768                     <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_default">辅助操作</a>
     769                     <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary">主操作</a>
     770                 </div>
     771             </div>
     772         </div>
     773         <!--END dialog4-->
     774     </div>
     775 </div>
     776 <script type="text/javascript">
     777     $(function(){
     778         var $iosDialog1 = $('#iosDialog1'),
     779             $iosDialog2 = $('#iosDialog2'),
     780             $androidDialog1 = $('#androidDialog1'),
     781             $androidDialog2 = $('#androidDialog2');
     782 
     783         $('#dialogs').on('click', '.weui-dialog__btn', function(){
     784             $(this).parents('.js_dialog').fadeOut(200);
     785         });
     786 
     787         $('#showIOSDialog1').on('click', function(){
     788             $iosDialog1.fadeIn(200);
     789         });
     790         $('#showIOSDialog2').on('click', function(){
     791             $iosDialog2.fadeIn(200);
     792         });
     793         $('#showAndroidDialog1').on('click', function(){
     794             $androidDialog1.fadeIn(200);
     795         });
     796         $('#showAndroidDialog2').on('click', function(){
     797             $androidDialog2.fadeIn(200);
     798         });
     799     });
     800 </script>
     801 
     802     <script type="text/html" id="tpl_progress">
     803 <div class="page">
     804     <div class="page__hd">
     805         <h1 class="page__title">Progress</h1>
     806         <p class="page__desc">进度条</p>
     807     </div>
     808     <div class="page__bd page__bd_spacing">
     809         <div class="weui-progress">
     810             <div class="weui-progress__bar">
     811                 <div class="weui-progress__inner-bar js_progress" style=" 0%;"></div>
     812             </div>
     813             <a href="javascript:;" class="weui-progress__opr">
     814                 <i class="weui-icon-cancel"></i>
     815             </a>
     816         </div>
     817         <br>
     818         <div class="weui-progress">
     819             <div class="weui-progress__bar">
     820                 <div class="weui-progress__inner-bar js_progress" style=" 50%;"></div>
     821             </div>
     822             <a href="javascript:;" class="weui-progress__opr">
     823                 <i class="weui-icon-cancel"></i>
     824             </a>
     825         </div>
     826         <br>
     827         <div class="weui-progress">
     828             <div class="weui-progress__bar">
     829                 <div class="weui-progress__inner-bar js_progress" style=" 80%;"></div>
     830             </div>
     831             <a href="javascript:;" class="weui-progress__opr">
     832                 <i class="weui-icon-cancel"></i>
     833             </a>
     834         </div>
     835         <div class="weui-btn-area">
     836             <a href="javascript:;" class="weui-btn weui-btn_primary" id="btnUpload">上传</a>
     837         </div>
     838     </div>
     839     <div class="page__ft">
     840         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
     841     </div>
     842 </div>
     843 <script type="text/javascript">
     844     $(function(){
     845         var $progress = $('.js_progress'),
     846             $btnUpload = $('#btnUpload');
     847         var progress = 0;
     848 
     849         function next() {
     850             if(progress > 100){
     851                 progress = 0;
     852                 $btnUpload.removeClass('weui-btn_disabled');
     853                 return;
     854             }
     855             $progress.css({ progress + '%'});
     856             progress = ++progress;
     857             setTimeout(next, 20);
     858         }
     859 
     860         $btnUpload.on('click', function(){
     861             if ($btnUpload.hasClass('weui-btn_disabled')) return;
     862 
     863             $btnUpload.addClass('weui-btn_disabled');
     864             next();
     865         });
     866     });
     867 </script>
     868 
     869     <script type="text/html" id="tpl_msg">
     870 <div class="page">
     871     <div class="page__hd">
     872         <h1 class="page__title">Msg</h1>
     873         <p class="page__desc">提示页</p>
     874     </div>
     875     <div class="page__bd page__bd_spacing">
     876         <a href="#msg_success" class="weui-btn weui-btn_default">成功提示页</a>
     877         <a href="#msg_warn" class="weui-btn weui-btn_default">失败提示页</a>
     878     </div>
     879     <div class="page__ft">
     880         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
     881     </div>
     882 </div>
     883 </script>
     884     <script type="text/html" id="tpl_msg_success">
     885 <div class="page">
     886     <div class="weui-msg">
     887         <div class="weui-msg__icon-area"><i class="weui-icon-success weui-icon_msg"></i></div>
     888         <div class="weui-msg__text-area">
     889             <h2 class="weui-msg__title">操作成功</h2>
     890             <p class="weui-msg__desc">内容详情,可根据实际需要安排,如果换行则不超过规定长度,居中展现<a href="javascript:void(0);">文字链接</a></p>
     891         </div>
     892         <div class="weui-msg__opr-area">
     893             <p class="weui-btn-area">
     894                 <a href="javascript:history.back();" class="weui-btn weui-btn_primary">推荐操作</a>
     895                 <a href="javascript:history.back();" class="weui-btn weui-btn_default">辅助操作</a>
     896             </p>
     897         </div>
     898         <div class="weui-msg__extra-area">
     899             <div class="weui-footer">
     900                 <p class="weui-footer__links">
     901                     <a href="javascript:void(0);" class="weui-footer__link">底部链接文本</a>
     902                 </p>
     903                 <p class="weui-footer__text">Copyright &copy; 2008-2016 weui.io</p>
     904             </div>
     905         </div>
     906     </div>
     907 </div>
     908 </script>
     909     <script type="text/html" id="tpl_msg_warn">
     910 <div class="page">
     911     <div class="weui-msg">
     912         <div class="weui-msg__icon-area"><i class="weui-icon-warn weui-icon_msg"></i></div>
     913         <div class="weui-msg__text-area">
     914             <h2 class="weui-msg__title">操作失败</h2>
     915             <p class="weui-msg__desc">内容详情,可根据实际需要安排,如果换行则不超过规定长度,居中展现<a href="javascript:void(0);">文字链接</a></p>
     916         </div>
     917         <div class="weui-msg__opr-area">
     918             <p class="weui-btn-area">
     919                 <a href="javascript:history.back();" class="weui-btn weui-btn_primary">推荐操作</a>
     920                 <a href="javascript:history.back();" class="weui-btn weui-btn_default">辅助操作</a>
     921             </p>
     922         </div>
     923         <div class="weui-msg__extra-area">
     924             <div class="weui-footer">
     925                 <p class="weui-footer__links">
     926                     <a href="javascript:void(0);" class="weui-footer__link">底部链接文本</a>
     927                 </p>
     928                 <p class="weui-footer__text">Copyright &copy; 2008-2016 weui.io</p>
     929             </div>
     930         </div>
     931     </div>
     932 </div>
     933 </script>
     934     <script type="text/html" id="tpl_article">
     935 <div class="page">
     936     <div class="page__hd">
     937         <h1 class="page__title">Article</h1>
     938         <p class="page__desc">文章</p>
     939     </div>
     940     <div class="page__bd">
     941         <article class="weui-article">
     942             <h1>大标题</h1>
     943             <section>
     944                 <h2 class="title">章标题</h2>
     945                 <section>
     946                     <h3>1.1 节标题</h3>
     947                     <p>
     948                         Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
     949                         tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
     950                         quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
     951                         consequat.
     952                     </p>
     953                     <p>
     954                         <img src="./images/pic_article.png" alt="">
     955                         <img src="./images/pic_article.png" alt="">
     956                     </p>
     957                 </section>
     958                 <section>
     959                     <h3>1.2 节标题</h3>
     960                     <p>
     961                         Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
     962                         tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
     963                         cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
     964                         proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
     965                     </p>
     966                 </section>
     967             </section>
     968         </article>
     969     </div>
     970     <div class="page__ft">
     971         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
     972     </div>
     973 </div>
     974 </script>
     975     <script type="text/html" id="tpl_navbar">
     976 <div class="page">
     977     <div class="page__bd" style="height: 100%;">
     978         <div class="weui-tab">
     979             <div class="weui-navbar">
     980                 <div class="weui-navbar__item weui-bar__item_on">
     981                     选项一
     982                 </div>
     983                 <div class="weui-navbar__item">
     984                     选项二
     985                 </div>
     986                 <div class="weui-navbar__item">
     987                     选项三
     988                 </div>
     989             </div>
     990             <div class="weui-tab__panel">
     991 
     992             </div>
     993         </div>
     994     </div>
     995 </div>
     996 <script type="text/javascript">
     997     $(function(){
     998         $('.weui-navbar__item').on('click', function () {
     999             $(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
    1000         });
    1001     });
    1002 </script>
    1003 
    1004     <script type="text/html" id="tpl_tabbar">
    1005 <div class="page">
    1006     <div class="page__bd" style="height: 100%;">
    1007         <div class="weui-tab">
    1008             <div class="weui-tab__panel">
    1009 
    1010             </div>
    1011             <div class="weui-tabbar">
    1012                 <a href="javascript:;" class="weui-tabbar__item weui-bar__item_on">
    1013                     <span style="display: inline-block;position: relative;">
    1014                         <img src="./images/icon_tabbar.png" alt="" class="weui-tabbar__icon">
    1015                         <span class="weui-badge" style="position: absolute;top: -2px;right: -13px;">8</span>
    1016                     </span>
    1017                     <p class="weui-tabbar__label">微信</p>
    1018                 </a>
    1019                 <a href="javascript:;" class="weui-tabbar__item">
    1020                     <img src="./images/icon_tabbar.png" alt="" class="weui-tabbar__icon">
    1021                     <p class="weui-tabbar__label">通讯录</p>
    1022                 </a>
    1023                 <a href="javascript:;" class="weui-tabbar__item">
    1024                     <span style="display: inline-block;position: relative;">
    1025                         <img src="./images/icon_tabbar.png" alt="" class="weui-tabbar__icon">
    1026                         <span class="weui-badge weui-badge_dot" style="position: absolute;top: 0;right: -6px;"></span>
    1027                     </span>
    1028                     <p class="weui-tabbar__label">发现</p>
    1029                 </a>
    1030                 <a href="javascript:;" class="weui-tabbar__item">
    1031                     <img src="./images/icon_tabbar.png" alt="" class="weui-tabbar__icon">
    1032                     <p class="weui-tabbar__label"></p>
    1033                 </a>
    1034             </div>
    1035         </div>
    1036     </div>
    1037 </div>
    1038 <script type="text/javascript">
    1039     $(function(){
    1040         $('.weui-tabbar__item').on('click', function () {
    1041             $(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
    1042         });
    1043     });
    1044 </script>
    1045 
    1046     <script type="text/html" id="tpl_panel">
    1047 <div class="page">
    1048     <div class="page__hd">
    1049         <h1 class="page__title">Panel</h1>
    1050         <p class="page__desc">面板</p>
    1051     </div>
    1052     <div class="page__bd">
    1053         <div class="weui-panel weui-panel_access">
    1054             <div class="weui-panel__hd">图文组合列表</div>
    1055             <div class="weui-panel__bd">
    1056                 <a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">
    1057                     <div class="weui-media-box__hd">
    1058                         <img class="weui-media-box__thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAeFBMVEUAwAD///+U5ZTc9twOww7G8MYwzDCH4YcfyR9x23Hw+/DY9dhm2WZG0kbT9NP0/PTL8sux7LFe115T1VM+zz7i+OIXxhes6qxr2mvA8MCe6J6M4oz6/frr+us5zjn2/fa67rqB4IF13XWn6ad83nxa1loqyirn+eccHxx4AAAC/klEQVRo3u2W2ZKiQBBF8wpCNSCyLwri7v//4bRIFVXoTBBB+DAReV5sG6lTXDITiGEYhmEYhmEYhmEYhmEY5v9i5fsZGRx9PyGDne8f6K9cfd+mKXe1yNG/0CcqYE86AkBMBh66f20deBc7wA/1WFiTwvSEpBMA2JJOBsSLxe/4QEEaJRrASP8EVF8Q74GbmevKg0saa0B8QbwBdjRyADYxIhqxAZ++IKYtciPXLQVG+imw+oo4Bu56rjEJ4GYsvPmKOAB+xlz7L5aevqUXuePWVhvWJ4eWiwUQ67mK51qPj4dFDMlRLBZTqF3SDvmr4BwtkECu5gHWPkmDfQh02WLxXuvbvC8ku8F57GsI5e0CmUwLz1kq3kD17R1In5816rGvQ5VMk5FEtIiWislTffuDpl/k/PzscdQsv8r9qWq4LRWX6tQYtTxvI3XyrwdyQxChXioOngH3dLgOFjk0all56XRi/wDFQrGQU3Os5t0wJu1GNtNKHdPqYaGYQuRDfbfDf26AGLYSyGS3ZAK4S8XuoAlxGSdYMKwqZKM9XJMtyqXi7HX/CiAZS6d8bSVUz5J36mEMFDTlAFQzxOT1dzLRljjB6+++ejFqka+mXIe6F59mw22OuOw1F4T6lg/9VjL1rLDoI9Xzl1MSYDNHnPQnt3D1EE7PrXjye/3pVpr1Z45hMUdcACc5NVQI0bOdS1WA0wuz73e7/5TNqBPhQXPEFGJNV2zNqWI7QKBd2Gn6AiBko02zuAOXeWIXjV0jNqdKegaE/kJQ6Bfs4aju04lMLkA2T5wBSYPKDGF3RKhFYEa6A1L1LG2yacmsaZ6YPOSAMKNsO+N5dNTfkc5Aqe26uxHpx7ZirvgCwJpWq/lmX1hA7LyabQ34tt5RiJKXSwQ+0KU0V5xg+hZrd4Bn1n4EID+WkQdgLfRNtvil9SPfwy+WQ7PFBWQz6dGWZBLkeJFXZGCfLUjCgGgqXo5TuSu3cugdcTv/HjqnBTEMwzAMwzAMwzAMwzAMw/zf/AFbXiOA6frlMAAAAABJRU5ErkJggg==" alt="">
    1059                     </div>
    1060                     <div class="weui-media-box__bd">
    1061                         <h4 class="weui-media-box__title">标题一</h4>
    1062                         <p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>
    1063                     </div>
    1064                 </a>
    1065                 <a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">
    1066                     <div class="weui-media-box__hd">
    1067                         <img class="weui-media-box__thumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAAeFBMVEUAwAD///+U5ZTc9twOww7G8MYwzDCH4YcfyR9x23Hw+/DY9dhm2WZG0kbT9NP0/PTL8sux7LFe115T1VM+zz7i+OIXxhes6qxr2mvA8MCe6J6M4oz6/frr+us5zjn2/fa67rqB4IF13XWn6ad83nxa1loqyirn+eccHxx4AAAC/klEQVRo3u2W2ZKiQBBF8wpCNSCyLwri7v//4bRIFVXoTBBB+DAReV5sG6lTXDITiGEYhmEYhmEYhmEYhmEY5v9i5fsZGRx9PyGDne8f6K9cfd+mKXe1yNG/0CcqYE86AkBMBh66f20deBc7wA/1WFiTwvSEpBMA2JJOBsSLxe/4QEEaJRrASP8EVF8Q74GbmevKg0saa0B8QbwBdjRyADYxIhqxAZ++IKYtciPXLQVG+imw+oo4Bu56rjEJ4GYsvPmKOAB+xlz7L5aevqUXuePWVhvWJ4eWiwUQ67mK51qPj4dFDMlRLBZTqF3SDvmr4BwtkECu5gHWPkmDfQh02WLxXuvbvC8ku8F57GsI5e0CmUwLz1kq3kD17R1In5816rGvQ5VMk5FEtIiWislTffuDpl/k/PzscdQsv8r9qWq4LRWX6tQYtTxvI3XyrwdyQxChXioOngH3dLgOFjk0all56XRi/wDFQrGQU3Os5t0wJu1GNtNKHdPqYaGYQuRDfbfDf26AGLYSyGS3ZAK4S8XuoAlxGSdYMKwqZKM9XJMtyqXi7HX/CiAZS6d8bSVUz5J36mEMFDTlAFQzxOT1dzLRljjB6+++ejFqka+mXIe6F59mw22OuOw1F4T6lg/9VjL1rLDoI9Xzl1MSYDNHnPQnt3D1EE7PrXjye/3pVpr1Z45hMUdcACc5NVQI0bOdS1WA0wuz73e7/5TNqBPhQXPEFGJNV2zNqWI7QKBd2Gn6AiBko02zuAOXeWIXjV0jNqdKegaE/kJQ6Bfs4aju04lMLkA2T5wBSYPKDGF3RKhFYEa6A1L1LG2yacmsaZ6YPOSAMKNsO+N5dNTfkc5Aqe26uxHpx7ZirvgCwJpWq/lmX1hA7LyabQ34tt5RiJKXSwQ+0KU0V5xg+hZrd4Bn1n4EID+WkQdgLfRNtvil9SPfwy+WQ7PFBWQz6dGWZBLkeJFXZGCfLUjCgGgqXo5TuSu3cugdcTv/HjqnBTEMwzAMwzAMwzAMwzAMw/zf/AFbXiOA6frlMAAAAABJRU5ErkJggg==" alt="">
    1068                     </div>
    1069                     <div class="weui-media-box__bd">
    1070                         <h4 class="weui-media-box__title">标题二</h4>
    1071                         <p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>
    1072                     </div>
    1073                 </a>
    1074             </div>
    1075             <div class="weui-panel__ft">
    1076                 <a href="javascript:void(0);" class="weui-cell weui-cell_access weui-cell_link">
    1077                     <div class="weui-cell__bd">查看更多</div>
    1078                     <span class="weui-cell__ft"></span>
    1079                 </a>    
    1080             </div>
    1081         </div>
    1082         <div class="weui-panel weui-panel_access">
    1083             <div class="weui-panel__hd">文字组合列表</div>
    1084             <div class="weui-panel__bd">
    1085                 <div class="weui-media-box weui-media-box_text">
    1086                     <h4 class="weui-media-box__title">标题一</h4>
    1087                     <p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>
    1088                 </div>
    1089                 <div class="weui-media-box weui-media-box_text">
    1090                     <h4 class="weui-media-box__title">标题二</h4>
    1091                     <p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>
    1092                 </div>
    1093             </div>
    1094             <div class="weui-panel__ft">
    1095                 <a href="javascript:void(0);" class="weui-cell weui-cell_access weui-cell_link">
    1096                     <div class="weui-cell__bd">查看更多</div>
    1097                     <span class="weui-cell__ft"></span>
    1098                 </a>    
    1099             </div>
    1100         </div>
    1101         <div class="weui-panel">
    1102             <div class="weui-panel__hd">小图文组合列表</div>
    1103             <div class="weui-panel__bd">
    1104                 <div class="weui-media-box weui-media-box_small-appmsg">
    1105                     <div class="weui-cells">
    1106                         <a class="weui-cell weui-cell_access" href="javascript:;">
    1107                             <div class="weui-cell__hd"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAMAAABgZ9sFAAAAVFBMVEXx8fHMzMzr6+vn5+fv7+/t7e3d3d2+vr7W1tbHx8eysrKdnZ3p6enk5OTR0dG7u7u3t7ejo6PY2Njh4eHf39/T09PExMSvr6+goKCqqqqnp6e4uLgcLY/OAAAAnklEQVRIx+3RSRLDIAxE0QYhAbGZPNu5/z0zrXHiqiz5W72FqhqtVuuXAl3iOV7iPV/iSsAqZa9BS7YOmMXnNNX4TWGxRMn3R6SxRNgy0bzXOW8EBO8SAClsPdB3psqlvG+Lw7ONXg/pTld52BjgSSkA3PV2OOemjIDcZQWgVvONw60q7sIpR38EnHPSMDQ4MjDjLPozhAkGrVbr/z0ANjAF4AcbXmYAAAAASUVORK5CYII=" alt="" style="20px;margin-right:5px;display:block"></div>
    1108                             <div class="weui-cell__bd weui-cell_primary">
    1109                                 <p>文字标题</p>
    1110                             </div>
    1111                             <span class="weui-cell__ft"></span>
    1112                         </a>
    1113                         <a class="weui-cell weui-cell_access" href="javascript:;">
    1114                             <div class="weui-cell__hd"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAMAAABgZ9sFAAAAVFBMVEXx8fHMzMzr6+vn5+fv7+/t7e3d3d2+vr7W1tbHx8eysrKdnZ3p6enk5OTR0dG7u7u3t7ejo6PY2Njh4eHf39/T09PExMSvr6+goKCqqqqnp6e4uLgcLY/OAAAAnklEQVRIx+3RSRLDIAxE0QYhAbGZPNu5/z0zrXHiqiz5W72FqhqtVuuXAl3iOV7iPV/iSsAqZa9BS7YOmMXnNNX4TWGxRMn3R6SxRNgy0bzXOW8EBO8SAClsPdB3psqlvG+Lw7ONXg/pTld52BjgSSkA3PV2OOemjIDcZQWgVvONw60q7sIpR38EnHPSMDQ4MjDjLPozhAkGrVbr/z0ANjAF4AcbXmYAAAAASUVORK5CYII=" alt="" style="20px;margin-right:5px;display:block"></div>
    1115                             <div class="weui-cell__bd weui-cell_primary">
    1116                                 <p>文字标题</p>
    1117                             </div>
    1118                             <span class="weui-cell__ft"></span>
    1119                         </a>
    1120                     </div>
    1121                 </div>
    1122             </div>
    1123         </div>
    1124         <div class="weui-panel">
    1125             <div class="weui-panel__hd">文字列表附来源</div>
    1126             <div class="weui-panel__bd">
    1127                 <div class="weui-media-box weui-media-box_text">
    1128                     <h4 class="weui-media-box__title">标题一</h4>
    1129                     <p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>
    1130                     <ul class="weui-media-box__info">
    1131                         <li class="weui-media-box__info__meta">文字来源</li>
    1132                         <li class="weui-media-box__info__meta">时间</li>
    1133                         <li class="weui-media-box__info__meta weui-media-box__info__meta_extra">其它信息</li>
    1134                     </ul>
    1135                 </div>
    1136             </div>
    1137         </div>
    1138     </div>
    1139     <div class="page__ft">
    1140         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1141     </div>
    1142 </div>
    1143 </script>
    1144     <script type="text/html" id="tpl_actionsheet">
    1145 <div class="page">
    1146     <div class="page__hd">
    1147         <h1 class="page__title">ActionSheet</h1>
    1148         <p class="page__desc">弹出式菜单</p>
    1149     </div>
    1150     <div class="page__bd page__bd_spacing">
    1151         <a href="javascript:;" class="weui-btn weui-btn_default" id="showIOSActionSheet">iOS ActionSheet</a>
    1152         <a href="javascript:;" class="weui-btn weui-btn_default" id="showAndroidActionSheet">Android ActionSheet</a>
    1153     </div>
    1154     <!--BEGIN actionSheet-->
    1155     <div>
    1156         <div class="weui-mask" id="iosMask" style="display: none"></div>
    1157         <div class="weui-actionsheet" id="iosActionsheet">
    1158             <div class="weui-actionsheet__title">
    1159                 <p class="weui-actionsheet__title-text">这是一个标题,可以为一行或者两行。</p>
    1160             </div>
    1161             <div class="weui-actionsheet__menu">
    1162                 <div class="weui-actionsheet__cell">示例菜单</div>
    1163                 <div class="weui-actionsheet__cell">示例菜单</div>
    1164                 <div class="weui-actionsheet__cell">示例菜单</div>
    1165                 <div class="weui-actionsheet__cell">示例菜单</div>
    1166             </div>
    1167             <div class="weui-actionsheet__action">
    1168                 <div class="weui-actionsheet__cell" id="iosActionsheetCancel">取消</div>
    1169             </div>
    1170         </div>
    1171     </div>
    1172 
    1173     <div class="weui-skin_android" id="androidActionsheet" style="display: none">
    1174         <div class="weui-mask"></div>
    1175         <div class="weui-actionsheet">
    1176             <div class="weui-actionsheet__menu">
    1177                 <div class="weui-actionsheet__cell">示例菜单</div>
    1178                 <div class="weui-actionsheet__cell">示例菜单</div>
    1179                 <div class="weui-actionsheet__cell">示例菜单</div>
    1180             </div>
    1181         </div>
    1182     </div>
    1183     <!--END actionSheet-->
    1184     <div class="page__ft">
    1185         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1186     </div>
    1187 </div>
    1188 <script type="text/javascript">
    1189     // ios
    1190     $(function(){
    1191         var $iosActionsheet = $('#iosActionsheet');
    1192         var $iosMask = $('#iosMask');
    1193 
    1194         function hideActionSheet() {
    1195             $iosActionsheet.removeClass('weui-actionsheet_toggle');
    1196             $iosMask.fadeOut(200);
    1197         }
    1198 
    1199         $iosMask.on('click', hideActionSheet);
    1200         $('#iosActionsheetCancel').on('click', hideActionSheet);
    1201         $("#showIOSActionSheet").on("click", function(){
    1202             $iosActionsheet.addClass('weui-actionsheet_toggle');
    1203             $iosMask.fadeIn(200);
    1204         });
    1205     });
    1206 
    1207     // android
    1208     $(function(){
    1209         var $androidActionSheet = $('#androidActionsheet');
    1210         var $androidMask = $androidActionSheet.find('.weui-mask');
    1211 
    1212         $("#showAndroidActionSheet").on('click', function(){
    1213             $androidActionSheet.fadeIn(200);
    1214             $androidMask.on('click',function () {
    1215                 $androidActionSheet.fadeOut(200);
    1216             });
    1217         });
    1218     });
    1219 </script>
    1220 
    1221     <script type="text/html" id="tpl_icons">
    1222 <div class="page">
    1223     <div class="page__hd">
    1224         <h1 class="page__title">Icons</h1>
    1225         <p class="page__desc">图标</p>
    1226     </div>
    1227     <div class="page__bd page__bd_spacing">
    1228         <div class="icon-box">
    1229             <i class="weui-icon-success weui-icon_msg"></i>
    1230             <div class="icon-box__ctn">
    1231                 <h3 class="icon-box__title">成功</h3>
    1232                 <p class="icon-box__desc">用于表示操作顺利达成</p>
    1233             </div>
    1234         </div>
    1235         <div class="icon-box">
    1236             <i class="weui-icon-info weui-icon_msg"></i>
    1237             <div class="icon-box__ctn">
    1238                 <h3 class="icon-box__title">提示</h3>
    1239                 <p class="icon-box__desc">用于表示信息提示;也常用于缺乏条件的操作拦截,提示用户所需信息</p>
    1240             </div>
    1241         </div>
    1242         <div class="icon-box">
    1243             <i class="weui-icon-warn weui-icon_msg-primary"></i>
    1244             <div class="icon-box__ctn">
    1245                 <h3 class="icon-box__title">普通警告</h3>
    1246                 <p class="icon-box__desc">用于表示操作后将引起一定后果的情况</p>
    1247             </div>
    1248         </div>
    1249         <div class="icon-box">
    1250             <i class="weui-icon-warn weui-icon_msg"></i>
    1251             <div class="icon-box__ctn">
    1252                 <h3 class="icon-box__title">强烈警告</h3>
    1253                 <p class="icon-box__desc">用于表示操作后将引起严重的不可挽回的后果的情况</p>
    1254             </div>
    1255         </div>
    1256         <div class="icon-box">
    1257             <i class="weui-icon-waiting weui-icon_msg"></i>
    1258             <div class="icon-box__ctn">
    1259                 <h3 class="icon-box__title">等待</h3>
    1260                 <p class="icon-box__desc">用于表示等待</p>
    1261             </div>
    1262         </div>
    1263         <div class="icon_sp_area">
    1264             <i class="weui-icon-success"></i>
    1265             <i class="weui-icon-success-no-circle"></i>
    1266             <i class="weui-icon-circle"></i>
    1267             <i class="weui-icon-warn"></i>
    1268             <i class="weui-icon-download"></i>
    1269             <i class="weui-icon-info-circle"></i>
    1270             <i class="weui-icon-cancel"></i>
    1271             <i class="weui-icon-search"></i>
    1272         </div>
    1273     </div>
    1274     <div class="page__ft">
    1275         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1276     </div>
    1277 </div>
    1278 </script>
    1279     <script type="text/html" id="tpl_searchbar">
    1280 <div class="page">
    1281     <div class="page__hd">
    1282         <h1 class="page__title">SearchBar</h1>
    1283         <p class="page__desc">搜索栏</p>
    1284     </div>
    1285     <div class="page__bd">
    1286         <!--<a href="javascript:;" class="weui-btn weui-btn_primary">点击展现searchBar</a>-->
    1287         <div class="weui-search-bar" id="searchBar">
    1288             <form class="weui-search-bar__form">
    1289                 <div class="weui-search-bar__box">
    1290                     <i class="weui-icon-search"></i>
    1291                     <input type="search" class="weui-search-bar__input" id="searchInput" placeholder="搜索" required/>
    1292                     <a href="javascript:" class="weui-icon-clear" id="searchClear"></a>
    1293                 </div>
    1294                 <label class="weui-search-bar__label" id="searchText">
    1295                     <i class="weui-icon-search"></i>
    1296                     <span>搜索</span>
    1297                 </label>
    1298             </form>
    1299             <a href="javascript:" class="weui-search-bar__cancel-btn" id="searchCancel">取消</a>
    1300         </div>
    1301         <div class="weui-cells searchbar-result" id="searchResult">
    1302             <div class="weui-cell weui-cell_access">
    1303                 <div class="weui-cell__bd weui-cell_primary">
    1304                     <p>实时搜索文本</p>
    1305                 </div>
    1306             </div>
    1307             <div class="weui-cell weui-cell_access">
    1308                 <div class="weui-cell__bd weui-cell_primary">
    1309                     <p>实时搜索文本</p>
    1310                 </div>
    1311             </div>
    1312             <div class="weui-cell weui-cell_access">
    1313                 <div class="weui-cell__bd weui-cell_primary">
    1314                     <p>实时搜索文本</p>
    1315                 </div>
    1316             </div>
    1317             <div class="weui-cell weui-cell_access">
    1318                 <div class="weui-cell__bd weui-cell_primary">
    1319                     <p>实时搜索文本</p>
    1320                 </div>
    1321             </div>
    1322         </div>
    1323     </div>
    1324     <div class="page__ft">
    1325         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1326     </div>
    1327 </div>
    1328 <script type="text/javascript">
    1329     $(function(){
    1330         var $searchBar = $('#searchBar'),
    1331             $searchResult = $('#searchResult'),
    1332             $searchText = $('#searchText'),
    1333             $searchInput = $('#searchInput'),
    1334             $searchClear = $('#searchClear'),
    1335             $searchCancel = $('#searchCancel');
    1336 
    1337         function hideSearchResult(){
    1338             $searchResult.hide();
    1339             $searchInput.val('');
    1340         }
    1341         function cancelSearch(){
    1342             hideSearchResult();
    1343             $searchBar.removeClass('weui-search-bar_focusing');
    1344             $searchText.show();
    1345         }
    1346 
    1347         $searchText.on('click', function(){
    1348             $searchBar.addClass('weui-search-bar_focusing');
    1349             $searchInput.focus();
    1350         });
    1351         $searchInput
    1352             .on('blur', function () {
    1353                 if(!this.value.length) cancelSearch();
    1354             })
    1355             .on('input', function(){
    1356                 if(this.value.length) {
    1357                     $searchResult.show();
    1358                 } else {
    1359                     $searchResult.hide();
    1360                 }
    1361             })
    1362         ;
    1363         $searchClear.on('click', function(){
    1364             hideSearchResult();
    1365             $searchInput.focus();
    1366         });
    1367         $searchCancel.on('click', function(){
    1368             cancelSearch();
    1369             $searchInput.blur();
    1370         });
    1371     });
    1372 </script>
    1373 
    1374     <script type="text/html" id="tpl_picker">
    1375 <div class="page">
    1376     <div class="page__hd">
    1377         <h1 class="page__title">Picker</h1>
    1378         <p class="page__desc">多列选择器,需要配合js实现</p>
    1379     </div>
    1380     <div class="page__bd page__bd_spacing">
    1381         <a href="javascript:;" class="weui-btn weui-btn_default" id="showPicker">单列选择器</a>
    1382         <a href="javascript:;" class="weui-btn weui-btn_default" id="showDatePicker">日期选择器</a>
    1383     </div>
    1384 </div>
    1385 <script type="text/javascript">
    1386     $('#showPicker').on('click', function () {
    1387         weui.picker([{
    1388             label: '飞机票',
    1389             value: 0
    1390         }, {
    1391             label: '火车票',
    1392             value: 1
    1393         }, {
    1394             label: '的士票',
    1395             value: 2
    1396         },{
    1397             label: '公交票 (disabled)',
    1398             disabled: true,
    1399             value: 3
    1400         }, {
    1401             label: '其他',
    1402             value: 4
    1403         }], {
    1404             onChange: function (result) {
    1405                 console.log(result);
    1406             },
    1407             onConfirm: function (result) {
    1408                 console.log(result);
    1409             }
    1410         });
    1411     });
    1412     $('#showDatePicker').on('click', function () {
    1413         weui.datePicker({
    1414             start: 1990,
    1415             end: new Date().getFullYear(),
    1416             onChange: function (result) {
    1417                 console.log(result);
    1418             },
    1419             onConfirm: function (result) {
    1420                 console.log(result);
    1421             }
    1422         });
    1423     });
    1424 </script>
    1425 
    1426     <script type="text/html" id="tpl_footer">
    1427 <div class="page">
    1428     <div class="page__hd">
    1429         <h1 class="page__title">Footer</h1>
    1430         <p class="page__desc">页脚</p>
    1431     </div>
    1432     <div class="page__bd page__bd_spacing">
    1433         <div class="weui-footer">
    1434             <p class="weui-footer__text">Copyright &copy; 2008-2016 weui.io</p>
    1435         </div>
    1436         <br>
    1437         <br>
    1438         <div class="weui-footer">
    1439             <p class="weui-footer__links">
    1440                 <a href="javascript:void(0);" class="weui-footer__link">底部链接</a>
    1441             </p>
    1442             <p class="weui-footer__text">Copyright &copy; 2008-2016 weui.io</p>
    1443         </div>
    1444         <br>
    1445         <br>
    1446         <div class="weui-footer">
    1447             <p class="weui-footer__links">
    1448                 <a href="javascript:void(0);" class="weui-footer__link">底部链接</a>
    1449                 <a href="javascript:void(0);" class="weui-footer__link">底部链接</a>
    1450             </p>
    1451             <p class="weui-footer__text">Copyright &copy; 2008-2016 weui.io</p>
    1452         </div>
    1453         <div class="weui-footer weui-footer_fixed-bottom">
    1454             <p class="weui-footer__links">
    1455                 <a href="javascript:home();" class="weui-footer__link">WeUI首页</a>
    1456             </p>
    1457             <p class="weui-footer__text">Copyright &copy; 2008-2016 weui.io</p>
    1458         </div>
    1459     </div>
    1460 </div>
    1461 </script>
    1462     <script type="text/html" id="tpl_gallery">
    1463 <div class="page">
    1464     <div class="page__hd">
    1465         <h1 class="page__title">Gallery</h1>
    1466         <p class="page__desc">画廊,可实现上传图片的展示或幻灯片播放</p>
    1467     </div>
    1468     <div class="weui-gallery" style="display: block">
    1469         <span class="weui-gallery__img" style="background-image: url(./images/pic_article.png);"></span>
    1470         <div class="weui-gallery__opr">
    1471             <a href="javascript:" class="weui-gallery__del">
    1472                 <i class="weui-icon-delete weui-icon_gallery-delete"></i>
    1473             </a>
    1474         </div>
    1475     </div>
    1476 </div>
    1477 </script>
    1478     <script type="text/html" id="tpl_flex">
    1479 <div class="page">
    1480     <div class="page__hd">
    1481         <h1 class="page__title">Flex</h1>
    1482         <p class="page__desc">Flex布局</p>
    1483     </div>
    1484     <div class="page__bd page__bd_spacing">
    1485         <div class="weui-flex">
    1486             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1487         </div>
    1488         <div class="weui-flex">
    1489             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1490             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1491         </div>
    1492         <div class="weui-flex">
    1493             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1494             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1495             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1496         </div>
    1497         <div class="weui-flex">
    1498             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1499             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1500             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1501             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1502         </div>
    1503         <div class="weui-flex">
    1504             <div><div class="placeholder">weui</div></div>
    1505             <div class="weui-flex__item"><div class="placeholder">weui</div></div>
    1506             <div><div class="placeholder">weui</div></div>
    1507         </div>
    1508     </div>
    1509     <div class="page__ft">
    1510         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1511     </div>
    1512 </div>
    1513 </script>
    1514     <script type="text/html" id="tpl_loadmore">
    1515 <div class="page">
    1516     <div class="page__hd">
    1517         <h1 class="page__title">Loadmore</h1>
    1518         <p class="page__desc">加载更多</p>
    1519     </div>
    1520     <div class="page__bd">
    1521         <div class="weui-loadmore">
    1522             <i class="weui-loading"></i>
    1523             <span class="weui-loadmore__tips">正在加载</span>
    1524         </div>
    1525         <div class="weui-loadmore weui-loadmore_line">
    1526             <span class="weui-loadmore__tips">暂无数据</span>
    1527         </div>
    1528         <div class="weui-loadmore weui-loadmore_line weui-loadmore_dot">
    1529             <span class="weui-loadmore__tips"></span>
    1530         </div>
    1531     </div>
    1532     <div class="page__ft">
    1533         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1534     </div>
    1535 </div>
    1536 </script>
    1537     <script type="text/html" id="tpl_layers">
    1538 <div class="page">
    1539     <div class="page__hd">
    1540         <div class="j_info page__info" data-for="normal">
    1541             <h2 class="page__title">WeUI页面层级</h2>
    1542             <p class="page__desc">用于规范WeUI页面元素所属层级、层级顺序及组合规范。</p>
    1543         </div>
    1544         <div class="j_info page__info" data-for="popout" style="display:none">
    1545             <h2 class="page__title">Popout</h2>
    1546             <p class="page__desc">弹出层,作为内容层和导航层的补充,用于承载弹窗通知、操作菜单、菜单、成功或加载中等状态的Toast,表单报错提示等弹出内容。</p>
    1547         </div>
    1548         <div class="j_info page__info" data-for="mask" style="display:none">
    1549             <h2 class="page__title">Mask</h2>
    1550             <p class="page__desc">蒙层,配合Popout层使用,用于锁定内容层和导航层操作,不单独使用。</p>
    1551         </div>
    1552         <div class="j_info page__info" data-for="navigation" style="display:none">
    1553             <h2 class="page__title">Navigation</h2>
    1554             <p class="page__desc">导航层,位于内容层之上,在用户滑动内容层时可保持位置不动,通常用于承载导航栏等需要固定在页面的元素。</p>
    1555         </div>
    1556         <div class="j_info page__info" data-for="content" style="display:none">
    1557             <h2 class="page__title">Content</h2>
    1558             <p class="page__desc">内容层,承载页面主要内容。</p>
    1559         </div>
    1560     </div>
    1561     <div class="page__bd">
    1562         <div class="layers j_layers">
    1563             <div data-name="popout" class="j_pic j_layer layers__layer layers__layer_popout"><span>Popout</span></div>
    1564             <div data-name="mask" class="j_pic j_layer layers__layer layers__layer_mask"><span>Mask</span></div>
    1565             <div data-name="navigation" class="j_pic j_layer layers__layer layers__layer_navigation"><span>Navigation</span></div>
    1566             <div data-name="content" class="j_pic j_layer layers__layer layers__layer_content"><span>Content</span></div>
    1567         </div>
    1568     </div>
    1569     <div class="page__ft">
    1570         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1571     </div>
    1572 </div>
    1573 <script type="text/javascript">
    1574     $(function(){
    1575         var $layers = $(".layers__layer"), $infos = $(".j_info"),
    1576             hideTimeout;
    1577 
    1578         function showInfo(name){
    1579             $infos.filter("[data-for='" + name + "']").show().siblings().hide();
    1580         }
    1581         function hideIfLayerShowing(){
    1582             if($layers.filter(".j_transform").length != $layers.length){ // 展示中
    1583                 showInfo("normal");
    1584                 $layers.addClass("j_transform");
    1585 
    1586                 clearTimeout(hideTimeout);
    1587                 hideTimeout = setTimeout(function(){
    1588                     $layers.removeClass("j_hide");
    1589                 }, 300);
    1590                 return true;
    1591             }
    1592             return false;
    1593         }
    1594         $layers.on("transitionend webkitTransitionend", function(){
    1595             var that = this;
    1596             if(that.classList.contains("j_transform")){
    1597                 setTimeout(function(){
    1598                     that.classList.remove("j_pic");
    1599                 }, 500);
    1600             }else{
    1601                 that.classList.add("j_pic");
    1602             }
    1603         });
    1604         setTimeout(function(){
    1605             $layers.addClass("j_transform");
    1606 
    1607             $(".j_layer").on("click", function(e){
    1608                 if(hideIfLayerShowing()) return;
    1609 
    1610                 var target = this;
    1611                 if(target.classList.contains("j_layer")){
    1612                     clearTimeout(hideTimeout);
    1613 
    1614                     var name;
    1615                     target = $(target);
    1616                     name = target.data("name");
    1617                     showInfo(name);
    1618 
    1619                     target.removeClass("j_transform").siblings().addClass("j_hide");
    1620                 }
    1621             });
    1622         }, 500);
    1623     });
    1624 </script>
    1625 
    1626     <script type="text/html" id="tpl_uploader">
    1627 <div class="page">
    1628     <div class="page__hd">
    1629         <h1 class="page__title">Uploader</h1>
    1630         <p class="page__desc">上传组件,一般配合<a class="link" href="#gallery">组件Gallery</a>来使用。</p>
    1631     </div>
    1632     <div class="page__bd">
    1633         <div class="weui-gallery" id="gallery">
    1634             <span class="weui-gallery__img" id="galleryImg"></span>
    1635             <div class="weui-gallery__opr">
    1636                 <a href="javascript:" class="weui-gallery__del">
    1637                     <i class="weui-icon-delete weui-icon_gallery-delete"></i>
    1638                 </a>
    1639             </div>
    1640         </div>
    1641 
    1642         <div class="weui-cells weui-cells_form">
    1643             <div class="weui-cell">
    1644                 <div class="weui-cell__bd">
    1645                     <div class="weui-uploader">
    1646                         <div class="weui-uploader__hd">
    1647                             <p class="weui-uploader__title">图片上传</p>
    1648                             <div class="weui-uploader__info">0/2</div>
    1649                         </div>
    1650                         <div class="weui-uploader__bd">
    1651                             <ul class="weui-uploader__files" id="uploaderFiles">
    1652                                 <li class="weui-uploader__file" style="background-image:url(./images/pic_160.png)"></li>
    1653                                 <li class="weui-uploader__file" style="background-image:url(./images/pic_160.png)"></li>
    1654                                 <li class="weui-uploader__file" style="background-image:url(./images/pic_160.png)"></li>
    1655                                 <li class="weui-uploader__file weui-uploader__file_status" style="background-image:url(./images/pic_160.png)">
    1656                                     <div class="weui-uploader__file-content">
    1657                                         <i class="weui-icon-warn"></i>
    1658                                     </div>
    1659                                 </li>
    1660                                 <li class="weui-uploader__file weui-uploader__file_status" style="background-image:url(./images/pic_160.png)">
    1661                                     <div class="weui-uploader__file-content">50%</div>
    1662                                 </li>
    1663                             </ul>
    1664                             <div class="weui-uploader__input-box">
    1665                                 <input id="uploaderInput" class="weui-uploader__input" type="file" accept="image/*" multiple/>
    1666                         </div>
    1667                         </div>
    1668                     </div>
    1669                 </div>
    1670             </div>
    1671         </div>
    1672     </div>
    1673     <div class="page__ft">
    1674         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1675     </div>
    1676 </div>
    1677 <script type="text/javascript">
    1678     $(function(){
    1679         var tmpl = '<li class="weui-uploader__file" style="background-image:url(#url#)"></li>',
    1680             $gallery = $("#gallery"), $galleryImg = $("#galleryImg"),
    1681             $uploaderInput = $("#uploaderInput"),
    1682             $uploaderFiles = $("#uploaderFiles")
    1683             ;
    1684 
    1685         $uploaderInput.on("change", function(e){
    1686             var src, url = window.URL || window.webkitURL || window.mozURL, files = e.target.files;
    1687             for (var i = 0, len = files.length; i < len; ++i) {
    1688                 var file = files[i];
    1689 
    1690                 if (url) {
    1691                     src = url.createObjectURL(file);
    1692                 } else {
    1693                     src = e.target.result;
    1694                 }
    1695 
    1696                 $uploaderFiles.append($(tmpl.replace('#url#', src)));
    1697             }
    1698         });
    1699         $uploaderFiles.on("click", "li", function(){
    1700             $galleryImg.attr("style", this.getAttribute("style"));
    1701             $gallery.fadeIn(100);
    1702         });
    1703         $gallery.on("click", function(){
    1704             $gallery.fadeOut(100);
    1705         });
    1706     });
    1707 </script>
    1708 
    1709     <script type="text/html" id="tpl_preview">
    1710 <div class="page">
    1711     <div class="page__hd">
    1712         <h1 class="page__title">Preview</h1>
    1713         <p class="page__desc">表单预览</p>
    1714     </div>
    1715     <div class="page__bd">
    1716         <div class="weui-form-preview">
    1717             <div class="weui-form-preview__hd">
    1718                 <div class="weui-form-preview__item">
    1719                     <label class="weui-form-preview__label">付款金额</label>
    1720                     <em class="weui-form-preview__value">¥2400.00</em>
    1721                 </div>
    1722             </div>
    1723             <div class="weui-form-preview__bd">
    1724                 <div class="weui-form-preview__item">
    1725                     <label class="weui-form-preview__label">商品</label>
    1726                     <span class="weui-form-preview__value">电动打蛋机</span>
    1727                 </div>
    1728                 <div class="weui-form-preview__item">
    1729                     <label class="weui-form-preview__label">标题标题</label>
    1730                     <span class="weui-form-preview__value">名字名字名字</span>
    1731                 </div>
    1732                 <div class="weui-form-preview__item">
    1733                     <label class="weui-form-preview__label">标题标题</label>
    1734                     <span class="weui-form-preview__value">很长很长的名字很长很长的名字很长很长的名字很长很长的名字很长很长的名字</span>
    1735                 </div>
    1736             </div>
    1737             <div class="weui-form-preview__ft">
    1738                 <a class="weui-form-preview__btn weui-form-preview__btn_primary" href="javascript:">操作</a>
    1739             </div>
    1740         </div>
    1741         <br>
    1742         <div class="weui-form-preview">
    1743             <div class="weui-form-preview__hd">
    1744                 <label class="weui-form-preview__label">付款金额</label>
    1745                 <em class="weui-form-preview__value">¥2400.00</em>
    1746             </div>
    1747             <div class="weui-form-preview__bd">
    1748                 <div class="weui-form-preview__item">
    1749                     <label class="weui-form-preview__label">商品</label>
    1750                     <span class="weui-form-preview__value">电动打蛋机</span>
    1751                 </div>
    1752                 <div class="weui-form-preview__item">
    1753                     <label class="weui-form-preview__label">标题标题</label>
    1754                     <span class="weui-form-preview__value">名字名字名字</span>
    1755                 </div>
    1756                 <div class="weui-form-preview__item">
    1757                     <label class="weui-form-preview__label">标题标题</label>
    1758                     <span class="weui-form-preview__value">很长很长的名字很长很长的名字很长很长的名字很长很长的名字很长很长的名字</span>
    1759                 </div>
    1760             </div>
    1761             <div class="weui-form-preview__ft">
    1762                 <a class="weui-form-preview__btn weui-form-preview__btn_default" href="javascript:">辅助操作</a>
    1763                 <button type="submit" class="weui-form-preview__btn weui-form-preview__btn_primary" href="javascript:">操作</button>
    1764             </div>
    1765         </div>
    1766     </div>
    1767     <div class="page__ft">
    1768         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1769     </div>
    1770 </div>
    1771 </script>
    1772     <script type="text/html" id="tpl_grid">
    1773 <div class="page">
    1774     <div class="page__hd">
    1775         <h1 class="page__title">Grid</h1>
    1776         <p class="page__desc">九宫格</p>
    1777     </div>
    1778     <div class="weui-grids">
    1779         <a href="javascript:;" class="weui-grid">
    1780             <div class="weui-grid__icon">
    1781                 <img src="./images/icon_tabbar.png" alt="">
    1782             </div>
    1783             <p class="weui-grid__label">Grid</p>
    1784         </a>
    1785         <a href="javascript:;" class="weui-grid">
    1786             <div class="weui-grid__icon">
    1787                 <img src="./images/icon_tabbar.png" alt="">
    1788             </div>
    1789             <p class="weui-grid__label">Grid</p>
    1790         </a>
    1791         <a href="javascript:;" class="weui-grid">
    1792             <div class="weui-grid__icon">
    1793                 <img src="./images/icon_tabbar.png" alt="">
    1794             </div>
    1795             <p class="weui-grid__label">Grid</p>
    1796         </a>
    1797         <a href="javascript:;" class="weui-grid">
    1798             <div class="weui-grid__icon">
    1799                 <img src="./images/icon_tabbar.png" alt="">
    1800             </div>
    1801             <p class="weui-grid__label">Grid</p>
    1802         </a>
    1803         <a href="javascript:;" class="weui-grid">
    1804             <div class="weui-grid__icon">
    1805                 <img src="./images/icon_tabbar.png" alt="">
    1806             </div>
    1807             <p class="weui-grid__label">Grid</p>
    1808         </a>
    1809         <a href="javascript:;" class="weui-grid">
    1810             <div class="weui-grid__icon">
    1811                 <img src="./images/icon_tabbar.png" alt="">
    1812             </div>
    1813             <p class="weui-grid__label">Grid</p>
    1814         </a>
    1815         <a href="javascript:;" class="weui-grid">
    1816             <div class="weui-grid__icon">
    1817                 <img src="./images/icon_tabbar.png" alt="">
    1818             </div>
    1819             <p class="weui-grid__label">Grid</p>
    1820         </a>
    1821         <a href="javascript:;" class="weui-grid">
    1822             <div class="weui-grid__icon">
    1823                 <img src="./images/icon_tabbar.png" alt="">
    1824             </div>
    1825             <p class="weui-grid__label">Grid</p>
    1826         </a>
    1827         <a href="javascript:;" class="weui-grid">
    1828             <div class="weui-grid__icon">
    1829                 <img src="./images/icon_tabbar.png" alt="">
    1830             </div>
    1831             <p class="weui-grid__label">Grid</p>
    1832         </a>
    1833     </div>
    1834 </div>
    1835 </script>
    1836     <script type="text/html" id="tpl_badge">
    1837 <div class="page">
    1838     <div class="page__hd">
    1839         <h1 class="page__title">Badge</h1>
    1840         <p class="page__desc">徽章</p>
    1841     </div>
    1842     <div class="page__bd">
    1843         <div class="weui-cells__title">新消息提示跟摘要信息后,统一在列表右侧</div>
    1844         <div class="weui-cells">
    1845             <div class="weui-cell weui-cell_access">
    1846                 <div class="weui-cell__bd">单行列表</div>
    1847                 <div class="weui-cell__ft" style="font-size: 0">
    1848                     <span style="vertical-align:middle; font-size: 17px;">详细信息</span>
    1849                     <span class="weui-badge weui-badge_dot" style="margin-left: 5px;margin-right: 5px;"></span>
    1850                 </div>
    1851             </div>
    1852         </div>
    1853 
    1854         <div class="weui-cells__title">未读数红点跟在主题信息后,统一在列表左侧</div>
    1855         <div class="weui-cells">
    1856             <div class="weui-cell">
    1857                 <div class="weui-cell__hd" style="position: relative;margin-right: 10px;">
    1858                     <img src="images/pic_160.png" style=" 50px;display: block"/>
    1859                     <span class="weui-badge" style="position: absolute;top: -.4em;right: -.4em;">8</span>
    1860                 </div>
    1861                 <div class="weui-cell__bd">
    1862                     <p>联系人名称</p>
    1863                     <p style="font-size: 13px;color: #888888;">摘要信息</p>
    1864                 </div>
    1865             </div>
    1866             <div class="weui-cell weui-cell_access">
    1867                 <div class="weui-cell__bd">
    1868                     <span style="vertical-align: middle">单行列表</span>
    1869                     <span class="weui-badge" style="margin-left: 5px;">8</span>
    1870                 </div>
    1871                 <div class="weui-cell__ft"></div>
    1872             </div>
    1873             <div class="weui-cell weui-cell_access">
    1874                 <div class="weui-cell__bd">
    1875                     <span style="vertical-align: middle">单行列表</span>
    1876                     <span class="weui-badge" style="margin-left: 5px;">8</span>
    1877                 </div>
    1878                 <div class="weui-cell__ft">详细信息</div>
    1879             </div>
    1880             <div class="weui-cell weui-cell_access">
    1881                 <div class="weui-cell__bd">
    1882                     <span style="vertical-align: middle">单行列表</span>
    1883                     <span class="weui-badge" style="margin-left: 5px;">New</span>
    1884                 </div>
    1885                 <div class="weui-cell__ft"></div>
    1886             </div>
    1887         </div>
    1888     </div>
    1889     <div class="page__ft">
    1890         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1891     </div>
    1892 </div>
    1893 </script>
    1894     <script type="text/html" id="tpl_slider">
    1895 <div class="page">
    1896     <div class="page__hd">
    1897         <h1 class="page__title">Slider</h1>
    1898         <p class="page__desc">滑块</p>
    1899     </div>
    1900     <div class="page__bd page__bd_spacing">
    1901         <div class="weui-slider">
    1902             <div class="weui-slider__inner">
    1903                 <div style=" 0;" class="weui-slider__track"></div>
    1904                 <div style="left: 0;" class="weui-slider__handler"></div>
    1905             </div>
    1906         </div>
    1907         <br>
    1908         <div class="weui-slider-box">
    1909             <div class="weui-slider">
    1910                 <div id="sliderInner" class="weui-slider__inner">
    1911                     <div id="sliderTrack" style=" 50%;" class="weui-slider__track"></div>
    1912                     <div id="sliderHandler" style="left: 50%;" class="weui-slider__handler"></div>
    1913                 </div>
    1914             </div>
    1915             <div id="sliderValue" class="weui-slider-box__value">50</div>
    1916         </div>
    1917     </div>
    1918     <div class="page__ft">
    1919         <a href="javascript:home()"><img src="./images/icon_footer_link.png" /></a>
    1920     </div>
    1921 </div>
    1922 <script type="text/javascript">
    1923     $(function(){
    1924         var $sliderTrack = $('#sliderTrack'),
    1925             $sliderHandler = $('#sliderHandler'),
    1926             $sliderValue = $('#sliderValue');
    1927 
    1928         var totalLen = $('#sliderInner').width(),
    1929             startLeft = 0,
    1930             startX = 0;
    1931 
    1932         $sliderHandler
    1933             .on('touchstart', function (e) {
    1934                 startLeft = parseInt($sliderHandler.css('left')) * totalLen / 100;
    1935                 startX = e.changedTouches[0].clientX;
    1936             })
    1937             .on('touchmove', function(e){
    1938                 var dist = startLeft + e.changedTouches[0].clientX - startX,
    1939                     percent;
    1940                 dist = dist < 0 ? 0 : dist > totalLen ? totalLen : dist;
    1941                 percent =  parseInt(dist / totalLen * 100);
    1942                 $sliderTrack.css('width', percent + '%');
    1943                 $sliderHandler.css('left', percent + '%');
    1944                 $sliderValue.text(percent);
    1945 
    1946                 e.preventDefault();
    1947             })
    1948         ;
    1949     });
    1950 </script>
    1951     <script src="./zepto.min.js"></script>
    1952     <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
    1953     <script src="https://res.wx.qq.com/open/libs/weuijs/1.0.0/weui.min.js"></script>
    1954     <script src="./example.js"></script>
    1955 </body>
    1956 </html>
    index.html

    5、经验总结

    微信公众号的文档还是写的很详细的,仔细阅读基本就没什么问题

    一开始用后端架在新浪SAE,和微信死活对接不上,最后才发现未经过认证的SAE在回复的时候会加上一句中文,该网站未认证、、、、

    目前该项目各方面做的都非常粗糙,等能申请到微信认证了再好好整一下吧

  • 相关阅读:
    Android UI ActionBar功能-ActionBarProvider的使用
    Android UI ActionBar功能-自动隐藏 Action Bar
    Android UI ActionBar功能-Action Bar 左上角的向上或返回按钮
    Android UI ActionBar功能-自定义Tab功能
    Android UI ActionBar功能-自定义 Action Bar 样式
    Android UI ActionBar功能-在 Action Bar 上添加按钮
    Android UI ActionBar功能-启动ActionBar
    AndroidUI 侧滑菜单 DrawerLayout的使用
    AndroidUI 引导页面的使用
    AndroidUI 布局动画-点九PNG技术
  • 原文地址:https://www.cnblogs.com/cx59244405/p/10593816.html
Copyright © 2011-2022 走看看