1. 序言
WANLSHOP 不仅支持商家入驻,且可以像单用户商城自营,同时可以混合运营;系统还内置了强大的IM即时通讯,卖家和买家可以在第一时间与对方取得联系; 完善的售后系统,用户提交退款后卖家拒绝后,买家可以申请平台介入
多终端支持
一、客户端 目前完美匹配: APP 、 H5 、 微信小程序 、 QQ小程序 正在测试小程: 今日头条 、 抖音 、 西瓜视频 、 皮皮虾 注意!其他小程序: 支付宝小程序(导航栏不兼容) 、 百度小程序(尚未测试) ,后续版本完美匹配
二、微信内置浏览器 1.0.9版本后微信公众账号登录、分享、支付上线,暂未达到稳定
支持退款原路返回,自动退款至第三方
资金可追溯,先退款至本地用户余额并写入日志,在调用第三方支付退款接口, 如果第三方退款【成功】则再次从余额扣除,日志体现“已原路返回值你的第三方”, 当第三方接口出现【失败/非正常状态】,则保持退还到本地余额,退款不中断, 后续可通过用户提现从余额人工提现, 退款更安全
权威认证性能指标

后端面向过程开发,利于初级开发者理解,后续将整理面向对象
2. 安装
如果你是直接从官网插件市场购买下载的WANLSHOP,那你下载的压缩包只是插件的核心文件,你需要先安装FastAdmin,然后后台管理->插件管理->在线或离线安装即可
安装 FastAdmin
具体安装FastAdmin的步骤,可以参考FastAdmin框架安装文档或安装视频 安装文档: https://doc.fastadmin.net/doc/install.html 安装视频: https://www.fastadmin.net/video/environment.html
如果你是在后台插件管理购买安装的WanlShop可以直接使用
FastAdmin 常见问题
https://doc.fastadmin.net/doc/faq.html
网站运行目录
请不要将网站目录设置/www/wwwroot/www_wanlshop/public !!!!网站目录即根目录,运行目录才设置为/public

网站伪静态
3. FAQ 常见问题 【?】
当前已上线版本,接口未存在任何问题,如果是第三方接口报错,则说明商城连接第三方正常,第三方账户配置错误,请查看第三方文档,或联系第三方客服;
温馨提示 务必查看更新补丁
1.当前发布版本暂无明显BUG,此文档可以解决98%问题 2.如果有问题请先对比演示站,在查看BUG补丁是否有解决方案 3.普通问题 请在工作日内提交,将于工作日内回复 4.FastAdmin 常见问题 https://doc.fastadmin.net/doc/faq.html
【!!!重要!!!】商家接收IM消息正常,客户端无法实时收到消息补丁 https://doc.fastadmin.net/wanlshop/792.html
配置二级域名
1.打开网站根目录 /application/route.php 文件,去掉 __domain__注释

2.继续打开 /application/config.php 文件,将配置97行 url_domain_deplo 修改为 true

跨域问题

2.打开网站根目录 /application/common/controller/Api.php 文件,找到_initialize函数,在 //跨域请求检测 前添加 if (isset($_SERVER['HTTP_ORIGIN'])){header('Access-Control-Expose-Headers: __token__');}

选择地址报错或无法点击第三级地区
因为高德api无正确返回
1.小程序中请根据微信开发者工具中提示,将高德地图api添加进 微信安全域名中 在 "开发"->"开发设置" 中设置 request 合法域名,将 https://restapi.amap.com 中添加进去,如下图所示:

