huangbo 9 years ago
parent
commit
42c42ff8b7
28 changed files with 1510 additions and 0 deletions
  1. 5 0
      multiple-client/.gitignore
  2. 33 0
      multiple-client/.project
  3. 62 0
      multiple-client/AndroidManifest.xml
  4. 81 0
      multiple-client/assets/local/biz/css/project.css
  5. BIN
      multiple-client/assets/local/biz/img/logo.png
  6. BIN
      multiple-client/assets/local/biz/img/project.ttf
  7. 924 0
      multiple-client/assets/local/res/css/base.css
  8. BIN
      multiple-client/assets/local/res/img/base.ttf
  9. 25 0
      multiple-client/assets/local/welcome.html
  10. 101 0
      multiple-client/assets/mobile-action.xml
  11. 41 0
      multiple-client/assets/mobile-config.xml
  12. 20 0
      multiple-client/proguard-project.txt
  13. 16 0
      multiple-client/project.properties
  14. BIN
      multiple-client/res/drawable-hdpi/ic_launcher.png
  15. BIN
      multiple-client/res/drawable-mdpi/ic_launcher.png
  16. BIN
      multiple-client/res/drawable-xhdpi/ic_launcher.png
  17. 16 0
      multiple-client/res/layout/activity_main.xml
  18. 9 0
      multiple-client/res/menu/main.xml
  19. BIN
      multiple-client/res/raw/public_key
  20. 8 0
      multiple-client/res/values-sw600dp/dimens.xml
  21. 9 0
      multiple-client/res/values-sw720dp-land/dimens.xml
  22. 11 0
      multiple-client/res/values-v11/styles.xml
  23. 12 0
      multiple-client/res/values-v14/styles.xml
  24. 7 0
      multiple-client/res/values/dimens.xml
  25. 8 0
      multiple-client/res/values/strings.xml
  26. 20 0
      multiple-client/res/values/styles.xml
  27. 67 0
      multiple-client/src/com/ai/mobile/multiple/MainActivity.java
  28. 35 0
      multiple-client/src/com/ai/mobile/multiple/func/AppManagePlugin.java

+ 5 - 0
multiple-client/.gitignore

@ -0,0 +1,5 @@
1
/.settings
2
/bin
3
/gen
4
/.classpath
5
/proguard

+ 33 - 0
multiple-client/.project

@ -0,0 +1,33 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<projectDescription>
3
	<name>multiple-client</name>
4
	<comment></comment>
5
	<projects>
6
	</projects>
7
	<buildSpec>
8
		<buildCommand>
9
			<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
10
			<arguments>
11
			</arguments>
12
		</buildCommand>
13
		<buildCommand>
14
			<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
15
			<arguments>
16
			</arguments>
17
		</buildCommand>
18
		<buildCommand>
19
			<name>org.eclipse.jdt.core.javabuilder</name>
20
			<arguments>
21
			</arguments>
22
		</buildCommand>
23
		<buildCommand>
24
			<name>com.android.ide.eclipse.adt.ApkBuilder</name>
25
			<arguments>
26
			</arguments>
27
		</buildCommand>
28
	</buildSpec>
29
	<natures>
30
		<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
31
		<nature>org.eclipse.jdt.core.javanature</nature>
32
	</natures>
33
</projectDescription>

+ 62 - 0
multiple-client/AndroidManifest.xml

@ -0,0 +1,62 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
    package="com.ai.mobile.multiple"
4
    android:versionCode="1"
5
    android:versionName="1.0" >
6

7
   <uses-sdk
8
        android:minSdkVersion="8"
9
        android:targetSdkVersion="15" />
10
11
    <uses-permission android:name="android.permission.CAMERA" />
12
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
13
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
14
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
15
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
16
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
17
    <uses-permission android:name="android.permission.INTERNET" />
18
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
19
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
20
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
21
    <uses-permission android:name="android.permission.READ_CONTACTS" />
22
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
23
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
24
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
25
    <uses-permission android:name="android.permission.CALL_PHONE" />
26
    <uses-permission android:name="android.permission.SEND_SMS" />
27
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
28
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
29
    <uses-permission android:name="android.permission.BLUETOOTH" />
30
    <uses-permission android:name="android.permission.VIBRATE" /> <!-- 震动权限 -->
31
    <uses-feature android:name="android.hardware.camera" /> <!-- 使用照相机权限 -->
32
    <uses-feature android:name="android.hardware.camera.autofocus" /> <!-- 自动聚焦权限 -->
33
    <uses-permission android:name="android.permission.FLASHLIGHT" /> <!-- 开启闪光灯权限 -->
34
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- 蓝牙 -->
35
    <uses-permission android:name="android.permission.BLUETOOTH" />
36
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
37
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
38
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
39
    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
40

41
    <application
42
        android:allowBackup="true"
43
        android:icon="@drawable/ic_launcher"
44
        android:label="@string/app_name"
45
        android:theme="@style/AppTheme" >
46
        <meta-data
47
            android:name="com.amap.api.v2.apikey"
48
            android:value="6afee5dced4c3b3a43c0feb11399bded"/>
49
        <activity
50
            android:name="com.ai.mobile.multiple.MainActivity"
51
            android:label="@string/app_name" 
52
            android:configChanges="orientation|keyboardHidden"
53
            android:screenOrientation="portrait"
54
            android:windowSoftInputMode="stateHidden|adjustResize" >
55
            <intent-filter>
56
                <action android:name="android.intent.action.MAIN" />
57
                <category android:name="android.intent.category.LAUNCHER" />
58
            </intent-filter>
59
        </activity>
60
    </application>
61

62
</manifest>

+ 81 - 0
multiple-client/assets/local/biz/css/project.css

