@@ -51,7 +51,7 @@ |
||
| 51 | 51 |
|
| 52 | 52 |
<script src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script> |
| 53 | 53 |
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> |
| 54 |
- <script type="text/javascript" src="{% static 'tamron/js/jswe-0.0.1.js' %}"></script>
|
|
| 54 |
+ <script type="text/javascript" src="{% static 'tamron/js/jswe-0.0.2.js' %}"></script>
|
|
| 55 | 55 |
<script> |
| 56 | 56 |
V.initWxData({
|
| 57 | 57 |
imgUrl: 'http://pai.ai/static/pai2/img/paiai_96_96.png', |
@@ -176,7 +176,7 @@ |
||
| 176 | 176 |
{% endif %}
|
| 177 | 177 |
</script> |
| 178 | 178 |
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> |
| 179 |
- <script type="text/javascript" src="{% static 'tamron/js/jswe-0.0.1.js' %}"></script>
|
|
| 179 |
+ <script type="text/javascript" src="{% static 'tamron/js/jswe-0.0.2.js' %}"></script>
|
|
| 180 | 180 |
<script> |
| 181 | 181 |
V.initWxData({
|
| 182 | 182 |
imgUrl: 'http://pai.ai/static/pai2/img/paiai_96_96.png', |
@@ -340,7 +340,7 @@ |
||
| 340 | 340 |
}); |
| 341 | 341 |
</script> |
| 342 | 342 |
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> |
| 343 |
- <script type="text/javascript" src="{% static 'tamron/js/jswe-0.0.1.js' %}"></script>
|
|
| 343 |
+ <script type="text/javascript" src="{% static 'tamron/js/jswe-0.0.2.js' %}"></script>
|
|
| 344 | 344 |
<script> |
| 345 | 345 |
V.initWxData({
|
| 346 | 346 |
imgUrl: 'http://pai.ai/static/pai2/img/paiai_96_96.png', |
@@ -1,12 +1,11 @@ |
||
| 1 | 1 |
-e git+https://github.com/Brightcells/django-q.git#egg=django-q |
| 2 |
--e git+https://github.com/andymccurdy/redis-py.git#egg=redis-py |
|
| 3 | 2 |
CodeConvert==2.0.4 |
| 4 | 3 |
Django==1.8.4 |
| 5 | 4 |
MySQL-python==1.2.5 |
| 6 | 5 |
Pillow==3.4.2 |
| 7 | 6 |
StatusCode==1.0.0 |
| 8 | 7 |
TimeConvert==1.4.1 |
| 9 |
-cryptography==1.5.2 |
|
| 8 |
+cryptography==2.0.3 |
|
| 10 | 9 |
django-curtail-uuid==1.0.0 |
| 11 | 10 |
django-detect==1.0.5 |
| 12 | 11 |
django-file-md5==1.0.1 |
@@ -27,11 +26,12 @@ mock==2.0.0 |
||
| 27 | 26 |
pep8==1.7.0 |
| 28 | 27 |
pysnippets==1.0.4 |
| 29 | 28 |
pywe-miniapp==1.0.0 |
| 30 |
-pywe-oauth==1.0.3 |
|
| 29 |
+pywe-oauth==1.0.4 |
|
| 31 | 30 |
pywe-response==1.0.1 |
| 32 | 31 |
qiniu==7.1.4 |
| 32 |
+redis==2.10.6 |
|
| 33 | 33 |
redis-extensions==1.1.1 |
| 34 |
-requests==2.18.3 |
|
| 34 |
+requests==2.18.4 |
|
| 35 | 35 |
rlog==0.2 |
| 36 | 36 |
shortuuid==0.5.0 |
| 37 | 37 |
uWSGI==2.0.15 |
@@ -11,13 +11,17 @@ |
||
| 11 | 11 |
timeLine: '' |
| 12 | 12 |
}, wxConfig = {
|
| 13 | 13 |
hide: false, |
| 14 |
- close: false |
|
| 14 |
+ baseHide: false, |
|
| 15 |
+ close: false, |
|
| 16 |
+ hideMenuItems: [], |
|
| 17 |
+ showMenuItems: [] |
|
| 15 | 18 |
}, jsApiList = [ |
| 16 | 19 |
'checkJsApi', |
| 17 | 20 |
'onMenuShareTimeline', |
| 18 | 21 |
'onMenuShareAppMessage', |
| 19 | 22 |
'onMenuShareQQ', |
| 20 | 23 |
'onMenuShareWeibo', |
| 24 |
+ 'onMenuShareQZone', |
|
| 21 | 25 |
'hideMenuItems', |
| 22 | 26 |
'showMenuItems', |
| 23 | 27 |
'hideAllNonBaseMenuItem', |
@@ -82,6 +86,26 @@ |
||
| 82 | 86 |
fixedWxData() |
| 83 | 87 |
} |
| 84 | 88 |
|
| 89 |
+ function hideMenuItems(items) {
|
|
| 90 |
+ wxConfig.hideMenuItems = items |
|
| 91 |
+ fixedWxData() |
|
| 92 |
+ } |
|
| 93 |
+ |
|
| 94 |
+ function showMenuItems(items) {
|
|
| 95 |
+ wxConfig.showMenuItems = items |
|
| 96 |
+ fixedWxData() |
|
| 97 |
+ } |
|
| 98 |
+ |
|
| 99 |
+ function hideAllNonBaseMenuItem() {
|
|
| 100 |
+ wxConfig.baseHide = true |
|
| 101 |
+ fixedWxData() |
|
| 102 |
+ } |
|
| 103 |
+ |
|
| 104 |
+ function showAllNonBaseMenuItem() {
|
|
| 105 |
+ wxConfig.baseHide = false |
|
| 106 |
+ fixedWxData() |
|
| 107 |
+ } |
|
| 108 |
+ |
|
| 85 | 109 |
function closeWindow() {
|
| 86 | 110 |
wxConfig.close = true |
| 87 | 111 |
fixedWxData() |
@@ -137,11 +161,40 @@ |
||
| 137 | 161 |
wx.onMenuShareQQ(shareInfo(1)) |
| 138 | 162 |
// 2.4 监听“分享到微博”按钮点击、自定义分享内容及分享结果接口 |
| 139 | 163 |
wx.onMenuShareWeibo(shareInfo(1)) |
| 164 |
+ // 2.5 监听“分享到QQ空间”按钮点击、自定义分享内容及分享结果接口 |
|
| 165 |
+ wx.onMenuShareQZone(shareInfo(1)) |
|
| 140 | 166 |
}, wxMenuApi = function () {
|
| 141 | 167 |
// 8. 界面操作接口 |
| 142 | 168 |
// 8.1 隐藏右上角菜单 |
| 143 | 169 |
// 8.2 显示右上角菜单 |
| 144 | 170 |
if (wxConfig.hide) {wx.hideOptionMenu()} else {wx.showOptionMenu()}
|
| 171 |
+ // 8.3 批量隐藏菜单项 |
|
| 172 |
+ if (wxConfig.hideMenuItems) {
|
|
| 173 |
+ wx.hideMenuItems({
|
|
| 174 |
+ menuList: wxConfig.hideMenuItems, |
|
| 175 |
+ success: function (res) {
|
|
| 176 |
+ if (JSWE.wxHideMenuItemsSuccess) {JSWE.wxHideMenuItemsSuccess(res)}
|
|
| 177 |
+ }, |
|
| 178 |
+ fail: function (res) {
|
|
| 179 |
+ if (JSWE.wxHideMenuItemsFail) {JSWE.wxHideMenuItemsFail(res)}
|
|
| 180 |
+ } |
|
| 181 |
+ }); |
|
| 182 |
+ } |
|
| 183 |
+ // 8.4 批量显示菜单项 |
|
| 184 |
+ if (wxConfig.showMenuItems) {
|
|
| 185 |
+ wx.showMenuItems({
|
|
| 186 |
+ menuList: wxConfig.showMenuItems, |
|
| 187 |
+ success: function (res) {
|
|
| 188 |
+ if (JSWE.wxShowMenuItemsSuccess) {JSWE.wxShowMenuItemsSuccess(res)}
|
|
| 189 |
+ }, |
|
| 190 |
+ fail: function (res) {
|
|
| 191 |
+ if (JSWE.wxShowMenuItemsFail) {JSWE.wxShowMenuItemsFail(res)}
|
|
| 192 |
+ } |
|
| 193 |
+ }); |
|
| 194 |
+ } |
|
| 195 |
+ // 8.5 隐藏所有非基本菜单项 |
|
| 196 |
+ // 8.6 显示所有被隐藏的非基本菜单项 |
|
| 197 |
+ if (wxConfig.baseHide) {wx.hideAllNonBaseMenuItem()} else {wx.showAllNonBaseMenuItem()}
|
|
| 145 | 198 |
// 8.7 关闭当前窗口 |
| 146 | 199 |
if (wxConfig.close) {wx.closeWindow()}
|
| 147 | 200 |
}, wxApi = function () {
|
@@ -188,45 +241,51 @@ |
||
| 188 | 241 |
localIds: [], |
| 189 | 242 |
serverIds: [] |
| 190 | 243 |
}; |
| 191 |
- function chooseImage(count, directUpload, isShowProgressTips) {
|
|
| 192 |
- if ('undefined' === typeof count) {count = 9}
|
|
| 193 |
- if ('undefined' === typeof directUpload) {directUpload = false}
|
|
| 194 |
- if ('undefined' === typeof isShowProgressTips) {isShowProgressTips = 1}
|
|
| 244 |
+ // function chooseImage(count, directUpload, isShowProgressTips) {
|
|
| 245 |
+ function chooseImage(choose_params) {
|
|
| 246 |
+ if ('undefined' === typeof choose_params) choose_params = {}
|
|
| 195 | 247 |
wx.chooseImage({
|
| 196 |
- count: count, // 默认9 |
|
| 197 |
- sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 |
|
| 198 |
- sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 |
|
| 248 |
+ count: choose_params.count || 9, // 默认9 |
|
| 249 |
+ sizeType: choose_params.sizeType || ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 |
|
| 250 |
+ sourceType: choose_params.sourceType || ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 |
|
| 199 | 251 |
success: function (res) {
|
| 200 |
- var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 |
|
| 201 |
- images.localIds = localIds; |
|
| 252 |
+ images.localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 |
|
| 202 | 253 |
// 判断是否直接上传 |
| 203 |
- if (directUpload) {setTimeout(uploadImages(localIds, isShowProgressTips), 100)}
|
|
| 254 |
+ if (choose_params.directUpload) {setTimeout(uploadImages({localIds: images.localIds, isShowProgressTips: choose_params.isShowProgressTips || 1}), 100)}
|
|
| 204 | 255 |
// 拍照、本地选图成功后的回调函数 |
| 205 | 256 |
if (JSWE.wxChooseImageSuccess) {JSWE.wxChooseImageSuccess(res)}
|
| 206 | 257 |
} |
| 207 | 258 |
}); |
| 208 | 259 |
} |
| 209 | 260 |
|
| 261 |
+ // 5.2 图片预览 |
|
| 262 |
+ function previewImage(preview_params) {
|
|
| 263 |
+ wx.previewImage({
|
|
| 264 |
+ current: preview_params.current, // 当前显示图片的链接,不填则默认为 urls 的第一张 |
|
| 265 |
+ urls: preview_params.urls // 需要预览的图片链接列表 |
|
| 266 |
+ }); |
|
| 267 |
+ } |
|
| 268 |
+ |
|
| 210 | 269 |
// 5.3 上传图片 |
| 211 |
- function uploadImage(localId, isShowProgressTips) {
|
|
| 270 |
+ // function uploadImage(localId, isShowProgressTips) {
|
|
| 271 |
+ function uploadImage(upload_params) {
|
|
| 212 | 272 |
// 上传图片为异步处理,重复上传同一图片,返回的serverId也是不同的 |
| 213 | 273 |
wx.uploadImage({
|
| 214 |
- localId: localId, // 需要上传的图片的本地ID,由chooseImage接口获得 |
|
| 215 |
- isShowProgressTips: 1, // 默认为1,显示进度提示 |
|
| 274 |
+ localId: upload_params.localId, // 需要上传的图片的本地ID,由chooseImage接口获得 |
|
| 275 |
+ isShowProgressTips: upload_params.isShowProgressTips || 1, // 默认为1,显示进度提示 |
|
| 216 | 276 |
success: function (res) {
|
| 217 |
- var serverId = res.serverId; // 返回图片的服务器端ID |
|
| 218 |
- images.serverIds.push(serverId); |
|
| 277 |
+ images.serverIds.push(res.serverId); // 返回图片的服务器端ID |
|
| 219 | 278 |
// 上传图片成功后的回调函数 |
| 220 | 279 |
if (JSWE.wxUploadImageSuccess) {JSWE.wxUploadImageSuccess(res)}
|
| 221 | 280 |
} |
| 222 | 281 |
}); |
| 223 | 282 |
} |
| 224 | 283 |
|
| 225 |
- function uploadImages(localIds, isShowProgressTips) {
|
|
| 226 |
- if ('undefined' === typeof localIds) {localIds = images.localIds}
|
|
| 227 |
- if ('undefined' === typeof isShowProgressTips) {isShowProgressTips = 1}
|
|
| 284 |
+ // function uploadImages(localIds, isShowProgressTips) {
|
|
| 285 |
+ function uploadImages(upload_params) {
|
|
| 286 |
+ var localIds = upload_params.localIds, isShowProgressTips = upload_params.isShowProgressTips || 1 |
|
| 228 | 287 |
images.serverIds = []; |
| 229 |
- for (var index in localIds) {uploadImage(localIds[index], isShowProgressTips)}
|
|
| 288 |
+ for (var idx in localIds) {uploadImage({localId: localIds[idx], isShowProgressTips: isShowProgressTips})}
|
|
| 230 | 289 |
} |
| 231 | 290 |
|
| 232 | 291 |
// 9 微信原生接口 |
@@ -243,6 +302,7 @@ |
||
| 243 | 302 |
}); |
| 244 | 303 |
} |
| 245 | 304 |
|
| 305 |
+ // QRCode & BarCode is different |
|
| 246 | 306 |
function parseScanQRCodeResultStr(resultStr) {
|
| 247 | 307 |
var strs = resultStr.split(',')
|
| 248 | 308 |
return strs[strs.length - 1] |
@@ -296,6 +356,10 @@ |
||
| 296 | 356 |
// Menu Function |
| 297 | 357 |
hideOptionMenu: hideOptionMenu, |
| 298 | 358 |
showOptionMenu: showOptionMenu, |
| 359 |
+ hideMenuItems: hideMenuItems, |
|
| 360 |
+ showMenuItems: showMenuItems, |
|
| 361 |
+ hideAllNonBaseMenuItem: hideAllNonBaseMenuItem, |
|
| 362 |
+ showAllNonBaseMenuItem: showAllNonBaseMenuItem, |
|
| 299 | 363 |
closeWindow: closeWindow, |
| 300 | 364 |
|
| 301 | 365 |
// Share Function |
@@ -306,6 +370,7 @@ |
||
| 306 | 370 |
// Image Function |
| 307 | 371 |
images: images, |
| 308 | 372 |
chooseImage: chooseImage, |
| 373 |
+ previewImage: previewImage, |
|
| 309 | 374 |
uploadImage: uploadImage, |
| 310 | 375 |
uploadImages: uploadImages, |
| 311 | 376 |
|