mpi.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. let mpi = {}
  2. // 微信登陆
  3. mpi.wxLogin = () => {
  4. return new Promise((resolve, reject)=>{
  5. uni.login({
  6. success: function (res) {
  7. resolve(res)
  8. },
  9. fail: function (err) {
  10. console.warn(err)
  11. reject(err)
  12. }
  13. })
  14. })
  15. }
  16. //选择图片 res.tempFilePaths[0]
  17. mpi.chooseImage = (count=1) => {
  18. return new Promise((resolve, reject)=>{
  19. uni.chooseImage({
  20. count,
  21. //最多可以选择的图片张数,默认9
  22. sourceType: ['album'],
  23. sizeType: ['compressed'],
  24. //可选择原图或压缩后的图片
  25. success: res => {
  26. resolve(res.tempFilePaths)
  27. },
  28. fail(err) {
  29. reject(err)
  30. }
  31. });
  32. })
  33. }
  34. mpi.getLocation = () => {
  35. return new Promise((resolve, reject)=>{
  36. uni.getLocation({
  37. type: 'gcj02',
  38. success: function (res) {
  39. resolve(res)
  40. },
  41. fail:function(err){
  42. reject(err)
  43. }
  44. });
  45. })
  46. }
  47. mpi.getConnectedWifi = () => {
  48. return new Promise((resolve, reject)=>{
  49. uni.startWifi({
  50. success: function(res) {
  51. wx.getConnectedWifi({
  52. success: res => {
  53. resolve(res)
  54. },
  55. fail: err => {
  56. reject(err)
  57. }
  58. })
  59. },
  60. fail: function(err){
  61. reject(err)
  62. }
  63. });
  64. })
  65. }
  66. /**
  67. * 订阅认证信息
  68. */
  69. mpi.subscribe=(tmplIds)=>{
  70. return new Promise((resolve, reject)=>{
  71. uni.requestSubscribeMessage({
  72. tmplIds,
  73. success(res) {
  74. resolve(res)
  75. },
  76. fail(err) {
  77. reject(err)
  78. }
  79. })
  80. })
  81. },
  82. // 获取用户信息
  83. mpi.wxGetUserInfo = () => {
  84. return new Promise((resolve, reject) => {
  85. uni.getUserInfo({
  86. withCredentials: true,
  87. success: function(res) {
  88. resolve(res)
  89. },
  90. fail: function(err) {
  91. reject(err)
  92. },
  93. })
  94. })
  95. }
  96. //新版本的获取用户信息
  97. mpi.getUserProfile = () => {
  98. return new Promise((resolve, reject) => {
  99. uni.getUserProfile({
  100. desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
  101. success: (res) => {
  102. resolve(res)
  103. },
  104. fail:(err)=>{
  105. reject(err)
  106. }
  107. })
  108. })
  109. }
  110. let compareVersion=(v1, v2)=> {
  111. v1 = v1.split('.')
  112. v2 = v2.split('.')
  113. const len = Math.max(v1.length, v2.length)
  114. while (v1.length < len) {
  115. v1.push('0')
  116. }
  117. while (v2.length < len) {
  118. v2.push('0')
  119. }
  120. for (let i = 0; i < len; i++) {
  121. const num1 = parseInt(v1[i])
  122. const num2 = parseInt(v2[i])
  123. if (num1 > num2) {
  124. return 1
  125. } else if (num1 < num2) {
  126. return -1
  127. }
  128. }
  129. return 0
  130. }
  131. mpi.versioning=(minVersion)=>{
  132. const version = wx.getSystemInfoSync().SDKVersion
  133. return new Promise((resolve, reject)=>{
  134. if (compareVersion(version, minVersion) >= 0) {
  135. resolve()
  136. }else{
  137. uni.showModal({
  138. content:"当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。"
  139. })
  140. }
  141. })
  142. }
  143. export default mpi