# 快速访问

> 快速访问（即小程序版本的快捷入口）

## 访问形式

> 可以直接编写小程序的 path 和 query 打开小程序页面

- [扫普通链接二维码打开小程序](https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html)
- [扫小程序码打开小程序](https://mp.weixin.qq.com/wxamp/wxaqrcode/weappcode)

## 微信扫普通链接二维码进入说明

> 微信扫线下二维码跳转小程序下指定服务

- [扫普通链接二维码打开小程序](https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html)
- 注意：只有微信后台配置过的完整链接，【测试范围-指定版本】才会生效
- 注意：扫码进不去仔细看“文档-测试调试”(必须用这个人的微信账号登录一下开发者工具，然后扫一版开发版，这人才能扫测试外链进入小程序)

### 前置准备

1. 放置校验文件

```
服务器目录 /data/laimengfile/p
生产: 39.108.55.24
测试: 120.79.80.138
```

2. [登录小程序后台-配置二维码规则](https://developers.weixin.qq.com/miniprogram/introduction/qrcode.html)

### 二维码规则

```
# 链接规则
https://superdesk.avic-s.com/p/{miniProgram}/

# 链接规则（旧不推荐）
https://superdesk.avic-s.com/super_cloud/pcm/shortcut/{miniProgram}/

# 超级前台（北大）
https://superdesk.avic-s.com/p/a/
https://superdesk.avic-s.com/super_cloud/pcm/shortcut/service_routine_uni/

# 企业云卡
https://superdesk.avic-s.com/p/b/

# 新闻物业
https://superdesk.avic-s.com/p/c/

# TF后勤服务
https://superdesk.avic-s.com/p/e/
https://superdesk.avic-s.com/super_cloud/pcm/shortcut/e/

# 橙都生活
https://superdesk.avic-s.com/p/f/

# 其他小程序按照字母顺序排列推下去
{z}用来给还没上普通链接二维码规则的小程序页面用，不要用来跳转其他小程序

```

### 友朋自取柜-开柜码

```
# 链接规则
https://superdesk.avic-s.com/p/{miniProgram}/{shortLinkCode}

# 示例
https://wx.palmnest.com/p/a/FfLVS
# 携带开门方向，left为{2}，right为{1}，默认为{1}
https://wx.palmnest.com/p/a/FfLVS2

```

### 商户收款码

[商户管理-通用收款码-最终地址](https://superdesk.avic-s.com/super_cloud/wx/entity_shop/?orgId=1229&merchant_id=315FBDBD52DFBE879525FA59EA69E799&v=2024011214#/wxCashier)

```
# 链接规则
https://superdesk.avic-s.com/p/{miniProgram}/?p=shskm&p1={orgId}&p4={merchant_uuid}

# 示例：积余魔方-商户通用收款码-遇见小面
https://superdesk.avic-s.com/p/d/?p=shskm&p1=1229&p4=315FBDBD52DFBE879525FA59EA69E799
# 示例：橙都生活-商户通用收款码-红旗超市6138分场
https://superdesk.avic-s.com/p/f/?p=shskm&p1=3116&p4=67839057CAA20366F014C5CA9F15B8CA

```

### 快速链接-指定项目、指定服务、追加参数

[参数字段名参考-系统-生成快捷访问链接](https://wx.palmnest.com/super_cloud/backend/#/basesetting/auxiliaryManage/index)

```
# 链接规则-全部参数
https://superdesk.avic-s.com/p/{miniProgram}/?p={type}p1={orgId}&p2={serviceId}&p3={sp}&p4={encodeURIComponent(extParam)}

# 示例-第三方服务（仅供参考）
https://superdesk.avic-s.com/p/{miniProgram}/?p=th_{thirdPartyCode}&p1={orgId}&p2={serviceId}&p3={sp}&p4={extParam}

# type-链接类型（兼容）
[
  {
    "label": "首页",
    "value": "1",
    "code": null,
    "options": []
  },
  {
    "label": "服务",
    "value": "2",
    "code": null,
    "options": []
  },
  {
    "label": "服务商品",
    "value": "3",
    "code": null,
    "options": []
  },
  {
    "label": "服务页",
    "value": "5",
    "code": null,
    "options": []
  },
  {
    "label": "发现页",
    "value": "6",
    "code": null,
    "options": []
  },
  {
    "label": "我的页",
    "value": "7",
    "code": null,
    "options": []
  },
  {
    "label": "楼闪送详情",
    "value": "8",
    "code": null,
    "options": []
  },
  {
    "label": "商户收款码",
    "value": "9",
    "code": null,
    "options": []
  },
  {
    "label": "访客预约码",
    "value": "10",
    "code": null,
    "options": []
  }
]

# ['p3','sp']-跳转页面


# ['p4','_s','extParam']-扩展参数

```

## 微信扫小程序码进入说明

### 生成说明

> 小程序管理后台 -> 工具 -> 生成小程序码

### 指定项目、指定服务、追加参数

```
# 借用上面的链接规则`q=`实现（逐步废弃）
https://superdesk.com/p/z/?p={type}p1={orgId}&p2={serviceId}

# 示例-跳转服务-智慧访客
pages/home/index?q=https%3A%2F%2Fsuperdesk.com%2Fp%2Fz%2F%3Fp1%3D3101%26p2%3D627
# 示例-跳转项目-新城悦服务
pages/home/index?q=https%3A%2F%2Fsuperdesk.com%2Fp%2Fz%2F%3Fp1%3D3131

# 也可以用包含`p=xx`参数实现，路径更短（推荐）
pages/home/index?p={type}p1={orgId}&p2={serviceId}

# 示例-跳转智慧访客
pages/home/index?p=2&p1=615&p2=47
```

### 指定 H5 页面

> 业务流程路径：微信小程序-小程序首页-跳转 h5 页面

```js
import qs from "qs"; // 用于处理 url 参数

let appid = "wx0324c5e054b2eb5e"; // 小程序的 appid
let path = "/pages/home/index"; // 小程序页面的 path
let query = {
  url: "https://xxx", // 必填，业务方H5链接
  p: "th_xxx", // 选填，业务方标识（用于标记第三方）
  orgId: "615", // 选填，项目ID
  lowPower: "1", // 选填，操作权限（需要白名单用户传 0，需要登录传 1，不需要登录传 2）
}; // 小程序的 query

// 如果query是string类型，则需要先对参数进行 encodeURIComponent 编码
let url = `${path}?${qs.stringify(query)}`; // 转成url参数形式，例如`/pages/home/index?url=https%3A%2F%2Fxxx&p=th_zsdjh&lowPower=1`
// 小程序完整路径跳转
wx.miniProgram.navigateTo({
  url: url,
});

// 示例一：跳转到百度搜索页面-搜索微信小程序
let path = "/pages/home/index"; // 小程序的页面 path
let query = {
  url: "https://www.baidu.com/s?wd=微信小程序",
  lowPower: "2",
};
let url = `${path}?${qs.stringify(query)}`;
wx.miniProgram.navigateTo({
  url: url,
});
```
