| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * 对象转换为url参数
- * @param {object} params 当前页面的参数对象 {}
- *
- * 使用方法
- import { convertUrlParams } from '@/utils/share'
- let params = convertUrlParams({ id: 1, name: '张三', age: 18 })
- uni.navigateTo({
- url: `/xxx/xxx/xxxx${params}`
- })
- */
- export const convertUrlParams = (params = {}) => {
- let urlParamsStr = '?'
- for (const key in params) {
- if (Object.prototype.hasOwnProperty.call(params, key)) urlParamsStr += `&${key}=${params[key]}`
- }
- return urlParamsStr
- }
- /**
- * url转换为对象参数
- * @param {object} params 当前页面的参数 ''
- *
- * 使用方法
- import { convertObjParams } from '@/utils/share'
- let params = convertObjParams('id=1&name=张三&age=18')
- */
- export const convertObjParams = (params = '') => {
- let obj = {}
- params.split('&').forEach(item => {
- let [key, value] = item.split('=')
- obj[key] = value
- })
- return obj
- }
- /**
- * 分享函数
- * setShareMsg({shareTitle,shareImg,sharePath,shareParams}) 设置分享信息
- * @param {string} shareTitle 分享标题
- * @param {string} shareImg 分享图片
- * @param {string} sharePath 分享链接
- * @param {object} shareParams 分享参数
-
- * 使用方法
- import { setShareMsg } from '@/utils/share'
- onShareAppMessage(() => {
- return setShareMsg({
- shareTitle: '分享标题',
- shareImg: 'https://www.baidu.com/img/flexible/logo/pc/result.png',
- sharePath: '/pages/card/card',
- shareParams: {
- id: 1,
- name: '张三',
- age: 18
- }
- })
- })
- * 获取分享参数
- onLoad((option) => {
- const { id, name, age } = (Object.keys(option).length ? option : false) || getApp().globalData.shareParams || {}
- console.log(id, name, age)
- })
- */
- export const setShareMsg = ({ shareTitle = '我分享了一个小程序', shareImg = '', sharePath = '', shareParams = {} }) => {
- const params = convertUrlParams({ sharePath, ...shareParams })
- return {
- title: shareTitle,
- imageUrl: shareImg,
- path: `/pages/index/welcome${params}`
- }
- }
|