mpi.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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. //选择图片
  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: 'wgs84',
  38. success: function (res) {
  39. console.log('当前位置的经度:' + res.longitude);
  40. console.log('当前位置的纬度:' + res.latitude);
  41. resolve(res)
  42. }
  43. });
  44. })
  45. }
  46. mpi.getConnectedWifi = () => {
  47. return new Promise((resolve, reject)=>{
  48. uni.startWifi({
  49. success: function(res) {
  50. wx.getConnectedWifi({
  51. success: res => {
  52. resolve(res)
  53. },
  54. fail: err => {
  55. reject(err)
  56. }
  57. })
  58. },
  59. fail: function(err){
  60. reject(err)
  61. }
  62. });
  63. })
  64. }
  65. /**
  66. * 订阅认证信息
  67. */
  68. mpi.subscribe=(tmplIds)=>{
  69. return new Promise((resolve, reject)=>{
  70. uni.requestSubscribeMessage({
  71. tmplIds,
  72. success(res) {
  73. resolve(res)
  74. },
  75. fail(err) {
  76. reject(err)
  77. }
  78. })
  79. })
  80. },
  81. // 获取用户信息
  82. mpi.wxGetUserInfo = () => {
  83. return new Promise((resolve, reject) => {
  84. uni.getUserInfo({
  85. withCredentials: true,
  86. success: function(res) {
  87. resolve(res)
  88. },
  89. fail: function(err) {
  90. reject(err)
  91. },
  92. })
  93. })
  94. }
  95. let compareVersion=(v1, v2)=> {
  96. v1 = v1.split('.')
  97. v2 = v2.split('.')
  98. const len = Math.max(v1.length, v2.length)
  99. while (v1.length < len) {
  100. v1.push('0')
  101. }
  102. while (v2.length < len) {
  103. v2.push('0')
  104. }
  105. for (let i = 0; i < len; i++) {
  106. const num1 = parseInt(v1[i])
  107. const num2 = parseInt(v2[i])
  108. if (num1 > num2) {
  109. return 1
  110. } else if (num1 < num2) {
  111. return -1
  112. }
  113. }
  114. return 0
  115. }
  116. mpi.versioning=(minVersion)=>{
  117. const version = wx.getSystemInfoSync().SDKVersion
  118. return new Promise((resolve, reject)=>{
  119. if (compareVersion(version, minVersion) >= 0) {
  120. resolve()
  121. }else{
  122. uni.showModal({
  123. content:"当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。"
  124. })
  125. }
  126. })
  127. }
  128. export default mpi