|
@@ -1,105 +1,104 @@
|
|
|
-import { encrypt } from '@/common/crypto.js'
|
|
|
-/* 小程序码 */
|
|
|
-import store from '@/store/index.js'
|
|
|
-import { wxUnlimited } from '@/services/api/auth.js'
|
|
|
-const fs = uni.getFileSystemManager()
|
|
|
-const qrcodePath = `${wx.env.USER_DATA_PATH}/qrcodePath`
|
|
|
-
|
|
|
-const defalutOptions = {
|
|
|
- title: '护肤上颜选,正品有好货~',
|
|
|
- path: '/pages/index/index',
|
|
|
- imageUrl: 'https://static.caimei365.com/app/mini-hehe/icon/icon-share.png'
|
|
|
-}
|
|
|
-
|
|
|
-export function shareDataResult(shareData, title, coverUrl) {
|
|
|
- const state_str = encodeURIComponent(encrypt(shareData))
|
|
|
- const result = {
|
|
|
- title: title || defalutOptions.title,
|
|
|
- path: `${defalutOptions.path}?state_str=${state_str}`,
|
|
|
- imageUrl: coverUrl || defalutOptions.imageUrl
|
|
|
- }
|
|
|
- return result
|
|
|
-}
|
|
|
-
|
|
|
-const queryKeyOfMap = {
|
|
|
- 'type': 't',
|
|
|
- 'inviteUserId': 'i',
|
|
|
- 'activityId': 'a',
|
|
|
- 'dealerUserId': 'd',
|
|
|
- 'keyWord': 'k',
|
|
|
- 'productId': 'p',
|
|
|
- 'jumpState': 'j',
|
|
|
- 'collageId': 'c'
|
|
|
-}
|
|
|
-
|
|
|
-const enQueryKeyOfMap = {
|
|
|
- 't': 'type',
|
|
|
- 'i': 'inviteUserId',
|
|
|
- 'a': 'activityId',
|
|
|
- 'd': 'dealerUserId',
|
|
|
- 'k': 'keyWord',
|
|
|
- 'p': 'productId',
|
|
|
- 'j': 'jumpState',
|
|
|
- 'c': 'collageId'
|
|
|
-}
|
|
|
-
|
|
|
-// 创建二维码保存路径
|
|
|
-function createQrcodeDir(callback) {
|
|
|
- try {
|
|
|
- fs.accessSync(qrcodePath)
|
|
|
- console.log('已存在文件夹')
|
|
|
- callback(qrcodePath)
|
|
|
- } catch (e) {
|
|
|
- fs.mkdirSync(qrcodePath)
|
|
|
- console.log('不存在文件夹')
|
|
|
- callback(qrcodePath)
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-/* 生成二维码链接 */
|
|
|
-export async function generateWxUnlimited(params) {
|
|
|
- try {
|
|
|
- // 从服务端获取二维码arrayBuffer
|
|
|
- return await wxUnlimited({
|
|
|
- page: params.pagePath || 'pages/index/index',
|
|
|
- scene: codeQueryStr(params.queryStr),
|
|
|
- check_path: process.env.NODE_ENV === 'production', // 是否校验页面
|
|
|
- env_version: process.env.NODE_ENV === 'production' ? 'release' : 'trial', // 正式版 or 开发版
|
|
|
- width: 200, // 二维码宽度
|
|
|
- auto_color: false, // 自动颜色
|
|
|
- line_color: { 'r': 0, 'g': 0, 'b': 0 }, // 线条颜色
|
|
|
- is_hyaline: true // 透明底
|
|
|
- })
|
|
|
- } catch (e) {
|
|
|
- return Promise.reject(e)
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 编码查询参数
|
|
|
-export function codeQueryStr(query = '') {
|
|
|
- const keys = Object.keys(queryKeyOfMap)
|
|
|
- return query.split('&').map(str => {
|
|
|
- return str.split('=').map((substr, index) => {
|
|
|
- if (!index) {
|
|
|
- return queryKeyOfMap[keys.find(item => substr === item)]
|
|
|
- } else {
|
|
|
- return substr
|
|
|
- }
|
|
|
- }).join('=')
|
|
|
- }).join('&')
|
|
|
-}
|
|
|
-
|
|
|
-// 反编码查询参数
|
|
|
-export function enCodeQueryStr(query) {
|
|
|
- const keys = Object.keys(enQueryKeyOfMap)
|
|
|
- return query.split('&').map(str => {
|
|
|
- return str.split('=').map((substr, index) => {
|
|
|
- if (!index) {
|
|
|
- return enQueryKeyOfMap[keys.find(item => substr === item)]
|
|
|
- } else {
|
|
|
- return substr
|
|
|
- }
|
|
|
- }).join('=')
|
|
|
- }).join('&')
|
|
|
-}
|
|
|
+/* 小程序码 */
|
|
|
+import store from '@/store/index.js'
|
|
|
+import { wxUnlimited } from '@/services/api/auth.js'
|
|
|
+const fs = uni.getFileSystemManager()
|
|
|
+const qrcodePath = `${wx.env.USER_DATA_PATH}/qrcodePath`
|
|
|
+
|
|
|
+const defalutOptions = {
|
|
|
+ title: '护肤上颜选,正品有好货~',
|
|
|
+ path: '/pages/index/index',
|
|
|
+ imageUrl: 'https://static.caimei365.com/app/mini-hehe/icon/icon-share.png'
|
|
|
+}
|
|
|
+
|
|
|
+export function shareDataResult(shareData, title, coverUrl) {
|
|
|
+ const state_str = encodeURIComponent(encrypt(shareData))
|
|
|
+ const result = {
|
|
|
+ title: title || defalutOptions.title,
|
|
|
+ path: `${defalutOptions.path}?state_str=${state_str}`,
|
|
|
+ imageUrl: coverUrl || defalutOptions.imageUrl
|
|
|
+ }
|
|
|
+ return result
|
|
|
+}
|
|
|
+
|
|
|
+const queryKeyOfMap = {
|
|
|
+ 'type': 't',
|
|
|
+ 'inviteUserId': 'i',
|
|
|
+ 'activityId': 'a',
|
|
|
+ 'dealerUserId': 'd',
|
|
|
+ 'keyWord': 'k',
|
|
|
+ 'productId': 'p',
|
|
|
+ 'jumpState': 'j',
|
|
|
+ 'collageId': 'c'
|
|
|
+}
|
|
|
+
|
|
|
+const enQueryKeyOfMap = {
|
|
|
+ 't': 'type',
|
|
|
+ 'i': 'inviteUserId',
|
|
|
+ 'a': 'activityId',
|
|
|
+ 'd': 'dealerUserId',
|
|
|
+ 'k': 'keyWord',
|
|
|
+ 'p': 'productId',
|
|
|
+ 'j': 'jumpState',
|
|
|
+ 'c': 'collageId'
|
|
|
+}
|
|
|
+
|
|
|
+// 创建二维码保存路径
|
|
|
+function createQrcodeDir(callback) {
|
|
|
+ try {
|
|
|
+ fs.accessSync(qrcodePath)
|
|
|
+ console.log('已存在文件夹')
|
|
|
+ callback(qrcodePath)
|
|
|
+ } catch (e) {
|
|
|
+ fs.mkdirSync(qrcodePath)
|
|
|
+ console.log('不存在文件夹')
|
|
|
+ callback(qrcodePath)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/* 生成二维码链接 */
|
|
|
+export async function generateWxUnlimited(params) {
|
|
|
+ try {
|
|
|
+ // 从服务端获取二维码arrayBuffer
|
|
|
+ return await wxUnlimited({
|
|
|
+ page: params.pagePath || 'pages/index/index',
|
|
|
+ scene: codeQueryStr(params.queryStr),
|
|
|
+ check_path: process.env.NODE_ENV === 'production', // 是否校验页面
|
|
|
+ env_version: process.env.NODE_ENV === 'production' ? 'release' : 'trial', // 正式版 or 开发版
|
|
|
+ width: 200, // 二维码宽度
|
|
|
+ auto_color: false, // 自动颜色
|
|
|
+ line_color: { 'r': 0, 'g': 0, 'b': 0 }, // 线条颜色
|
|
|
+ is_hyaline: true // 透明底
|
|
|
+ })
|
|
|
+ } catch (e) {
|
|
|
+ return Promise.reject(e)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 编码查询参数
|
|
|
+export function codeQueryStr(query = '') {
|
|
|
+ const keys = Object.keys(queryKeyOfMap)
|
|
|
+ return query.split('&').map(str => {
|
|
|
+ return str.split('=').map((substr, index) => {
|
|
|
+ if (!index) {
|
|
|
+ return queryKeyOfMap[keys.find(item => substr === item)]
|
|
|
+ } else {
|
|
|
+ return substr
|
|
|
+ }
|
|
|
+ }).join('=')
|
|
|
+ }).join('&')
|
|
|
+}
|
|
|
+
|
|
|
+// 反编码查询参数
|
|
|
+export function enCodeQueryStr(query) {
|
|
|
+ const keys = Object.keys(enQueryKeyOfMap)
|
|
|
+ return query.split('&').map(str => {
|
|
|
+ return str.split('=').map((substr, index) => {
|
|
|
+ if (!index) {
|
|
|
+ return enQueryKeyOfMap[keys.find(item => substr === item)]
|
|
|
+ } else {
|
|
|
+ return substr
|
|
|
+ }
|
|
|
+ }).join('=')
|
|
|
+ }).join('&')
|
|
|
+}
|