1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- // import { encrypt } from '@/common/crypto.js'
- /* 小程序码 */
- import store from '@/store/index.js'
- import { wxUnlimited } from '@/services/sellse.service.js'
- /*
- * queryStringify
- * 将url?k=v&k1=v1的序列化转成k-v对象
- */
- export function queryParse(query = '') {
- if (query.startsWith('?')) {
- query = query.slice(0)
- }
- const obj = Object.create(null)
- query.split('&').forEach(str => {
- const v = str.split('=')
- obj[v[0]] = v[1]
- })
- return obj
- }
- /* 生成二维码链接 */
- export const generateWxUnlimited = async (that, params) => {
- try {
- // 从服务端获取二维码arrayBuffer
- return await that.SellerService.wxUnlimited({
- page: params.pagePath,
- scene: params.queryStr, // 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('&')
- }
|