@ -0,0 +1,81 @@
1
/*查询类*/
2
@font-face { font-family:"project"; src:url('../img/project.ttf') format('truetype');}
3
.e_ico-conect:before        { content:"\e602";}/*基础*/
4
.e_ico-net:before           { content:"\e605";}/*网络*/
5
.e_ico-position:before      { content:"\e607";}/*地图*/
6
.e_ico-pic:before           { content:"\e606";}/*图片/相机*/
7
.e_ico-file:before          { content:"\e604";}/*文件*/
8
.e_ico-storage:before       { content:"\e609";}/*存储*/
9
.e_ico-component:before     { content:"\e601";}/*UI组件*/
10
.e_ico-component-tag:before { content:"\e617";}/*标签组件*/
11
.e_ico-qr:before            { content:"\e608";}/*二维码*/
12
.e_ico-device:before        { content:"\e603";}/*设备*/
13
.e_ico-about:before         { content:"\e600";}/*关于*/
14
.e_ico-wade-ob:before       { content:"\e60a";}/*WADE-反色*/
15
.e_ico-code:before          { content:"\e60b";}/*代码*/
16
.e_ico-chat:before          { content:"\e619";}/*推送*/
17
.e_ico-scene:before         { content:"\e618";}/*场景*/
18
.e_ico-ui-button:before     { content:"\e60d";}
19
.e_ico-ui-form:before       { content:"\e60e";}
20
.e_ico-ui-icon:before       { content:"\e60c";}
21
.e_ico-ui-list:before       { content:"\e60f";}
22
.e_ico-ui-picList:before    { content:"\e610";}
23
.e_ico-ui-popup:before      { content:"\e611";}
24
.e_ico-ui-progress:before   { content:"\e612";}
25
.e_ico-ui-slide:before      { content:"\e613";}
26
.e_ico-ui-tab:before        { content:"\e614";}
27
.e_ico-ui-tip:before        { content:"\e615";}
28
.e_ico-ui-button,
29
.e_ico-ui-form,
30
.e_ico-ui-icon,
31
.e_ico-ui-list,
32
.e_ico-ui-picList,
33
.e_ico-ui-popup,
34
.e_ico-ui-progress,
35
.e_ico-ui-slide,
36
.e_ico-ui-tab,
37
.e_ico-ui-tip,
38
.e_ico-chat,
39
.e_ico-scene,
40
.e_ico-code,
41
.e_ico-conect,
42
.e_ico-net,
43
.e_ico-position,
44
.e_ico-pic,
45
.e_ico-file,
46
.e_ico-storage,
47
.e_ico-component-tag,
48
.e_ico-component,
49
.e_ico-qr,
50
.e_ico-device,
51
.e_ico-about,
52
.e_ico-wade-ob { font-family:"project";}
53
.m_nav .e_ico-conect { color:#8fc320;}
54
.m_nav .e_ico-net { color:#c37c20;}
55
.m_nav .e_ico-position { color:#c33f20;}
56
.m_nav .e_ico-photo { color:#0085d0;}
57
.m_nav .e_ico-file { color:#e40077;}
58
.m_nav .e_ico-storage { color:#1ca98d;}
59
.m_nav .e_ico-component { color:#4489ac;}
60
.m_nav .e_ico-qr { color:#8fc320;}
61
.m_nav .e_ico-ui-button { color:#8fc320;}
62
.m_nav .e_ico-ui-form { color:#c37c20;}
63
.m_nav .e_ico-ui-icon { color:#c33f20;}
64
.m_nav .e_ico-ui-list { color:#0085d0;}
65
.m_nav .e_ico-ui-picList { color:#e40077;}
66
.m_nav .e_ico-ui-popup { color:#1ca98d;}
67
.m_nav .e_ico-ui-progress { color:#4489ac;}
68
.m_nav .e_ico-ui-slide { color:#8fc320;}
69
.m_nav .e_ico-ui-tab { color:#c37c20;}
70
.m_nav .e_ico-ui-tip { color:#c33f20;}
71
.m_nav .e_ico-audio { color:#0085d0;}
72
.m_nav .e_ico-code { color:#8fc320;}
73
.m_nav .e_ico-chat { color:#c37c20;}
74
.m_nav .e_ico-scene { color:#c33f20;}
75

76

77

78
.m_welcome { background:#333; width:100%; height:100%; color:#fff; overflow:hidden;}
79
.m_welcome .slogan { font-family:"project"; text-align:center; margin-top:1.2rem;}
80
.m_welcome .slogan:before { content:"\e616"; font-size:4.2rem; color:#d5c463;}
81
.m_welcome .logo { overflow:hidden; width:2.6rem; height:0.69rem; background:url(../img/logo.png) no-repeat; background-size:100%; -webkit-background-size:100% 100%; left:50%; margin-left:-1.3rem; position:absolute; bottom:0.5rem;}

BIN
multiple-client/assets/local/biz/img/logo.png


BIN
multiple-client/assets/local/biz/img/project.ttf


+ 924 - 0
multiple-client/assets/local/res/css/base.css

@ -0,0 +1,924 @@
1
* { margin:0; padding:0; list-style:none; outline:0 none; font-style:normal; cursor:default; font-family:helvetica,simhei; -webkit-focus-ring-color:rgba(0, 0, 0, 0); -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
2
html { height:100%; font-size:100px; -webkit-user-select:none; overflow:hidden;}
3
body { background:#f2f2f2; height:100%; font-size:18%; color:#333; line-height:1; position:relative; width:100%; overflow:hidden;}
4
@font-face { font-family:"base";  src:url('../img/base.ttf')  format('truetype');}
5
@font-face { font-family:"biz";   src:url('../img/biz.ttf')   format('truetype');}
6
@font-face { font-family:"brand"; src:url('../img/brand.ttf') format('truetype');}
7
@media (min-width:0px   ) { html { font-size: 66.66px;}}
8
@media (min-width:480px ) { html { font-size:100.00px;}}
9
@media (min-width:540px ) { html { font-size:112.50px;}}
10
@media (min-width:640px ) { html { font-size:133.33px;}}
11
@media (min-width:720px ) { html { font-size:150.00px;}}
12
@media (min-width:768px ) { html { font-size:160.00px;}}
13
@media (min-width:800px ) { html { font-size:166.67px;}}
14
@media (min-width:1024px) { html { font-size:213.33px;}}
15
@media (min-width:1080px) { html { font-size:225.00px;}}
16
@media (min-width:1200px) { html { font-size:250.00px;}}
17
@media (min-width:1280px) { html { font-size:266.67px;}}
18
@media (min-width:1366px) { html { font-size:284.58px;}}
19
@media (min-width:1536px) { html { font-size:320.00px;}}
20
@media (min-width:1600px) { html { font-size:333.33px;}}
21
@media (min-width:1920px) { html { font-size:400.00px;}}
22
@media (min-width:2048px) { html { font-size:426.67px;}}
23
@media (min-width:2560px) { html { font-size:533.33px;}}
24
input,
25
textarea { border-radius:0; vertical-align:top;}
26
img { vertical-align:top;}
27
a { text-decoration:none;}
28

29

30

31
/*motherboard*/
32
.c_navBar { height:0.6rem; line-height:0.6rem; background:#0085d0; color:#fff; position:relative; zoom:1; width:100%; float:left;}
33
.c_navBar .left { float:left; position:relative; z-index:1;}
34
.c_navBar .right { float:right; position:relative; z-index:1;}
35
.c_navBar .center { position:absolute; height:100%; width:100%; text-align:center; left:0; top:0;}
36

37
.c_navBar .back { overflow:hidden;}
38
.c_navBar .back.active { background:#006aa6;}
39
.c_navBar .back [class^="e_ico"] { float:left; width:0.6rem; font-size:0.32rem; text-align:center; color:#80c2e8; vertical-align:top;}
40
.c_navBar .back .text { font-size:0.26rem; vertical-align:top; padding-right:0.2rem;}
41
.c_navBar .icon { overflow:hidden;}
42
.c_navBar .icon.active { background:#006aa6;}
43
.c_navBar .icon [class^="e_ico"] { float:left; width:0.6rem; font-size:0.26rem; text-align:center; color:#fff; vertical-align:top;}
44
.c_navBar .title { font-size:0.26rem;}
45
.c_navBar button { background:transparent; vertical-align:top; line-height:0.6rem; color:#cce7f6; font-size:0.21rem; border:0 none; height:0.6rem; padding:0 0.2rem;}
46
.c_navBar button [class^="e_ico"] { margin-right:0.05rem; line-height:0.6rem;}
47

48
.c_navBar .tab ul { display:table; width:100%; table-layout:fixed;}
49
.c_navBar .tab li { display:table-cell; font-size:0.24rem; text-align:center; color:#80c2e8;}
50
.c_navBar .tab .on { color:#fff;}
51
.c_navBar .tab .active { background:#eee;}
52

53
.c_navBar * .tab { width:2.5rem; display:inline-block; background:#006aa6; line-height:0.4rem; border:0.02rem solid #006aa6; border-radius:0.25rem; margin:0.08rem;}
54
.c_navBar * .tab li { background:#fff; color:#006aa6; font-size:0.21rem;}
55
.c_navBar * .tab li:first-child { border-top-left-radius:0.25rem; border-bottom-left-radius:0.25rem;}
56
.c_navBar * .tab li:last-child { border-top-right-radius:0.25rem; border-bottom-right-radius:0.25rem;}
57
.c_navBar * .tab .on { background:transparent; color:#fff;}
58

59
.c_navBar .buttonList { font-size:0.21rem; padding:0 0.2rem; display:inline-block; position:relative;}
60
.c_navBar .buttonList.active { background:#006aa6;}
61
.c_navBar .buttonList .e_ico-unfold { margin-left:0.05rem; font-size:0.14rem; vertical-align:top;}
62
.c_navBar .buttonList .option { background:#0085d0; text-align:center; position:absolute; left:0;}
63
.c_navBar .buttonList .option li { padding:0 0.2rem; white-space:nowrap;}
64
.c_navBar .buttonList .option li.active { background:#006aa6;}
65
.c_navBar .right .buttonList .option { left:auto; right:0;}
66

67
.c_navBar .logo { overflow:hidden;}
68
.c_navBar .logo [class^="e_ico"] { width:0.6rem; font-size:0.36rem; text-align:center; vertical-align:top; margin-right:-0.05rem;}
69
.c_navBar .logo .text { font-size:0.26rem; vertical-align:top; padding-right:0.2rem;}
70

71

72

73
.m_footer { position:absolute; bottom:0; width:100%; height:0.8rem; background:#333;}
74
.m_footer ul { display:table; width:100%; table-layout:fixed; color:#f2f2f2; height:0.8rem;}
75
.m_footer li { display:table-cell; text-align:center; vertical-align:middle;}
76
.m_footer li [class^="e_ico"] { font-size:0.32rem;}
77
.m_footer li .text { display:block; margin-top:0.08rem; font-size:0.16rem;}
78
.m_footer li.on { color:#333; background:#f2f2f2;}
79
.m_footer li.active:not(.on) { background:#000;}
80

81

82

83
.m_welcome { background:#8fc320; color:#fff; width:100%; height:100%; line-height:1.1; position:relative; overflow:hidden; -webkit-transition:background 1s ease-out; -webkit-transform-style:preserve-3d;}
84
.m_welcome>.logo { position:absolute; bottom:7%; width:2.4rem; left:50%; margin-left:-1.2rem; line-height:1;}
85
.m_welcome>.logo .and { float:left; width:0.46rem; height:0.46rem; position:relative;}
86
.m_welcome>.logo .and:before { position:absolute; left:0; top:0; content:"\e600"; font-size:0.46rem; font-family:"base";}
87
.m_welcome>.logo .and:after { position:absolute; left:0; top:0; content:"\e602"; font-size:0.46rem; font-family:"base"; color:#e40077;}
88
.m_welcome>.logo .ch { float:left; margin-left:0.05rem; margin-top:0.22rem;}
89
.m_welcome>.logo .ch:before { font-size:0.25rem; content:"\e601"; font-family:"base";}
90
.m_welcome>.logo .sign { margin-left:0.12rem; padding-left:0.12rem; float:left; border-left:1px solid #fff; line-height:0.46rem; height:0.46rem;}
91
.m_welcome>.logo .sign:before { content:"\e60b"; font-family:"base"; font-size:1.36rem;}
92
.m_welcome .loading { -webkit-transition:top 1s ease-out; -webkit-transform-style:preserve-3d; position:absolute; width:5.3rem; overflow:hidden; left:50%; margin-left:-2.65rem; top:50%; margin-top:-6rem; text-align:center;}
93
.m_welcome .loading .logo { -webkit-transition:top 1s ease-out; -webkit-transform-style:preserve-3d; top:0; position:relative;}
94
.m_welcome .loading .dot:before { font-size:5.3rem; content:"\e607"; font-family:"base"; color:#e40077; position:relative; z-index:1;}
95
.m_welcome .loading .and { position:absolute; left:50%; margin-left:-0.33rem; top:4.6rem; text-indent:0; z-index:1;}
96
.m_welcome .loading .and:before { position:absolute; left:0; top:0; content:"\e600"; font-size:0.66rem; font-family:"base";}
97
.m_welcome .loading .and:after { position:absolute; left:0; top:0; content:"\e602"; font-size:0.66rem; font-family:"base";}
98
.m_welcome .loading .cycle { width:1.5rem; height:1.5rem; position:absolute; left:50%; margin-left:-0.75rem; top:4.22rem; z-index:0;
99
	 -webkit-animation:loading 1.5s linear infinite;
100
}
101
.m_welcome .loading .cycle:before {
102
	content:""; display:block;
103
	width:1.5rem; height:0.75rem; border-radius:0.75rem 0.75rem 0 0;
104
	background:-webkit-gradient(
105
		linear,
106
		0 0,
107
		right 0,
108
		color-stop(0,rgba(255,255,255,0)),
109
		color-stop(1,rgba(255,255,255,0.7))
110
	);
111
}
112
.m_welcome .logo2 { -webkit-transition:opacity 1s ease-out; -webkit-transform-style:preserve-3d; position:absolute; left:50%; width:1rem; height:1rem; margin-left:-0.5rem; bottom:1rem; opacity:0;}
113
.m_welcome .logo2:before { position:absolute; left:0; top:0; font-family:"base"; content:"\e60c"; font-size:1rem; line-height:1;}
114
.m_welcome .logo2:after  { position:absolute; left:0; top:0; font-family:"base"; content:"\e60d"; font-size:1rem; line-height:1; color:#c8f667;}
115
.m_welcome .text { position:relative;}
116
.m_welcome .text .title { font-size:0.33rem; margin-top:0.4rem;}
117
.m_welcome .text .tip { -webkit-transition:opacity 1s ease-out; -webkit-transform-style:preserve-3d; font-size:0.16rem; margin-top:0.15rem; opacity:1;}
118
.m_welcome .text .tip2 { -webkit-transition:opacity 1s ease-out; -webkit-transform-style:preserve-3d; bottom:0; position:absolute; width:100%; text-align:center; opacity:0;}
119
@-webkit-keyframes loading
120
{
121
	0% { -webkit-transform:rotate(0deg);}
122
	100% { -webkit-transform:rotate(360deg);}
123
}
124
.m_welcome .login { -webkit-transition:left 1s ease-out,margin-left 1s ease-out,margin-top 1s ease-out,opacity 1s ease-out; -webkit-transform-style:preserve-3d; opacity:0; position:absolute; top:40%; width:20em; left:100%; margin-left:0;}
125
.m_welcome .login li { height:0.65rem; position:relative; overflow:hidden; font-size:0.24rem; border-bottom:1px solid #339dd9; line-height:0.65rem;}
126
.m_welcome .login .label { float:left;}
127
.m_welcome .login .value { overflow:hidden; display:block;}
128
.m_welcome .login .value input { font-size:0.24rem; color:#b8d4ed; height:0.65rem; border:0 none; vertical-align:top; width:100%; background:transparent; box-sizing:border-box;}
129
.m_welcome .login .button { position:absolute; right:0.05rem; top:0.05rem; height:0.55rem; line-height:0.55rem; padding:0 0.24rem; background:#2697d7; border-radius:0.05rem;}
130
.m_welcome .login img { position:absolute; right:0rem; top:0.17rem; height:0.31rem;}
131
.m_welcome .login .submit { margin-top:0.3rem;}
132
.m_welcome .login .submit span { display:block; font-size:0.24rem; text-align:center; line-height:0.65rem; background:#8fc320; border-radius:0.08rem;}
133
.m_welcome-login { background-color:#0085d0;}
134
.m_welcome-login .login { left:50%; margin-left:-10em; opacity:1;}
135
.m_welcome-login .loading { top:22%;}
136
.m_welcome-login .loading .logo { top:-12em;}
137
.m_welcome-login .logo2 { opacity:1;}
138
.m_welcome-login .text .tip { opacity:0;}
139
.m_welcome-login .text .tip2 { opacity:1;}
140

141

142

143
.m_content { padding:0.12rem; padding-top:0; overflow:hidden; position:relative;}
144
.s_bs .m_content { position:absolute; top:0.6rem; bottom:0.8rem; left:0; right:0; overflow:hidden;}
145
.s_bs .m_content-nofooter { bottom:0;}
146
.m_wrapper { position:relative; overflow:hidden;}
147

148

149

150
.m_nav { position:relative; left:0;}
151
.s_bs .m_nav { position:absolute; top:0.6rem; bottom:0.8rem; left:0; right:0; overflow:hidden;}
152
.m_nav > .wrapper { height:100%; position:relative; -webkit-transition:-webkit-transform 0.4s ease-out; -webkit-transform-style:preserve-3d; left:0;}
153
.m_nav > .wrapper > div { position:relative; height:100%;}
154
.m_nav .nav > ul { overflow:hidden; padding:0.12rem 0;}
155
.m_nav .nav > ul > li { float:left; width:33.3%; text-align:center; height:1.52rem; border:1px solid rgba(0,0,0,0); border-radius:0.08rem; overflow:hidden; box-sizing:border-box; -webkit-box-sizing:border-box;}
156
.m_nav .nav > ul > li.active { border-color:#ccc; background:#fff;}
157
.m_nav .nav > ul > li > .pic { margin-top:0.18rem;}
158
.m_nav .nav > ul > li > .pic .e_bizIco { font-size:0.65rem; display:inline-block;}
159
.m_nav .nav > ul > li > .pic [class^="e_ico"] { font-size:0.65rem; display:inline-block;}
160
.m_nav .nav > ul > li > .text { line-height:0.27rem; margin-top:0.08rem;}
161
[class*="m_nav-col"] { padding:0 !important;}
162
.m_nav .nav { padding:0 0.12rem; position:relative; overflow:hidden; box-sizing:border-box; -webkit-box-sizing:border-box;}
163
.m_nav-col-5 > .wrapper { width:500%;}
164
.m_nav-col-5 > .wrapper > div { float:left; width:20%;}
165
.m_nav-col-4 > .wrapper { width:400%;}
166
.m_nav-col-4 > .wrapper > div { float:left; width:25%;}
167
.m_nav-col-3 > .wrapper { width:300%;}
168
.m_nav-col-3 > .wrapper > div { float:left; width:33.33333333%;}
169
.m_nav-col-2 > .wrapper { width:200%;}
170
.m_nav-col-2 > .wrapper > div { float:left; width:50%;}
171
.m_nav.m_nav-current-2 > .wrapper { -webkit-transform:translate(-25%,0);}
172
.m_nav.m_nav-current-3 > .wrapper { -webkit-transform:translate(-50%,0);}
173
.m_nav.m_nav-current-4 > .wrapper { -webkit-transform:translate(-75%,0);}
174
.m_nav.m_nav-current-5 > .wrapper { -webkit-transform:translate(-100%,0);}
175

176

177
.m_sub { background:#404040; width:3.4rem; color:#fff; position:relative;}
178
.m_sub .staff { padding:0.12rem; display:table; width:100%; table-layout:fixed; box-sizing:border-box; -webkit-box-sizing:border-box;}
179
.m_sub .staff .head { display:table-cell; width:0.5rem;}
180
.m_sub .staff .head:before { font-family:"base"; font-size:0.5rem; content:"\e615"; color:#a0a0a0;}
181
.m_sub .staff .info { display:table-cell; vertical-align:middle; padding:0 0.1rem 0 0.12rem;}
182
.m_sub .staff .info .name { font-size:0.26rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
183
.m_sub .staff .info .id { margin-top:0.05rem; color:#b1b1b1;}
184
.m_sub .staff .fn { display:table-cell; vertical-align:middle; width:0.6rem;}
185
.m_sub .staff .fn .exit { display:inline-block; width:0.6rem; height:0.3rem; border:1px solid #040000; text-align:center; line-height:0.3rem; color:#dadada; box-shadow:0 1px 0 #7a7a7a,inset 0 1px 0 #7a7a7a; border-radius:0.03rem; box-sizing:border-box; -webkit-box-sizing:border-box;}
186
.m_sub .staff .fn .exit.active { background:#000; box-shadow:none;}
187
.m_sub .menu { background:#535353;}
188
.m_sub .menu ul { display:table; width:100%;}
189
.m_sub .menu li { display:table-cell; text-align:center; line-height:0.4rem; border-left:1px solid #404040;}
190
.m_sub .menu li:first-child { border:0 none;}
191
.m_sub .menu li.active { background:#333;}
192
.m_sub .menu li div { display:inline-block;}
193
.m_sub .menu li .num { width:0.24rem; height:0.24rem; line-height:0.24rem; background:#e40177; border-radius:50%;}
194
.m_sub .title { line-height:0.35rem; overflow:hidden; background:#333; border-bottom:1px solid #1a1a1a;}
195
.m_sub .title .text { color:#999; float:left; padding-left:0.12rem;}
196
.m_sub .title .fn { float:right; width:0.35rem; height:0.35rem; text-align:center; color:#999;}
197
.m_sub .title .fn.active { background:#000; color:#fff;}
198
.m_sub .title .fn .add:before { font-family:"base"; content:"\e61c";}
199
.m_sub .title .fn .exit:before { font-family:"base"; content:"\e60a";}
200
.m_sub .title .num { color:#83c200; font-weight:bold;}
201
.m_sub .favo .content { overflow:hidden; position:relative;}
202
.m_sub .favo .content li { border-top:1px solid #5d5d5d; padding:0 0.12rem; border-bottom:1px solid #1a1a1a; font-size:0.21rem; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; line-height:0.5rem;}
203
.m_sub .favo .content li.active { background:#333; border-top:1px solid #333;}
204
.m_sub .favo .content li div { display:inline-block;}
205
.m_sub .favo .content li .ico .e_bizIco:before { color:#a0a0a0;}
206
.m_sub .cust { border-top:1px solid #404040;}
207
.m_sub .cust .content { padding:0.24rem; position:relative;}
208
.m_sub .cust .brand { display:table-cell; width:0.5rem; height:0.5rem; position:relative;}
209
.m_sub .cust .brand:before { font-family:"brand"; color:#fff; line-height:0.5rem; position:absolute;}
210
.m_sub .cust .brand-gotone:before { content:"\e602"; font-size:1.4rem; left:-0.02rem; top:0;}
211
.m_sub .cust .brand-easyown:before { content:"\e600"; font-size:1.5rem; left:-0.08rem; top:0;}
212
.m_sub .cust .brand-mzone:before { content:"\e604"; font-size:1rem; left:-0.2rem; top:0;}
213
.m_sub .cust .info { display:table-cell; vertical-align:middle; padding:0 0.1rem 0 0.12rem;}
214
.m_sub .cust .info .name { font-size:0.26rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
215
.m_sub .cust .info .id { margin-top:0.05rem; color:#b1b1b1;}
216
.m_sub .cust .biz { margin-top:0.24rem;}
217
.m_sub .cust .biz ul { overflow:hidden;}
218
.m_sub .cust .biz li { float:left; width:33.33%; box-sizing:border-box; -webkit-box-sizing:border-box; text-align:center; border-left:1px solid #666;}
219
.m_sub .cust .biz li:first-child { border-left:0 none;}
220
.m_sub .cust .biz .value { font-size:0.27rem;}
221
.m_sub .cust .biz .label { font-size:0.16rem; color:#b1b1b1; margin-top:0.1rem;}
222
.m_sub .cust .biz .fn { margin-top:0.15rem;}
223
.m_sub .cust .biz .button { display:inline-block; font-size:0.14rem; padding:0 0.12rem; background:#709c14; border-radius:0.02rem; line-height:0.24rem;}
224
.m_sub .cust .biz .button.active { background:#4b621b;}
225
.m_sub .cust .status { position:absolute; right:0.12rem; top:0; line-height:0.27rem; font-size:0.16rem; background:#e40077; padding:0 0.1rem;}
226
.m_sub .shadow { position:absolute; right:0; top:0; width:0.04rem; height:100%; background:rgba(0,0,0,0.5);}
227

228

229

230
.m_submit { overflow:hidden; background:#333; padding:0.12rem;}
231
.m_submit .price { line-height:0.6rem; float:left; color:#fff; font-size:0.4rem;}
232
.m_submit .submit { float:right; margin-left:0.12rem;}
233
.m_submit .e_mix { display:block; width:auto;}
234
.m_submit .e_mix input[type="text"] { background:#191919; color:#fff; border:0 none !important; box-shadow:inset 0 0.02rem 0 0 #000;}
235
.m_submit .e_mix input[type="text"]::-webkit-input-placeholder { color:#616161;}
236
.m_submit .e_mix .e_button { background:#474747; color:#fff; border:0 none; box-shadow:inset 0 -0.02rem 0 0 #191919;}
237
.m_submit .submit .e_button-ok,
238
.m_submit .submit .e_button-cancel { border:0 none; height:0.6rem; font-size:0.23rem;}
239

240

241

242
/*element*/
243
.e_button { display:inline-block; height:0.3rem; line-height:0.3rem; border-radius:0.15rem; background:#333; padding:0 0.18rem; white-space:nowrap; color:#fff;}
244
.e_button [class^="e_ico"] { vertical-align:top;}
245
.e_button-singleIco { padding:0; width:0.3rem; text-align:center;}/*添加的小按钮*/
246
.e_button-ok { background:#8fc320; color:#fff; padding:0 0.35rem; border-radius:0.05rem; text-align:center; box-sizing:border-box; -webkit-box-sizing:border-box; border:1px solid #6a940d; line-height:0.6rem; font-size:0.24rem; height:0.6rem; box-shadow:inset 0 -0.02rem 0 0 #5b7e11;}
247
.e_button-cancel { background:#f7f7f7; padding:0 0.35rem; border-radius:0.05rem; text-align:center; box-sizing:border-box; -webkit-box-sizing:border-box; border:1px solid #ccc; line-height:0.6rem; font-size:0.24rem; height:0.6rem; box-shadow:inset 0 -0.02rem 0 0 #bbb; color:#333;}
248
.e_button-red { background:#e40177; padding:0 0.35rem; border-radius:0.05rem; text-align:center; box-sizing:border-box; -webkit-box-sizing:border-box; border:1px solid #8c1a55; line-height:0.6rem; font-size:0.24rem; height:0.6rem; box-shadow:inset 0 -0.02rem 0 0 #8c1a55; color:#fff;}
249
.e_button-blue { background:#0085d0; padding:0 0.35rem; border-radius:0.05rem; text-align:center; box-sizing:border-box; -webkit-box-sizing:border-box; border:1px solid #1a5c81; line-height:0.6rem; font-size:0.24rem; height:0.6rem; box-shadow:inset 0 -0.02rem 0 0 #1a5c81; color:#fff;}
250
.e_button.active { opacity:0.6;}
251
.e_button-ok.active { background:#6a940d; opacity:1;}
252
.e_button-cancel.active { background:#ccc; opacity:1;}
253
.e_button-red.active { background:#b6015f; opacity:1;}
254
.e_button-blue.active { background:#0f6ca1; opacity:1;}
255
.e_button:not(.e_button-singleIco) [class^="e_ico"] { margin-right:0.05rem;}
256
.e_button:not(.e_button-singleIco) .e_ico-fold,
257
.e_button:not(.e_button-singleIco) .e_ico-unfold { margin-left:0.05rem; margin-right:0;}
258

259

260

261
.e_fix-bottom { position:absolute; width:100%; bottom:0; left:0;}
262

263

264

265
.e_bizIco { font-family:"biz"; display:inline-block;}
266

267
.e_brandIco { font-family:"brand"; display:inline-block; position:relative;}
268
.e_brandIco:after { position:absolute; left:0; top:0;}
269
.e_brandIco-gotone:before { content:"\e602"; color:#1f619e;}
270
.e_brandIco-gotone:after { content:"\e603"; color:#1d426e;}
271
.e_brandIco-easyown:before { content:"\e600"; color:#211917;}
272
.e_brandIco-easyown:after { content:"\e601"; color:#008888;}
273
.e_brandIco-mzone:before { content:"\e604"; color:#de9831;}
274
.e_brandIco-mzone:after { content:"\e605"; color:#f5cf00; text-shadow:-0.01rem 0rem 0 rgba(0,0,0,1); -webkit-text-shadow:-0.01rem 0rem 0 rgba(0,0,0,1);}
275

276
[class^="e_ico"] { font-family:"base"; display:inline-block;}
277
.e_ico-back:before     { content:"\e603";}
278
.e_ico-check:before    { content:"\e604";}
279
.e_ico-config:before   { content:"\e605";}
280
.e_ico-delete:before   { content:"\e606";}
281
.e_ico-edit:before     { content:"\e608";}
282
.e_ico-warn:before     { content:"\e609";}
283
.e_ico-exit:before     { content:"\e60a";}
284
.e_ico-notice:before   { content:"\e60e";}
285
.e_ico-resent:before   { content:"\e60f";}
286
.e_ico-reset:before    { content:"\e610";}
287
.e_ico-search:before   { content:"\e611";}
288
.e_ico-star:before     { content:"\e612";}
289
.e_ico-checkbox:before { content:"\e613";}
290
.e_ico-task:before     { content:"\e614";}
291
.e_ico-user:before     { content:"\e615";}
292
.e_ico-msg:before      { content:"\e616";}
293
.e_ico-flow:before     { content:"\e617";}
294
.e_ico-voice:before    { content:"\e618";}
295
.e_ico-more:before     { content:"\e619";}
296
.e_ico-camera:before   { content:"\e61a";}
297
.e_ico-add:before      { content:"\e61c";}
298
.e_ico-close:before    { content:"\e61d";}
299
.e_ico-swipe:before    { content:"\e61e";}
300
.e_ico-close2:before   { content:"\e625";}
301
.e_ico-reduce:before   { content:"\e627";}
302
.e_ico-scan:before     { content:"\e628";}
303
.e_ico-date:before     { content:"\e629";}
304
.e_ico-pic:before      { content:"\e62a";}
305
.e_ico-tip:before      { content:"\e62b";}
306
.e_ico-qr:before       { content:"\e62c";}
307
.e_ico-building:before { content:"\e62d";}
308
.e_ico-audio:before    { content:"\e62e";}
309
.e_ico-unfold:before   { content:"\e62f";}
310
.e_ico-fold:before     { content:"\e630";}
311

312
.e_left { text-align:left !important;}
313
.e_center { text-align:center !important;}
314
.e_top { vertical-align:top !important;}
315

316
.e_red { color:#e40177 !important;}
317
.e_gold { color:#bda543 !important;}
318
.e_green { color:#8fc320 !important;}
319
.e_placeholder { color:#ddd !important;}
320

321
.e_dis { opacity:0.4;}
322

323
.e_size-l { font-size:0.45rem !important;}
324
.e_size-m { font-size:0.30rem !important;}
325
.e_size   { font-size:0.24rem !important;}
326
.e_size-s { font-size:0.18rem !important;}
327

328
input[type="text"].e_left { padding:0 0.18rem;}
329
input[type="text"].active { background:#cee6f4;}
330
input[type="time"] { -webkit-appearance:none; border:0 none; text-align:right; font-size:100%;}
331
input[type="date"] { -webkit-appearance:none; border:0 none; text-align:right; font-size:100%; background:none;}
332
input[type="checkbox"] { -webkit-appearance:none; margin-right:0.06rem; opacity:0.4; color:#8fc320; font-size:100%;}
333
input[type="checkbox"]:before { content:"\e61b"; font-family:"base"; font-size:100%;}
334
input[type="checkbox"]:checked { opacity:1; }
335

336
.e_progress { overflow:hidden; display:block;}
337
.e_progressUse { overflow:hidden; display:block;}
338
.e_progressUseValue { float:left; font-size:0.4rem; color:#8fc320;}
339
.e_progressUseTip { float:left; font-size:0.14rem; margin-left:0.05rem;}
340
.e_progressBar { display:block; background:#eee; margin-top:0.05rem;}
341
.e_progressBar span { display:block; height:0.16rem; background:#8fc320;}
342
.e_progressTotal { float:left; font-size:0.14rem; margin-top:0.05rem;}
343
.e_progressSurplus { float:right; margin-top:0.05rem;}
344
.e_progressSurplusValue { float:left; font-size:0.4rem; margin-left:0.05rem; color:#aaa;}
345
.e_progressSurplusTip { float:left; font-size:0.14rem;}
346
.e_progress-warn .e_progressBar span { background:#f60;}
347
.e_progress-warn .e_progressUseValue { color:#f60;}
348
.e_progress-error .e_progressBar span { background:#e40077;}
349
.e_progress-error .e_progressUseValue { color:#e40077;}
350

351
.e_switch { display:inline-block; width:1.2rem; padding:0.04rem; overflow:hidden; background:#0085d0; color:#fff; line-height:0.4rem; vertical-align:top; position:relative;}
352
.e_switchOn { float:left; width:50%; text-align:center;}
353
.e_switchOff { overflow:hidden; display:block; text-align:center;}
354
.e_switchBar { position:absolute; width:0.6rem; background:#fff; height:0.4rem; left:0; margin-left:0.04rem; top:0.04rem;}
355
.e_switch-on .e_switchBar { margin-left:50%; left:0;}
356
.e_switch.e_dis { opacity:0.2;}
357

358
.e_segment { display:inline-block; width:3rem; background:#0085d0; line-height:0.4rem; padding:0.04rem; vertical-align:top;}
359
.e_segmentWrapper { display:table; width:100%; table-layout:fixed;}
360
.e_segmentLi { display:table-cell; text-align:center; color:#999; background:#f7f7f7;/* -webkit-transition:all 0.3s ease-out;*/}
361
.e_segmentLi:not(.e_segmentOn).active { opacity:0.5; color:#000;}
362
.e_segmentOn { color:#fff; background:none; opacity:1;}
363

364
.e_flip { display:table; width:100%; min-height:0.6rem; table-layout:fixed;}
365
.e_flipDesc,
366
.e_flipReduce,
367
.e_flipValue,
368
.e_flipAdd { display:table-cell; vertical-align:middle;}
369
.e_flipDesc { padding:0.16rem; line-height:0.28rem;}
370
.e_flipReduce { width:0.6rem; position:relative; text-align:center;}
371
.e_flipReduce:before { display:inline-block; vertical-align:middle; width:0.5rem; height:0.5rem; line-height:0.5rem; border-radius:50%; background:#f7f7f7; font-family:"base"; content:"\e627"; font-size:0.3rem;}
372
.e_flipReduce:after { content:""; position:absolute; left:0.05rem; top:50%; margin-top:-0.25rem; width:0.5rem; height:0.5rem; border:1px solid #eee; box-sizing:border-box; -webkit-box-sizing:border-box; border-radius:50%;}
373
.e_flipReduce.active:before { background:#cee6f4;}
374
.e_flipAdd { text-align:center; width:0.6rem; padding:0 0.13rem; box-sizing:border-box; -webkit-box-sizing:border-box; background:#f7f7f7; border-left:1px solid #eee;}
375
.e_flipAdd.active { background:#cee6f4;}
376
.e_flipAdd:before { display:inline-block; vertical-align:middle; font-family:"base"; content:"\e61c"; font-size:0.3rem;}
377
.e_flipValue { text-align:center; width:1rem; text-align:right; padding:0 0.18rem; color:#888; word-spacing:-0.05rem;}
378
.e_flipValue * { word-spacing:0;}
379
.e_flipSymbol,
380
.e_flipCount { color:#e40177;}
381
.e_flipInput { display:none;}
382
.e_flip .e_flipReduce,
383
.e_flip .e_flipCount,
384
.e_flip .e_flipSymbol { display:none;}
385
.e_flip-on .e_flipReduce { display:table-cell;}
386
.e_flip-on .e_flipCount { display:inline;}
387
.e_flip-on .e_flipSymbol { display:inline;}
388
.e_flipInfo { font-size:0.18rem; line-height:1.3; margin-top:0.05rem; color:#888;}
389
.e_flip-noprice .e_flipValue { width:0.4rem;}
390

391
.e_checkbox { display:inline-block; width:0.27rem; height:0.27rem; line-height:0.27rem; vertical-align:middle;}
392
.e_checkbox:before { font-family:"base"; font-size:0.27rem; content:"\e61b"; color:#eaeaea;}
393
.e_checkbox-checked:before { color:#8fc320;}
394
.e_checkbox-required { opacity:0.5;}
395

396
.e_mix { display:inline-block; overflow:hidden; width:3rem; vertical-align:top;}
397
.e_mix .e_button { float:right; margin-left:0.06rem; height:0.6rem; line-height:0.6rem; border-radius:0.08rem; padding:0 0.25rem; color:#333; box-sizing:border-box; -webkit-box-sizing:border-box; background:#f7f7f7; border:1px solid #ddd; box-shadow:inset 0 -0.02rem 0 0 #ddd; font-size:0.23rem;}
398
.e_mix .e_button-right { margin-left:-1px; border-top-left-radius:0; border-bottom-left-radius:0;}
399
.e_mix .e_input { display:block; overflow:hidden;}
400
.e_mix .e_input-left input[type="text"] { border-top-right-radius:0; border-bottom-right-radius:0;}
401
.e_mix input[type="text"] { border:1px solid #ddd !important; text-align:left !important; padding:0.18rem; border-radius:0.08rem; width:100%; height:0.6rem; line-height:0.23rem; font-size:0.23rem; box-sizing:border-box; -webkit-box-sizing:border-box; box-shadow:inset 0 0.02rem 0 0 #ebebeb;}
402
.e_mix input[type="text"]::-webkit-input-placeholder { color:#ddd; line-height:0.23rem; height:0.23rem;}
403

404
.e_range { display:block; padding:0 0.35rem; position:relative;}
405
.e_rangeArea { position:relative; height:0.7rem; display:inline-block; width:100%;}
406
.e_rangeBg { display:block; background:#eee; margin-top:0.22rem; border-radius:0.04rem; position:absolute; top:0; left:0; right:0;}
407
.e_rangeBg span { display:block; height:0.26rem; background:#8fc320; border-radius:0.04rem; width:50%;}
408
.e_rangeBar { display:block; background:#eee; margin-top:0.22rem; border-radius:0.04rem;}
409
.e_rangeBar span { display:block; height:0.26rem; background:#8fc320; border-radius:0.04rem;}
410
.e_rangeHandle { position:absolute; margin-left:-0.35rem; text-align:center; left:0; top:0; height:0.7rem; width:0.7rem; background:#fff; border-radius:50%; border:0.06rem solid #8fc320; box-sizing:border-box; -webkit-box-sizing:border-box; color:#333;}
411
.e_rangeHadleMain { vertical-align:top; display:inline-block; margin-top:0.18rem;}
412
.e_rangeHadleSub { font-size:0.12rem; display:inline-block; vertical-align:top; margin-left:-0.04rem; margin-top:0.18rem;}
413

414
.e_shadow { box-shadow:0 0.02rem 0 rgba(0,0,0,0.1);}
415

416
.e_virtual { pointer-events:none;}
417
.e_hide { display:none;}
418
.e_nowrap { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block;}
419

420
.e_space { height:0.12rem; display:block;}
421
.e_imagePlaceHolder { position:relative; display:inline-block; width:4rem; height:2.25rem; background:#f7f7f7; border:1px solid #ddd;}
422
.e_imagePlaceHolder:before { position:absolute; left:50%; top:50%; content:"\e62a"; font-family:"base"; font-size:1rem; color:#ddd; margin-left:-0.5rem; margin-top:-0.5rem; width:1rem; height:1rem; line-height:1;}
423

424
/*component*/
425
.c_value { background:#8fc320; color:#fff; padding:0.12rem;}
426
.c_value .e_button { background:#fff; color:#8fc320;}
427
.c_value .tip { overflow:hidden;}
428
.c_value .tip .fn { float:right; margin-left:0.12rem;}
429
.c_value .tip .text { overflow:hidden; line-height:1.5;}
430
.c_value .value { text-align:center; padding:0.5rem 0;}
431
.c_value .value .main { display:inline-block; font-size:0.8rem; vertical-align:top; line-height:1;}
432
.c_value .value .sub { display:inline-block; font-size:0.14rem; vertical-align:top; line-height:1; margin-left:-0.23rem; left:0.14rem; position:relative;}
433
.c_value-error { background:#e40177;}
434
.c_value-error .e_button { color:#e40177;}
435

436
.c_box { box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); background:#fff; border:1px solid #ccc;}
437

438
.c_list { box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); line-height:1; border:1px solid #ccc; overflow:hidden; background:#fff;}
439
.c_list>ul { overflow:hidden; margin-bottom:-1px;}
440
.c_list>ul>li { overflow:hidden; position:relative; font-size:0.22rem; box-sizing:border-box; -webkit-box-sizing:border-box; border-bottom:1px solid #ccc; background:#fff;}
441
.c_list>ul>li.active { background:#cee6f4;}
442
.c_list>ul>li.active .sub,
443
.c_list>ul>li.active .content .pic { opacity:0.5;}
444
.c_list>ul>li .ico .e_bizIco { font-size:0.6rem;}
445
.c_list>ul>li .ico .e_bizIco:before { color:#333;}
446
.c_list>ul>li .ico [class^="e_ico"] { font-size:0.6rem;}
447
.c_list>ul>li .ico .text { margin-top:0.1rem; font-size:0.18rem;}
448
.c_list>ul>li .title { line-height:1.3; overflow:hidden;}
449
.c_list>ul>li .title.e_size-l { line-height:1;}
450
.c_list>ul>li .title .fn { float:right; margin-left:0.12rem;}
451
.c_list>ul>li .title .text { overflow:hidden;}
452
.c_list>ul>li .title-vbottom { line-height:1;}/*营业缴费*/
453
.c_list>ul>li .title-vbottom .text { margin-top:0.18rem;}
454
.c_list>ul>li .info { font-size:0.18rem; line-height:1.3; margin-top:0.05rem; color:#888;}
455
.c_list>ul>li .info textarea { border:0 none; resize:none; font-size:0.18rem; color:#888; width:100%; line-height:1.3;}
456
.c_list>ul>li .content { overflow:hidden; display:table; width:100%; vertical-align:middle; border-collapse:collapse; table-layout:fixed;}
457
.c_list>ul>li .content.active { background:#cee6f4;}
458
.c_list>ul>li .content .pic { display:table-cell; vertical-align:middle; text-align:center; width:1.2rem; border-right:1px solid #ccc;}
459
.c_list>ul>li .content .pic img { width:1.2rem; height:1.2rem;}
460
.c_list>ul>li .content .ico { display:table-cell; vertical-align:middle; text-align:center; width:0.9rem; border-right:1px solid #ccc; padding:0.18rem;}
461
.c_list>ul>li .content .ico .e_brandIco { font-size:0.9rem; line-height:0.34rem; height:0.34rem; vertical-align:middle;}
462
.c_list>ul>li .content .main { display:table-cell; vertical-align:middle; padding:0.18rem; line-height:1.3;}
463
.c_list>ul>li .content .main.active { background:#cee6f4;}
464
.c_list>ul>li .content .side { display:table-cell; width:1rem; padding:0.18rem; line-height:1.3; text-align:right; vertical-align:middle; color:#888;}
465
.c_list>ul>li .content .side-1 { width:0.5rem;}
466
.c_list>ul>li .content .side-2 { width:1.5rem;}
467
.c_list>ul>li .content .side-3 { width:2rem;}
468
.c_list>ul>li .content .side-date { width:1.1rem;}
469
.c_list>ul>li .content .label { display:table-cell; width:1.5rem; padding:0.16rem; line-height:0.28rem;}
470
.c_list>ul>li .content .label-3 { width:0.69rem;}
471
.c_list>ul>li .content .label-4 { width:0.92rem;}
472
.c_list>ul>li .content .label-5 { width:1.15rem;}
473
.c_list>ul>li .content .label-6 { width:1.38rem;}
474
.c_list>ul>li .content .label-max { width:auto;}
475
.c_list>ul>li .content .label-input { padding:0;}
476
.c_list>ul>li .content .label input[type="text"] { width:100%; border:0 none; font-size:0.22rem; line-height:0.28rem; height:0.28rem; padding:0.16rem 0.18rem;}
477
.c_list>ul>li .content .value { display:table-cell; line-height:0.22rem; text-align:right; padding-right:0.18rem; vertical-align:middle; color:#888;}
478
.c_list>ul>li .content .value .e_switch { margin-right:-0.12rem;}
479
.c_list>ul>li .content .value .e_segment { margin-right:-0.12rem;}
480
.c_list>ul>li .content .value .e_flip { margin-right:-0.18rem;}
481
.c_list>ul>li .content .value input[type="text"] { width:100%; background:transparent; border:0 none; font-size:0.22rem; line-height:0.22rem; height:0.6rem; box-sizing:border-box; -webkit-box-sizing:border-box; text-align:right; color:#777;}
482
.c_list>ul>li .content .value input[type="range"] { margin-top:0.09rem; margin-left:0.05rem;}
483
.c_list>ul>li .content .value input[type="time"] { color:#888;}
484
.c_list>ul>li .content .value input[type="date"] { color:#888;}
485
.c_list>ul>li .content .value input[type="number"] { text-align:right; font-size:100%; color:#888; width:1rem; vertical-align:middle; border:0 none;}
486
.c_list>ul>li .content .value *::-webkit-input-placeholder { color:#ddd; line-height:0.28rem;}
487
.c_list>ul>li .content .value textarea { width:100%; background:transparent; resize:none; border:0 none; font-size:0.22rem; line-height:0.28rem; padding:0.16rem 0.18rem 0.16rem 0; box-sizing:border-box; -webkit-box-sizing:border-box; text-align:right; color:#777;}
488
.c_list>ul>li .content .value select { width:100%; text-align:right;}
489
.c_list>ul>li .content .value option { text-align:right;}
490
.c_list>ul>li .content .value img { max-width:4rem; max-height:4rem;}
491
.c_list>ul>li .content .value.active .e_switchBar { background:#80c2e8;}
492
.c_list>ul>li .content>.fn { display:table-cell; width:0.6rem; padding:0 0.13rem; box-sizing:border-box; -webkit-box-sizing:border-box; font-size:0.21rem; background:#f7f7f7; border-left:1px solid #eee; text-align:center; vertical-align:middle;}
493
.c_list>ul>li .content>.fn[rowspan] { width:0.8rem;}
494
.c_list>ul>li .content>.fn [class^="e_ico"] { font-size:0.3rem;}
495
.c_list>ul>li .content>.fn-off { background:transparent; border:0 none;}
496
.c_list>ul>li .content>.fn-2 { width:0.72rem;}
497
.c_list>ul>li .content>.fn-4 { width:1.18rem;}
498
.c_list>ul>li .content>.fn-text { width:0.8rem; font-size:0.21rem;}
499
.c_list>ul>li .content>.fn.active { background:#cee6f4;}
500
.c_list>ul>li .content .fn input[type="checkbox"] { font-size:0.3rem; height:0.3rem;}
501
.c_list>ul>li .content>.reduce { display:table-cell; vertical-align:middle; width:0.5rem;}
502
.c_list>ul>li .content>.reduce .e_ico-reduce { background:#f7f7f7; border-radius:50%; padding:0.1rem; font-size:0.3rem; border:1px solid #eee; box-sizing:border-box; -webkit-box-sizing:border-box;}
503
.c_list>ul>li .content>label { display:table-cell;}
504
.c_list>ul>li .content>label.active { background:#cee6f4;}
505
.c_list>ul>li .content .picValue { display:table-cell; text-align:right; padding:0.06rem; vertical-align:middle;}
506
.c_list>ul>li .content .picValue img { height:0.5rem; width:auto;}
507
.c_list>ul>li .content-vertical { display:block; padding:0.18rem; width:auto;}/*营销活动-详情*/
508
.c_list>ul>li .content-vertical .label { display:block; width:auto; padding:0;}
509
.c_list>ul>li .content-vertical .value { display:block; width:auto; text-align:left; margin-top:0.1rem; padding:0;}
510
.c_list>ul>li .content-vertical .value .e_mix { display:block; width:auto;}
511
.c_list>ul>li .content-vertical .value textarea { text-align:left; overflow:visible; padding:0; margin-top:-0.05rem; display:block; font-size:0.18rem; height:0.24rem; line-height:0.24rem;}
512
.c_list>ul>li .content-vertical .value textarea::-webkit-input-placeholder { padding:0; line-height:0.24rem;}
513
.c_list>ul>li .sub { display:table; background:#f7f7f7; font-size:0.18rem; line-height:1.3; padding:0.1rem 0.18rem; border-top:1px solid #ccc; width:100%; box-sizing:border-box; -webkit-box-sizing:border-box;}
514
.c_list>ul>li .sub .main { display:table-cell; vertical-align:middle;}
515
.c_list>ul>li .sub .fn { display:table-cell; text-align:right; vertical-align:middle; padding-left:0.18rem;}
516
.c_list>ul>li .more { display:table-cell; color:#ddd; vertical-align:middle; text-align:left; width:0.36rem;}
517
.c_list>ul>li .more:before { font-family:"base"; content:"\e619"; font-size:0.25rem;}
518
.c_list>ul>li tr { border-bottom:1px solid #ccc;}
519
.c_list>ul>li tr:last-child { border:0 none;}
520
.c_list>ul>li.sp { color:#e40077;}
521
.c_list>ul>li.sp:before { content:""; position:absolute; right:-0.1rem; top:-0.1rem; width:0.2rem; height:0.2rem; background:#e40077; -webkit-transform:rotate(45deg);}
522
.c_list .subList { background:#f7f7f7; border-top:1px solid #ccc; font-size:0.18rem;}/*账单查询*/
523
.c_list .subList li { border-bottom:1px dashed #ccc;}
524
.c_list .subList li:last-child { border:0 none;}
525
.c_list .subList-readOnly .content { min-height:0.33rem;}
526
.c_list .subList-readOnly .content .main { padding-top:0; padding-bottom:0;}
527
.c_list .subList-readOnly .content .side { padding-top:0; padding-bottom:0;}
528
.c_list .subList-readOnly ul { padding-top:0.12rem; padding-bottom:0.12rem;}
529
.c_list .subList-readOnly li { border:0 none;}
530
.c_list .innerList { background:#f7f7f7; font-size:0.18rem; margin-top:0.18rem; border:1px solid #ccc;}
531
.c_list .innerList li { border-bottom:1px solid #ccc;}
532
.c_list .innerList li.active { background:#cee6f4;}
533
.c_list .innerList li:last-child { border:0 none;}
534
.c_list .innerList .main { padding:0.13rem !important;}
535
.c_list .innerList .side { padding:0.13rem !important;}
536
.c_list .innerList .fn { width:0.5rem !important;}
537
.c_list .innerList .fn.active { background:#cee6f4;}
538
/*col*/
539
*[class*="c_list-col"]>ul>li { border-right:1px solid #ccc;}
540
.c_list-col-3>ul>li { width:33.3%; float:left;}/*营业缴费/余额查询*/
541
.c_list-col-3>ul>li:nth-child(3n) { float:none; overflow:hidden; width:auto; border-right:0 none;}
542
.c_list-col-2>ul>li { width:50%; float:left;}/*开户-选号*/
543
.c_list-col-2>ul>li:nth-child(2n) { float:none; overflow:hidden; width:auto; border-right:0 none;}
544
.c_list-col-2 .col-2 { width:100%;}
545
.c_list-col-21>ul>li { width:66.6%; float:left;}/*营业缴费*/
546
.c_list-col-21>ul>li:nth-child(2n) { float:none; overflow:hidden; width:auto; border-right:0 none;}
547
/*euilateral*/
548
.c_list-euilateral.c_list-col-3 li,
549
.c_list-euilateral.c_list-col-3 li .content { height:1.52rem;}
550
.c_list-euilateral.c_list-col-21 li,
551
.c_list-euilateral.c_list-col-21 li .content { height:1.52rem;}
552
/*hasDistance*/
553
.c_list-hasDistance { box-shadow:none; border:0 none; background:transparent;}
554
.c_list-hasDistance>ul { border:0 none; padding-bottom:0.02rem;}
555
.c_list-hasDistance>ul>li { box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); border:1px solid #ccc; margin-top:0.12rem;}
556
.c_list-hasDistance>ul>li:first-child { margin-top:0;}
557
/*chart*/
558
.c_list .chart-1 { border-left:0.08rem solid #ff9523;}
559
.c_list .chart-2 { border-left:0.08rem solid #43a3df;}
560
.c_list .chart-3 { border-left:0.08rem solid #fbe103;}
561
.c_list .chart-4 { border-left:0.08rem solid #8fc320;}
562
.c_list .chart-5 { border-left:0.08rem solid #ff0096;}
563
.c_list .chart-6 { border-left:0.08rem solid #f57300;}
564
.c_list .chart-7 { border-left:0.08rem solid #00d8c6;}
565
.c_list .chart-8 { border-left:0.08rem solid #7080de;}
566
.c_list .chart-9 { border-left:0.08rem solid #c74be6;}
567
.c_list .chart-10 { border-left:0.08rem solid #ff5ce6;}
568

569
.c_table { box-shadow:0 0.02rem 0 rgba(0,0,0,0.1);}/*合约计划-商品详情*/
570
.c_table table { width:100%; border-collapse:collapse;}
571
.c_table table th { font-weight:normal; border:1px solid #ccc; background:#f7f7f7; line-height:1.3; padding:0.08rem 0.12rem;}
572
.c_table table td { font-weight:normal; border:1px solid #ccc; background:#fff; line-height:1.3; padding:0.08rem 0.12rem; word-break:break-all;}
573
.c_table table td.active { background:#cee6f4;}
574
.c_table table tbody th { text-align:left;}
575
.c_table-th-6 th { width:1.09rem;}
576

577
.c_title { padding:0 0.12rem; line-height:0.5rem; overflow:hidden;}
578
.c_title .text { float:left;}
579
.c_title .fn { float:right;}
580

581
.c_chart { position:relative; padding-bottom:0.4rem;}
582
.c_chart canvas { display:block; margin:0.4rem auto 0;}
583
.c_chart .value { width:3rem; height:3rem; margin:-3rem auto 0; box-sizing:border-box; -webkit-box-sizing:border-box; text-align:center; padding-top:1.1rem;}
584
.c_chart .value .main { display:inline-block; font-size:0.7rem; vertical-align:top; line-height:1;}
585
.c_chart .value .sub { display:inline-block; font-size:0.14rem; vertical-align:top; line-height:1; margin-left:-0.23rem; left:0.14rem; position:relative;}
586
.c_chart .value .info { display:block; color:#999;}
587

588
.c_tab { overflow:hidden;}
589
.c_tab>.title { box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); border:1px solid #ccc; background:#fff;}
590
.c_tab>.title ul { display:table; width:100%; table-layout:fixed; border-collapse:collapse; box-sizing:border-box; -webkit-box-sizing:border-box;}
591
.c_tab>.title li { display:table-cell; border-left:1px solid #eee; text-align:center; height:0.6rem; line-height:0.6rem; vertical-align:middle; background:#fff; font-size:0.24rem;}
592
.c_tab>.title li:first-child { border-left:0 none;}
593
.c_tab>.title li.active:not(.on) { background:#eee;}
594
.c_tab>.title li .main { margin-top:-0.05rem;}
595
.c_tab>.title li .sub { opacity:0.6; margin-top:-0.35rem; margin-bottom:-0.1rem; font-size:0.18rem;}
596
.c_tab>.title .on { background:#8fc320; color:#fff; border-color:#78a713;}
597
.c_tab>.title-2 ul { width:200%;}
598
.c_tab>.title-3 ul { width:300%;}
599
.c_tab>.title-4 ul { width:400%;}
600
.c_tab>.title-5 ul { width:500%;}
601
.c_tab>.title-tall li { height:0.65rem;}
602
.c_tab>.pages .page { position:relative;}
603
.c_tab>.pages { -webkit-transition:left 0.4s ease-out; -webkit-transform-style:preserve-3d; position:relative; left:0; overflow:hidden;}
604
.c_tab>.pages-5 { width:500%;}
605
.c_tab>.pages-5 > div { float:left; width:20%;}
606
.c_tab>.pages-4 { width:400%;}
607
.c_tab>.pages-4 > div { float:left; width:25%;}
608
.c_tab>.pages-3 { width:300%;}
609
.c_tab>.pages-3 > div { float:left; width:33.3%;}
610
.c_tab>.pages-2 { width:200%;}
611
.c_tab>.pages-2 > div { float:left; width:50%;}
612
.c_tab>.pages-current-2 { left:-100%;}
613
.c_tab>.pages-current-3 { left:-200%;}
614
.c_tab>.pages-current-4 { left:-400%;}
615
.c_tab>.pages-current-5 { left:-500%;}
616

617
.c_chat { padding:0 0.15rem 0.15rem; overflow:hidden;}
618
.c_chat .u,
619
.c_chat .i { overflow:hidden; margin-top:0.15rem;}
620
.c_chat .head { float:right;}
621
.c_chat .head img { width:0.7rem; height:0.7rem; border-radius:50%;}
622
.c_chat .dialog { max-width:3rem; position:relative; margin-right:0.1rem; float:right; text-align:right;}
623
.c_chat .dialog:after { content:""; clear:both; height:0; display:block;}
624
.c_chat .dialog .info { font-size:0.16rem; color:#999; line-height:0.24rem;}
625
.c_chat .dialog .content { position:relative; display:inline-block; background:#29a6ee; padding:0.1rem 0.15rem; line-height:1.5; margin-top:0.03rem; border-radius:0.05rem; border:1px solid #1f95d8; color:#fff;}
626
.c_chat .dialog .content:after { content:""; position:absolute; right:-0.062rem; top:0.2rem; width:0.1rem; height:0.1rem; background:#29a6ee; border-top:1px solid #1f95d8; border-right:1px solid #1f95d8; -webkit-transform:rotate(45deg);}
627
.c_chat .u .head { float:left;}
628
.c_chat .u .dialog { float:left; margin:0 0 0 0.1rem; text-align:left;}
629
.c_chat .u .dialog .content { color:#333; background:#fff; border-color:#ddd;}
630
.c_chat .u .dialog .content:after { background:#fff; right:auto; left:-0.062rem; border:0 none; border-bottom:1px solid #ddd; border-left:1px solid #ddd;}
631

632
.c_brandTab { box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); line-height:1; border:1px solid #ccc;}
633
.c_brandTab .tab ul { display:table; width:100%; table-layout:fixed; border-collapse:collapse;}
634
.c_brandTab .tab li { display:table-cell; height:0.65rem; vertical-align:middle; text-align:center; background:#fff; border-left:1px solid #eee;}
635
.c_brandTab .tab li:first-child { border-left:0 none;}
636
.c_brandTab .tab li.active { background:#cee6f4;}
637
.c_brandTab .tab .e_brandIco { width:1rem; line-height:0.65rem; height:0.65rem; font-size:1rem; vertical-align:middle; overflow:hidden;}
638
.c_brandTab .tab .gotone.on { background:#1f619e;}
639
.c_brandTab .tab .easyown.on { background:#188282;}
640
.c_brandTab .tab .mzone.on { background:#d99023;}
641
.c_brandTab .tab .mzone.on .e_brandIco:after { text-shadow:none; -webkit-text-shadow:none;}
642
.c_brandTab .tab .on .e_brandIco:before { color:#fff;}
643
.c_brandTab .tab .on .e_brandIco:after { color:#fff;}
644
.c_brandTab .tab .on.gotone { border-bottom-color:#1f619e;}
645
.c_brandTab .tab .on.easyown { border-bottom-color:#188282;}
646
.c_brandTab .tab .on.mzone { border-bottom-color:#d99023;}
647
.c_brandTab>.content { background:#fff; overflow:hidden;}
648
.c_brandTab .package { overflow:hidden; display:table; width:100%;}
649
.c_brandTab .package.active { background:#cee6f4;}
650
.c_brandTab .package .main { display:table-cell; vertical-align:middle; padding:0.18rem; font-size:0.22rem;}
651
.c_brandTab .package .more { display:table-cell; color:#ddd; vertical-align:middle; text-align:left; width:0.45rem;}
652
.c_brandTab .package .more:before { font-family:"base"; content:"\e619"; font-size:0.25rem;}
653
.c_brandTab .summary { padding-bottom:0.18rem;}
654
.c_brandTab .summary ul { display:table; table-layout:fixed; table-layout:fixed; width:100%;}
655
.c_brandTab .summary li { display:table-cell; padding:0.12rem 0; border-right:1px solid #ddd; text-align:center;}
656
.c_brandTab .summary li:last-child { border-right:0 none;}
657
.c_brandTab .summary li .ico { font-size:0.63rem; display:inline-block; vertical-align:middle;}
658
.c_brandTab .summary li .content { display:inline-block; vertical-align:middle;}
659
.c_brandTab .summary .value { white-space:nowrap;}
660
.c_brandTab .summary .value .main { display:inline-block; font-size:0.48rem; vertical-align:top; line-height:1; margin-right:0.05rem;}
661
.c_brandTab .summary .value .sub { display:inline-block; font-size:0.14rem; vertical-align:top; line-height:1; margin-left:-0.23rem; left:0.14rem; position:relative;}
662
.c_brandTab .summary .label { margin-top:0.05rem;}
663
.c_brandTab .detail { line-height:1.4; padding:0 0.18rem 0.18rem;}
664
.c_brandTab .packageTab { background:#1f619e; padding:0.05rem; margin-bottom:0.18rem;}/*合约计划-套餐*/
665
.c_brandTab .packageTab ul { background:rgba(255,255,255,0.8); border-radius:0.05rem; display:table; width:100%; table-layout:fixed; table-layout:fixed;}
666
.c_brandTab .packageTab li { display:table-cell; text-align:center; line-height:0.5rem; font-size:0.24rem;}
667
.c_brandTab .packageTab li:not(.on).active { background:rgba(0,0,0,0.1);}
668
.c_brandTab .packageTab .on { background:rgba(255,255,255,0.7); border-radius:0.05rem;}
669
.c_brandTab .packageTab-easyown { background:#188282;}
670
.c_brandTab .packageTab-mzone   { background:#d99023;}
671

672

673

674
.c_info { margin:0.18rem;}
675
.c_info>ul>li { margin-top:0.06rem; line-height:1.3;}
676

677

678

679
.c_tooltipPointer { position:relative; left:0.2rem; z-index:2; width:0.12rem; height:0.12rem; background:#f7f7f7; -webkit-transform:rotate(45deg); border-left:1px solid #ccc; border-top:1px solid #ccc;}
680
.c_tooltipContent { background:#f7f7f7; padding:0.12rem; border:1px solid #ccc; margin-top:-0.07rem;}
681

682

683

684
.c_toolTip { visibility:hidden; opacity:0; -webkit-transition:opacity 0.5s ease-out,visibility 0.5s ease-out; position:absolute; top:0.5rem; left:0; width:2.2rem; color:#fff;}
685
.c_toolTip>.pointer { position:absolute; left:50%; top:-0.06rem; margin-left:-0.06rem; z-index:2; width:0.12rem; height:0.12rem; background:#e40177; -webkit-transform:rotate(45deg);}
686
.c_toolTip>.content { background:#e40177; border-radius:0.05rem; padding:0.18rem;}
687
.c_toolTip>.content>.ico { width:0.5rem; height:0.5rem; background:#facce4; border-radius:50%; margin:0 auto; line-height:0.5rem; text-align:center; color:#e40177; font-size:0.32rem;}
688
.c_toolTip>.content>.ico [class^="e_ico"] { vertical-align:top;}
689
.c_toolTip>.content>.ico~.detail { margin-top:0.15rem;}
690
.c_toolTip>.content>.detail { line-height:1.5;}
691
.c_toolTip>.content>.submit { text-align:center; margin-top:0.2rem;}
692
.c_toolTip>.content>.submit .e_button { background:#fff; color:#e40177;}
693
.c_toolTip-view { visibility:visible; opacity:1;}
694
.c_toolTip-arrowLeft>.pointer { left:0.2rem; margin:0;}
695
.c_toolTip-arrowRight>.pointer { left:auto; margin:0; right:0.2rem;}
696
.c_toolTip-positionBottom>.pointer { top:auto; bottom:-0.06rem;}
697

698

699

700
.c_scroll { position:relative; overflow:hidden; box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); border:1px solid #ccc; background:#fff;}
701
.c_scroll:not(.c_scroll-mix) .c_article { border:0 none;}
702
.c_scroll:not(.c_scroll-mix) .c_list { border:0 none;}
703
.c_scroll-fixed { position:absolute; left:0; right:0; top:0.6rem; bottom:0; background:transparent; box-shadow:none;}
704
.c_scroll-mix { border:0 none;}
705
.c_scroll-mix .wrapper { padding:0 0.12rem;}
706

707

708
.c_formula { overflow:hidden; line-height:1; text-align:center;}
709
.c_formula .ul { display:inline-block;}
710
.c_formula .li { float:left; text-align:center;}
711
.c_formula .li .value { font-size:0.36rem;}
712
.c_formula .li .label { font-size:0.16rem; margin-top:0.03rem;}
713
.c_formula .symbol { float:left; line-height:0.55rem; margin:0 0.06rem; font-size:0.25rem;}
714

715

716

717
.c_submit { margin-top:0.12rem;}
718
.c_submit ul { display:table; text-align:center; width:100%; table-layout:fixed; border-collapse:collapse;}
719
.c_submit li { display:table-cell; padding:0 0.06rem;}
720
.c_submit li:first-child { padding-left:0;}
721
.c_submit li:last-child { padding-right:0;}
722
.c_submit .e_button { padding:0; width:100%;}
723
.c_submit .e_button-ok,
724
.c_submit .e_button-cancel,
725
.c_submit .e_button-red,
726
.c_submit .e_button-blue { width:100%;}
727

728

729

730
.c_tag { box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); line-height:1; border:1px solid #ccc; background:#fff; overflow:hidden;}
731
.c_tag ul { margin-top:-1px; position:relative; top:1px;}
732
.c_tag ul li { float:left; position:relative; white-space:nowrap; font-size:0.21rem; line-height:0.5rem; padding:0 0.5rem 0 0.15rem; border-right:1px solid #ccc; border-bottom:1px solid #ccc;}
733
.c_tag .delete { position:absolute; right:0.1rem; top:0; color:#eee;}
734
.c_tag .delete:before { font-size:0.3rem; font-family:"base"; content:"\e61d"; display:inline-block; vertical-align:top;}
735
.c_tag .delete.active { color:#333;}
736

737

738

739
.c_picList:after { content:""; display:block; height:0; visibility:hidden; clear:both;}
740
.c_picList ul { margin-left:-0.12rem; margin-top:-0.12rem;}
741
.c_picList li { width:50%; float:left; margin-top:0.12rem;}
742
.c_picList li.active .pic { background:#b2daf1;}
743
.c_picList li.active .pic img { opacity:0.5;}
744
.c_picList li.active .text { background:#b2daf1;}
745
.c_picList li .wrapper { border:1px solid #ccc; margin-left:0.12rem; box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); position:relative;}
746
.c_picList li .pic { background:#fff; position:relative;}
747
.c_picList li .pic img { width:100%;}
748
.c_picList li .text { border-top:1px solid #ccc; background:#f7f7f7; padding:0.12rem;}
749
.c_picList li .text .title { font-size:0.21rem; line-height:1.3;}
750
.c_picList li .text .info { margin-top:0.05rem; line-height:1.3; color:#999;}
751
.c_picList li .net { position:absolute; right:0.12rem; bottom:0; text-shadow:-0.02rem 0rem 0 #fff;}
752
.c_picList li .net:before { font-family:"base"; content:"\e622"; font-size:0.6rem; color:#0085d0;}
753
.c_picList li .net:after { font-family:"base"; content:"\e624"; font-size:0.6rem; position:absolute; left:0; top:0; color:#e40077;}
754
.c_picList li .net span:before { font-family:"base"; content:"\e623"; font-size:0.6rem; position:absolute; left:0; top:0; color:#90c31f;}
755
.c_picList li .net-3g:before { content:"\e621";}
756
.c_picList li .net-3g:after { content:"\e620";}
757
.c_picList li .net-3g span:before { content:"\e61f";}
758
.c_picList li .price { position:absolute; left:0.12rem; top:0; background:#8fc320; color:#fff; font-size:0.24rem; line-height:0.36rem; padding:0 0.12rem;}
759
.c_picList li .price-no { background:#333;}
760
.c_picList li .price-no:before { content:"\7f3a\8d27";}
761
.c_picList li .pirce-sp:before { content:"\7279"; font-size:0.18rem; display:inline-block; width:0.26rem; height:0.26rem; vertical-align:top; margin-top:0.04rem; background:#fff; color:#e40177; border-radius:50%; line-height:0.28rem; text-align:center;}
762
.c_picList li .pirce-sp { background:#e40177;}
763

764
.c_slide .frame { border:1px solid #ddd; box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); overflow:hidden;}
765
.c_slide .frame li { float:left;}
766
.c_slide .frame img { width:100%;}
767
.c_slide .page { text-align:center; margin-top:0.12rem;}
768
.c_slide .page div { display:inline-block; width:0.1rem; height:0.1rem; border-radius:50%; background:#333; opacity:0.3; margin:0 0.05rem;}
769
.c_slide .page .on { opacity:1;}
770
.c_slide-col-4 .frame .wrapper { width:400%;}
771
.c_slide-col-4 .frame li { width:25%;}
772
.c_slide .frame li:last-child { overflow:hidden; width:auto; float:none;}
773

774
.c_article { border:1px solid #ddd; box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); padding:0.12rem; background:#fff; line-height:1.5; position:relative;}
775
.c_article .title { font-size:0.24rem;}
776
.c_article img { width:100%; margin:0.12rem 0;}
777
.c_article img:first-child { margin-top:0;}
778
.c_article hr { height:1px; display:block; background:#ddd; border:0 none; margin:0.12rem 0;}
779
.c_article-noborder { border:0 none; box-shadow:none; background:none;}
780

781
.c_opTip { position:absolute; width:0.5rem; height:0.5rem; background:#e40177; border-radius:50%; text-align:center;}
782
.c_opTip:before { position:relative; -webkit-animation:opTip 1s linear infinite; -webkit-transform-style:preserve-3d; font-family:"base"; content:"\e61e"; color:#fff; font-size:0.32rem; line-height:0.5rem;}
783
@-webkit-keyframes opTip
784
{
785
	0% { left:8px;}
786
	100% { left:-8px;}
787
}
788

789
.c_option { position:fixed; top:-6rem; -webkit-transition:all 0.5s ease-out; -webkit-transform-style:preserve-3d; left:0; width:100%; box-sizing:border-box; -webkit-box-sizing:border-box; background:#f2f2f2; padding:0.12rem; border-bottom:1px solid #ddd; box-shadow:0 0.02rem 0 rgba(0,0,0,0.1);}
790
.c_option-view { top:0;}
791

792

793

794
.c_dialog { position:fixed; left:100%; -webkit-transition:-webkit-transform 0.3s ease-out; -webkit-transform-style:preserve-3d; top:0; background:rgba(0,0,0,0.5); width:100%; height:100%; text-align:center; z-index:1000;}
795
.c_dialog:before { content:""; display:inline-block; height:100%; vertical-align:middle; width:1px; margin-right:-0.06rem;}
796
.c_dialog>.wrapper { text-align:left; vertical-align:middle; display:inline-block; width:4rem; margin:0 auto; padding:0 0.08rem 0.08rem; background:#0085d0; box-shadow:0 0.03rem 0.03rem rgba(0,0,0,0.3);}
797
.c_dialog>.wrapper>.title { height:0.6rem; line-height:0.6rem; overflow:hidden;}
798
.c_dialog>.wrapper>.title .text { color:#fff; font-size:0.21rem; padding:0 0.16rem; float:left;}
799
.c_dialog>.wrapper>.title .close { float:right; line-height:0.6rem; height:0.6rem; text-align:center; width:0.6rem;}
800
.c_dialog>.wrapper>.title .close:before { font-family:"base"; content:"\e625"; font-size:0.32rem; color:#fff;}
801
.c_dialog>.wrapper>.title .close.active { opacity:0.3;}
802
.c_dialog>.wrapper>.content { overflow:hidden; background:#fff;}
803
.c_dialog .submit { margin-top:0.08rem;}
804
.c_dialog .submit ul { display:table; text-align:center; width:100%; table-layout:fixed; border-collapse:collapse;}
805
.c_dialog .submit li { display:table-cell; padding:0 0.04rem;}
806
.c_dialog .submit li:first-child { padding-left:0;}
807
.c_dialog .submit li:last-child { padding-right:0;}
808
.c_dialog .submit .e_button,
809
.c_dialog .submit button { border:0 none; width:100%;}
810
.c_dialog .submit .e_button-cancel { background:#339dd9; color:#fff; box-shadow:inset 0 -0.02rem 0 0 #006aa6;}
811
.c_dialog .submit .e_button-cancel.active { background:#006aa6;}
812
.c_dialog .c_list { margin:-1px;}
813
.c_dialog .c_article { border:0 none;}
814
.c_dialog .c_dl { border:0 none;}
815
.c_dialog .c_spNum { border:0 none;}
816
.c_dialog-view { -webkit-transform:translate(-100%,0);}
817

818
.c_error { -webkit-transition:opacity 1s ease-out,visibility 1s; opacity:1; line-height:1.1; -webkit-transform-style:preserve-3d; position:absolute; top:30%; left:45%; width:100%; height:100%;}
819
.c_error .wrapper { position:absolute; width:5.3rem; left:56%; margin-left:-2.65rem; top:50%; margin-top:-90%; text-align:center;}
820
.c_error .logo { top:0; position:relative; color:#fff;}
821
.c_error .dot:before { font-size:3.3rem; content:"\e607"; font-family:"base"; color:#e40077; position:relative; z-index:1;}
822
.c_error .sad { position:absolute; left:50%; margin-left:-0.33rem; top:4.6rem; text-indent:0; z-index:1;}
823
.c_error .sad:before { position:absolute; left:0; top:0; content:"\e626"; font-size:0.66rem; font-family:"base";}
824
.c_error .building { position:absolute; left:50%; margin-left:-0.33rem; top:4.6rem; text-indent:0; z-index:1;}
825
.c_error .building:before { position:absolute; left:0.1rem; top:-1.7rem; content:"\e62d"; font-size:0.44rem; font-family:"base";}
826
.c_error .text { position:relative;}
827
.c_error .text .title { font-size:0.33rem; margin-top:0.4rem;}
828
.c_error .text .tip { font-size:0.16rem; margin-top:0.15rem; color:#888;}
829
.c_error .submit { margin:0.5rem auto 0; width:3rem;}
830
.c_error .submit ul { display:table; text-align:center; width:100%; table-layout:fixed; border-collapse:collapse;}
831
.c_error .submit li { display:table-cell; padding:0 0.06rem;}
832
.c_error .submit li:first-child { padding-left:0;}
833
.c_error .submit li:last-child { padding-right:0;}
834

835

836

837
.c_loading { position:absolute; width:100%; height:2rem; top:50%; margin-top:-1.5rem; text-align:center;}
838
.c_loading .pic { width:1.6rem; height:1.6rem; margin:0.3rem auto 0; background:url(../img/loading.gif) no-repeat center center; background-size:100% 100%; -webkit-background-size:100% 100%;}
839
.c_loading .text { margin-top:0.1rem; color:#333; font-size:0.24rem;}
840

841

842

843
.c_tip:after { content:""; display:block; height:0; visibility:hidden; clear:both;}
844
.c_tip .ico { float:left; margin-right:0.12rem; background:#fff; border-radius:50%; line-height:1; padding:0.03rem; font-size:0.6rem; box-shadow:0 1px 1px rgba(0,0,0,0.3);}
845
.c_tip .ico:before { font-family:"base"; content:"\e61b"; vertical-align:top; color:#8fc320;}
846
.c_tip .content { overflow:hidden;}
847
.c_tip .main { font-size:0.32rem; margin-top:0.05rem;}
848
.c_tip .sub { font-size:0.17rem; margin-top:0.05rem; color:#888;}
849

850
.c_dl { background:#fff; box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); border:1px solid #ccc; box-sizing:border-box; -webkit-box-sizing:border-box; position:relative;}
851
.c_dl .wrapper { padding:0.67em;}
852
.c_dl ul { margin-top:0.18rem;}
853
.c_dl ul:first-child { margin:0;}
854
.c_dl ul>li { line-height:1.3; margin-top:0.05rem; overflow:hidden;}
855
.c_dl ul>li:first-child { margin-top:0;}
856
.c_dl .label { float:left; width:1.14rem; text-align:right;}
857
.c_dl .value { overflow:hidden; color:#888;}
858
.c_dl.e_size .label { width:1.52rem;}
859

860
.c_link .title { margin:0 -0.12rem; text-align:center; position:relative; color:#999;}
861
.c_link .title:before { content:""; position:absolute; width:100%; left:-50%; margin-left:-0.45rem; top:0.08rem; height:1px; background:#ccc;}
862
.c_link .title:after { content:""; position:absolute; width:100%; right:-50%; margin-right:-0.45rem; top:0.08rem; height:1px; background:#ccc;}
863
.c_link .content ul { display:table; table-layout:fixed; width:100%;}
864
.c_link .content li { display:table-cell; text-align:center; padding:0.12rem 0.06rem 0;}
865
.c_link .content .pic { border-radius:50%; position:relative; background:#fff; display:inline-block; width:0.64rem; height:0.64rem; line-height:0.64rem; font-size:0.4rem; box-shadow:0 0.01rem 0.01rem rgba(0,0,0,0.2);}
866
.c_link .content .pic:before { content:""; position:absolute; top:0; left:0; width:100%; height:100%; border:1px solid #ddd; border-radius:50%; box-sizing:border-box; -webkit-box-sizing:border-box;}
867
.c_link .content .text { line-height:1.2; margin-top:0.1rem; font-size:0.14rem;}
868
.c_link .content li.active .pic { background:#eee;}
869

870
.c_spNum { border:1px solid #ccc; background:#fff; padding:0.2rem 0.2rem 0.3rem;}
871
.c_spNum .num { font-size:0.3rem;}
872
.c_spNum .info { overflow:hidden; margin-top:0.05rem;}
873
.c_spNum .info li { float:left; margin-right:0.18rem;}
874
.c_spNum .brand { margin-top:0.2rem; overflow:hidden; text-align:center;}
875
.c_spNum .brand li { float:left; width:33.33%; box-sizing:border-box; -webkit-box-sizing:border-box; border-left:1px solid #ddd;}
876
.c_spNum .brand li:first-child { border-left:0 none;}
877
.c_spNum .brand li .e_brandIco { opacity:0.2; overflow:hidden; font-size:0.9rem; height:0.4rem; line-height:0.4rem;}
878
.c_spNum .brand li .e_brandIco:before {}
879
.c_spNum .brand .on .e_brandIco { opacity:1;}
880

881

882

883
.c_editor { background:#fff; border:1px solid #ccc; box-shadow:inset 0 0.02rem 0 rgba(0,0,0,0.1);}
884
.c_editor textarea { border:0 none; width:100%; padding:0.18rem; background:transparent; box-sizing:border-box; -webkit-box-sizing:border-box; resize:none; height:3rem; font-size:0.18rem; line-height:1.5;}
885

886

887

888
.c_nodata { background:#fff; border:1px solid #ccc; color:#aaa; box-shadow:0 0.02rem 0 rgba(0,0,0,0.1); height:4rem; width:100%; display:table; box-sizing:border-box; -webkit-box-sizing:border-box;}
889
.c_nodata .wrapper { display:table-cell; text-align:center; vertical-align:middle;}
890
.c_nodata [class^="e_ico"] { font-size:0.8rem;}
891
.c_nodata .text { margin-top:0.18rem; font-size:0.21rem;}
892
.c_nodata button { }
893

894

895

896
.c_dropmenu { position:fixed; overflow:hidden; padding:0 0.04rem 0.06rem; z-index:100; top:-100rem; left:-100rem;}
897
.c_dropmenu ul { background:#fff; box-shadow:0 0.02rem 0.04rem rgba(0,0,0,0.3); position:relative;}
898
.c_dropmenu li { padding:0 0.18rem; line-height:0.5rem; font-size:0.18rem;}
899
.c_dropmenu li.active { color:#fff; background:#0085d0;}
900

901

902
.c_space { height:0.12rem;}
903

904

905

906
/*layout*/
907
.l_mt { margin-top:0.12rem;}
908
.l_omt { margin-top:-0.12rem;}
909
.l_ct { margin-top:-1px;}
910

911
.l_pagesWrapper { overflow:hidden;}
912
.l_page { -webkit-transition:left 0.4s ease-out; -webkit-transform-style:preserve-3d; position:relative; left:0; overflow:hidden;}
913
.l_page-5 { width:500%;}
914
.l_page-5 > div { float:left; width:20%;}
915
.l_page-4 { width:400%;}
916
.l_page-4 > div { float:left; width:25%;}
917
.l_page-3 { width:300%;}
918
.l_page-3 > div { float:left; width:33.33333333%;}
919
.l_page-2 { width:200%;}
920
.l_page-2 > div { float:left; width:50%;}
921
.l_page-current-2 { left:-100%;}
922
.l_page-current-3 { left:-200%;}
923
.l_page-current-4 { left:-400%;}
924
.l_page-current-5 { left:-500%;}

BIN
multiple-client/assets/local/res/img/base.ttf


+ 25 - 0
multiple-client/assets/local/welcome.html

@ -0,0 +1,25 @@
1
<!DOCTYPE HTML>
2
<html class="s_bs">
3
<head>
4
	<meta charset="utf-8" />
5
	<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
6
	<title>导航</title>
7
	<link href="res/css/base.css" rel="stylesheet" type="text/css" />
8
	<link href="biz/css/project.css" rel="stylesheet" type="text/css" />
9
</head>
10
<body>
11

12
<div class="m_welcome">
13
	<div class="slogan"></div>
14
	<div class="logo"></div>
15
</div>
16
<script>
17
var rootNode = window.document.documentElement;
18
function setRatio() {
19
	rootNode.style.fontSize = rootNode.offsetHeight / 820 * 100 + "px";
20
}
21
window.addEventListener("load",setRatio,false);
22
window.addEventListener("resize",setRatio,false);
23
</script>
24
</body>
25
</html>

+ 101 - 0
multiple-client/assets/mobile-action.xml

@ -0,0 +1,101 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<actions>
3
    <!-- MobileBasic -->
4
	<action name="call" class="com.wade.mobile.func.MobileBasic" method="call"/>
5
	<action name="beep" class="com.wade.mobile.func.MobileBasic" method="beep"/>
6
	<action name="sms" class="com.wade.mobile.func.MobileBasic" method = "sms"/>
7
	<action name="shock" class="com.wade.mobile.func.MobileBasic" method="shock"/>
8
	<!-- MobileApp -->
9
	<action name="close" class="com.wade.mobile.func.MobileApp" method="close"/>
10
	<!-- MobileNetWork -->
11
	<action name="httpGet" class="com.wade.mobile.func.MobileNetWork" method="httpGet"></action>
12
	<action name="dataRequest" class="com.wade.mobile.func.MobileNetWork" method="dataRequest"/>
13
	<action name="httpRequest" class="com.wade.mobile.func.MobileNetWork" method="httpRequest"/>
14
	<action name="storageDataByThread" class="com.wade.mobile.func.MobileNetWork" method="storageDataByThread"/>
15
	<action name="httpDownloadFile" class="com.wade.mobile.func.MobileNetWork" method = "httpDownloadFile"/>
16
	<action name="shareByBluetooth" class="com.wade.mobile.func.MobileNetWork" method="shareByBluetooth"></action>
17
	<!-- MobileUI -->
18
	<action name="tip" class="com.wade.mobile.func.MobileUI" method="tip"/>
19
	<action name="openUrl" class="com.wade.mobile.func.MobileUI" method="openUrl"/>
20
	<action name="openPage" class="com.wade.mobile.func.MobileUI" method="openPage"/>
21
	<action name="openTemplate" class="com.wade.mobile.func.MobileUI" method="openTemplate"/>
22
	<action name="getTemplate" class="com.wade.mobile.func.MobileUI" method="getTemplate"/>
23
	<action name="back" class="com.wade.mobile.func.MobileUI" method="back"/>
24
	<action name="loadingStart" class="com.wade.mobile.func.MobileUI" method="loadingStart"/>
25
	<action name="loadingStop" class="com.wade.mobile.func.MobileUI" method="loadingStop"/>
26
	<action name="getDate" class="com.wade.mobile.func.MobileUI" method="getDate"/>
27
	
28
	<action name="openWindow" class="com.wade.mobile.func.MobileUI" method="openWindow"/>
29
	<action name="closeWindow" class="com.wade.mobile.func.MobileUI" method="closeWindow"/>
30
	<action name="openDialog" class="com.wade.mobile.func.MobileUI" method="openDialog"/>
31
	<action name="closeDialog" class="com.wade.mobile.func.MobileUI" method="closeDialog"/>
32
	<action name="openSlidingMenu" class="com.wade.mobile.func.MobileUI" method="openSlidingMenu"/>
33
	<action name="closeSlidingMenu" class="com.wade.mobile.func.MobileUI" method="closeSlidingMenu"/>
34
	
35
	<!-- SoftKeyBoard -->
36
	<action name="showKeyBoard" class="com.wade.mobile.func.SoftKeyBoard" method="showKeyBoard"/>
37
	<action name="hideKeyBoard" class="com.wade.mobile.func.SoftKeyBoard" method="hideKeyBoard"/>
38
	<action name="toggleKeyBoard" class="com.wade.mobile.func.SoftKeyBoard" method="toggleKeyBoard"/>
39
	<!-- MobileCamera -->
40
	<action name="getPhoto" class="com.wade.mobile.func.MobileCamera" method="getPhoto"/>
41
	<action name="getPicture" class="com.wade.mobile.func.MobileCamera" method="getPicture"/>
42
	<action name="getBase64Picture" class="com.wade.mobile.func.MobileCamera" method="getBase64Picture"/>
43
	<action name="getCompressPicture" class="com.wade.mobile.func.MobileCamera" method="getCompressPicture"/>
44
	<action name="scanQrCode" class="com.wade.mobile.func.MobileCamera" method="scanQrCode"/>
45
	<action name="createQrCode" class="com.wade.mobile.func.MobileCamera" method="createQrCode"/>
46
	<!-- MobileInfo -->
47
	<action name="getSysInfo" class="com.wade.mobile.func.MobileInfo" method="getSysInfo"/>
48
	<action name="getNetInfo" class="com.wade.mobile.func.MobileInfo" method="getNetInfo"/>
49
	<action name="getDirection" class="com.wade.mobile.func.MobileInfo" method="getDirection"/>
50
	<!-- SwitchActivity -->
51
	<action name="browserFile" class="com.ailk.mobile.client.func.SwitchActivity" method = "browserFile"/>
52
	<action name="openDisplayPage" class="com.ailk.mobile.client.func.SwitchActivity" method = "openDisplayPage"/>
53
	<!-- MobileMap -->
54
	<action name="location" class="com.wade.mobile.func.MobileMap" method="location"/>
55
	<action name="markMap" class="com.wade.mobile.func.MobileMap" method="markMap"/>
56
	<action name="selectLocation" class="com.wade.mobile.func.MobileMap" method="selectLocation"/>
57
	<!-- MobileStorage -->
58
	<action name="removeMemoryCache" class="com.wade.mobile.func.MobileStorage" method="removeMemoryCache"></action>
59
	<action name="clearMemoryCache" class="com.wade.mobile.func.MobileStorage" method="clearMemoryCache"></action>
60
	<action name="setMemoryCache" class="com.wade.mobile.func.MobileStorage" method="setMemoryCache"></action>
61
	<action name="getMemoryCache" class="com.wade.mobile.func.MobileStorage" method="getMemoryCache"></action>
62
	<action name="setOfflineCache" class="com.wade.mobile.func.MobileStorage" method="setOfflineCache"/>
63
	<action name="getOfflineCache" class="com.wade.mobile.func.MobileStorage" method="getOfflineCache"/>
64
	<action name="removeOfflineCache" class="com.wade.mobile.func.MobileStorage" method="removeOfflineCache"/>
65
	<action name="clearOfflineCache" class="com.wade.mobile.func.MobileStorage" method="clearOfflineCache"/>
66
	<!-- MobileFile -->
67
	<action name="writeFile" class="com.wade.mobile.func.MobileFile" method="writeFile"></action>
68
	<action name="appendFile" class="com.wade.mobile.func.MobileFile" method="appendFile"></action>
69
	<action name="readFile" class="com.wade.mobile.func.MobileFile" method="readFile"></action>
70
	<action name="openFile" class="com.wade.mobile.func.MobileFile" method="openFile"></action>
71
	<action name="deleteFile" class="com.wade.mobile.func.MobileFile" method="deleteFile"></action>
72
	<action name="openFile" class="com.wade.mobile.func.MobileFile" method="openFile"/>
73
	<action name="getAllFile" class="com.wade.mobile.func.MobileFile" method="getAllFile" />
74
	
75
	<!-- added by yangsk -->
76
	<action name="openAnimation" class="com.ailk.mobile.client.func.SettingPlugin" method="openAnimation"/>
77
	<action name="shutAnimation" class="com.ailk.mobile.client.func.SettingPlugin" method="shutAnimation"/>
78
	<action name="setTitleText" class="com.ailk.mobile.client.func.BizPlugin" method="setBizTitle"/>
79
	
80
	<!-- audio -->
81
	<action name="audioRecord" class="com.wade.mobile.func.MobileAudio" method="audioRecord"/>
82
	<action name="audioPlay" class="com.wade.mobile.func.MobileAudio" method="audioPlay"/>
83
	
84
	<action name="openApp" class="com.ai.mobile.func.OpenOtherApp" method="openApp"></action>
85
	
86
	<!-- MobileDB -->
87
	<action name="execSQL" class="com.wade.mobile.func.MobileDB" method="execSQL"></action>
88
	<action name="insert" class="com.wade.mobile.func.MobileDB" method="insert"></action>
89
	<action name="delete" class="com.wade.mobile.func.MobileDB" method="delete"></action>
90
	<action name="update" class="com.wade.mobile.func.MobileDB" method="update"></action>
91
	<action name="select" class="com.wade.mobile.func.MobileDB" method="select"></action>
92
	<action name="selectFirst" class="com.wade.mobile.func.MobileDB" method="selectFirst"></action>
93
	
94
	<!-- MobilePush -->
95
	<action name="registerForPush" class="com.ai.mobile.im.func.MobilePush" method="registerForPush"></action>
96
	<action name="unregisterForPush" class="com.ai.mobile.im.func.MobilePush" method="unregisterForPush"></action>
97
	<action name="sendText" class="com.ai.mobile.im.func.MobilePush" method="sendText"></action>
98
	<action name="setCallbackForPush" class="com.ai.mobile.im.func.MobilePush" method="setCallbackForPush"></action>
99
	
100
	<action name="openNativeApp" class="com.ai.mobile.multiple.func.AppManagePlugin" method="openNativeApp"></action>
101
</actions>

+ 41 - 0
multiple-client/assets/mobile-config.xml

@ -0,0 +1,41 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<configs>
3
    <!-- 请求主机名或请求地址。包括服务器的ip地址和端口 -->
4
	<!-- <config name="request_host" value="http://192.168.1.102:8080"/> -->
5
	<!-- 必须。10.0.2.2为Android模拟器的保留ip地址。访问到本机电脑时使用 -->
6
	<config name="request_host" value="http://10.0.2.2:8080"/>
7
	<!-- 必须。容器应用名或请求根路径 -->
8
	<config name="request_path" value="/mult"/>
9
	<!-- 必须。数据接口的servlet路径 -->
10
	<config name="request_servlet" value="/mobiledata"/>
11
	<!-- 非必须,默认应用名。sd卡上的应用根目录名字,解决应用中文名的问题 -->
12
	<config name="app_path" value="display-client"/>
13
	<!-- 非必须,默认UTF-8。 应用需要用到的编码 -->
14
	<config name="encode" value="UTF-8"/>
15
	<!-- 非必须, 默认false。是否开启多WebView模式 -->
16
	<config name="is_mult_webview" value="true"/>
17
	<!-- 必须。应用license -->
18
	<config name="license" value="CJQ5xBaOLbIH7B8TvYp5TjYY1U/cXVjjNHLYcu8KsiHx8izJ201pfKaAMii7oHJj1y0BCTwXd2fYbRYu9LZv/bWwX6c0TkGnvMVdBF/1mQneGjSPiJcOkAExPMx6UZAm8pKc0IEwOhduQbsKs/jgvNIj8sroeDcjVDbSpg2eG1Y=|@@MDA4NThFNzYxNTA3NjIwQkM2NzEyMkVEQzc2QjA3N0FEQzczNzU4ODVBQjRBN0I4MjIyRTZBNzg2QjA2MjIxNUIxMDZGMTI1OURCQTNBM0Q4QjZCQjg3NjEyMTc5RUQ0MzcwNDMzRDUzODE0Qjg5NkE4NUM3QTkxNEExMEE1RUYzOTdDQ0Y3Qzc4NTEyRkQzQjhENDUyOTEzQTVGMEQ5MzRBODAzRDRGNUNDRkFGMDQwNEI2MTIzQ0M2RThFQUZFQzQ2NThFOTI3MzEwNkFGREI1NDU3Q0U0RjE1OTZGRjU0QzM5NENBN0I5MzY5Q0RGODQ2OTdERTEyQzRCRDg1NEQ3" ></config>
19
	<!-- 非必须。进入应用时的欢迎页面 --><!-- file:///android_asset为固定写法,表示工程的asset目录 -->
20
	<config name="loading_page" value="file:///android_asset/local/welcome.html"/>
21
	<!-- 非必须。更新应用的url -->
22
	<config name="update_url" value="setup/display-client.apk"/>
23
	<!-- 推送平台服务地址 -->
24
	<config name="push_address" value="114.215.100.48"/>
25
	<!-- 推送平台服务端口 -->
26
	<config name="push_port" value="23456"/>
27
	
28
	<!-- 非必须,默认2。缓存模式 --><!-- APP_CACHE_MODE -1:LOAD_DEFAULT,0:LOAD_NORMAL,1:LOAD_CACHE_ELSE_NETWORK,2:LOAD_NO_CACHE,3:LOAD_CACHE_ONLY -->
29
	<config name="cache_mode" value="2"/>
30
	<!-- *********非模板引擎时使用的配置********* -->
31
	<!-- 非必须,默认false。页面过渡是否显示loading对话框 -->
32
	<config name="is_loading_dialog" value="false"/>
33
	<!-- 非必须。页面过渡的loading图片 -->
34
	<config name="loading_bg_image" value=""/>
35
	<!-- 非必须,默认false。页面加载超时是否弹出重试对话框 -->
36
	<config name="is_overtime_retry" value="false"/>
37
	<!-- 非必须,默认20000。页面加载的超时时间 -->
38
	<config name="loadurl_timeout" value="20000"/>
39
	<!-- 非必须,默认false。打开调试模式,不再比对资源版本,客户端每次下载所有资源-->
40
	<!-- <config name="is_debug" value="true"/> -->
41
</configs>

+ 20 - 0
multiple-client/proguard-project.txt

@ -0,0 +1,20 @@
1
# To enable ProGuard in your project, edit project.properties
2
# to define the proguard.config property as described in that file.
3
#
4
# Add project specific ProGuard rules here.
5
# By default, the flags in this file are appended to flags specified
6
# in ${sdk.dir}/tools/proguard/proguard-android.txt
7
# You can edit the include path and order by changing the ProGuard
8
# include property in project.properties.
9
#
10
# For more details, see
11
#   http://developer.android.com/guide/developing/tools/proguard.html
12
13
# Add any project specific keep options here:
14
15
# If your project uses WebView with JS, uncomment the following
16
# and specify the fully qualified class name to the JavaScript interface
17
# class:
18
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19
#   public *;
20
#}

+ 16 - 0
multiple-client/project.properties

@ -0,0 +1,16 @@
1
# This file is automatically generated by Android Tools.
2
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3
#
4
# This file must be checked in Version Control Systems.
5
#
6
# To customize properties used by the Ant build system edit
7
# "ant.properties", and override values to adapt the script to your
8
# project structure.
9
#
10
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12
13
# Project target.
14
target=android-19
15
android.library.reference.1=..\\..\\..\\git\\android-share\\wade-mobile-lib
16
android.library.reference.2=../../../git/android/wade-mobile-com

BIN
multiple-client/res/drawable-hdpi/ic_launcher.png


BIN
multiple-client/res/drawable-mdpi/ic_launcher.png


BIN
multiple-client/res/drawable-xhdpi/ic_launcher.png


+ 16 - 0
multiple-client/res/layout/activity_main.xml

@ -0,0 +1,16 @@
1
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2
    xmlns:tools="http://schemas.android.com/tools"
3
    android:layout_width="match_parent"
4
    android:layout_height="match_parent"
5
    android:paddingBottom="@dimen/activity_vertical_margin"
6
    android:paddingLeft="@dimen/activity_horizontal_margin"
7
    android:paddingRight="@dimen/activity_horizontal_margin"
8
    android:paddingTop="@dimen/activity_vertical_margin"
9
    tools:context=".MainActivity" >
10

11
    <TextView
12
        android:layout_width="wrap_content"
13
        android:layout_height="wrap_content"
14
        android:text="@string/hello_world" />
15

16
</RelativeLayout>

+ 9 - 0
multiple-client/res/menu/main.xml

@ -0,0 +1,9 @@
1
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
2

3
    <item
4
        android:id="@+id/action_settings"
5
        android:orderInCategory="100"
6
        android:showAsAction="never"
7
        android:title="@string/action_settings"/>
8

9
</menu>

BIN
multiple-client/res/raw/public_key


+ 8 - 0
multiple-client/res/values-sw600dp/dimens.xml

@ -0,0 +1,8 @@
1
<resources>
2

3
    <!--
4
         Customize dimensions originally defined in res/values/dimens.xml (such as
5
         screen margins) for sw600dp devices (e.g. 7" tablets) here.
6
    -->
7

8
</resources>

+ 9 - 0
multiple-client/res/values-sw720dp-land/dimens.xml

@ -0,0 +1,9 @@
1
<resources>
2

3
    <!--
4
         Customize dimensions originally defined in res/values/dimens.xml (such as
5
         screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
6
    -->
7
    <dimen name="activity_horizontal_margin">128dp</dimen>
8

9
</resources>

+ 11 - 0
multiple-client/res/values-v11/styles.xml

@ -0,0 +1,11 @@
1
<resources>
2

3
    <!--
4
        Base application theme for API 11+. This theme completely replaces
5
        AppBaseTheme from res/values/styles.xml on API 11+ devices.
6
    -->
7
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
8
        <!-- API 11 theme customizations can go here. -->
9
    </style>
10

11
</resources>

+ 12 - 0
multiple-client/res/values-v14/styles.xml

@ -0,0 +1,12 @@
1
<resources>
2

3
    <!--
4
        Base application theme for API 14+. This theme completely replaces
5
        AppBaseTheme from BOTH res/values/styles.xml and
6
        res/values-v11/styles.xml on API 14+ devices.
7
    -->
8
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
9
        <!-- API 14 theme customizations can go here. -->
10
    </style>
11

12
</resources>

+ 7 - 0
multiple-client/res/values/dimens.xml

@ -0,0 +1,7 @@
1
<resources>
2

3
    <!-- Default screen margins, per the Android Design guidelines. -->
4
    <dimen name="activity_horizontal_margin">16dp</dimen>
5
    <dimen name="activity_vertical_margin">16dp</dimen>
6

7
</resources>

+ 8 - 0
multiple-client/res/values/strings.xml

@ -0,0 +1,8 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<resources>
3

4
    <string name="app_name">multiple-client</string>
5
    <string name="action_settings">Settings</string>
6
    <string name="hello_world">Hello world!</string>
7

8
</resources>

+ 20 - 0
multiple-client/res/values/styles.xml

@ -0,0 +1,20 @@
1
<resources>
2

3
    <!--
4
        Base application theme, dependent on API level. This theme is replaced
5
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
6
    -->
7
    <style name="AppBaseTheme" parent="android:Theme.Light">
8
        <!--
9
            Theme customizations available in newer API levels can go in
10
            res/values-vXX/styles.xml, while customizations related to
11
            backward-compatibility can go here.
12
        -->
13
    </style>
14

15
    <!-- Application theme. -->
16
    <style name="AppTheme" parent="AppBaseTheme">
17
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
18
    </style>
19

20
</resources>

+ 67 - 0
multiple-client/src/com/ai/mobile/multiple/MainActivity.java

@ -0,0 +1,67 @@
1
package com.ai.mobile.multiple;
2

3
import android.os.Bundle;
4
import android.view.View;
5

6
import com.wade.mobile.app.AppRecord;
7
import com.wade.mobile.app.MobileOperation;
8
import com.wade.mobile.app.MobileUtil;
9
import com.wade.mobile.frame.activity.TemplateMainActivity;
10
import com.wade.mobile.frame.config.MobileConfig;
11
import com.wade.mobile.frame.template.TemplateWebView;
12
import com.wade.mobile.ui.comp.dialog.ConfirmBlockDialog;
13
import com.wade.mobile.ui.view.FlipperLayout;
14
import com.wade.mobile.util.Messages;
15

16
public class MainActivity extends TemplateMainActivity {
17
	@Override
18
	public void onCreate(Bundle savedInstanceState) {
19
		setTheme(R.style.Theme_Sherlock_Light);
20

21
		if (AppRecord.isFirst(this) && !MobileUtil.checkWifiActive(this)) {
22
			ConfirmBlockDialog dialog = new ConfirmBlockDialog(this, "下载提醒",
23
					"即将下载应用资源,连接wifi将为您节省流量,是否继续下载");
24
			dialog.show();
25
			
26
			if (dialog.getResult() == ConfirmBlockDialog.Result.OK) {
27
				super.onCreate(savedInstanceState);
28
			} else {
29
				MobileOperation.exitApp();
30
			}
31
		} else {
32
			super.onCreate(savedInstanceState);
33
		}
34
	}
35

36
	@Override
37
	public void onBackPressed() {
38
		/*if(getSlidingMenu().isOpen()){
39
			getSlidingMenu().closeSlidingMenu();
40
			return true;
41
		}*/
42
		
43
		FlipperLayout flipperLayout= getFlipperLayout();
44
		if(flipperLayout!=null){
45
			if(flipperLayout.isCanBack()){
46
				flipperLayout.back();
47
				return;
48
			}
49
		}
50
		getWadeMobileClient().shutdownByConfirm(Messages.CONFIRM_CLOSE);
51
	}
52

53
	// 重写 setWelcomePage 方法 解决2.3版本中 welcome界面右边空白
54
	protected boolean setLoadingPage() {
55
		String welcome = MobileConfig.getInstance().getLoadingPage();
56
		if (welcome != null) {
57
			TemplateWebView templateWebView = new TemplateWebView(this);
58
			templateWebView.loadUrl(welcome);
59
			templateWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
60
			setContentView(templateWebView);
61
			return true;
62
		} else {
63
			return false;
64
		}
65
	}
66
}
67


+ 35 - 0
multiple-client/src/com/ai/mobile/multiple/func/AppManagePlugin.java

@ -0,0 +1,35 @@
1
package com.ai.mobile.multiple.func;
2

3
import org.json.JSONArray;
4

5
import android.content.ComponentName;
6
import android.content.Intent;
7

8
import com.wade.mobile.frame.IWadeMobile;
9
import com.wade.mobile.frame.plugin.Plugin;
10

11
public class AppManagePlugin extends Plugin{
12

13
	public AppManagePlugin(IWadeMobile wademobile) {
14
		super(wademobile);
15
	}
16

17
	public void openNativeApp(JSONArray params)throws Exception{
18
		String packageName = params.getString(0);
19
		String className = params.getString(1);
20
		String param = params.getString(2);
21
		
22
		ComponentName cn = new ComponentName(packageName, className);
23
		Intent intent = new Intent();
24
		/*
25
		 * 传递公共参数,如:tokenId 
26
		 */
27
		intent.setComponent(cn);
28
		startActivityForResult(intent, 2); 
29
		try{
30
			
31
		}catch(Exception e){
32
			/*如果应用不存在则需要下载,配置需要提供下载的url*/
33
		}
34
	}
35
}