jssdk.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. window.jssdk = {
  2. }
  3. window.jssdk.savePricToAlbum = function savePricToAlbum (src) {
  4. return new Promise((resolve, reject) => {
  5. if (window.cordova) {
  6. window.MrModel.saveImagToAlbum(src, function (success) {
  7. resolve(success)
  8. }, function (error) {
  9. reject(error)
  10. })
  11. } else {
  12. reject(new Error('no cordova'))
  13. }
  14. })
  15. }
  16. window.jssdk.jumpbackNative = function jumpbackNative () {
  17. return new Promise((resolve, reject) => {
  18. if (window.cordova) {
  19. window.MrModel.backToNative(function (success) {
  20. resolve(success)
  21. }, function (error) {
  22. reject(error)
  23. })
  24. } else {
  25. reject(new Error('no cordova'))
  26. }
  27. })
  28. }
  29. window.jssdk.deviceInfo = function deviceInfo () {
  30. return new Promise((resolve, reject) => {
  31. if (window.cordova) {
  32. device.getInfo(function (obj) {
  33. resolve(obj)
  34. }, function (error) {
  35. reject(error)
  36. })
  37. } else {
  38. resolve('')
  39. }
  40. })
  41. }
  42. window.jssdk.camera = function camera (options) {
  43. return new Promise((resolve, reject) => {
  44. if (window.cordova) {
  45. let options = options
  46. navigator.camera.getPicture(function (imageData) {
  47. resolve(imageData)
  48. }, function (message) {}, options)
  49. } else {
  50. reject(new Error('no cordova'))
  51. }
  52. })
  53. }
  54. window.jssdk.ImagePicker = function ImagePicker (options) {
  55. return new Promise((resolve, reject) => {
  56. if (window.cordova) {
  57. window.imagePicker.getPictures(function (results) {
  58. resolve(results)
  59. }, function (error) {
  60. reject(error)
  61. }, options)
  62. } else {
  63. reject(new Error('no cordova'))
  64. }
  65. })
  66. }
  67. window.jssdk.getCode = function getCode (appId) {
  68. let paramse = {
  69. appId: appId
  70. }
  71. return new Promise((resolve, reject) => {
  72. if (window.cordova) {
  73. window.MrJsBridge.call((returnValue) => {
  74. resolve(returnValue)
  75. }, (error) => {
  76. reject(error)
  77. }, 'getCode', paramse)
  78. }
  79. })
  80. }
  81. window.jssdk.currentTownInfo = function currentTownInfo () {
  82. return new Promise((resolve, reject) => {
  83. if (window.cordova) {
  84. window.MrJsBridge.call((returnValue) => {
  85. resolve(returnValue)
  86. }, (error) => {
  87. reject(error)
  88. }, 'currentTownInfo', {})
  89. }
  90. })
  91. }
  92. window.jssdk.networkState = function networkState () {
  93. return new Promise((resolve, reject) => {
  94. if (window.cordova) {
  95. var networkState = ''
  96. networkState = navigator.connection.type
  97. var states = {}
  98. states[Connection.UNKNOWN] = 'Unknown connection'
  99. states[Connection.ETHERNET] = 'Ethernet connection'
  100. states[Connection.WIFI] = 'WiFi connection'
  101. states[Connection.CELL_2G] = 'Cell 2G connection'
  102. states[Connection.CELL_3G] = 'Cell 3G connection'
  103. states[Connection.CELL_4G] = 'Cell 4G connection'
  104. states[Connection.CELL] = 'Cell generic connection'
  105. states[Connection.NONE] = 'No network connection'
  106. resolve(states[networkState])
  107. }
  108. })
  109. }
  110. window.jssdk.scanbarClick = function scanbarClick () {
  111. return new Promise((resolve, reject) => {
  112. if (window.cordova) {
  113. window.MrModel.scanbarClick(function (success) {
  114. resolve(success)
  115. })
  116. }
  117. })
  118. }
  119. // 鍦板浘瀵艰埅
  120. window.jssdk.mapNavigation = function mapNavigation (params) {
  121. return new Promise((resolve, reject) => {
  122. if (window.cordova) {
  123. let obj = {
  124. originLat: '',
  125. originLong: '',
  126. destinLat: '',
  127. destinLong: ''
  128. }
  129. if (!params) {
  130. reject('鍙傛暟閿欒')
  131. return
  132. }
  133. if (params.hasOwnProperty('originLat') && params.hasOwnProperty('originLong')) {
  134. if (params.originLat.length > 0 && params.originLat.length > 0) {
  135. obj.originLat = params.originLat
  136. obj.originLong = params.originLong
  137. } else {
  138. obj.originLat = ''
  139. obj.originLong = ''
  140. }
  141. }
  142. if (params.hasOwnProperty('destinLat') && params.hasOwnProperty('destinLong')) {
  143. if (params.destinLat.length > 0 && params.destinLong.length > 0) {
  144. obj.destinLat = params.destinLat
  145. obj.destinLong = params.destinLong
  146. } else {
  147. reject('缁堢偣浣嶇疆涓嶈兘涓虹┖')
  148. return
  149. }
  150. }
  151. window.MrModel.mapNavigation(obj, function () {
  152. resolve()
  153. }, function (error) {
  154. reject(error)
  155. })
  156. }
  157. })
  158. }
  159. window.jssdk.toOutterLink = function toOutterLink (obj) {
  160. return new Promise((resolve, reject) => {
  161. if (window.cordova) {
  162. window.MrModel.toOutterLink(obj, function (success) {
  163. resolve()
  164. })
  165. }
  166. })
  167. }
  168. window.jssdk.showShareView = function showShareView (obj) {
  169. return new Promise((resolve, reject) => {
  170. if (window.cordova) {
  171. window.MrModel.showShareView(obj, function (success) {
  172. resolve(success)
  173. })
  174. }
  175. })
  176. }
  177. window.jssdk.setLocationString = function setLocationString (key, value) {
  178. return new Promise((resolve, reject) => {
  179. if (window.cordova) {
  180. window.NativeStorage.setString(key, value, (success) => {
  181. if (success === 'null') resolve(undefined)
  182. resolve(success)
  183. }, (error) => {
  184. reject(error)
  185. })
  186. } else {
  187. window.localStorage.setItem(key, value)
  188. resolve()
  189. }
  190. })
  191. }
  192. window.jssdk.getLocationString = function getLocationString (key) {
  193. return new Promise((resolve, reject) => {
  194. if (window.cordova) {
  195. window.NativeStorage.getString(key, (success) => {
  196. if (success === 'null') resolve(undefined)
  197. resolve(success)
  198. }, (error) => {
  199. reject(error)
  200. })
  201. } else {
  202. let success = window.localStorage.getItem(key)
  203. resolve(success)
  204. }
  205. })
  206. }
  207. window.jssdk.removeLocationString = function removeLocationString (key) {
  208. return new Promise((resolve, reject) => {
  209. if (window.cordova) {
  210. window.NativeStorage.remove(key, (success) => {
  211. if (success === 'null') resolve(undefined)
  212. resolve(success)
  213. }, (error) => {
  214. reject(error)
  215. })
  216. } else {
  217. window.localStorage.removeItem(key)
  218. resolve()
  219. }
  220. })
  221. }
  222. window.jssdk.shareToWx = function shareToWx (argument) {
  223. // body...
  224. return new Promise((resolve, reject) => {
  225. if (window.cordova) {
  226. window.MrJsBridge.call((returnValue) => {
  227. }, (error) => {
  228. reject(error)
  229. }, 'shareToWx', argument)
  230. }
  231. })
  232. }
  233. window.jssdk.getShareView = function getShareView () {
  234. return new Promise((resolve, reject) => {
  235. if (window.cordova) {
  236. window.MrJsBridge.call((returnValue) => {
  237. resolve(returnValue)
  238. }, (error) => {
  239. reject(error)
  240. }, 'getShareView', '')
  241. }
  242. })
  243. }
  244. window.jssdk.payOrder = function payOrder (params) {
  245. return new Promise((resolve, reject) => {
  246. if (window.cordova) {
  247. window.MrJsBridge.call(
  248. (success) => {
  249. resolve(success)
  250. },
  251. (error) => {
  252. reject(error)
  253. },
  254. 'payOrder', params
  255. )
  256. }
  257. })
  258. }
  259. window.jssdk.lockListMansion = function lockListMansion () {
  260. return new Promise((resolve, reject) => {
  261. if (window.cordova) {
  262. window.MrJsBridge.call((list) => {
  263. resolve(JSON.parse(list))
  264. }, (error) => {
  265. reject(error)
  266. }, 'lockListMansion', {})
  267. }
  268. })
  269. }
  270. window.jssdk.lockOpenMansion = function lockOpenMansion (id, pwd) {
  271. return new Promise((resolve, reject) => {
  272. if (window.cordova) {
  273. let params = {
  274. id: id,
  275. pwd: pwd
  276. }
  277. window.MrJsBridge.call((success) => {
  278. resolve(success)
  279. }, (error) => {
  280. reject(error)
  281. }, 'lockOpenMansion', params)
  282. }
  283. })
  284. }