| // app.js | // app.js | ||||
| App({ | App({ | ||||
| onLaunch() { | |||||
| // 展示本地存储能力 | |||||
| const logs = wx.getStorageSync('logs') || [] | |||||
| logs.unshift(Date.now()) | |||||
| wx.setStorageSync('logs', logs) | |||||
| onLaunch() { | |||||
| // 版本更新 | |||||
| const updateManager = wx.getUpdateManager() | |||||
| // 登录 | |||||
| wx.login({ | |||||
| success: (res) => { | |||||
| if (res.code) { | |||||
| //获取openid | |||||
| wx.request({ | |||||
| url: this.mangerUrl + '/service/weixin/getWxOpenId', | |||||
| data: { | |||||
| appNum: 11, | |||||
| js_code: res.code | |||||
| }, | |||||
| success: (result) => { | |||||
| if (!!result.data && result.data.openid) { | |||||
| // this.globalData.openid = result.data.openid; | |||||
| this.globalData.appid = result.data.appid; | |||||
| this.globalData.sessionKey = result.data.sessionKey; | |||||
| updateManager.onCheckForUpdate(function (res) { | |||||
| // 请求完新版本信息的回调 | |||||
| if (res.hasUpdate) { | |||||
| //准备更新 | |||||
| updateManager.onUpdateReady(function () { | |||||
| wx.showModal({ | |||||
| title: '业务交流通更新啦~', | |||||
| content: '新版本已经准备好,请重启应用', | |||||
| showCancel: false, | |||||
| success: function (res) { | |||||
| if (res.confirm) { | |||||
| // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 | |||||
| updateManager.applyUpdate() | |||||
| } | |||||
| } | } | ||||
| } | |||||
| }) | |||||
| }) | }) | ||||
| } else { | |||||
| wx.showToast({ | |||||
| title: '获取登录信息失败', | |||||
| icon: 'none', | |||||
| duration: 2000 | |||||
| //更新失败 | |||||
| updateManager.onUpdateFailed(function () { | |||||
| wx.showModal({ | |||||
| title: '出错啦', | |||||
| content: '更新失败,请检查您的网络状况', | |||||
| showCancel: false, | |||||
| success: function (res) { | |||||
| if (res.confirm) { | |||||
| // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 | |||||
| updateManager.applyUpdate() | |||||
| } | |||||
| } | |||||
| }) | |||||
| }) | }) | ||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| globalData: { | |||||
| userInfo: null, | |||||
| openid: "oBkT7vu1Q8l-xsbux_i1FNmRWuJ4", | |||||
| appid: "", | |||||
| sessionKey: "", | |||||
| suiteCode: "", | |||||
| customerId: "", | |||||
| }, | |||||
| // mangerUrl: 'http://test2.hhrchina.com', | |||||
| mangerUrl: "http://192.168.18.156", | |||||
| // mangerUrl: "https://www.hhrchina.com", | |||||
| // mangerUrlPath: "https://www.hhrchina.com", | |||||
| } | |||||
| }) | |||||
| // 登录 | |||||
| wx.login({ | |||||
| success: (res) => { | |||||
| if (res.code) { | |||||
| //获取openid | |||||
| wx.request({ | |||||
| url: this.mangerUrl + '/service/weixin/getWxOpenId', | |||||
| data: { | |||||
| appNum: 12, | |||||
| js_code: res.code | |||||
| }, | |||||
| success: (result) => { | |||||
| if (!!result.data && result.data.openid) { | |||||
| console.log(result, 'result'); | |||||
| // this.globalData.openid = result.data.openid; | |||||
| this.globalData.appid = result.data.appid; | |||||
| // this.globalData.sessionKey = result.data.sessionKey; | |||||
| } | |||||
| } | |||||
| }) | |||||
| } else { | |||||
| wx.showToast({ | |||||
| title: '获取登录信息失败', | |||||
| icon: 'none', | |||||
| duration: 2000 | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | |||||
| globalData: { | |||||
| userInfo: null, | |||||
| openid: "oBkT7vu1Q8l-xsbux_i1FNmRWuJ4", | |||||
| appid: "", | |||||
| sessionKey: "", | |||||
| suiteCode: "", | |||||
| customerId: "", | |||||
| }, | |||||
| // 跳转登录页 | |||||
| goLogin(e) { | |||||
| wx.navigateTo({ | |||||
| url: "/pages/login/login" | |||||
| }) | |||||
| }, | |||||
| // mangerUrl: 'http://test2.hhrchina.com', | |||||
| mangerUrl: "http://192.168.18.156", | |||||
| // mangerUrl: "https://www.hhrchina.com", | |||||
| // mangerUrlPath: "https://www.hhrchina.com", | |||||
| }) | }) |
| { | { | ||||
| "pages": [ | "pages": [ | ||||
| "pages/myModule/index", | |||||
| "pages/index/index", | "pages/index/index", | ||||
| "pages/myModule/index", | |||||
| "pages/logs/logs", | "pages/logs/logs", | ||||
| "pages/releaseModule/index", | "pages/releaseModule/index", | ||||
| "pages/msgModule/index", | "pages/msgModule/index", | ||||
| "pages/index/components/listDetails/Details", | "pages/index/components/listDetails/Details", | ||||
| "pages/index/components/homepage/homepage", | "pages/index/components/homepage/homepage", | ||||
| "pages/myModule/components/myRelease/myRelease", | "pages/myModule/components/myRelease/myRelease", | ||||
| "pages/myModule/components/myAttention/myAttention" | |||||
| "pages/myModule/components/myAttention/myAttention", | |||||
| "pages/outLink/outLink", | |||||
| "pages/login/login" | |||||
| ], | ], | ||||
| "usingComponents": { | "usingComponents": { | ||||
| "tabBar": "/components/tabbar/tabbar", | "tabBar": "/components/tabbar/tabbar", | ||||
| "van-icon": "/miniprogram_npm/@vant/weapp/icon", | "van-icon": "/miniprogram_npm/@vant/weapp/icon", | ||||
| "van-row": "/miniprogram_npm/@vant/weapp/row", | "van-row": "/miniprogram_npm/@vant/weapp/row", | ||||
| "van-col": "/miniprogram_npm/@vant/weapp/col", | "van-col": "/miniprogram_npm/@vant/weapp/col", | ||||
| "van-button": "/miniprogram_npm/@vant/weapp/button" | |||||
| "van-button": "/miniprogram_npm/@vant/weapp/button", | |||||
| "van-checkbox": "@vant/weapp/checkbox/index" | |||||
| }, | }, | ||||
| "window": { | "window": { | ||||
| "backgroundTextStyle": "light", | "backgroundTextStyle": "light", |
| - index 首页 | - index 首页 | ||||
| - releaseModule 发布需求 | - releaseModule 发布需求 | ||||
| - msgModule 消息 | - msgModule 消息 | ||||
| - myModule 我的 | |||||
| - myModule 我的 | |||||
| - outLink 用于跳转外链 |
| type = ""; | type = ""; | ||||
| } | } | ||||
| $request.get('/businessCommunicationDemand/getDemandByKeywordOrType.action', | $request.get('/businessCommunicationDemand/getDemandByKeywordOrType.action', | ||||
| { page, size, keyword, type,isInterest:0 } | |||||
| { page, size, keyword, type, isInterest: 0 } | |||||
| ).then(res => { | ).then(res => { | ||||
| // console.log(res); | // console.log(res); | ||||
| this.setData({ | this.setData({ | ||||
| // 先push数据 | // 先push数据 | ||||
| tempListData.push(...datas.demandList); | tempListData.push(...datas.demandList); | ||||
| tempListData.forEach(el => { | tempListData.forEach(el => { | ||||
| el.createdOn = $util.formatTime(new Date(el.createdOn),true); | |||||
| el.createdOn = $util.formatTime(new Date(el.createdOn), true); | |||||
| if (typeof el.type == 'string') { | if (typeof el.type == 'string') { | ||||
| el.type = el.type.split(','); | el.type = el.type.split(','); | ||||
| } | } | ||||
| this.getListData(); | this.getListData(); | ||||
| } | } | ||||
| }, | }, | ||||
| /** | |||||
| * 授权获取加密信息 | |||||
| */ | |||||
| getPhoneNumber(e) { | |||||
| if (!!e.detail.iv && !!e.detail.encryptedData) { | |||||
| const iv = e.detail.iv | |||||
| const encryptedData = e.detail.encryptedData | |||||
| this.appletLogin(iv, encryptedData) | |||||
| } else { | |||||
| wx.showToast({ | |||||
| title: '请允许授权,获得更好的服务哦', | |||||
| icon: "none", | |||||
| duration: 3000 | |||||
| }) | |||||
| } | |||||
| }, | |||||
| /** | |||||
| * 用户授权信息存储 | |||||
| */ | |||||
| appletLogin(iv, encrypted) { | |||||
| $request.get('/com/appletLogin.action', { | |||||
| // openid: app.globalData.openid, | |||||
| iv: iv, | |||||
| encryptedData: encrypted, | |||||
| sessionKey: app.globalData.sessionKey, | |||||
| loginState: "业务交流通", | |||||
| }).then(res => { | |||||
| this.getUserSession() | |||||
| }).catch(error => { | |||||
| console.log(error, 'error appletLogin') | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 获取用户身份信息 | |||||
| */ | |||||
| getUserSession() { | |||||
| let that = this | |||||
| wx.showLoading({ | |||||
| title: '加载中', | |||||
| mask: true | |||||
| }) | |||||
| $request.post('/script/getSession.action', {}).then(res => { | |||||
| // 如果有传入的urlcustomer | |||||
| // 跳转到传入地址页面 | |||||
| wx.setStorageSync('customerId', res.data.customer.customerId) //存储用户customerId到本地 | |||||
| that.setData({ | |||||
| isLogin: true | |||||
| }) | |||||
| app.globalData.customerId = res.data.customer.customerId | |||||
| wx.hideLoading() | |||||
| that.checkIsFinish(res.data.customer.customerId, 1) | |||||
| }).catch(error => { | |||||
| console.log(error, "获取error") | |||||
| }) | |||||
| goLogin() { | |||||
| app.goLogin(); | |||||
| }, | }, | ||||
| }) | }) |
| 全方位需求 | 全方位需求 | ||||
| <text class="sub-title">交流平台</text> | <text class="sub-title">交流平台</text> | ||||
| </view> | </view> | ||||
| <button type="default" plain open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber" class="set-attention" id="shouquan"> | |||||
| <button type="default" plain class="set-attention" id="shouquan" bindtap="goLogin"> | |||||
| 设置关注类型喜好 >> | 设置关注类型喜好 >> | ||||
| </button> | </button> | ||||
| <image class="header-img" src="/images/home/header-icon.png" /> | <image class="header-img" src="/images/home/header-icon.png" /> |
| // pages/login/login.js | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| userInfo: {}, | |||||
| // 是否获取到了用户信息 | |||||
| hasUserInfo: false, | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad: function (options) { | |||||
| }, | |||||
| // 获取手机号授权 | |||||
| getPhoneNumber(e) { | |||||
| console.log(e); | |||||
| if (!!e.detail.iv && !!e.detail.encryptedData) { | |||||
| const iv = e.detail.iv | |||||
| const encryptedData = e.detail.encryptedData | |||||
| this.appletLogin(iv, encryptedData) | |||||
| } else { | |||||
| wx.showToast({ | |||||
| title: '请允许授权,获得更好的服务哦', | |||||
| icon: "none", | |||||
| duration: 3000 | |||||
| }) | |||||
| } | |||||
| }, | |||||
| // 保存用户信息 | |||||
| appletLogin(iv,encryptedData){ | |||||
| }, | |||||
| // 获取头像昵称... | |||||
| getUserProfile(e) { | |||||
| if(this.data.hasUserInfo){ | |||||
| this.setData({ | |||||
| userInfo:{}, | |||||
| hasUserInfo:false | |||||
| }) | |||||
| return | |||||
| } | |||||
| // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认 | |||||
| // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 | |||||
| wx.getUserProfile({ | |||||
| desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 | |||||
| success: (res) => { | |||||
| this.setData({ | |||||
| userInfo: res.userInfo, | |||||
| hasUserInfo: true | |||||
| }) | |||||
| }, | |||||
| fail: () => { | |||||
| wx.showToast({ | |||||
| title: '请允许授权,获得更好的服务哦', | |||||
| icon: "none", | |||||
| duration: 3000 | |||||
| }) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage: function () { | |||||
| } | |||||
| }) |
| { | |||||
| "usingComponents": {} | |||||
| } |
| <!-- pages/login/login.wxml --> | |||||
| <view class="login-page"> | |||||
| <view class="qr-code-view"> | |||||
| <view class="qr-code-img"></view> | |||||
| </view> | |||||
| <view class="title-view">申请获取以下权限</view> | |||||
| <view class="sub-title-view">个人中心需要获得您的手机号</view> | |||||
| <view class="submin-btn"> | |||||
| <button class="login-get-phone-number" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber" disabled="{{ !hasUserInfo }}"> | |||||
| 授权手机号 | |||||
| </button> | |||||
| </view> | |||||
| <view class="get-user-info"> | |||||
| <van-checkbox class="info-checkbox" value="{{ hasUserInfo }}" bind:change="onCheckboxChange"> | |||||
| <view bindtap="getUserProfile" class="get-user-info-btn">允许访问头像、昵称及地区信息</view> | |||||
| </van-checkbox> | |||||
| </view> | |||||
| </view> |
| /* pages/login/login.wxss */ | |||||
| .login-page { | |||||
| background: #f2f4f9; | |||||
| min-height: 100vh; | |||||
| box-sizing: border-box; | |||||
| padding: 0 45rpx; | |||||
| font-family: SourceHanSansCN-Medium; | |||||
| } | |||||
| .qr-code-view { | |||||
| height: 500rpx; | |||||
| border-bottom: 1rpx solid #cbcfd9; | |||||
| box-sizing: border-box; | |||||
| padding-top: 116rpx; | |||||
| margin-bottom: 30rpx; | |||||
| } | |||||
| .qr-code-view .qr-code-img { | |||||
| width: 258rpx; | |||||
| height: 258rpx; | |||||
| margin: 0 auto; | |||||
| background: green; | |||||
| } | |||||
| .title-view { | |||||
| color: #333033; | |||||
| font-size: 28rpx; | |||||
| font-weight: bold; | |||||
| margin-bottom: 30rpx; | |||||
| } | |||||
| .sub-title-view { | |||||
| font-size: 24rpx; | |||||
| color: #999; | |||||
| margin-bottom: 120rpx; | |||||
| } | |||||
| .login-get-phone-number { | |||||
| border-radius: 40rpx; | |||||
| font-size: 30rpx; | |||||
| color: #ffffff; | |||||
| background: #5e73e5; | |||||
| height: 86rpx; | |||||
| line-height: 86rpx; | |||||
| width: 611rpx; | |||||
| } | |||||
| .login-get-phone-number[disabled] { | |||||
| background-color: #999999!important; | |||||
| color: #fff!important; | |||||
| } | |||||
| .get-user-info{ | |||||
| margin-top: 20rpx; | |||||
| text-align: center; | |||||
| } | |||||
| .get-user-info .info-checkbox{ | |||||
| display: inline-block; | |||||
| } | |||||
| .get-user-info-btn { | |||||
| font-size: 24rpx; | |||||
| color: #999999; | |||||
| } |
| isPartner: true, | isPartner: true, | ||||
| address: "上海市·徐汇区", | address: "上海市·徐汇区", | ||||
| // customerId:666967, | // customerId:666967, | ||||
| customerId:666678, | |||||
| customerId: 666678, | |||||
| isLogin: false, | |||||
| }, | }, | ||||
| listData: [ | listData: [ | ||||
| { | { | ||||
| }, | }, | ||||
| ], | ], | ||||
| }, | }, | ||||
| // 前往登录页 | |||||
| goLogin(e) { | |||||
| app.goLogin(); | |||||
| }, | |||||
| // 路由跳转 | // 路由跳转 | ||||
| goRouterPage(e) { | goRouterPage(e) { | ||||
| let code = e.currentTarget.dataset.code; | let code = e.currentTarget.dataset.code; | ||||
| let customerid = this.data.user.customerId; | let customerid = this.data.user.customerId; | ||||
| if(!customerid){ | |||||
| app.goLogin(); | |||||
| } | |||||
| let url = ""; | let url = ""; | ||||
| // 前往主页 | // 前往主页 | ||||
| if (code == 'homepage') { | if (code == 'homepage') { | ||||
| if (code == 'my-attention') { | if (code == 'my-attention') { | ||||
| url = "/pages/myModule/components/myAttention/myAttention"; | url = "/pages/myModule/components/myAttention/myAttention"; | ||||
| } | } | ||||
| // 前往联系客服 | |||||
| if (code == 'my-contact') { | |||||
| url = "/pages/outLink/outLink"; | |||||
| } | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url, | url, | ||||
| success: function (res) { | success: function (res) { |
| <!-- pages/myPage/myPage.wxml --> | <!-- pages/myPage/myPage.wxml --> | ||||
| <view class="my-page page-container"> | <view class="my-page page-container"> | ||||
| <!-- 顶部 --> | <!-- 顶部 --> | ||||
| <view class="header card-view"> | |||||
| <view class="header card-view" wx:if="{{ isLogin }}"> | |||||
| <view class="chatHeads fl"> | <view class="chatHeads fl"> | ||||
| <image class="chatHeads-img" src="{{ user.chatHeads }}" /> | <image class="chatHeads-img" src="{{ user.chatHeads }}" /> | ||||
| </view> | </view> | ||||
| <view class="user-name-box fl" wx:else> | <view class="user-name-box fl" wx:else> | ||||
| <view class="user-name yichu fl">{{ user.name }}</view> | <view class="user-name yichu fl">{{ user.name }}</view> | ||||
| </view> | </view> | ||||
| <view class="user-address fl"> | |||||
| {{ user.address }} | |||||
| </view> | |||||
| <view class="user-address fl">{{ user.address }}</view> | |||||
| <view class="show-home-page fl" bindtap="goRouterPage" data-code="homepage"> | <view class="show-home-page fl" bindtap="goRouterPage" data-code="homepage"> | ||||
| <image class="home-page-img" src="/images/home/home-page-icon.png" /> | <image class="home-page-img" src="/images/home/home-page-icon.png" /> | ||||
| 查 看 主 页 >> | 查 看 主 页 >> | ||||
| 退出 | 退出 | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="header card-view clearfix" wx:else> | |||||
| <image class="not-login-img fl" src="/images/home/not-login.png" /> | |||||
| <view class="not-login-view fl"> | |||||
| <view class="not-login-info">您尚未登录,请登陆后操作</view> | |||||
| <view class="login-btn-view"> | |||||
| <button class="login-btn fl" bindtap="goLogin">立即登录</button> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <!-- 内容 --> | <!-- 内容 --> | ||||
| <view class="content card-view"> | <view class="content card-view"> | ||||
| <view class="li-view" wx:for="{{ listData }}" wx:key="*this" bindtap="goRouterPage" data-code="{{ item.code }}"> | <view class="li-view" wx:for="{{ listData }}" wx:key="*this" bindtap="goRouterPage" data-code="{{ item.code }}"> |
| .content .li-view .right-icon { | .content .li-view .right-icon { | ||||
| font-size: 29rpx; | font-size: 29rpx; | ||||
| color: #d7dae4; | color: #d7dae4; | ||||
| } | |||||
| } | |||||
| .not-login-img { | |||||
| width: 128rpx; | |||||
| height: 128rpx; | |||||
| margin-left: 58rpx; | |||||
| } | |||||
| .not-login-view { | |||||
| height: 128rpx; | |||||
| width: calc(100% - 186rpx); | |||||
| box-sizing: border-box; | |||||
| padding-left: 30rpx; | |||||
| } | |||||
| .not-login-view .not-login-info{ | |||||
| font-size: 26rpx; | |||||
| color: #728dd4; | |||||
| margin: 15rpx 0; | |||||
| } | |||||
| .login-btn-view { | |||||
| height: 58rpx; | |||||
| } | |||||
| .login-btn{ | |||||
| width: 194rpx; | |||||
| height: 58rpx; | |||||
| line-height: 58rpx; | |||||
| background-image: linear-gradient(-60deg, | |||||
| #617bff 0%, | |||||
| #68c0fe 100%); | |||||
| box-shadow: 0rpx 3rpx 13rpx 0rpx | |||||
| rgba(52, 67, 193, 0.28); | |||||
| border-radius: 29rpx; | |||||
| font-size: 22rpx; | |||||
| color: #ffffff; | |||||
| margin-left: 35rpx; | |||||
| } |
| // pages/outLink/outLink.js | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad: function (options) { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady: function () { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow: function () { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide: function () { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload: function () { | |||||
| }, | |||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh: function () { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom: function () { | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage: function () { | |||||
| } | |||||
| }) |
| { | |||||
| "usingComponents": {} | |||||
| } |
| <!--pages/outLink/outLink.wxml--> | |||||
| <web-view src="https://www.baidu.com/"> </web-view> |
| /* pages/outLink/outLink.wxss */ |