123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- import {
- getMyInfo,
- buyVip,
- getVipInfo,
- getWxQrcode,
- getLearnCard
- } from '~/api/user'
- import event from '~/mixins/event'
- import {
- getProducts,
- userEvent
- } from '~/api/global'
- import {
- createStoreBindings
- } from 'mobx-miniprogram-bindings'
- import {
- store
- } from '~/store/index'
- const app = getApp()
- Page({
- behaviors: [event],
- data: {
- userInfo: {},
- vipTime: '',
- tasks: [],
- isIos: app.globalData.isIOS,
- qrCode: '',
- activationModal: false,
- activationRes: {},
- products: [],
- isPreferential: false
- },
- async onLoad() {
- // 手工绑定
- this.storeBindings = createStoreBindings(this, {
- store,
- actions: {
- setUser: 'setUser'
- }
- })
- if (this.data.isIos) {
- let qrCode = await getWxQrcode()
- this.setData({
- qrCode: qrCode.ticketUrl
- })
- }
- },
- async onShow() {
- if (typeof this.getTabBar === 'function') {
- this.getTabBar().setData({
- selected: 4
- })
- }
- let uid = wx.getStorageSync('uid') || ''
- if (!uid) {
- getApp().callBack = (res) => {
- this.setUserInfo()
- }
- } else {
- this.setUserInfo()
- }
- },
- // 设置用户信息及vip状态
- async setUserInfo() {
- let userInfo = await getMyInfo()
- let vipTime = await getVipInfo()
- this.setUser(userInfo.user)
- this.getProducts()
- this.setData({
- userInfo,
- vipTime,
- })
- },
- async getProducts() {
- let {
- productList: products,
- isPreferential
- } = await getProducts()
- this.setData({
- products,
- isPreferential
- })
- },
- activationCode() {
- wx.showModal({
- title: '请输入激活码',
- editable: true,
- success: async ({
- confirm,
- content
- }) => {
- if (confirm) {
- let regexp = /^[a-zA-Z0-9]{4}$/
- if (regexp.test(content)) {
- let activationRes = await getLearnCard({
- cardNo: content
- })
- if (activationRes.code == 200) {
- activationRes = {
- code: 200,
- message: '快去朗读挑战吧!'
- }
- }
- this.setUserInfo()
- if (typeof this.getTabBar === 'function') {
- this.getTabBar().setData({
- mask: true
- })
- }
- this.setData({
- activationModal: true,
- activationRes
- })
- } else {
- if (typeof this.getTabBar === 'function') {
- this.getTabBar().setData({
- mask: true
- })
- }
- this.setData({
- activationModal: true,
- activationRes: {
- code: 581,
- message: '请检查激活码输入是否正确'
- }
- })
- }
- }
- }
- })
- },
- toGzh() {
- this.selectComponent('#gzh').open()
- },
- async toBuy({
- currentTarget
- }) {
- if (currentTarget.dataset.isclick) {
- return
- }
- wx.showLoading({
- title: '提交中',
- mask: true
- })
- let res = await buyVip({
- productId: currentTarget.dataset.id
- }).finally(() => {
- wx.hideLoading()
- })
- userEvent({
- action: 'ANDROID_PAY_ACTIVITY',
- })
- let {
- timeStamp,
- nonceStr,
- signType,
- paySign
- } = res
- // package保留字
- wx.requestPayment({
- timeStamp,
- nonceStr,
- package: res.package,
- signType,
- paySign,
- success: async (res) => {
- setTimeout(() => {
- this.setUserInfo()
- this.selectComponent('#vipModal').open()
- }, 1500)
- userEvent({
- action: 'ANDROID_PAY_SUCCESS',
- })
- },
- fail(res) {
- wx.showToast({
- title: "支付失败",
- icon: "none",
- duration: 3000
- })
- }
- })
- },
- jump({
- currentTarget
- }) {
- let url = currentTarget.dataset.url
- console.log(url);
- wx.navigateTo({
- url: url
- });
- },
- clipboar() {
- wx.setClipboardData({
- data: this.data.userInfo.user.eid,
- success: function (res) { //成功回调函数
- wx.showToast({
- title: '已复制',
- icon: "none"
- })
- }
- })
- },
- closeModal() {
- this.setData({
- activationModal: false
- })
- if (typeof this.getTabBar === 'function') {
- this.getTabBar().setData({
- mask: false
- })
- }
- },
- // 分享配置
- onShareAppMessage: function (res) {
- return {
- title: '自从用了它,家里朗朗书声,美妙极了!你家孩子也快来试试!',
- path: `/pages/index/index?uid=${wx.getStorageSync('uid')}`,
- imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/375-300-1.jpg'
- }
- },
- onShareTimeline: function () {
- return {
- title: '终于找到适合孩子的朗读神器了!动画配音,边玩边学!',
- query: `uid=${wx.getStorageSync('uid')}`,
- imageUrl: 'http://reader-wx.ai160.com/images/reader/v3/yuwen.jpg'
- }
- },
- })
|