| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 | 
							- "use strict";
 
- const common_vendor = require("../../../../common/vendor.js");
 
- require("../../../request/index.js");
 
- require("../../../config/index.js");
 
- const sheep_api_member_auth = require("../../../api/member/auth.js");
 
- const sheep_api_member_social = require("../../../api/member/social.js");
 
- const sheep_api_member_user = require("../../../api/member/user.js");
 
- const socialType = 34;
 
- let subscribeEventList = [];
 
- function load() {
 
-   checkUpdate();
 
- }
 
- const login = async () => {
 
-   return new Promise(async (resolve, reject) => {
 
-     const codeResult = await common_vendor.index.login();
 
-     if (codeResult.errMsg !== "login:ok") {
 
-       return resolve(false);
 
-     }
 
-     const loginResult = await sheep_api_member_auth.AuthUtil.socialLogin(socialType, codeResult.code, "default");
 
-     if (loginResult.code === 0) {
 
-       setOpenid(loginResult.data.openid);
 
-       return resolve(true);
 
-     } else {
 
-       return resolve(false);
 
-     }
 
-   });
 
- };
 
- const mobileLogin = async (e) => {
 
-   return new Promise(async (resolve, reject) => {
 
-     if (e.errMsg !== "getPhoneNumber:ok") {
 
-       return resolve(false);
 
-     }
 
-     const codeResult = await common_vendor.index.login();
 
-     if (codeResult.errMsg !== "login:ok") {
 
-       return resolve(false);
 
-     }
 
-     const loginResult = await sheep_api_member_auth.AuthUtil.weixinMiniAppLogin(e.code, codeResult.code, "default");
 
-     if (loginResult.code === 0) {
 
-       setOpenid(loginResult.data.openid);
 
-       return resolve(true);
 
-     } else {
 
-       return resolve(false);
 
-     }
 
-   });
 
- };
 
- const bind = () => {
 
-   return new Promise(async (resolve, reject) => {
 
-     const codeResult = await common_vendor.index.login();
 
-     if (codeResult.errMsg !== "login:ok") {
 
-       return resolve(false);
 
-     }
 
-     const bindResult = await sheep_api_member_social.SocialApi.socialBind(socialType, codeResult.code, "default");
 
-     if (bindResult.code === 0) {
 
-       setOpenid(bindResult.data);
 
-       return resolve(true);
 
-     } else {
 
-       return resolve(false);
 
-     }
 
-   });
 
- };
 
- const unbind = async (openid) => {
 
-   const { code } = await sheep_api_member_social.SocialApi.socialUnbind(socialType, openid);
 
-   return code === 0;
 
- };
 
- const bindUserPhoneNumber = (e) => {
 
-   return new Promise(async (resolve, reject) => {
 
-     const { code } = await sheep_api_member_user.UserApi.updateUserMobileByWeixin(e.code);
 
-     if (code === 0) {
 
-       resolve(true);
 
-     }
 
-     resolve(false);
 
-   });
 
- };
 
- function setOpenid(openid) {
 
-   common_vendor.index.setStorageSync("openid", openid);
 
- }
 
- async function getOpenid(force = false) {
 
-   let openid = common_vendor.index.getStorageSync("openid");
 
-   if (!openid && force) {
 
-     const info = await getInfo();
 
-     if (info && info.openid) {
 
-       openid = info.openid;
 
-       setOpenid(openid);
 
-     }
 
-   }
 
-   return openid;
 
- }
 
- async function getInfo() {
 
-   const { code, data } = await sheep_api_member_social.SocialApi.getSocialUser(socialType);
 
-   if (code !== 0) {
 
-     return void 0;
 
-   }
 
-   return data;
 
- }
 
- const checkUpdate = async (silence = true) => {
 
-   if (common_vendor.index.canIUse("getUpdateManager")) {
 
-     const updateManager = common_vendor.index.getUpdateManager();
 
-     updateManager.onCheckForUpdate(function(res) {
 
-       if (res.hasUpdate) {
 
-         updateManager.onUpdateReady(function() {
 
-           common_vendor.index.showModal({
 
-             title: "更新提示",
 
-             content: "新版本已经准备好,是否重启应用?",
 
-             success: function(res2) {
 
-               if (res2.confirm) {
 
-                 updateManager.applyUpdate();
 
-               }
 
-             }
 
-           });
 
-         });
 
-         updateManager.onUpdateFailed(function() {
 
-         });
 
-       } else {
 
-         if (!silence) {
 
-           common_vendor.index.showModal({
 
-             title: "当前为最新版本",
 
-             showCancel: false
 
-           });
 
-         }
 
-       }
 
-     });
 
-   }
 
- };
 
- function subscribeMessage(event) {
 
-   let tmplIds = [];
 
-   if (typeof event === "string") {
 
-     tmplIds.push(subscribeEventList[event]);
 
-   }
 
-   if (typeof event === "object") {
 
-     event.forEach((item) => {
 
-       if (typeof subscribeEventList[item] !== "undefined")
 
-         tmplIds.push(subscribeEventList[item]);
 
-     });
 
-   }
 
-   if (tmplIds.length === 0)
 
-     return;
 
-   common_vendor.index.requestSubscribeMessage({
 
-     tmplIds,
 
-     fail: (err) => {
 
-       console.log(err);
 
-     }
 
-   });
 
- }
 
- const service = {
 
-   load,
 
-   login,
 
-   bind,
 
-   unbind,
 
-   bindUserPhoneNumber,
 
-   mobileLogin,
 
-   getInfo,
 
-   getOpenid,
 
-   subscribeMessage
 
- };
 
- exports.service = service;
 
 
  |