mobilemode.api_wev8.js
5.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
define(["mUtil", "mApi/basic", "mApi/custom"], function (mUtil, apiBasic, apiCustom) {
var MOD = {
popup: "mApi/popup",
form: "mApi/form",
jump: "mApi/jump",
sql: "mApi/sql",
refresh: "mApi/refresh",
qrcode: "mApi/qrcode",
lbs: "mApi/lbs",
lbs4amap: "mApi/lbs4amap",
msgpush: "mApi/msgpush",
other: "mApi/other",
mService: "mService"
};
function factory(modName, methodName) {
var beforeArgs = [].slice.call(arguments); // 方法预设固有参数 如openLBSWin方法
beforeArgs = beforeArgs.slice(2);
return function () {
var deferred = $.Deferred();
var args = [].slice.call(arguments); // 调用时的传参
require([modName], function (mod) {
$.when(mod[methodName].apply(mod, [].concat(beforeArgs, args)))
.done(function() {
deferred.resolve.apply(null, arguments);
})
});
return deferred;
};
}
var Mobile_NS = {
/* api.basic */
ajax: apiBasic.ajax,
openUrl: apiBasic.openUrl,
getParameter: apiBasic.getParameter,
getCurrUser: apiBasic.getCurrUser,
getCurrentPageId: apiBasic.getCurrentPageId,
backPage: apiBasic.backPage,
eval: apiBasic.eval,
login: apiBasic.login,
callApi: apiBasic.callApi,
getWechatUserInfo: apiBasic.getWechatUserInfo,
getGlobalVar: apiBasic.getGlobalVar,
/* api.popup */
msg: factory(MOD.popup, "msg"),
alert: factory(MOD.popup, "alert"),
Alert: factory(MOD.popup, "Alert"),
confirm: factory(MOD.popup, "confirm"),
Confirm: factory(MOD.popup, "Confirm"),
prompt: factory(MOD.popup, "prompt"),
showLoader: factory(MOD.popup, "showLoader"),
hideLoader: factory(MOD.popup, "hideLoader"),
footerMenu: factory(MOD.popup, "footerMenu"),
dropDownMenu: factory(MOD.popup, "dropDownMenu"),
/* api.form */
getFormField: function (n, c, i) {
var f = require("mApi/form");
return f.getField(n, c, i);
},
formSubmit: factory(MOD.form, "submit"),
formDelete: factory(MOD.form, "deleteData"),
datePicker: factory(MOD.form, "wrapToDatetime"),
toggle: factory(MOD.form, "wrapToToggle"),
/* api.jump */
backToHomepage: factory(MOD.jump, "backToHomepage"),
createTopfloorPage: factory(MOD.jump, "createTopfloorPage"),
closeTopfloorPage: factory(MOD.jump, "closeTopfloorPage"),
openUrlLeftReplace: factory(MOD.jump, "openUrlLeftReplace"),
openUrlRightReplace: factory(MOD.jump, "openUrlRightReplace"),
openWebView: factory(MOD.jump, "openWebView"),
/* api.sql */
SQL: factory(MOD.sql, "run"),
/* api.refresh */
refresh: factory(MOD.refresh, "refresh"),
refreshList: factory(MOD.refresh, "refreshList"),
refreshPrevPageList: factory(MOD.refresh, "refreshPrevPageList"),
refreshSpecifiedList: factory(MOD.refresh, "refreshSpecifiedList"),
triggerRefresh: factory(MOD.refresh, "triggerRefresh"),
refreshCalendar: factory(MOD.refresh, "refreshCalendar"),
triggerLazyLoad: factory(MOD.refresh, "triggerLazyLoad"),
refreshRemind: factory(MOD.refresh, "refreshRemind"),
/* api.qrcode */
scanQRCode: factory(MOD.qrcode, "scan"),
/* api.lbs */
getCurrentPosition: factory(MOD.lbs, "getCurrentPosition"),
getCurrPosition: factory(MOD.lbs4amap, "getCurrPosition"),
/* api.msgpush */
sendMessage: factory(MOD.msgpush, "sendMessage"),
sendEmobileMsg: factory(MOD.msgpush, "sendEmobileMsg"),
sendWechatMsg: factory(MOD.msgpush, "sendWechatMsg"),
/* api.other */
callMobile: factory(MOD.other, "callMobile"),
addFormmodeDataShare: factory(MOD.other, "addFormmodeDataShare"),
encrypt: factory(MOD.other, "encrypt"),
progressBar: factory(MOD.other, "progressBar"),
circleProgressBar: factory(MOD.other, "circleProgressBar"),
initWeather: factory(MOD.other, "initWeather"),
getLayoutUrl: factory(MOD.other, "getLayoutUrl"),
toggleListData: factory(MOD.other, "toggleListData"),
getListCheckedData: factory(MOD.other, "getListCheckedData"),
switchListSelectable: factory(MOD.other, "switchListSelectable"),
previewImg:factory(MOD.other, "previewImg"),
addEventListener: factory(MOD.other, "addEventListener"),
doPageExpand: factory(MOD.other, "doPageExpand"),
getDataSetDetail: function (t, m, p) {
var o = require("mApi/other");
return o.getDataSetDetail(t, m, p);
},
/* api.date */
getCurrDate : mUtil.getCurrDate,
getCurrTime: mUtil.getCurrTime,
/* mservice */
openLBSWin: factory(MOD.mService, "show", "position"),
openLBSPage: factory(MOD.mService, "show", "position4amap"),
openMap: function (coordinate, type) {
require(["mService"], function (mService) {
mService.show("map", { "coordinate": coordinate, "type": type });
});
}
};
window.Mobile_NS = Mobile_NS;
window.$u = Mobile_NS.openUrl;
window.$p = Mobile_NS.getParameter;
window.$u_l_replace = Mobile_NS.openUrlLeftReplace;
window.$u_r_replace = Mobile_NS.openUrlRightReplace;
window.$f = Mobile_NS.getFormField;
window.$d = Mobile_NS.getDataSetDetail;
Object.keys(apiCustom).forEach(function (key) {
if (Mobile_NS.hasOwnProperty(key)) return;
Mobile_NS[key] = apiCustom[key];
});
window.$load = function (fn) {
var pageid = mUtil.getCurrentPageId();
require(["mApi/event"], function (Evt) {
new Evt(pageid).on("load", fn);;
});
};
return Mobile_NS;
});