2.没有配置高德地图SDK(文档 https://doc.fastadmin.net/wanlshop/314.html ),我司默认提供的已超量无法使用(新版已经不提供高德key需要,自己配置,配置完务必点击更新,重新生成客户端,重新发布) 链接中是你配置的正确的key 或手动在客户端配置文件中更新



商品属性包含特殊符号,小程序报错
更新到最新版本或者使用补丁修复此问题 https://doc.fastadmin.net/wanlshop/792.html
升级到新版后装修商城报错
新版改动较大,旧数据可能无法适配新版组件 需要工单提交h5站点给我们检测,或者删除页面重建
升级到新版后,猜你喜欢,商品详情页产品推荐无商品
将 此表fa_wanlshop_record 清空,因为旧版数据 升级有 冗余数据,导致查询旧数据所以为空
上传短视频提示错误
1.配置位置(如你的后台与以下截图不一致,请更新到最新版本)

2.参考文档 https://doc.fastadmin.net/wanlshop/309.html#toc-6
发布短视频后无内容,等待2分钟后,视频依旧没有截图、视频
1.检查回调,检查回调秘钥是否和后台一致 2.检查工作流、阿里云点播是否配置正确,不明白如何配置在阿里云发起工单 3.有客户反馈,阿里云指定服务商服务器不发起回调,需提交阿里云工单解决
客户端图片加载不出
1.检查是否使用第三方云储存,如使用后台-【客户端配置】-CDN服务器请添加第三方云储存域名 2.检查【客户端配置】-CDN服务器,是否填写本地地址,不使用云储存填写站点域名即可
商城装修页面上传图片报错,第三方储存插件必须 使用中转模式
上传模式必须使用 服务器中转 模式,不支持 客户端直传 模式
导出小程序,接口500错误! 接口异常
检查小程序-详情-本地设置-不效验合法域名..是否开启,正式上线请在小程序后台设置相关安全域名,并取消此处勾选

开屏页面右上角LOGO如何修改?
第三方储存或服务器根目录下 public/assets/addons/wanlshop/img/common/ wanlian4@2x.png
客户端注册短信异常
获取验证码异常,且短信插件已经配置,API异常? 请检查 安装的短信插件是否配置 mobilelogin 短信模板

快递100物流订阅、物流没有更新
点击注册快递100 https://api.kuaidi100.com/extend/register/?code=c40ef7dbab224c5ca83d1bc640124c9b
如果站点全局使用的https 可能导致快递100无法推送最新物流动态 需要联系快递100客服调整下您的接口 快递100官方客服 https://kuaidi100.udesk.cn/im_client/?web_plugin_id=128891
从编辑器上传图片报错
第三方Simditor编辑器插件中,选择图片因为使用后台固定接口,需要自行二次开发修改插件目录下simditor/src/js/simditor.js 第 2880 行,清空后台缓存

1.如果3无效 打开 public/assets/addons/simditor/js/simditor.min.js 搜索 general/attachment/select 替换为 wanlshop/attachment/select
清空浏览器缓存即可
更新插件提示 chmod(): Operation not permitted 错误
因为后台启动即时通讯和计划任务,插件安装覆盖文件时没有权限所导致报错 解决方案: 1.关闭即时通讯和计划任务,输入命令 php think wanlshop:chat stop php think wanlshop:order stop 2.或者直接重启服务器后安装即可
更新版本后, 某些版本升级 未定义数组索引 gz_notify_url 或 redis等其他问题


一般为插件配置文件(站点根目录/addons/wanlshop/config.php)问题,更新到最新版本或者使用补丁修复此问题 https://doc.fastadmin.net/wanlshop/792.html
IM发送语音消息,上传apk、wgt包无法上传
1.本地储存,请打开 application/extra/upload.php 文件,大概24行处 在mimetype字段添加 mp3,apk,wgt 2.云储存,请打开云储存插件配置新增

报错中遇到sql_mode=only_full_group_by错误,数据库配置中禁用thinkphp官方高级查询语法,导致控制台报错,请按以下修改,建议本地和服务器使用宝塔面板,phpStudy(小皮面板)不推荐使用
请在数据库配置文件中修改 sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
例如宝塔

后台操作确认收货以后。退款原路返回,微信也收到退款了,但是小程序那边显示退款失败
因新版改为通过回调确认退款状态 所以 回调地址由后台 【UNI-APP客户端管理】中的 【API服务器】与 回调地址拼接成的 ,当没有配置正确API地址,则回调为错误地址,则无法修改订单状态,造成退款失败
海报无法显示图片,生成海报失败
1.1.9版本之前版本进入后台-【商城配置】-【系统设置】-点击 [海报分享配置] 进行配置,原【商城配置】-【配置二维码】功能弃用
1.请在系统设置-海报分享配置-二维码展示,修改为普通二维码,仅配置小程序且 已上线并审核发布的小程序可以生成二维码

2.H5生成海报空白,图片跨域问题导致 宝塔面板-网站配置处 允许跨域 location ~ . .(gif|jpg|jpeg|png|bmp|swf)$ {
add_header Access
-
Control
-
Allow
-
Origin
*
;
add_header Access
-
Control
-
Allow
-
Headers X
-
Requested
-
With
;
add_header Access
-
Control
-
Allow
-
Methods
GET
,POST,PUT,
DELETE
,OPTIONS;
} 3.如果是第三方云储存,请到第三方储存提交工单,让他们参考H5的配置,指导你如何配置第三方的跨域问题
发送验证码提示Sign签名错误
请检查后台 uniapp客户端管理中的 M服务器地址 是否和 客户端/common/config/config.js中的 socketurl地址 一致 因 Sign逻辑 使用 ws地址+密码盐 md5加密,当配置不同则报错sign错误
4. BUG 更新补丁 【!】
补丁用于二次开发客户使用,未经二次开发请在后台升级到最新版本
链接:https://share.weiyun.com/54DsYhtU 密码:r5xmg4
- 优化 判断前端非法提交订单数量
暂无补丁
后续预计更新内容
升级 重构阶梯拼团,新增秒杀、砍价、新版拼团等活动、统一商品表合并臃肿普通商品和团购商品数据表 升级 关键业务AES/CBC/Pkcs7加密 传输数据 升级 重磅新增 导入商品助手,一键导入天猫淘宝商品到商家后台,帮助商家快速部署极速开店 升级 支付密码(强制绑定手机号)创建、重置、修改 及 手机号绑定、修改,余额提现弹出验证支付密码 升级 重构订单快递物流体系,新增物流快递管理功能 升级 重构物流发货支持分包发货、部分发货、面单发货、用户自提、商家(非门店)核销、无需物流发货 升级 增加订单来源、优化 订单详情页、物流页、出库单页、发货页,更符合FastAdmin后台统一UI设计 升级 客户端商家主页 新增 家商家资质及综合体验评分 升级 API商城接口 Order、User 控制器接入Sign效验,数据更安全 升级 Sign效验算法优化效验异常 优化 后台配置表单,类目可自动选择,特殊表单右侧添加单位 修复 商家后台图片选择页面上传按钮提示 不允许上传格式 修复 人机验证完成后获取短信提示请检查短信配置 修复 系统配置阿里直播配置表单异常
v1.1.7-1.1.8版本最新补丁
链接:https://share.weiyun.com/54DsYhtU 密码:r5xmg4
测试动态:11补丁开始公测了
注意:使用补丁需要按补丁顺序、从小序号到到序号,依次覆盖!!补丁有问题请及时提交工单!!
v1.1.6版本最新补丁
链接:https://share.weiyun.com/54DsYhtU 密码:r5xmg4
修复详情: 新增人机验证功能
v1.1.5版本最新补丁

v1.1.4版本最新补丁【未升级1.1.5请务必更新第五个补丁】

v1.1.3版本最新优化
重要!!4.优化修复 第三方登录 完善资料token验证及修复openid查询 登录异常 请尽快覆盖以下补丁

v1.1.3 补丁 2022年1月21日12:34:55
- v1.1.2 补丁 2021年12月20日11:17:29
- v1.1.1 补丁 2021年9月29日01:38:59

未压缩JS代码、测试数据
链接: https://share.weiyun.com/meBf0HPW 密码:wanlkj
V1.0.X 旧版修复补丁
仅用1.0版本二次开发使用
链接: https://share.weiyun.com/5AVNfe6D 密码:wanlkj
5. 依赖插件
如果你是在线从 FastAdmin插件市场 下载的 WanlShop,那么你下载的压缩包只是插件的核心文件,你需要先安装FastAdmin,然后在后台管理->插件管理->在线或离线安装即可。 注意:本插件不需要 点击配置 配置商城,同样也要改动任何参数
安装WanlShop完毕后:
需要进一步安装第三方插件,以下插件均使用 FastAdmin 官方插件请放心使用
| 插件名 | 介绍 | 插件地址 | 依赖 |
|---|---|---|---|
| 短信插件(建议阿里云短信) | 用于用户注册、登录、验证功能 | 查看 | *必须 |
| 云存储插件(建议阿里云OSS) | 提升加载响应,减少了自己服务器带宽占用与存储 | 查看 | 可选 |
| 会员签到插件 | 用于客户端签到功能 | 查看 | *必须 |
| 开发示例 | 主要使用地区表数据库,无需具体功能,请安装后再 卸载 此插件 | 查看 | *必须 |
| Simditor | 用于商家后台和后台商品、文章编辑器 | 查看 | 可选 |
推荐配置教程
注意: 阿里云OSS一旦开启务必配置CND,否则图片无法正常显示
- 阿里云OSS插件 - 【配置】 - 【CDN地址】填写
- 多用户商城后台 - 【生成客户端】- 【客户端配置】 - 【CDN服务器】填写,如没开启阿里云OSS,请填写主域名
6. SDK配置
主要介绍SDK配置与插件配置
如果是接口反馈错误,则代表你配置错误,要么按文档重新配置,要么请联系第三方!!
- 阿里云官网
- 微信开放平台
- 支付宝开放平台
- QQ互联官网
- 微博开放平台
- 高德开放平台
- App 打包证书获取
7. 阿里云SDK 【!】
阿里云主要使用 云存储 和 短信服务 插件,短信可以使用其他,阿里云OSS不建议使用其他替代,因为客户端内置 阿里云OSS 图片处理规则,可根据场景自动压缩和缩放图片大小
推荐 使用阿里云 使用到的 FastAdmin 官方插件
| 插件名 | 介绍 | 插件地址 |
|---|---|---|
| 阿里云短信 | 用于用户注册、登录、验证功能 | 查看 |
| 阿里OSS云存储上传 | 提升加载响应,减少了自己服务器带宽占用与存储 | 查看 |
后台安装插件
分别安装 阿里云短信 和 阿里OSS云存储上传 插件,已安装不必再次安装
登录 阿里云官网
访问地址: 阿里云官网 提示:阿里OSS云存储上传 插件 和

阿里云短信

的 app_id、app_key 和 应用Key、秘钥secret 分别指的是

阿里云账户的 AccessKey ID 和 AccessKey Secret

可以继续使用 AccessKey ,填写到插件相应的位置, 但一旦泄露阿里云账户非常不安全
使用阿里云 RAM创建用户组和用户获取 key
- 新建用户组 SMS 和 OSS
- 创建一个子账号,获取子账号 AccessKey ID 和 AccessKey Secret ,填写进插件
- 不用理会用户相关设置,直接将用户添加到用户组,使用户获得用户组权限
用户组
新建用户组 SMS 和 OSS
添加权限
oss权限组:选中权限中模糊搜索 OSS,将下列的两个添加进去,点击确定
sms权限组:选中权限中模糊搜索 SMS,将下列的一个添加进去,点击确定
vod权限组(v1.0.8更新):选中权限中模糊搜索 VOD,将下列的一个添加进去,点击确定
用户
新建用户,不用理会任何设置
将用户分别添加进用户组,继承两个用户组权限


配置 阿里云短信 插件
后台插件列表,选阿里云短信,点击插件配置,主要填写3项,
- 填写通过RAM生成的用户下的key
注意:创建后务必及时复制秘钥secret,因为阿里云不保留,过后无法在看到

- 填写短信服务,国内消息下申请的 通过 的消息

- 模板消息
配置 阿里OSS云存储上传 插件
无论使用任何短信插件,其中短信模板务必追加 mobilelogin
后台插件列表,选阿里云存储,点击插件配置,主要配置这4项
- 填写通过RAM生成的用户下的key,同上
- 进入阿里云 对象储存 > Bucket列表
- EndPoint 你可以在 阿里云OSS Bucket中看到
- CND地址 为 Bucket 域名
- 客户端会自动处理图片,会在地址后面添加很长规则,为了减短地址 保存文件名 建议 /{filemd5}{.suffix} 结果 https://stc.wanlshop.com/ab8cb03963c3ba86b3f43985fc35c9d6.jpg 如担心md5重复 也可以 /{year}{mon}{day}_{filemd5}{.suffix} 结果 https://stc.wanlshop.com/20200629_ab8cb03963c3ba86b3f43985fc35c9d6.jpg
创建Bucket
创建完成后,你可以看到 插件配置所填写的项
注意
- 插件配置4 CDN地址 为 阿里云对象储存 的 Bucket 域名
- 正式配置好插件后,CDN地址同样为 wanlshop插件的 CDN地址
- 开启后无法正常显示,需要您将 你的网站根目录/public 下的 assets、uploads 两个文件夹上传到 阿里云OSS对象储存中
在插件安装完成,从服务器 这两个文件夹 压缩下载 上传到阿里云OSS
客户端上传
作者使用阿里云OSS的方式,阿里云OSS客户端 下载地址 ,但推荐使用从阿里云oss线上上传

登录后会显示你刚创建的 Bucket,
将从服务器打包的 文件上传到OSS中


在线上传

配置 阿里云点播(1.1.0升级)
注意!系统使用视频智能审核功能,阿里云点播仅上海地区、北京地区支持视频审核,请不要选择其他地域


一. 在商城后台配置阿里点播 访问控制
进入 B2B2C商城 - 【商城配置】 - 【系统配置】阿里点播选项 ,将以上配置的 访问控制 RAM 的AccessKeyId和AccessKeySecret填写进后台,和配置的阿里云OSS相同

二. 配置阿里云点播控制台
进入 https://vod.console.aliyun.com/ 配置管理
1.按照你清晰度需求,添加转码模板

2.配置工作流
务必照此配置,否则回调可能会出问题 复制刚才创建的工作流ID到后台 B2B2C商城 - 【商城配置】 - 【系统配置】阿里点播选项

3.回调配置
复制回调地址到阿里云点播控制台
配置回调方式、回调URL、回调事件

4.回调鉴权
阿里云点播控制台,编辑回调鉴权
将鉴权秘钥复制到 后台
阿里云点播其他配置 1.添加域名必须绑定SSL证书

2.配置 私有Bucket回源

3.储存到OSS上

8. 微信SDK
微信开放平台主要用于 客户端的微信分享、登录、支付SDK 使用。
微信支付
注册微信商家支付后,填写支付商户号ID 和 微信支付API秘钥后上传证书即可
获取微信支付证书
进入微信支付后台 https://pay.weixin.qq.com/index.php/core/cert/api_cert#/

按照指引下载WXCertUtil
常见问题:
1. 密钥设置路径:微信商户平台(pay.weixin.qq.com)-->账户中心-->账户设置-->API安全-->密钥设置
2. 设置生效时间:一般为立刻生效,少数情况下会延迟几分钟,如长时间错误,可重复设置几次
3. 密钥设置是影响此商户号下所有接口的,请谨慎设置。如怀疑密钥错误,又担心影响其他接口,可以尝试设置与原先设置的一样的密钥
微信登录
注册微信开放平台,完善以下选项即可

9. QQ互联官网
QQ互联主要用于 客户端 QQ的分享、登录SDK 和 第三方登录插件使用。
QQ 使用到的 FastAdmin 官方插件
| 插件名 | 介绍 | 插件地址 |
|---|
弃用第三方登录插件,后续更新..
后台安装插件
QQ相关链接
- 授权地址: http://www.yoursite.com/third/connect/qq
- 回调地址: http://www.yoursite.com/third/callback/qq
- 绑定地址: http://www.yoursite.com/third/bind/qq
- 解绑地址: http://www.yoursite.com/third/unbind/qq
登录 QQ互联官网
访问 QQ互联官网 ,
这个平台快被腾讯玩坏了,没有注册的地方,只能用QQ登录,登录后没有任何提示

登录后你还是登陆后直接访问这个吧 https://connect.qq.com/devuser.html#/create/1/

创建网站应用
点击应用管理,创建网站应用

填写完整申请信息,创建应用后,系统审核

配置 第三方登录 插件
将上面创建的 APP ID 填写到后台

创建移动应用
点击应用管理,创建移动应用

- AppStore ID 没有苹果账户,随便乱填一个
- Bundle ID 和 Android 包名为 多用户商城 > 生成客户端 > 应用配置 填写的应用包名,
- Android 签名 通过安卓证书获取, 点击打开 生成证书及获取MD5方法 将MD5中的冒号去掉,将剩余的32位大写换成小写
- UrlSchema 为 多用户商城 > 生成客户端 > APP管理 中自定义的UrlSchema,类似http 在浏览器拉起App,如wanlshop://?abc

配置客户端SDK
第三登录已弃用,后续更新
10. 微博开放平台
微博开放平台主要用于 客户端的微博分享、登录SDK 和 第三方登录插件使用。
微博 使用到的 FastAdmin 官方插件
| 插件名 | 介绍 | 插件地址 |
|---|
弃用第三方登录插件,后续更新..
微博相关链接
- 授权地址: http://www.yoursite.com/third/connect/weibo
- 回调地址: http://www.yoursite.com/third/callback/weibo
- 绑定地址: http://www.yoursite.com/third/bind/weibo
- 解绑地址: http://www.yoursite.com/third/unbind/weibo
登录 微博开放平台
访问: 微博开放平台 使用微博账号登录或注册微博账号,选择导航栏微连接

网站接入
创建网页应用,获取app_id、app_secret

复制生成的app_id、app_secret

将生成的 app_id、app_secret 填写进 第三方登录 插件 > 微博处

其中scope参数为 get_user_info 获取用户信息
移动应用
创建网页应用,获取app_id、app_secret

复制生成的app_id、app_secret

打开后台 进入 多用户商城 > 生成客户端 > 客户端配置 选择 微博SDK

填写刚申请的参数,点击更新,生成源码,导入 HBuilder X 即可 如果你生成一次源码后,不准备继续使用生成源码功能,选择自己在 HBuilder X 中配置客户端 参数

进一步完善 微博开放平台
主要分为两项
- 开发者信息>身份认证,如果认证可以跳过此步

- 填写应用基本信息 提交审核
移动应用

- Apple ID 暂时没有,
- Bundle ID 和 Android 包名为 多用户商城 > 生成客户端 > 应用配置 填写的应用包名,
- Android 签名 通过安卓证书获取, 点击打开 生成证书及获取MD5方法 将MD5中的冒号去掉,将剩余的32位大写换成小写
- UrlSchema 为 多用户商城 > 生成客户端 > APP管理 中自定义的UrlSchema,类似http 在浏览器拉起App,如wanlshop://?abc

网页应用
主要注意
- 应用地址,新浪微博会重点审核该页面有没有微博登录按钮
- 安全域名必须填写,填写完成后需要再高级设置填写回调地址


填写完成提交审核即可
11. 支付宝支付 SDK
支付宝开放平台主要用于 客户端的支付宝支付SDK。
1.1.2版本之后配置方法
https://opendocs.alipay.com/open/291/105971#%E5%85%AC%E9%92%A5%E8%AF%81%E4%B9%A6%E6%96%B9%E5%BC%8F
https://opensupport.alipay.com/support/helpcenter/207/201602471154
支付
1.注册 支付宝开放平台 https://open.alipay.com/ 后进入账户中心
2.点击开放平台秘钥,设置接口加签方式 3.下载支付宝开放平台开发助手 下载地址: https://opendocs.alipay.com/open/291/introduce 下载后打开,点击生成秘钥

4.将应用私钥填写进商城后台 - 生成客户端 - 客户端配置 - 支付宝SDK 支付应用私钥里 5.将应用公钥填写进支付宝开放平台,加签换取支付宝公钥 6.将换取的支付宝公钥复制到 商城后台 7.填写回调地址

如果使用二级域名,则二级域名+/wanlshop/callback/notify/alipay,如果未使用二级域名则主域名+/api/wanlshop/callback/notify/alipay
8.填入支付宝应用app_id,更新源码,生成最新源码重新使用HB打包支付配置完成。
12. 高德开放平台
高德开放平台主要用于 客户端获取当前位置、编辑地址LBS智能联想。
登录 高德开放平台
打开 高德开放平台 ,注册或登录后,点击控制台进入
创建一个高德应用
分别 添加web、安卓、IOS key

添加IOS key

添加Android key,其中发布版安全码SHA1 获取教程

到此已经获取到全部 key

配置客户端SDK
打开后台 进入 多用户商城 > 生成客户端 > 客户端配置 选择 高德SDK
填写刚申请的参数,点击更新,生成源码,导入 HBuilder X 即可

如果 你生成一次源码后,不准备继续使用生成源码功能, 否则以下忽略即可 选择自己在 HBuilder X 中配置客户端 参数
填写高德web appkey

填写高德安卓和苹果 appkey

13. 快递100SDK
快递100主要用于wanlshop发货时自动订阅物流信息,由快递100将快递实时动态推送至数据库,供客户端查看物流动态
1. 注册快递100开发平台
点击注册快递100开放平台
2. 注册开放平台后进入我的信息 - 企业信息

3. 注册完成后,请将开放平台中的授权KEY复制到总后台中,即完成配置
不配置任何内容即 可跳过 在商家控制台发货时 异常提示

重要提示,配置完成后发货时提示 任何中文错误均为你快递100账户问题
需要自行联系快递100客服解决 https://kuaidi100.udesk.cn/im_client/?web_plugin_id=128891
14. 配置Redis 【!】
最新更新包V1.1.0 使用了商品库存列队,需配置Redis后才可以正常下单
安装php Redis扩展
- 安装Redis服务
- 进入宝塔面板 - 【软件管理】- 选择商城使用的PHP版本 点击设置


- 然后点击服务重启PHP,完成Redis扩展,此时php将支持Redis
使用本地Redis服务
- 进入宝塔面板 - 【软件管理】- 选择Redis点击安装,安装结束后点击设置,点击性能调整 获取Redis配置填写到后台

远程服务器配置
通过第三方服务商的Redis直接填写到后台即可不用在本地安装Redis服务

15. IM即时通讯 【!】
文档目录
运行启动命令
- Windows下启动IM即时通讯
- Linux下启动IM即时通讯
- 配置wss协议
宝塔 运行命令时需要删除被宝塔禁用的php函数

删除函数列表(不影响安全使用)
pcntl_alarm、pcntl_fork、pcntl_signal、pcntl_signal_dispatch、pcntl_wait
注释:Workerman所依赖的php原生函数 函数解释 pcntl_alarm 为进程设置一个alarm闹钟信号 pcntl_fork 子进程会复制父进程的状态 pcntl_signal 信号处理器 pcntl_signal_dispatch 调用每个等待信号 pcntl_wait 将会存储状态信息到status
16. Windows 启动
如启动失败请 查看 坑点概述
打开 Windows 命令窗口
微软件win+R,在弹出运行框输入cmd

或者 桌面右键 > 新建 > 新建快捷方式

启动即时通讯
在打开的cmd窗口输入以下命令,开启即时通讯
d:
cd D:\wwwroot\
1.0
.0
.20200506
_full
set
PATH
=
%
PATH
%
;"D:\BtSoft\php\71"
start
php think wanlshop:chat
--deploy register & start php think wanlshop:chat --deploy business & start php think wanlshop:chat --deploy gateway
第1行命令 打开网站所在磁盘 第2行命令 进入网站根目录 第3行命令 启动即时通讯 回车

弹出三个窗口,且无报错、闪退,则开启成功

17. Linux 启动
Linux运行IM即时通讯
1. 远程连接Linux
可以通过远程连接软件、VNC远程连接、Workbench或 宝塔面板 > 软件商店 > 宝塔SSH终端 进入 SSH 终端 cd 命令 进入 cd www/wwwroot/你的网站/ 此目录

2. 启动即时通讯
首次启动请使用 php think wanlshop:chat start !!!! 才可以看到是否有其他被禁用函数导致不正常启动,正常启动成功后 php think wanlshop:chat start --daemon

- 宝塔 -- 【软件商店】 -- 【运行环境】 选择php命令行的php版本,管理禁用函数 删掉上图报错pcntl_xxxx(),提示什么删除什么
- 删除后 关掉当前命令窗口 在运行
进入网站根目录后复制以下命令
调试启动(终端关闭后会关闭进程)
php think wanlshop:chat
start
守护启动(终端关闭后会在后台持续运行)
php think wanlshop:chat
start
--daemon
停止
php
think wanlshop:chat stop
重启
php
think wanlshop:chat restart
平滑重启
php
think wanlshop:chat reload
查看状态
php
think wanlshop:chat status
示例启动

18. 坑点概述
通过Windows或Linux 启动IM常见问题
1. Windows 'php' 不是内部或外部命令,也不是可运行的程序
解决方法: 仔细查看 Windows启动文档 中的 1-2 条
2. 错误 Error in connection establishment net::ERR_NAME_NOT_TIMED_OUT
websocket://0.0.0.0:7272 在客户端如果连接出现 WebSocket connection to 'ws://x.x.x.x:7272/' failed: Error in connection establishment :net::ERR_NAME_NOT_TIMED_OUT 表示防火墙拦住了设置的端口。
3. 其他错误 PHP Waring
最可能发生的错误 ,一般属于php版本,函数被禁用
解决方法: 找到运行的PHP版本的php.ini ,禁用函数stream_socket_server去除,宝塔操作如下
4. 错误 unable to connect to tcp://xx.xx.xx.xx:xxxx
如果启动后出现PHP Warning: stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxxx (Address already in use) in xxxxx on line xxxx
解决方法: 通过命令netstat -anp | grep 端口号来找出哪个程序占用了端口,然后关闭对应程序释放端口。
5. 错误 stream_socket_server(): unable to connect to tcp://0.0.0.0:xxx (Permission denied)
如果启动后出现PHP Warning: stream_socket_server(): unable to connect to tcp://0.0.0.0:xxx (Permission denied)
解决方法: 使用大于1024的端口或者使用root用户启动服务。
5. 错误 stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxx (Cannot assign requested address)
如果启动后出现PHP Warning: stream_socket_server(): unable to connect to tcp://xx.xx.xx.xx:xxx (Cannot assign requested address) in /home/GatewayWorker/Workerman/Worker.php on line xxxx
解决方法: 启动脚本ip参数写错,不是本机ip,请填写本机ip机或者填写 0.0.0.0(表示监听本机所有ip)即可解决。提示:Linux系统可以通过命令 ifconfig查看本机所有网卡ip。如果您是腾讯云用户,注意您的公网ip实际是代理服务器ip,公网ip并不属于你的服务器,所以无法通过公网ip绑定,但是可以通过0.0.0.0来绑定。
6. 启动成功也没有报错,接受不到任何消息,智能客服也没有自动回复
IM即时通讯启动后,客户端与UID绑定握手成功,IM服务器会定时向客户端发送心跳消息,客户端F12 调试,选择ws ,如果ws链接出错或并没有接受到心跳消息,且智能客服没有自动回复
19. Wss和端口
你可以使用默认的端口,同样也可以自定义服务器端口,新手建议默认,非新手建议自定义端口,如果出现问题请还原默认配置
配置wss 服务
wss需要绑定ssl证书,不是把ws改成wss就可以,一般站点443端口用作服务器,不能在给ws绑定443端口,只能新建普通站点绑定ssl证书 反向代理 http://ip:7272 后可以使用协议wss协议访问站点
以下三种wss方案选其一:
1. 有单台服务器,(通过 wss://chat.wanlshop.com 反向代理 http://123.123.123.123:7272) WSS后面没有端口号直接使用(Nginx推荐)
配置简要
1.新建chat.你域名 站点, 2.绑定ssl证书 3.按文档修改配置,反向代理http://你服务器外网ip:7272 (先在浏览器访问 正确启动后则显示wanlchat)
4.完成后 https://chat. 你域名 在浏览器访问 同样显示wanlchat 则反向代理成功
5.最后配置 wss://chat.你域名 即可
需要新建一个站点,并绑定SSL证书,修改站点配置文件,以宝塔为例


- Nginx反向代理 * 最新版插件及最新宝塔配置
* 以下为旧版配置

我们这里为你提供了一个对比图,和修改后的源码,你可以参考下

修改后源码
server
{
listen
80
;
listen
443
ssl http2;
server_name
chat.wanlshop.com;
location
/ {
proxy_pass
http://47.111.117.35:7272;
#代理到上面的地址去,格式:http://域名:端口号,
proxy_http_version
1
.
1
;
proxy_set_header
Upgrade
$http_upgrade
;
proxy_set_header
Connection
"Upgrade"
;
proxy_connect_timeout
5s
;
#配置点1
proxy_read_timeout
60000s
;
#配置点2,如果没效,可以考虑这个时间配置长一点
proxy_send_timeout
60000s
;
#配置点3
}
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#HTTP_TO_HTTPS_START
if
(
$server_port
!
~ 443)
{
rewrite
^(/.*)$
https://
$host
$1
permanent
;
}
#HTTP_TO_HTTPS_END
ssl_certificate
/www/server/panel/vhost/cert/chat.wanlshop.com/fullchain.pem;
ssl_certificate_key
/www/server/panel/vhost/cert/chat.wanlshop.com/privkey.pem;
ssl_protocols
TLSv1.
1
TLSv1.
2
TLSv1.
3
;
ssl_ciphers
ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers
on
;
ssl_session_cache
shared:SSL:
10m
;
ssl_session_timeout
10m
;
error_page
497
https://
$host
$request_uri
;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#禁止访问的文件或目录
location
~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return
404
;
}
access_log
/dev/null;
error_log
/www/wwwlogs/chat.wanlshop.com.
error
.log;
}
2. 独立部署即时通讯,可以直接使用433端口wss(不推荐)
需要掌握 http://doc2.workerman.net/how-distributed.html 分布式后
打开文件路径 addons\wanlshop\library\command 目录下的 Chat.php 文件中的 87-116行,按照以下修改即可
// wss服务证书
$context
=
array
(
'ssl'
=>
array
(
// 请使用绝对路径
'local_cert'
=>
'/www/wwwroot/wanlshop/addons/wanlshop/library/GatewayWorker/ssl/chat.pem'
,
// 也可以是crt文件
'local_pk'
=>
'/www/wwwroot/wanlshop/addons/wanlshop/library/GatewayWorker/ssl/chat.key'
,
'verify_peer'
=>
false
,
// 'allow_self_signed' => true, //如果是自签名证书需要开启此选项
)
);
// websocket协议(端口任意,只要没有被其它程序占用就行)
$gateway
=
new
Gateway
(
"websocket://0.0.0.0:443"
,
$context
);
// $gateway = new Gateway("websocket://0.0.0.0:7272");
// 开启SSL,websocket+SSL 即wss
$gateway
->transport =
'ssl'
;
// gateway名称,status方便查看
$gateway
->name =
'WanlGateway'
;
// gateway进程数
$gateway
->count =
4
;
// 本机ip,分布式部署时使用内网ip
$gateway
->lanIp =
'127.0.0.1'
;
// 内部通讯起始端口,假如$gateway->count=4,起始端口为4000
// 则一般会使用4000 4001 4002 4003 4个端口作为内部通讯端口
$gateway
->startPort =
2900
;
// 服务注册地址
$gateway
->registerAddress =
'127.0.0.1:1238'
;
// 心跳间隔
$gateway
->pingInterval =
10
;
// 心跳数据
$gateway
->pingData =
'{"type":"ping"}'
;
- 将域名 chat.example.com 解析到此服务器上,重启IM(重启方式上章有讲)WSS IM就部署完成了
- 在 多用户商城后台 > 生成客户端 > 客户端配置 > IM服务器 填写 wss://chat.example.com 即可

3. Apache宝塔反向代理存在问题,暂不支持反向代理
修改端口(除技术外不要修改)
修改服务端口,即ws连接端口
将 7272 端口号修改成你自己即可,除数字外不要修改任何字符,如果是独立服务器部署且使用wss请修改为443端口
- 打开文件路径 addons\wanlshop\library\command 目录下的 Chat.php 文件第99行
$gateway
=
new
Gateway
(
"websocket://0.0.0.0:7272"
);
修改register服务端口
将1238修改成你自己即可,除数字外不要修改任何字符,修改时以下3项必须修改成相同的
- 打开文件路径 addons\wanlshop\library\command 目录下的 Chat.php 文件
第81行
new
Register
(
'text://0.0.0.0:1238'
);
第112行
$gateway
->registerAddress =
'127.0.0.1:1238'
;
第129行
$worker
->registerAddress =
'127.0.0.1:1238'
;
- 打开文件路径 addons/wanlshop/library/WanlChat 修改目录下的 GatewayClient.php 文件
第39行
public
static
$registerAddress
=
'127.0.0.1:1238'
;
- 打开文件路径 addons/wanlshop/library/WanlChat 修改目录下的 WanlChat.php 文件
第27行
GatewayClient
::
$registerAddress
=
'127.0.0.1:1238'
;
20. Order计划任务 【!】
主要用作于
- 订单类:超时取消未支付订单、超时自动收货、超时自动默认评论
- 退款类:超时自动同意退款、超时退货关闭订单、超时卖家自动收货完成退款
- 团购类:自动关闭未完成拼团
1. 配置商城计划时间
进入 后台 > 多用户商城 > 系统管理 > 系统设置 选择订单配置和退款配置,填写计划任务相应时长

2. 打开 CMD 或 SSH 终端运行
进入网站根目录,执行命令 php think wanlshop:order start 开启计划任务
Windows 服务器
打开您网站根目录,在地址栏输入cmd回车,在打开的窗口输入 php think wanlshop:order start 开启服务

Linux 服务
登录远程桌面后,键入 cd 命令进入您网站根目录,输入 php think wanlshop:order start 开启服务
调试启动(终端关闭后会关闭进程)
php think wanlshop:
order
start
守护启动(终端关闭后会在后台持续运行)
php think wanlshop:
order
start
--daemon
停止
php think wanlshop:
order
stop
重启
php think wanlshop:
order
restart
平滑重启
php think wanlshop:
order
reload
查看状态
php think wanlshop:
order
status

示例
无法正常启动?
请 查看文档 坑点概述
21. 发布客户端
本地实时更新客户端源码
原则上无需任何配置,后台实时更新客户端源码,点击自动下载到本地,解压后可直接拖入HBuilder X中,直接发行App、H5、小程序
发布客户端
以下每一步骤都是独立的,正常发行要根据自己需求,一次性填写完整,在点击生成源码,然后分别发布各个终端,非文档那样重复操作
- 一键生成配置客户端
- 发布 App
- 发布 H5移动端
- 发布 微信小程序
- 发布 百度小程序
- 发布 字节跳动小程序
- 发布 支付宝小程序
- 发布 QQ小程序
22. 发布 H5移动端
首先要保证 多用户商城 > 生成客户端 > 客户端配置 全局配置 和 SDK配置 按照自己需求填写完整
1. 填写H5配置参数,更新配置文件
域名:必须填写正确,在App端、分享、二维码、都需要依赖此处域名生成完整URL

2. 点击生成,下载客户端 HB工程文件

3. 直接拖进 HB 中

4. 点击菜单栏发行 > 网站-H5手机版
提交后,控制台 提示编译成功.... 导出H5成功 点击路径打开文件夹,把文件夹内容上传服务器即可
23. 发布 App
首先要保证 多用户商城 > 生成客户端 > 客户端配置 全局配置 和 SDK配置 按照自己需求填写完整 UrlSchemes: 类似 http:// 在浏览器 输入 wanlshop:// 可拉起App
Android应用市场上架uni-app(5+App)应用合规指南,以及收到工信部或应用市场合规整改通知的解决办法
https://ask.dcloud.net.cn/article/39073
1. 填写完当前三项,点击更新,返回到 客户端配置

2. 点击生成,下载客户端 HB工程文件

3. 直接拖进 HB 中

3. 点击菜单栏发行 > 原生APP - 云打包
获取 APP签名证书 的方法

4. 点击打包,提交服务器,等到控制台反馈,打包成功地址

24. 一键获取客户端
修改此处同步到wanlshop插件配置 ,所以不必在插件列表修改wanlshop配置,且插件列表中修改新手不仅容易出错,且要查询复杂的配置文档
打开后台,进入 多用户商城 > 生成客户端 > 客户端配置 ,主要分为 全局配置 和 SDK配置
配置项
应用名称:App、小程序名称,H5要在H5管理单独设置 应用包名:主要用于App,一般为域名倒叙 CDN服务器: 如果没使用第三方储存,请填写主域名,如果使用请填写第三方储存域名 API服务器: 主域名后添加/api 或参考文档使用二级api域名 > 二级域名配置 IM服务器: 参考文档 > IM即时通讯 > 配置wss和修改IM端口
更新配置
更新按钮等于保存表单,同时为保证客户端源码和后台配置高度同步,所以每点击一次,系统会自动更新一次客户端源码
自动生成源码
- 首次获得客户端源码:点击生成源码前确保 全局配置 完毕,再点击 生成源码
- 生成客户端 菜单中任何一项操作都会实时更新客户端源码,所以 HBuilder X 中项目也需要通过重新下载更新
- 不需要修改一项、点击更新一次,下载一次,请统一将 生成客户端 下所有菜单配置完成,再生成源码
- 如果大部分已经修改好了,仅修改一处,必须重新生成,再次导入 HBuilder X ,或者你有一定技术基础,也可以手动修改前端

手动配置客户端
其实客户端源码,对新手也非常友好,除UNI-APP官方配置文件,其他所有配置都集中到一个文件中,你可以修改一个文件改变全局,不需要到处找文件到处修改
打开文件 客户端源码/common/config/config.js
export
default
{
socketurl
:
'wss://chat.wanlshop.com'
,
cdnurl
:
'https://www.wanlshop.com'
,
appurl
:
'https://api.wanlshop.com'
,
amapkey
:
'0a9f67a6f8f7c******6a0fde88b'
,
debug
:
false
}
其中: socketUrl 即时通讯服务器地址,微信必须使用wss:// 如:wss://chat.wanlshop.com cdnUrl OSS服务地址 如: https://oss.wanlshop.com 或 https://www.wanlshop.com appUrl API服务器地址 如: https://api.wanlshop.com 或 https://www.wanlshop.com/api amapKey 高德网页Key debug 全局调试
所有需要配置的文件
25. 发布 微信小程序
首先要保证 多用户商城 > 生成客户端 > 客户端配置 全局配置 和 SDK配置 按照自己需求填写完整 在发行之前,请自行准备好微信小程序账号,并结合上面章节,设置服务器域名,过程中遇到任何问题,请联系微信官方权威解答
1. 微信小程序后台 设置白名单
进入小程序官网 扫码登录

向下找到 服务器域名 和 业务域名,按照下面填写自己的域名

2. 下载 微信开发者工具 并配置 HBuilder X
微信开发者 工具下载


安装完成,点击完成,自动打开工具,扫码登录后彻底关闭开发者工具,等HB发行微信小程序的时候,自动打开

配置HB,点击工具 > 设置 > 选择运行配置 ,将安装微信开发者工具 的路径复制进去 即可

3. 填写小程序配置参数,更新配置文件
将您准备好的微信小程序账号 填写进去

4. 点击生成,下载客户端 HB工程文件

5. 直接拖进 HB 中

6. 点击菜单栏发行 > 小程序 - 微信
点击发布后,控制台正常编译,编译完成,HB会自动拉起 微信开发者工具 ,开始编译,为了保障今后调试顺利进行,请点击右上角 详情 > 本地设置 , 勾选 不效验合法域名 ,因为在使用本地ip作为api的时候,会无法连接本地接口
如果一切正常,则是下图,HB编译正常,小程序正常拉取打开 如调试器出现 Failed to load local image resource 错误请忽略,小程序自身问题,万联团队已向 微信小程序 提交反馈

结合第1步,如果小程序后台设置正确,在打开微信开发者工具,在 详情 > 项目配置 中域名信息会有正确展示

7. 关闭HB,在微信开发者工具,点击上传按钮

到此,微信小程序编译结束,快 打开你的小程序二维码 看看吧

26. 发布 百度小程序
百度小程序,详细教程后续更新... 基本和微信小程序相同,请参考 发布微信小程序
27. 发布 字节跳动小程序
字节跳动小程序,详细教程后续更新... 基本和微信小程序相同,请参考 发布微信小程序
28. 发布 支付宝小程序
支付宝小程序,详细教程后续更新... 基本和微信小程序相同,请参考 发布微信小程序
29. 发布 QQ小程序
QQ小程序,详细教程后续更新... 基本和微信小程序相同,请参考 发布微信小程序
30. APP证书 生成/申请
Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。IOS平台在打包发布ipa应用,需要使用.p12证书和描述文件。部分SDK申请的时候需要使用Android的证书信息MD5/SHA1/SHA256
安卓证书 生成
- Android证书的生成是自助和免费的,不需要审批或付费。
- 可以使用JRE环境中的keytool命令生成。
以下是windows平台生成证书的方法:
安装JRE环境(如已有可跳过
可从Oracle官方下载jre安装包: https://www.oracle.com/java/technologies/javase-jre8-downloads.html 选择适合你系统的版本

下面以安装目录为“C:Program FilesJavajre1.8.0_251”为例,实际操作时请修改为自己安装目录


建议将JRE安装路径添加到系统环境变量,已配置可跳过此章节 打开命令行(cmd),输入以下命令:
d:
set
PATH
=
%
PATH
%
;"C:\Program Files\Java\jre1.8.0_251\bin"
第一行:切换工作目录到D:路径,也就是最后生成证书的位置 第二行:将jre命令添加到临时环境变量中

或手动添加进系统变量,我的电脑(右击) > 属性 > 高级系统设置 > 高级 > 环境变量 > 系统变量 > path > 新建,输入C:Program FilesJavajre1.8.0_251bin

生成安卓证书
使用 keytool -genkey 命令生成证书:
keytool
-genkey -alias wanlshop -keyalg RSA -keysize
2048
-validity
36500
-keystore wanlshop.keystore
wanlshop 是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字 wanlshop.keystore 是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
回车后会提示
Enter
keystore
password
:
//输入证书文件密码,输入完成回车
Re
-enter
new
password
:
//再次输入证书文件密码,输入完成回车
What
is your first and last name?
[
Unknown
]:
//输入名字和姓氏,输入完成回车
What
is the name
of
your organizational unit?
[
Unknown
]:
//输入组织单位名称,输入完成回车
What
is the name
of
your organization?
[
Unknown
]:
//输入组织名称,输入完成回车
What
is the name
of
your
City
or
Locality
?
[
Unknown
]:
//输入城市或区域名称,输入完成回车
What
is the name
of
your
State
or
Province
?
[
Unknown
]:
//输入省/市/自治区名称,输入完成回车
What
is the two-letter country code
for
this
unit?
[
Unknown
]:
//输入国家/地区代号(两个字母),中国为CN,输入完成回车
Is
CN
=
XX
,
OU
=
XX
, O=
XX
, L=
XX
,
ST
=
XX
, C=
XX
correct?
[no]:
//确认上面输入的内容是否正确,输入y,回车
Enter
key password
for
<testalias>
(
RETURN
if
same
as
keystore password):
//确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以
生成证书时候回提示 PKCS12 标准请忽视,本文档发布时,HBuilder X尚未支持,未来请自行测试,流程相同

以上命令运行完成后就会生成证书,路径为 D:wanlshop.keystore 。
你在打包的时候就可以直接使用了

获取证书签名
1.签名生成工具(用此工具不必在使用方法2获取MD5)
2.使用命令查看证书签名 MD5/SHA1/SHA256
可以使用以下命令查看:
keytool
-list -v -keystore wanlshop.keystore
如果之前已经关闭CMD窗口,请使用以下命令
d:
keytool -list -v -keystore wanlshop.keystore
苹果证书申请
企业证书申请 $299 元
一、准备工作
要进行注册,您需要具备:
法人实体状态
注册开发者计划,您的组织必须是法人实体,才能和 Apple 合法合法协议。我们不接受 DBA、虚构公司、商号或分公司。法人实体名称必须与您计划使用的税号相对应,且其会显示在您可能于 应用商店 和 苹果应用商店分发的应用程序的产品页面上。示例:供应商:ABC Company, Inc.
授权法律协议
组织开发者计划必须拥有约束贵组织法律协议的法律授权。的员工。
网站
您所组织的网站必须是公开的,且其域名须和您的组织相关联。
DUNS® 编号
您的组织必须拥有DUNS®编号,以便我们验证贵组织的身份和身份法人实体状态。您可以检查贵组织是否已拥有 DUNS® 编号;如有必要,点击申请 https://developer.apple.com/cn/support/D-U-N-S/
二、请按照以下步骤提交请求以注册 Apple Developer Enterprise Program:
- 登录 Apple Developer 网站上的注册页面,开始申请 https://developer.apple.com/enroll/enterprise/
- 跟随重定向前往“开发者”App 进行身份验证。
- 在“开发者”App 中,轻点“Account”(帐户),然后使用您在注册页面上使用的同一 Apple ID 登录。
- 轻点“Verify Your Identity”(验证您的身份)并按照屏幕上的提示进行操作。
- 完成身份验证后,返回网站提交您的注册信息。
https://developer.apple.com/contact/
我们的工作时间:周一至周五,09:00 至 17:00。
公司和个人证书 申请 $99 元
1.苹果手机下载 Apple Developer 2.点击底部导航栏 账户 3.登录后点击 立即注册 按表单提示自由注册 个人或公司账户
31. 页面管理
页面管理中你可以添加N个专题页,但首页智能有一个,每个页面都可以通过后台管理 不要在后台管理商家页面,最多可以查看页面 每次发布新页面,旧页面会自动保存在 历史页面中,可以通过编辑器 还原历史记录
新建页面
通过点击新建页面按钮可以创建 APP首页、店铺主页、专题页、创建首页仅可以在列表中或历史页面中不存在时创建,一般为误删后,安装系统自带默认页面,建议您在默认首页中修改

编辑页面
通过刚才新建的页面保存后,会自动出现在列表当中个,我们需要点击 编辑 按钮打开页面编辑器

编辑器分为三栏,分别为 预览窗口 、 组件窗口 和 编辑窗口 其中预览不止是预览,
也是在后期编辑中一个重要功能 我们可以看到预览窗口中虚线,代表一个组件 当我们点击虚线,最右侧 编辑窗口会发生改变 当我们进入编辑器 编辑窗口 第一个页面为 默认选中 预览窗口 导航位置,

当前编辑,主要定义页面背景和 窗口导航 风格样式
点击 自定义组件 ,模块会自动添加进 预览窗口 ,并且右侧 编辑窗口 会提供相应设置

重点 :我们可以看到 编辑窗口 中 有一个 追加数据 按钮,在自动获取组件中没有意义,这个主要用作类似菜单组件,填写新菜单使用

另外我们还可以看到, 预览窗口 当鼠标移动到指定组件上的时候 右上角会有一个 叉号,和 编辑窗口 每个数组框上也有叉号
- 预览窗口 叉号代表删除 整个组件
- 编辑窗口 叉号代理删除 组件中的某个数据
预览窗口
预览窗口主要功能为 实时预览,和 选中组件或 删除组件 目前暂时不可以排序,如果向上追加模块仅可以删除下面组件,然后新增,后续优化
组件窗口
点击组件名称,预览窗口 和编辑窗口 都将会实时更新
编辑窗口
常用 选项卡 组件数据、配置参数、CSS样式 ,其中 数据配置和CSS样式 每个模块几乎都存在, 配置参数 是根据组件具体配置要求是否要配置

组件数据
指组件中的自定义数据,需要根据实际情况追加、删除、修改 另外: 数据还可以通过选择 页面链接,包括新建的专题页链接

配置参数
配置参数为 组件内部参数 配置,需要CSS知识,不擅长请不要改动包含 px的 选项

CSS样式
CSS样式是独立的局部css样式表,修改此处需要掌握CSS层叠样式表知识,在此你可以删除默认的,也可随意新增,只要你觉得样式好看就行
注意:像margin、padding这种,要符合CSS标准语法,该有空格必须有空格,该有px 单位必须有单位

发布页面
点击发布,系统会自动保存之前页面为历史记录,在点击 发布时候,会出现下拉菜单,在此菜单,你可以选择发布此版,和恢复历史版本,如果本版没有发布,就恢复历史版本,本版将不存在
32. 全局样式风格
几乎市场上的电商平台都没有自定义样式,除了较大电商平台,你会发现每当节日假期整体页面就会发生改变,并且客户端也没进行任何更新,wanlshop为你提供解决方案
首页样式
首页整体本省就可以整页自定义,这里不做叙述,具体查看 页面管理
类目页样式
修改本样式,要根据你的类目层级,如果你类目是多级,你使用一级、二级模板,点击类目则无法看到下面商品

拼团栏目样式

购物车样式
默认风格

用户中心样式

33. 类目管理
商城类目管理除自带增、删、改、查外,系统新增加 批量生成 N级类目,专门为商城类软件多类目特征设计
批量删除
全部选中,点击删除即可全部删除
批量生成
点击批量生成,父ID 无为顶级目录,多个菜单名称请每行一个

再次生成二级目录

生成完毕,另外图片生成在 网站根/uploads/category/ ,名称命名规范 category_拼音3x.jpg ,你需要根据路径去上传你的图片,还可以二次开发,类似头像那样,取拼音第一个字母作为默认头像

34. 类目属性 【!】
类目属性:如果存在类目属性,在商户中心添加商品的时候回自动展示表单,在客户端列表页可以点击筛选,通过属性查找商品,这个功能是国内多数电商平台没有的,其实各种电商平台,你可以有没有类目属性作为评判商城质量的标准
新建属性
新版中父级类目属性支持遍历所有子类目+子类目属性,如女装父类目尺码,子类目旗袍仅有款式,编辑商品选择类目时则展示 尺码、款式属性
类目点击右侧属性可展示此目录及子目录下所有 类目属性
商家中心 体现
客户端 体现
当搜索旗袍商品时同样会获取 父级类目样式属性

35. 商家中心
36. 店铺创建与申请
系统将ID为1的店铺默认设置为自营店,安装完插件后,需要管理员在用户中心创建第一个店铺
创建或申请店铺
注册账号,进入用户中心

点击卖家控制台,如果不是卖家,系统会提示是否入驻
第一步,填写主体信息

第二步,填写店铺信息

第三步,提交店铺审核

后台审核
后续版本,新店铺或其他提醒会加入短信

通过审核

现在可以通过 审核完成,店铺已开通!店铺管理 进入店铺,也可以通过用户中心 卖家控制台 进入您的店铺
37. 坑点概述(2)
商家在商家中心使用过程中常见的问题集结
常见问题
- 店铺不显示服务
解决方法:商家创建完成后,没有选择店铺服务

- 商家添加店铺模板,服务器异常
此功能没有任何bug,在开发过程中技术认为fa_地区表 是安装fastadmin默认表,所有为了保证系统统一性,后台和客户端涉及地址地方都使用的该表,但新安装是不存在,地区表数据又庞大,所有我们也没有内置
解决方法:需要到插件类表中,安装官方提供的 开发示例,安装完成后卸载即可

- 客户端入驻功能已下架,没有删除相关代码是因为向前兼容,不要使用客户端入驻功能,小程序会封有入驻入口相关账户!!
38. 品牌管理
平台品牌来源,1. 旗舰店入驻时提交的品牌 2. 商户在平台申请,并通过审核
注意事项
商家中心可选择品牌:
- 平台已存在品牌
- 商家自行申请,并且通过平台审核的品牌
您可能遇到的情况?

一、无法选择任何品牌 请查看后台品牌管理,是否有品牌存在,或查看所有品牌是否已审核
二、商家中心申请后依然无法选择 查看品牌管理是否申请品牌已通过

三、商家中心提示无法发布商品
- 请刷新尝试
- 出现该提示,则说明系统中没有审核通过的品牌,请在后台添加,或者通过商家中心申请,在后台审核通过
39. 配置直播
当直播成功系统会自动在 发现页 - 直播 发布一条动态,且系统中所有页面店铺名旁边、商品详情页都将会出现直播标识
直播流程 【新】
商家直播条件需满足
- 总后台开了了直播功能
- 商家开启了直播权限
商家可以登录客户端后,在发现页点击左上角相机,点击商家直播即可

注意事项:
- 商家仅可以在 App 和 小程序 发起直播,因为 H5 浏览器不支持直播推流协议,但wanlshop完美支持 所有终端直播的播放
- 优于其他平台,WanlShop在小程序 观看直播 无需 在小程序后台申请相关权限,
- 使用小程序作为直播客户端需要在小程序后台申请 live-pusher 标签权限,进入小程序后台【开发】-【接口设置】中自主开通改组件权限。 官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/live-pusher.html
系统使用的是阿里云直播-播流和推流,后续会新增更多直播产商,目前仅支持阿里直播,首次配置必须使用app真机调试,注意观察阿里直播是否有直播推流,不必在意当前直播是否 黑屏、错误提示,只要阿里后台不存在直播流,只能证明配置项不一致或填写错误!
发起直播:
配置阿里直播
直播原理:根据总后台直播配置,离线加密md5生成url,交给uni-app推流,商城中无参与任何推流过程
进入阿里云直播控制台
控制台配置比较简单,所有配置都在 域名管理 中,无需理会其他

点击添加 推流和播流 域名

添加播流,仅需要配置3项,其中 直播中心 要和 OSS储存 地区保持一致,否则无法录制视频,无法回调给平台,平台发现动态已结束直播,点开将会一直展示正在转码中....

添加推流 域名,CDN 加速区域区域会自动选择全球,因为看直播的都是国人,直播的就不一定是哪里人,如果不是搞全球贸易,设置为中国大陆即可

添加完成域名后,分别点击 推流和播流的域名配置

推流域名配置
其中推流信息,播放信息,务必相互关联
你的域名如果使用二级域名绑定了api控制器,则不要添加api;如回调地址 绑定了api控制器 https://你的域名/wanlshop/callback/push 未绑定使用主站域名访问 API https://你的域名/api/wanlshop/callback/push
- 基础配置 主要配置回调地址,告诉平台目前直播处于什么状态,是否要发布直播动态,其他配置项无需理会 *回调地址 https://你的域名/api/wanlshop/callback/push

- 访问控制
只要配置URL鉴权秘钥,可以直接用阿里生成的,也可以自己编辑,后续再商城后台需要填写这些参数

播流域名配置
- 基础配置 基本无需配置,只要和播流关联好即可
- HTTP头配置 在H5播放直播的时候会出现跨域无法播放,请在此处配置跨域信息
请填写你的主域名或*号

- 访问控制 选择URL鉴权,修或复制主KEY和其他信息稍后 同步填写进 商城后台

- 模板配置 添加转码模板,主要是为了压缩视频节省流量,选中的模板ID 要记录下来稍后填写到商城后台

- 录制配置 只储存一个mp4即可,不要全勾选浪费空间,主要看图片上的注意事项

回调地址必须配置,否则直播结束后,用户在去发现页点击永远 显示正在转码 ,无法播放直播回放 https://你的域名/api/wanlshop/callback/record

- 直播自动审核 只需要配置回调地址,其他交给商城自动处理 https://你的域名/api/wanlshop/callback/detectporn
至此阿里云服务器上已经全部配置完成,请把刚才配置信息同步到商城即可,因为使用非联网对称加密,所以两端必须保持一致
配置后台直播参数
- 之前有讲阿里直播后台 AppName 必须保持一致,如果不一致有些功能将无法使用,除非你很精通!!
- 转码模板只能选择一个,同时也是在配置客户端的直播播放清晰度,无需按照网络状态自动选择高清或原画质,因为流量贵

直播常见问题
https://help.aliyun.com/knowledge_detail/179282.html
40. 二次开发【?】
WanlShop基于FastAdmin、ThinkPHP、UNI-APP开发,此文档除特殊定义不在叙述
一、客户端全局方法
1.全局使用wanlshop封装方法 this.$wanlshop.方法(); 2.全局使用jssdk封装方法 this.$jssdk.方法(); 3.常用方法 this.$wanlshop.msg 全局提示 this.$wanlshop.prePage 页面栈 this.$wanlshop.wanlsys 系统配置 this.$wanlshop.title 动态修改标题 this.$wanlshop.appstc 服务器图片地址 this.$wanlshop.toFormat 数字格式化 this.$wanlshop.timeToDate 社交时间友好 this.$wanlshop.timeToChat IM时间友好 this.$wanlshop.timeFormat 时间格式化 this.$wanlshop.guid 生成guid this.$wanlshop.oss OSS图片处理 this.$wanlshop.to 打开链接 this.$wanlshop.on 打开任意链接 this.$wanlshop.auth 认证页面 this.$wanlshop.back 返回 this.$wanlshop.send 发送消息 this.$wanlshop.phone 拨打电话 this.$wanlshop.con 获取配置
二、回调地址
https://www. 你的域名.com/api/wanlshop/callback/kuaidi 快递100 https://www. 你的域名.com/api/wanlshop/callback/push 推流状态 https://www. 你的域名.com/api/wanlshop/callback/record 推流录制文件url https://www. 你的域名.com/api/wanlshop/callback/detectporn 直播安全审查 https://www. 你的域名.com/api/wanlshop/callback/notify 支付回调 ?type= 支付类型 https://www. 你的域名.com/api/wanlshop/callback/notify_recharge 充值 ?type= 支付类型 https://www. 你的域名.com/api/wanlshop/callback/return 支付成功跳转页
三、新增图标,用于自定义页面
前端引入图标库
1.在客户端App.vue文件中 style中引入自己图标库 2.在到商城装修 - 图标管理添加自己图标


后端引入图标库
wanlshop/icon ... wanlshop/page 等相关页面也同样需要引入

三、Vue页面中使用ajax上传本地或第三方方法
let files = event.target.files[0]; //获取input的图片file值 let formData = new FormData(); let upload = Config.upload; if(upload.storage !== 'local'){
let
multipart = Object.entries(upload.multipart)[
0
];
formData
.append(multipart[
0
], multipart[
1
]);
} formData.append('file', files, files.name); Fast.api.ajax({
url: upload.uploadurl,
data:formData,
processData:
false
,
contentType:
false
,
}, function(data, ret){
Vue
.set
(vm.pageData.page.style, key, data.url);
});
五、商城一些常用封装方法
微信小程序、公众号
use addons\wanlshop\library\EasyWeChat\Easywechat;
内容审核 demo $easywechat = true;
try
{
$content
=
'特3456书yuuo莞6543李zxcz蒜7782法fgnv级'
;
$security
=
Easywechat
::
app
()
->content_security
->
checkText
(
$content
);
if
(
$security
[
'errcode'
] ==
87014
){
$easywechat
=
false
;
}
}
catch
(\
Exception
$e
) {
$this
->
error
(
'内容审核失败:可能后台小程序的appid、appsecret配置错误,具体:'
.
$e
->
getMessage
());
}
if
(!
$easywechat
){
$this
->
error
(
__
(
'内容包含敏感词汇'
));
}
41. App热更新
热更新仅支持小程序、安卓、IOS。IOS在提交应用市场审核时不可发布热更新!!不过不懂技术请勿使用此功能,后台热更新列表全部删除即可!只有你看得懂前端store下update.js源码,你才可更好利用此功能,Apk仅是通过热更新接口,使客户端自动跳转到浏览器中下载Apk文件重新安装App 真正的热更新是使用wgt文件升级!
App 更新
1.强制更新
强制更新等于后台静默升级,用户下一次启动时将自动更新,整个更新过程用户无感觉
2.不使用强制更新
用户进入客户端,弹出升级提示,用户可以选择更新或忽略,用户忽略后则不再提示
3.添加一个版本

!!!如果不懂请勿自作主张 热更新,可能用户客户端会损毁或异常
其中版本号最为重要,客户端 获取热更新列表最大版本号数据 与客户端对比,如果客户端版本 不等于 线上版本,且包含升级文件路径,则开始按照1或2设置条件更新
API获取到的后台热更新数据

与客户端配置文件 版本号做对比

你可能会遇到的问题:提示升级包WGT 客户端版本号不对,或者相同不可以升级
修改以下两个配置,且要和API获取到的后台热更新数据 一致,再次发行WGT升级包,如果最新api获取的是100/1.0.4则下面 不可以填写 102、103 要改为104


再次进行

小程序更新
未全量发布的,用户打开小程序,或自动拉取小程序后台最新版本进行更新
42. 安全更新
用于上线版本重要更新【安全更新】
影响版本:V1.1.4之前版本 更新说明:V1.1.4 发布一处重要安全更新,请受影响的版本立即更新升级到最新版本,如果无法更新升级,请尝试下载补丁包进行修复。 补丁包下载: https://doc.fastadmin.net/wanlshop/792.html#toc-2
43. 人机验证 【!】
用于客户端人机验证,常用于登录或其他关键业务的真人验证

一、如何使用php生成验证码图像
1.1.8版本默认【生成验证码图像服务器】为php,无需任何配置,无需禁用函数 shell_exec
如果选择后台系统设置【人机验证配置】-生成验证码图像服务器 为node,需要按下面文档配置node
二、如何使用node生成验证码图像
1.启动人机验证需要服务器安装 node ,安装完成后运行 node -v 查看是否安装成功 2.网站使用的php版本,去掉禁用函数 shell_exec 3.下载 node_gd生成验证码图片 ,放置到站点根目录,打开命令窗口,cd进入此文件夹,运行 npm i ,安装验证码图像处理依赖,安装完成后,继续在此路径下运行 node index.js ,命令行提示 请传入需要生成验证码的原图 则配置完成
① 如何安装node
- 【推荐】如果宝塔面板-【网站】有Node项目,点击Node项目,Node版本管理器,选择[ v16.20.0 ]稳定版本,命令行版本同样选择[ v16.20.0 ]node版本
- 【不推荐,但各版本均有】宝塔面板-【软件商店】搜索 PM2管理器 2.3(node版本安装[ 17.9.1 ])
② 运行npm i报错
- 建议使用国内镜像(尤其是Windows服务器或者宝塔以外面板) npm install -g cnpm --registry=http://registry.npmmirror.com 使用 cnpm install 安装人机验证
③ CentOS 7.*服务器安装node常见错误
操作前务必创建服务器镜像,请谨慎操作,没有备份镜像请联系自己技术或从第三方电商平台寻找技术
一、version CXXABI_1.3.9 not found
- 通过下面的命令查看/usr/lib64/下的动态库版本是否包含CXXABI_1.3.9,没有请继续 strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI' 1.1. 通过下面的命令查看gcc最新态库版 find / -name "libstdc++.so.*"
- 从网上下载所需要的libstdc++.so.6.0.22版本 https://pan.baidu.com/s/1H2vv_XGQq1MkW-nUsp62nQ
- libstdc++.so.6.0.22拷贝到/usr/lib64目录下 服务器面板文件管理直接上传或者 cp libstdc++.so.6.0.22 /usr/lib64/
- 【核心】删除原来的libstdc++.so.6 符号 连接 rm -rf libstdc++.so.6
- 【核心】新建新符号连接 ln -s libstdc++.so.6.0.22 libstdc++.so.6
二、version GLIBC_2.18 not found
- 查询是否有GLIBC_2.18,没有请继续 strings /lib64/libc.so.6 |grep GLIBC_2.18
- 命令下载GLIBC_2.18到服务器 wget http://mirrors.ustc.edu.cn/gnu/libc/glibc-2.18.tar.gz
- 解压 tar -zxvf glibc-2.18.tar.gz
- 进入解压文件夹,创建文件夹build cd glibc-2.18 mkdir build
- 编译安装 GLIBC_2.18 cd build ../configure --prefix=/usr make -j4 sudo make install